본문 바로가기

분류 전체보기93

(Java) Virtual Threads (가상 쓰레드) 란? Virtual Threads 가상 쓰레드란? Summary 가상 스레드는 처리량이 많은 동시 애플리케이션을 작성, 유지 관리 및 관찰하는 수고를 획기적으로 줄여주는 경량 스레드입니다. Open JDK 에서 소개한 Virtual Thread : https://openjdk.org/jeps/444 History - 요약 : JDK 21 부터 최종버전의 Virtual Thread 가 지원된다. (thread-local 변수 지원 등) 가상 스레드는 JEP 425에 의해 미리보기 기능으로 제안되었고 JDK 19로 전달되었습니다. 피드백을 위한 시간을 허용하고 더 많은 경험을 얻기 위해 JEP 436에 의해 다시 미리보기 기능으로 제안되었고 JDK 20으로 전달되었습니다. 이 JEP는 개발자 피드백에 의해 알려지.. 2023. 7. 30.
Spring MVC vs Webflux 저장용 https://dzone.com/articles/raw-performance-numbers-spring-boot-2-webflux-vs-s 2023. 4. 9.
[Redis Client] Jedis vs Lettuce (Lettuce를 쓰자) Jedis vs Lettuce (Lettuce를 쓰자) 이미 많은 글에서 차이를 다루고 있고, 결론은 최신 프로젝트에서는 Lettuce 를 쓰자 입니다. 기록용으로 왜 Lettuce 써야하는지 핵심만 적어봅니다. Jedis Redis용 Java 클라이언트 https://github.com/redis/jedis GitHub - redis/jedis: Redis Java client designed for performance and ease of use. Redis Java client designed for performance and ease of use. - GitHub - redis/jedis: Redis Java client designed for performance and ease of use.. 2022. 6. 12.
Kotlin 용어, 키워드 간단정리 (일급함수, Higher-Order Functions, inline) 1. 일급함수 (first-class function) https://en.wikipedia.org/wiki/First-class_function 코틀린 함수는 일급 함수(first-class function) 이다. 코틀린의 함수는 함수의 매개변수가 될 수 있다. 코틀린의 함수는 함수의 return 값이 될 수 있다. 코틀린의 함수는 할당 명령문(=, 대입)의 대상이 될 수 있다. 코틀린의 함수는 동일 비교(==, equal)의 대상이 될 수 있다 : 간단히 함수가 객체화 될수 있다면 일급함수라고 이해했다. 2. Higher-Order Functions (고차 함수) https://kotlinlang.org/docs/lambdas.html 함수를 파라메터로 가지거나, 이를 반환하는 함수이다. fun .. 2022. 3. 6.
[Reactor 3 Reference Guide] 9. Advanced Features and Concepts - 2 https://projectreactor.io/docs/core/release/reference/#advanced Reactor 3 Reference Guide 10:45:20.200 [main] INFO reactor.Flux.Range.1 - | onSubscribe([Synchronous Fuseable] FluxRange.RangeSubscription) (1) 10:45:20.205 [main] INFO reactor.Flux.Range.1 - | request(unbounded) (2) 10:45:20.205 [main] INFO reactor.Flux.Range.1 - | onNext(1) (3) 1 projectreactor.io 9. Advanced Features and Concepts.. 2021. 11. 18.
[Reactor 3 Reference Guide] 9. Advanced Features and Concepts - 1 https://projectreactor.io/docs/core/release/reference/#advanced Reactor 3 Reference Guide 10:45:20.200 [main] INFO reactor.Flux.Range.1 - | onSubscribe([Synchronous Fuseable] FluxRange.RangeSubscription) (1) 10:45:20.205 [main] INFO reactor.Flux.Range.1 - | request(unbounded) (2) 10:45:20.205 [main] INFO reactor.Flux.Range.1 - | onNext(1) (3) 1 projectreactor.io 9. Advanced Features and Concepts.. 2021. 11. 11.
[Reactor 3 Reference Guide] 6. Testing 6.1. Testing a Scenario with StepVerifier The most common case for testing a Reactor sequence is to have a Flux or a Mono defined in your code (for example, it might be returned by a method) and to want to test how it behaves when subscribed to. This situation translates well to defining a “test scenario,” where you define your expectations in terms of events, step-by-step. You can ask and answe.. 2021. 10. 28.
[Reactor 3 Reference Guide] 4. Reactor Core Features - 2 4.6. Handling Errors For a quick look at the available operators for error handling, see the relevant operator decision tree. In Reactive Streams, errors are terminal events. As soon as an error occurs, it stops the sequence and gets propagated down the chain of operators to the last step, the Subscriber you defined and its onError method. Such errors should still be dealt with at the applicatio.. 2021. 10. 21.
[Reactor 3 Reference Guide] 4. Reactor Core Features Flux : A Flux is a standard Publisher that represents an asynchronous sequence of 0 to N emitted items optionally terminated by either a completion signal or an error. As in the Reactive Streams spec, these three types of signal translate to calls to a downstream Subscriber’s onNext,onComplete, and onError methods. Flux는 표준 Publisher 이다. 0 to N 까지 비동기 시퀀스 아이템 (1)을 나타내며 완료(2)/오류(3) 신호에의해 선택적으로 종료.. 2021. 10. 13.