본문 바로가기

개발일지/CS공부4

백엔드에서 채팅 구현하는 방법 백엔드에서 채팅 기능을 구현하는 방법이 여러가지가 있습니다.크게 실시간 통신 방식에 따라 나뉘게 되고, 우선 가장 많이 쓰는 방법을 알아본 후, 채팅 구현 예제를 살펴보겠습니다. 1. WebSocket 방식 (실시간 양방향 통신)가장 일반적인 실시간 채팅 구현 방식개념WebSocket은 클라이언트와 서버가 지속적인 연결을 유지하면서 양방향 통신을 할 수 있게 해주는 프로토콜HTTP보다 가볍고 빠름예시 상황) 인스타그램 DM, 게임 채팅 사용 예Spring boot + WebSocket + STOMPNode.js + Socket.IO 예시 아키텍처[클라이언트] ←→ [Spring Boot WebSocket 서버] ←→ [Redis Pub/Sub] ←→ [DB]2. SSE (Server-Sent Events.. 2025. 4. 7.
SI와 SM차이 SI(System Integration) vs. SM(System Management) 차이🔆 1. 정의🌀 SI (System Integration, 시스템 통합): 고객의 요구에 따라 시스템을 기획하고 설계하며, 개발, 테스트, 구축까지 전 과정을 수행하는 프로젝트 중심의 사업 형태입니다.🌀 SM (System Management, 시스템 운영/유지보수): 이미 구축된 시스템을 안정적으로 운영-관리하고, 필요한 유지보수 및 기능 개선을 담당하는 업무입니다. 🔆 2. 주요 업무🌀 SI새로운 시스템 개발 및 구축고객 요구사항 분석 및 설계프로젝트 단위로 진행 (기한이 명확함)🌀 SM기존 시스템의 운영 및 유지보수장애 대응 및 개선 작업장기적인 계약에 따른 안정적인 관리 🔆 3. 업무 특성🌀 .. 2025. 4. 4.
CRUD의 중요성 CRUD란?CRUD(Crate, Read, Update, Delete)는 데이터 기반 시스템의 가장 기본적인 네가지 연산을 의미합니다.우리가 일상적으로 사용하는 대부분의 애플리케이션은 CRUD연산을 기반으로 작동하며, 이는 곧 소프트웨어의 핵심 동작 방식이라고 할 수 있습니다.  1. 데이터 중심 애플리케이션의 기반게시판, SNS, 쇼핑몰, 블로그 등 거의 모든 웹 애플리케이션은 "글 작성", "정보 조회", "내용 수정", "삭제" 기능을 기본으로 가집니다.이는 곧 CRUD를 얼마나 효율적이고 안정적으로 구현하느냐가 전체 서비스의 품질에 영향을 준다는 뜻입니다. 2. REST API 설계의 핵심백엔드 개발에서는 CRUD를 기반으로 RESTful API를 설계합니다.HTTP메서드와 1:1로 매핑되며, 상.. 2025. 4. 2.
소프트웨어 아키텍처 소프트웨어 아키텍처란?소프트웨어 아키텍처는 시스템의 기본 구조이며, 시스템을 구성하는 요소와 각 요소 간의 관계를 정의하는 일종의 청사진입니다.🧱 핵심 구성 요소1. 컴포넌트 (Components)기능 단위로 나뉘는 모듈. 예) UI, DB, API 등2. 커넥터 (Connectors)컴포넌트 간의 통신 방식.예) REST API, 메시지 큐, 이벤트 등3. 구성 (Configuration)컴포넌트와 커넥터들이 어떻게 연결되어 있는지를 설명함 🏛️ 아키텍처 패턴아키텍처 설계할 때 자주 사용되는 패턴들패턴설명Layered (계층형)프레젠테이션, 비즈니스 로직, 데이터 접근 계층 등으로 나눔 (Spring MVC처럼)Client-Server클라이언트는 요청, 서버는 응답 (웹 구조)Microservice.. 2025. 4. 1.