분류 전체보기
-
Spring6 @HttpExchange카테고리 없음 2023. 4. 23. 14:06
작년 말부터 spring에서 6.0대 버전을 개발하고 있다. 현재는 M4(5월기준)까지 나온 상태이고 7월쯤에 M5가 나올 예정이다. 예정대로 진행된다면 올해 말 늦으면 내년초에는 아마 GA 버전이 출시 될 예정이다. 로드맵 기준으로는 올해 10월쯤 예상한다. spring6에 몇몇가지의 변화가 있을예정이다. 예를들어 spring6은 java17이 baseline 버전이다. java17을 사용 못한다면 spring5.x 버전 spirng boot 2.x 버전을 사용해야 한다. 아마 당분간 꾸준히 지원할 예정이니 차근차근 마이그레이션해도 상관없다. 그 중 필자가 제일 관심있어 보이면 기능을 하나 가져왔다. 아직 개발 단계이니 넓은 마음으로 보자. 이런 비슷한 라이브러리는 몇가지 존재 한다. okhtt..
-
Java Features카테고리 없음 2023. 4. 23. 14:06
요즘들어 Kotlin만 사용해서 Java의 새로운 문법? 기능들에 관심이 없었다. 그래서 오늘은 자바11~17까지의 문법적인 변화에 대해 알아보도록 하자. 대부분 문법적인 부분들만 살펴볼 예정이니 자세한 내용들은 해당 공식문서를 살펴보면 좋겠다. Local-Variable Syntax for Lambda Parameters Java 10부터 지역변수에 var 키워드를 통해 타입추론을 할 수 있었다. 그런데 Lambda 표현식의 변수엔 사용 불가 했다. 하지만 이제는 Lambda expression에서도 변수에 var 키워드를 사용가능하다. Stream.iterate(1, (var number) -> number + 1).limit(10).collect(Collectors.toList()) 만약 변수가 ..
-
Reactor 써보기 (3)카테고리 없음 2023. 4. 23. 14:06
Reactor를 거의 일년만에 다시 작성한다. 요즘 영 귀찮아서 블로그를 잘 안썼더니 올해 처음으로 작성한다. Flux just, fromIterable, fromStream, range just는 Mono 에서도 배웠다. 동일하게 Flux에서도 just를 통해 Flux를 생성할 수 있다. @Test void fluxJustTest() { Flux.just(1, 2, 3, 4, 5) .subscribe(System.out::println); } [kotlin]\r @Test\r fun `flux just test`() {\r Flux.just(1, 2, 3, 4, 5)\r .subscribe {\r println(it)\r }\r }\r [/kotlin] Mono 와는 조금 다르게 가변인자 파라미터를 받..
-
Spring Boot 2.4 Config file processing카테고리 없음 2023. 4. 23. 14:06
Spring boot 2.4-m2 버전이 저번달(8/14)에 릴리즈 되었다. 그러기엔 이글이 좀 늦은 듯 하다. 한달이나 지나서야..원.. Spring Boot 의 m2 버전에서 여러 추가 기능이 있지만 제일 큰 변화는 아마도 Config file processing 처리하는 방법이 아닐까 싶다. 나중에 정식 릴리즈가 되면 다른 특징들도 알아보고 오늘은 Config file processing 관한 변화의 특징들을 알아보도록 하자. spring boot 2.3 까지 Kubernetes 지원을 열심히 하고 있다. 하지만 그 중에 할 수 없었던 부분이 volume mounted configuration라는 기능이다. (사실 필자도 잘 모름) Kubernetes 에서 인기있는 기능이라고 하니.. 하지만 이 기..
-
Reactor 써보기 (2)카테고리 없음 2023. 4. 23. 14:06
오늘은 저번시간에 이어서 Reactor 써보기 (2)를 준비했다. 저번시간에는 Mono를 만드는 것을 배웠다. 필자도 아직까지는 써보지 않은 것들도 많이 존재한다. 대부분 쓰는 것들만 자주 쓰기에.. 오늘은 저번시간에 이어서 Mono 오퍼레이터를 알아보도록 하자. 물론 다 알아보진 못할 거 같고(워낙 많아서..) 자주 사용될만한 것들 위주로 살펴 볼 예정이니 여기에 없는 것들은 문서를 찾아보면 되겠다. map, flatMap, flatMapMany, filter 사실 이것들은 java8 에 나온 Stream API의 map 과 flatMap 과 사용법은 동일하다. 흔히 함수형 프로그래밍에서 말하는 functor, monad 라 하는 것들 처럼 의미하는 바도 동일하다. 이 부분을 더 알고 싶다면 함수형 프..
-
Reactor 써보기 (1)카테고리 없음 2023. 4. 23. 14:06
오랜만에 글을 쓰니 좀 어색하다. 요 근래 계속 글을 안썼더니 말이다. 요즘 필자는 회사에서 Spring Webflux를 사용하고 있다. 그래서 좀 더 잘 사용해보자라는 의미에서 Reactor 를 공부해보도록 하자. 하지만 여기에선 Reactive Streams 에 대해 개념적으로는 설명하지 않겠다. 이미 다른 블로그에 좋은 글들이 많으니 그걸 보고 개념을 이해하면 좋겠다. reactive-streams-jvm 토비의 봄 TV 5회 스프링 리액티브 프로그래밍 (1) - Reactive Streams Spring WebFlux는 어떻게 적은 리소스로 많은 트래픽을 감당할까? Project Reactor 1.리액티브 프로그래밍 위의 글들은 한번 읽어보면 좋을 것 같다. 토비느님의 방송 역시 함께 보면 개념적..
-
Spring boot 2.2카테고리 없음 2023. 4. 23. 14:06
오늘은 좀 늦은감이 있지만 그래도 spring boot 2.2 의 변화에 대해서 알아보도록 하자. 물론 예전에 틈틈이 특정부분은 관련해서도 남기긴 했지만 정리하는 의미에서 다시 한번 살펴보도록 하자. 물론 이것도 필지가 자주 사용할 것들 혹은 자주 사용하는 것들만 정리하니 나머지는 해당 문서를 참고하면 되겠다. Spring Framework 5.2 알다시피 Spring Framework 5.2로 업그레이드 되었다. 관련해서는 해당 문서를 찾아보면 더 좋을 듯 싶다. 해당 문서는 여기를 살펴보자. JMX now disabled by default JMX는 더 이상 기본적으로 비활성화 되어있다. 만약 이 기능을 사용하고 싶다면 spring.jmx.enabled=true를 사용하여 활성화 시킬 수 있다. 사실..
-
Spring WebClient카테고리 없음 2023. 4. 23. 14:06
오늘은 Spring의 WebClient의 사용법에 대해서 몇가지 알아보도록 하자. 사용 API만 살펴 볼 예정이므로 reactive streams(reactor..) 들의 개념과 사용법은 다른 블로그를 살펴보길 바란다. reactive streams 대한 내용을 알고 보면 좋지만 몰라도 코드를 보는데는 문제가 없을 듯 하다. WebClient는 Spring5 에 추가된 인터페이스다. spring5 이전에는 비동기 클라이언트로 AsyncRestTemplate를 사용을 했지만 spring5 부터는 Deprecated 되어 있다. 만약 spring5 이후 버전을 사용한다면 AsyncRestTemplate 보다는 WebClient 사용하는 것을 추천한다. 아직 spring 5.2(현재기준) 에서 AsyncRes..