개발 공부 기록

개발 공부 기록

  • 분류 전체보기 (199) N
    • spring (41)
      • JPA (19)
      • TEST (4)
      • 비동기 처리 (4)
      • SECURITY (1)
      • BATCH (0)
      • WebFlux (0)
    • 문제풀이 (2)
      • 백준 (2)
      • 프로그래머스 (0)
    • java (43)
      • java (39)
      • servlet_jsp (3)
      • jdbc (1)
    • 프론트 (7)
      • html (6)
      • css (1)
    • DB (12)
      • Oracle-기초 (8)
      • Mysql-기초 (4)
      • Redis (0)
    • CS (4)
      • Network (4)
      • 디자인 패턴 (0)
    • Project (0)
      • e-commerce (0)
    • Book (70)
      • 이펙티브 자바 (55)
      • 클린코드 (0)
      • 모던 자바 인 액션 (15)
  • 홈
  • 태그
  • 방명록
RSS 피드
로그인
로그아웃 글쓰기 관리

개발 공부 기록

컨텐츠 검색

태그

영속성 Reactive 메서드 참조 비동기 통합 테스트 람다식 단위 테스트 이펙티브 자바 스트림 Future CompletableFuture Collector 람다 JPA DSL 리액티브 프로그래밍 제네릭 가변인수 Flow 리액티브

최근글

댓글

공지사항

아카이브

spring/비동기 처리(4)

  • 스프링 비동기(4) - 웹소켓

    과제 서버/ 클라이언트가 웹에서 양방향 통신을 할 수 있게 하라 해결책 HTTP와 달리 전이중 통신이 가능한 웹소켓을 이용하면 서버/클라이언트가 서로 양방향 통신을 할 수 있다. 풀이 웹소켓 기술과 HTTP는 가까운 기술이다. 웹소켓에서 HTTP는 처음 한번 핸드셰이크를 할 때만 쓰이고 이후에는 접속 프로토콜이 일반 HTTP => TCP 소켓으로 업그레이드 된다. 웹소켓 지원 기능 설정 구성 클래스에 @EnableWebSocket만 붙이면 웹소켓 기능을 활용할 수 있다. @Configuration @EnableWebSocket public class WebSocketConfiguration { } 버퍼 크기, 타입아웃 등 웹소켓 엔진을 추가 설정할 경우 ServletServerContainerFactor..

    2024.03.05
  • 스프링 비동기(3) - 비동기 인터셉터

    과제 서블릿 API로 정의한 서블릿 필터는 서블릿 웹 요청을 처리하기 전후마다 원하는 선/후처리 로직을 수행할 수 있다. 스프링 웹 애플리케이션 컨텍스트의 필터 비슷한 뭔가를 구성해 컨테이너의 장점을 이용해보자 또한 스프링 MVC 핸들러가 담당하는 웹 요청을 선/후처리하는 과정에서 모델 속성을 뷰에 반환하기 전 조작해보자 해결책 스프링 MVC에서는 핸들러 인터셉터를 사용해 웹 요청을 가로채고 원하는 선/후처리를 할 수 있다. 핸들러 엔터셉터는 스프링 웹 애플리케이션 컨텍스트에 구성하기 때문에 컨테이너 기능을 얼마든지 꺼내쓸 수 있고 컨테이너에 선언된 빈은 전부 다 참조 가능하다. 핸들러 인터셉터는 특정 URL로 들어오는 요청만 적용되도록 설정할 수 있다. 스프링 HandlerInterceptor 인터페이..

    2024.03.05
  • 스프링 비동기(2) - 응답 출력기

    과제 서비스에서 응답을 여러 청크로 나눠 전송하라 해결책 ResponseBodyEmitter(또는 SseEmitter)로 응답을 청크로 나눠 보낸다. 풀이 스프링에서는 HttpMessageConverter 인프라를 이용해서 어떤 객체를 평범한 일반 객체로 출력할 수 있다. 클라이언트는 청크된(또는 스트리밍된)리스트를 받게 된다. 결과를 객체 대신 이벤트 형태로 보내는 방법도 있다. 이를 서버 전송 이벤트라고 한다. 여러 결과를 하나의 응답에 실어 보내기 스프링 MVC의 ResponseBodyEmitter 클래스는 (뷰 이름 또는 ModelAndView 등) 하나의 결과 대신 여러 객체를 클라이언트에 반환할 때 유용하다. 반환할 객체는 HttpMessageConverter를 이용해 결과로 변환한 다음 전송..

    2024.03.05
  • 스프링 비동기(1) - TaskExecutor로 요청을 비동기 처리

    INTRO 서블릿 API 초창기 시절엔 구현 컨테이너 대부분이 요청당 스레드 하나만 사용했다. 하지만 서블릿3 명세부터 HTTP 요청이 기하급수적으로 늘면서 HTTP 요청을 비동기로 처리할 수 있게 되었다. 서블릿3.1 호환 컨테이너에서 제대로 사용한다면 모든 작업을 넌블로킹 형태로 작동시킬 수 있다.(리소스 역시 넌블로킹 형태로 작동해야 한다.) 예전에는 웹 애플리케이션은 유저의 요청을 접수한 서버가 HTML을 렌더링하고 이를 다시 클라이언트에 돌려줬다. 지금은 HTML 렌더링 작업이 클라이언트로 넘어갔고 HTML을 직접 주는 방식이 아니라 JSON, XML등의 다른 표현형을 덜려주는 식으로 통신 방법이 바뀌었다. XMLHttpRequest, 서버 전송 이벤트, 웹소켓 등 흥미로운 기술들이 있다. 과제..

    2024.03.02
이전
1
다음
티스토리
© 2018 TISTORY. All rights reserved.

티스토리툴바