목록2025/01/09 (2)
HJW's IT Blog
들어가며..디스코드 시스템을 설계하고 구현하는 도중, 각 서버의 Channel 설계에 대해 고민을 하게 되었다.처음 “Channel”을 설계할 때, 이 엔티티(혹은 객체) 하나에 음성 채널과 채팅 채널을 모두 담을 것인지가 가장 큰 고민이었다.음성 채널: 음성 통화를 위한 기능이 필요하고, 채팅 메시지는 필요 없다.채팅 채널: 채팅 메시지가 필수이고, 음성 통화는 필요 없다.만약 둘을 하나의 부모 클래스로 묶는다면, 잘못하면 음성 채널에 채팅 기능이 들어가야 하고 채팅 채널에서 음성 채팅을 지원해야 하는 상황이 발생할 수도 있다. “서버의 채널”이라는 점에서는 같지만, 내부 동작과 필요한 기능이 전혀 다르기 때문이다.이러한 고민 속에서 나온 아이디어가 ChannelBehavior라는 인터페이스를 둬서, ..
들어가며DispatcherServlet은 Spring의 핵심 요소중 하나이다. DispatcherServlet은 Spring의 프론트 컨트롤러로서, 모든 웹 요청의 진입점 역할을 담당한다. HTTP 요청을 가장 먼저 받아 적절한 컨트롤러로 위임하는 것이 주 역할이다. DispatcherServlet과 Spring의 동작 과정을 잘 이해하기 위해선 프론트 컨트롤러 패턴의 개념과 장점에 대해 확실하게 짚고 넘어가야 한다.1. 초기 웹 어플리케이션 개발의 문제점초기 웹 어플리케이션 개발에선, 각 요청에 대해 개별적으로 처리하는 서블릿 혹은 JSP 를 작성하는 것이 일반적이었다. 한번 JSP 코드를 한번 보고 넘어가자. members = memberRepository.findAll();%>메인 i..