Development/Spring Framework

    SpringBoot에서 STOMP로 채팅 애플리케이션 만들기 (1)

    목차 SpringBoot에서 STOMP로 채팅 애플리케이션 만들기 (1) - 현재 게시글 SpringBoot에서 STOMP로 채팅 애플리케이션 만들기 (2) SpringBoot에서 STOMP로 채팅 애플리케이션 만들기 (3) 이번에 사이드 프로젝트를 진행하면서 채팅 기능을 구현하게 됐다. 관련하여 공부해본 내용을 작성해본다. 채팅이라고 하면 일반적으로 아래와 같은 프로세스로 통신 하게 된다. 이 때 클라이언트와 서버는 HTTP 통신이 아닌, 소켓 통신을 하게 된다. Why? 클라이언트와 서버간 연결을 수립해두고, 해당 경로를 통해 통신하기 위함이다. HTTP 통신은 한번 연결 수립 후 응답이 오게 되면 연결이 끊기게 된다. 클라이언트A와 서버가 연결되고, 클라이언트B와 서버가 연결된 상태에서 클라이언트A..

    DI(Dependency Injection)는 왜 필요한가?

    Context DI에 대한 이야기를 하기 전, 의존성 그 자체에 대한 이야기를 먼저 해보자. 의존성은 무엇이고, 언제 발생하는가? 바리스타가 커피를 만들기 위해선 커피 머신의 협력이 필요하다. 즉 바리스타의 '커피 만들기' 라는 행위는 커피 머신에 의존적이다. 어떠한 애플리케이션은 작업을 처리하기 앞서 설정 값을 참조한다. 이 때 애플리케이션은 설정 값에 의존적이다. 두 번째 예시를 코드로 옮겨보면 다음과 같다. Calculator는 CalculatorConfig의 값에 따라 동작 여부를 결정한다. data class CalculatorConfig( val name: String, val status: Boolean = true ) class Calculator { fun isAvailable(): Bo..