✔ SpringBoot
Reactive Programming
Reactive Stream
- Publisher와 subscriber 사시의 간단한 계약을 정의하는 명세
- 트래픽 수요를 구독자가 발행자에게 알리는 방식
- backpressure: 구독자가 스스로 처리할 수 있을 만큼의 데이터만을 발행자에게 요청해서 데이터 전송량을 조절할 수 있는 메커니즘
- Flux 제네릭 사용
pom.xml
Maven을 이용해서 Flux가 들어있는 reactor-core 의존성을 추가. 의존성 추가가 안될 때는, Maven -> Sources Download 하면 된당. 메이븐은 처음 써봐서 쪼꿈 해맸지만! 실행이 잘 됐다.
간단히 Flux를 이용해서 서빙하는 예제를 따라해봤다. 자바가 약해서 제네릭이 뭔가 잠시 해맸는데, 저번에 인프런들을 때 쓴 Optional<T>
나 ArrayList<T>
를 떠올리며 했다.
- 제네릭: 밖에서 타입 정해주는 것!! 이라고 일단 기억하기!
스프링 부트로 이커머스 플랫폼 만들기
- 저번에는 Spring Web dependency 였는데, 이번 책에선 Spring Reactive Web을 쓴다.
- Tomcat이 아닌 Netty(리액티브 실행 환경)를 사용한다
- 구독은 스프링 웹플럭스가 한다
- Mono: 0개 또는 1개의 원소만 담을 수 있는 리액티브 발행자
- 타임리프는 모든 태그가 닫혀야 한다.
</img>
를 쓰거나 <img ... />
를 사용해야 한다.