본문 바로가기

java

(26)
@Value 사용 시 null 이 주입되는 경우 @Value 사용하는 것을 매우 선호하는데 static factory method 을 통해 인스턴스 를 생성하면서 null 이 주입는 상황이 발생했다. null 이 되는 케이스가 몇 가지가 있다는 것을 알았다. 1) 주입받는 member가 static 으로 선언된 경우 2) 일반적인 인스턴스 생성의 경우 null 로 주입 된다. 꼭 static 으로 해야 겠다하면 + 멤버변수가 static인 경우 @Setter, @Getter 무쓸모 + https://www.baeldung.com/spring-value-annotation
String Reverse String을 reverse 하는 코드를 정말 오랫만에 해봤는데 많은 생각이 들었다. - 코테에 Stream 이 필요한가. 적재적소에 쓰이면 좋지만 아래 코드에선 과하단 생각이 들었다. 꽤 많은 불변 객체가 생성되었다. - 가독성이 좋은가 - 퍼포먼스가 좋은가 - 그냥 적당히 타협하여 for 문을 쓸 것인가 - 적당히 타협하며 코딩하면 항상 그 자리가 아닐까?
JPA, Spring, DB Transaction 외 JPA Entity 관계 정리
java + lambda + filtering Junit5 의 assertAll 을 써보고 코드에서도 필터 역할을 할 수 있을 것 같다는 생각이 들어 만들어봤다. 사용하는 방법은 아래와 같고 AS-IS 는 내가 주로 사용하는 방법, TO-BE 는 필터링을 이용해서 동일한 코드를 작성했다.
Future, CompletableFuture, Reactor 병렬 간단 비교 Reactor 가 비싸긴 비싸다.
SpringFramework - Injection 하도 답답해서 다시 알아보고 정리했다.
reactive 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 이 되어야 ..
spring batch