CS&Network 3

웹소켓(WebSocket) 가볍게 알아보기 + STOMP 프로토콜

올해 초 종합 운세 웹 서비스 프로젝트를 진행했습니다.저희 사이트에는 사용자의 사주 정보를 기반으로 대화 상대를 추천해 주고 채팅으로 연결해 주는 기능을 제공하고 있는데, 저를 포함한 두 명이 이 기능을 담당했었습니다.채팅 기능을 구현하기 위해 웹소켓 프로토콜 통신을 이용했고, 그때의 경험과 기억을 살려 정리해두면 좋겠다 싶어서 글을 작성하게 되었습니다. 사실 자잘한 버그들이 조금 있기도 하고, 추가해야 할 기능들이 있어서 아직 홍보는 따로 안하고 있지만, 기능이 궁금하신 분들은 https://www.unsemawang.com 접속하셔서 이용해보실 수 있습니다. 🔍 목차# 00. 기존 실시간 양방향 통신 방법# 01. WebSocket WebSocket? WebSocket 핸드셰이크# 02. STOM..

CS&Network 2025.04.28

네트워크 기술의 중심 TCP/IP 4계층 알아보기

과거에는 다양한 네트워크 기술들이 독립적으로 존재했지만, 현시대에는 대부분의 네트워크가 TCP/IP 프로토콜 스택으로 이루어져 있습니다.우리가 일상에서 사용하는 인터넷부터 회사 내부의 인트라넷, 심지어 스마트폰과 IoT 기기까지 모두 TCP/IP를 통해 연결되어 있죠. 개인적으로는 처음 네트워크를 공부하면서 TCP/IP라는 용어를 들었을 때부터 한참 동안 TCP/IP의 개념이 너무 추상적으로 느껴지고 정확하게 의미하는 바가 무엇인지 이해하기 힘들었습니다. 이번 글에서는 네트워크 기술의 핵심이자 현대 IT 인프라의 표준인 TCP/IP의 4 계층 구조를 명확히 짚어보고, 각 계층이 어떤 역할을 하는지 함께 알아보겠습니다.  # 00. About TCP/IP TCP/IP란 무엇일까요?TCP/IP는 현시대에서 ..

CS&Network 2025.03.13

더 좋은 설계를 위한 S.O.L.I.D 원칙 이해하기

우리는 좋은 소프트웨어 시스템을 개발하기 위해 좋은 설계를 하고자 합니다. 좋은 설계란 무엇일까요?다양한 사람들의 의견을 모아본 바는 다음과 같습니다."낮은 결합도와 높은 응집도를 지향하는 것""유지보수가 쉬운 시스템을 만드는 것""변화를 손쉽게 받아들일 수 있도록 하는 것" 서비스를 지속하고 가치를 창출하기 위해서는 하나의 애플리케이션 개발을 마치고 방치하는 것이 아니라, 지속적으로 유지하고 확장해나가야 합니다.이 과정에서 코드를 추가하거나 기존 코드를 수정해야하는 일이 종종 발생하곤 할겁니다.하지만 유지보수 및 확장 단계에서 다른 사람이 작성한 코드가 이해가 안되거나, 너무 많은 기존의 코드를 건드려야하게 되는 상황을 맞게 된다면 어떨까요?많은 사람들이 좋은 설계의 정의를 위와 같이 내린 이유를 이..

CS&Network 2025.03.11