목록전체 글 (52)
ren+gin+eer
String을 reverse 하는 코드를 정말 오랫만에 해봤는데 많은 생각이 들었다. - 코테에 Stream 이 필요한가. 적재적소에 쓰이면 좋지만 아래 코드에선 과하단 생각이 들었다. 꽤 많은 불변 객체가 생성되었다. - 가독성이 좋은가 - 퍼포먼스가 좋은가 - 그냥 적당히 타협하여 for 문을 쓸 것인가 - 적당히 타협하며 코딩하면 항상 그 자리가 아닐까?
Junit5 의 assertAll 을 써보고 코드에서도 필터 역할을 할 수 있을 것 같다는 생각이 들어 만들어봤다. 사용하는 방법은 아래와 같고 AS-IS 는 내가 주로 사용하는 방법, TO-BE 는 필터링을 이용해서 동일한 코드를 작성했다.
약 2주간 webclient 부터 시작해서 reactor 에 대해 구글링하면서 구조를 잡아가고 있다. - reactive streams : 기술 명세 - reactive streams 구현체 : rxjava, project reactor, akka - base skill :lambda, anonymous class - observer pattern - callback pattern (pull) - push vs pull 차이 - hot vs cold - block 필요성 - publishOn vs subscribeOn -> async 관련 - request vs buffer -> backpressure 관련 - async 는 default가 아니다. webclient 는 default 임. - backp..
RestTemplate 대체하여 Webclient 를 알아보니 WebFlux, Reactive Streams, Project Reactor, Async, Netty, NIO, Non-Blocking, Event-Driven, Mono/Flux, Pull, Push, Stream API, Tomcat, Servlet 3.0 이 줄줄이 엮여 있다. 습득은 구글링 쭉하고, 백기선님 Webflux 유투브 강의가 도움이 많이 되었다. Webflux와 관련된 도서는 하나 찾았는데 역시 공식 레퍼런스가 가장 좋을 것 같다. javascript의 event-driven은 이해를 매우 쉽게 했는데, 이 개념이 서버로 오면서 나는 이해가 좀 많이 힘들다. 최종적으로 리턴되는 response에선 blocking 이 되어야 ..