본문 바로가기
728x90

전체 글84

웹 소켓 vs SSE vs Polling 지금하고 있는 스터디에서 알람 기능을 만들어 보려고 하는데 뭘 써야 하지하고 고민하다가 서버에서 발생한 이벤트를 클라이언트로 보내는 방법들에 대해서 찾아봤다. 우선 가장 먼저 생각난제 WebSocket이었는데 사실상 알람은 양방향까지는 필요없을 것 같아서 고민하다가.. SSE를 알게됐다. 차이점하고를 정리해보자. https://hpbn.co/websocket/#transport-flow 웹 소켓 가장 먼저 생각나는 건 채팅방, 양방향 통신 요청한 클라이언트에만 응답하는 것이 아니라(http), 웹 소켓 프로토콜을 통해서 웹 소켓 포트에 접속한 모든 클라이언트에게 이벤트 방식으로 응답(연결 한 번만 맺으면 됨)함. 전이중 연결과 웹소켓 서버가 필요함. 방화벽을 열지 않고도 양방향 통신 가능함. - http.. 2023. 4. 6.
스프링 핵심 원리 기본편 - 챕터 9. 빈 스코프 빈 스코프란? 스코프: 빈이 존재할 수 있는 범위 다양한 스코프가 있음 싱글톤: 기본 스코프. 시작부터 종료까지 유지되는 가장 넓은 범위. 프로토타입: 빈의 생성과 의존관계 주입까지만 관여하고 그 이후는 관리하지 않는 스코프. 웹 관련 스코프 request: 웹 요청이 들어오고 나갈때 까지 유지 session: 세션이 생성되고 종료될 때까지 유지 application: 웹의 서블릿 컨텍스트와 같은 범위 프로토타입 스코프 싱글톤 스코프 빈 -> 항상 같은 인스턴스의 스프링 빈을 반환함. 프로토타입 스코프 빈 -> 요청 시점에 빈을 생성하고 의존 관계 주입함 -> 스프링 컨테이너는 빈을 반환했다가 같은 요청이 왔을 때 새로운 빈을 다시 생성해서 반환 함. => 생성된 프로토타입 빈을 관리하지 않음 => 관리.. 2023. 4. 2.
스프링 핵심 원리 기본편 - 챕터 8. 빈 생명주기 콜백 빈 생명주기 콜백 객체 생성 -> 의존관계 주입 스프링은 의존관계 주입 완료 후, 스프링 컨테이너 종료 전 스프링 빈에게 콜백 메서드를 통해 초기화 시점을 알려줌. 이벤트 라이프사이클 스프링 컨테이너 생성 스프링 빈 생성 의존 관계 주입 초기화 콜백 사용: 빈 생성, 의존 관계 주입 완료 후 호출 소멸전 콜백: 빈 소멸 직전 호출 스프링 종료 객체 생성과 초기화를 분리하자. 생성자 - 필수 파라미터 정보 받아 메모리 할당. 객체 생성. 초기화 - 생성된 값을 활용 후 외부 커넥션을 연결함. 무거운 초기화 작업은 분리 시켜서 빼는 것 유지보수 관점에서 좋음. 너무 간단한 경우 생성자에서 사용 할 수 있겠지만 객체 생성시에 초기화 하는 것이 아니라 사용 시에 초기화 하는 느낌으로 사용. 인터페이스 Initi.. 2023. 3. 26.
스프링 핵심 원리 기본편 - 챕터 7. 의존관계 자동 주입 Chapter 7. 의존 관계 자동 주입 다양한 의존관계 주입 방법 생성자 주입 생성자에 @Autowired가 붙어 생성자를 통해서 의존 관계를 주입하는 방법 생성자 호출 시점에 딱 1번만 호출되는 것이 보장된다. > 호출되는 시점에 한번 만 값을 세팅 할 수 있다. 불변, 필수, 의존 관계에서 사용한다. 생성자가 딱 1개 존재하면 생성자 주입이 자동으로 일어나서 의존 관계가 주입된다. 주입받아 사용 할 관계에 있는 객체를 final로 선언해서 외부에서 변경하지 못하도록 하는 것도 포인트. - 의도를 알아 보기 쉽고, 벗어나지 않도록 하는 설계가 가장 좋은 설계다! @Component public class OrderServiceImpl implements OrderService { private fin.. 2023. 3. 26.
728x90