book

    [리액티브 프로그래밍] Operator

    [리액티브 프로그래밍] Operator

    스프링으로 시작하는 리액티브 프로그래밍 책 정리 스프링으로 시작하는 리액티브 프로그래밍 | 황정식 - 교보문고스프링으로 시작하는 리액티브 프로그래밍 | *리액티브 프로그래밍의 기본기를 확실하게 다진다*리액티브 프로그래밍은 적은 컴퓨팅 파워로 대량의 요청 트래픽을 효과적으로 처리할 수 있는product.kyobobook.co.kr Operator란?✅ Operator리액티브 스트림즈에서 연산자 역할.ex) just(), create(), fromArray(), filter(), map()-> Reactor에서 가장 중요한 구성요소. +) Operator를 처음 이해할 때는 마블 다이어그램을 보는 것이 좋은데, 마블 다이어그램에 대한 설명은 다음 글을 참고하자.https://gksdudrb922.tistor..

    [리액티브 프로그래밍] Testing

    스프링으로 시작하는 리액티브 프로그래밍 책 정리 스프링으로 시작하는 리액티브 프로그래밍 | 황정식 - 교보문고스프링으로 시작하는 리액티브 프로그래밍 | *리액티브 프로그래밍의 기본기를 확실하게 다진다*리액티브 프로그래밍은 적은 컴퓨팅 파워로 대량의 요청 트래픽을 효과적으로 처리할 수 있는product.kyobobook.co.kr 시작하기에 앞서, reactor-test 모듈의 기능을 사용하기 위해, build.gradle 파일에 다음 의존성을 추가한다.dependencies { testImplementation 'io.projectreactor:reactor-test'}  StepVerifier를 사용한 테스팅Reactor에서 가장 일반적인 테스팅 방식은,구독 시점에 Operator 체인이 시나리오..

    [리액티브 프로그래밍] Debugging

    [리액티브 프로그래밍] Debugging

    스프링으로 시작하는 리액티브 프로그래밍 책 정리 스프링으로 시작하는 리액티브 프로그래밍 | 황정식 - 교보문고스프링으로 시작하는 리액티브 프로그래밍 | *리액티브 프로그래밍의 기본기를 확실하게 다진다*리액티브 프로그래밍은 적은 컴퓨팅 파워로 대량의 요청 트래픽을 효과적으로 처리할 수 있는product.kyobobook.co.kr Reactor에서의 디버깅 방법✅ Reactor 디버깅의 어려움동기식 또는 명령형 프로그래밍 방식은 Exception이 발생했을 때,스택트레이스를 확인하거나, 예외 상황 발생이 예상되는 코드에 브레이크포인트를 걸어 문제가 발생한 원인을 단계적으로 찾아가면 된다.반면에, Reactor는 대부분 비동기적으로 실행되고, 선언형 프로그래밍 방식으로 구성되므로 디버깅이 쉽지 않다.-> 이..

    [리액티브 프로그래밍] Context

    스프링으로 시작하는 리액티브 프로그래밍 책 정리 스프링으로 시작하는 리액티브 프로그래밍 | 황정식 - 교보문고스프링으로 시작하는 리액티브 프로그래밍 | *리액티브 프로그래밍의 기본기를 확실하게 다진다*리액티브 프로그래밍은 적은 컴퓨팅 파워로 대량의 요청 트래픽을 효과적으로 처리할 수 있는product.kyobobook.co.kr Context란?✅ 프로그래밍에서 Context어떠한 상황에서 그 상황을 처리하기 위해 필요한 정보ex)ServletContext: Servlet이 Servlet Container와 통신하기 위해 필요한 정보를 제공하는 인터페이스.ApplicationContext: SpringFramwork에서 애플리케이션 정보를 제공하는 인터페이스. (ex. Spring Bean)Securit..

    [리액티브 프로그래밍] Scheduler

    [리액티브 프로그래밍] Scheduler

    스프링으로 시작하는 리액티브 프로그래밍 책 정리 스프링으로 시작하는 리액티브 프로그래밍 | 황정식 - 교보문고 스프링으로 시작하는 리액티브 프로그래밍 | *리액티브 프로그래밍의 기본기를 확실하게 다진다*리액티브 프로그래밍은 적은 컴퓨팅 파워로 대량의 요청 트래픽을 효과적으로 처리할 수 있는 product.kyobobook.co.kr 스레드(Thread)의 개념 이해 Reactor에서 사용되는 Scheduler는 Reactor Sequence에서 사용되는 스레드를 관리해 주는 관리자 역할을 한다. -> 그럼 먼저 스레드에 대해 알아보자. ✅ 물리적인 스레드 실제 하드웨어와 관련된 스레드. 그림을 보면 하나의 코어는 두 개의 스레드를 포함하고 있다. -> 물리적인 스레드는 논리적인 코어라고도 부른다. ✅ 논..

    [리액티브 프로그래밍] Sinks

    스프링으로 시작하는 리액티브 프로그래밍 책 정리 스프링으로 시작하는 리액티브 프로그래밍 | 황정식 - 교보문고 스프링으로 시작하는 리액티브 프로그래밍 | *리액티브 프로그래밍의 기본기를 확실하게 다진다*리액티브 프로그래밍은 적은 컴퓨팅 파워로 대량의 요청 트래픽을 효과적으로 처리할 수 있는 product.kyobobook.co.kr Sinks란? ✅ Processor 리액티브 스트림즈의 구성요소 중 하나인, Publisher와 Subscriber의 기능을 모두 지닌 Processor는 Reactor 3.5.0부터 제거되었다. 대신 Processor의 기능을 개선한 Sinks가 3.4.0부터 지원되기 시작했다. Sinks는 Signal을 프로그래밍 방식으로 전송할 수 있는 구조이다. -> Reactor에서..

    [리액티브 프로그래밍] Backpressure

    [리액티브 프로그래밍] Backpressure

    스프링으로 시작하는 리액티브 프로그래밍 책 정리 스프링으로 시작하는 리액티브 프로그래밍 | 황정식 - 교보문고 스프링으로 시작하는 리액티브 프로그래밍 | *리액티브 프로그래밍의 기본기를 확실하게 다진다*리액티브 프로그래밍은 적은 컴퓨팅 파워로 대량의 요청 트래픽을 효과적으로 처리할 수 있는 product.kyobobook.co.kr Backpressure란? ✅ Backpressure의 역할 Publisher가 데이터를 emit하는 속도에 비해, Downstream Publisher(Downstream Consumer) 혹은 Subscriber가 데이터를 처리하는 속도가 느리다면 오버플로가 발생하거나 최악의 경우에는 시스템이 다운되는 문제가 발생한다. -> Backpressure는 Publisher가 끊..

    [리액티브 프로그래밍] Cold Sequence와 Hot Sequence

    스프링으로 시작하는 리액티브 프로그래밍 책 정리 스프링으로 시작하는 리액티브 프로그래밍 | 황정식 - 교보문고 스프링으로 시작하는 리액티브 프로그래밍 | *리액티브 프로그래밍의 기본기를 확실하게 다진다*리액티브 프로그래밍은 적은 컴퓨팅 파워로 대량의 요청 트래픽을 효과적으로 처리할 수 있는 product.kyobobook.co.kr Cold와 Hot의 의미 ✅ 컴퓨터 시스템에서 Cold와 Hot Cold: 어떤 작업을 위해 다시 시작하고, 같은 작업을 매번 반복함. Hot: 어떤 작업에 대해 다시 시작하지 않고, 같은 작업이 반복되지 않음. Cold Sequence Subscriber의 구독 시점이 달라도, 구독할 대마다 Publisher가 데이터를 emit하는 과정을 처음부터 다시 시작하는 데이터의 흐..