스프링으로 시작하는 리액티브 프로그래밍 (Spring WebFlux를 이용한 Non-Blocking 애플리케이션 구현)

스프링으로 시작하는 리액티브 프로그래밍 (Spring WebFlux를 이용한 Non-Blocking 애플리케이션 구현)

$31.34
Description
*리액티브 프로그래밍의 기본기를 확실하게 다진다*
리액티브 프로그래밍은 적은 컴퓨팅 파워로 대량의 요청 트래픽을 효과적으로 처리할 수 있는 리액티브 시스템을 구축하기 위한 핵심 구성 요소입니다. 이 책은 스프링 리액티브 웹 애플리케이션 구현에 있어 중요한 역할을 하는 Reactor의 핵심 개념들을 쉽게 이해할 수 있도록 충분한 설명과 다양한 예제 코드, 마블 다이어그램 등을 제공합니다. 또한 Reactor에 대한 학습을 토대로 Spring WebFlux 기반의 Non-Blocking I/O 방식의 샘플 애플리케이션을 구현해 보면서 리액티브 프로그래밍 입문이라는 길로 자연스럽게 안내합니다
저자

황정식

2010년부터모바일기반의대학통합시스템,블록체인기반의데이터마켓서비스등다양한웹애플리케이션프로젝트를수행해온시니어백엔드개발자입니다.현재는(주)코드스테이츠에서미래의백엔드개발자를꿈꾸는학생들과함께교육엔지니어로즐거운일상을보내고있습니다.
소프트웨어개발에대한지식을공유하기를좋아합니다.특히수년전애플리케이션개발에사용한리액티브프로그래밍의매력에심취해프로젝트이후,RxJava를깊이공부하면서알게된지식들을공유하고,리액티브프로그래밍에
입문하고싶어하는분들에게약간의도움을주고자관련지식들을온라인강의로제작해인프런에오픈했습니다.
미래에제모습이어떤모습으로변해있을지아직은알수없지만,소프트웨어개발이라는영역안에서더나은삶을살아가기위해현재꾸준히노력하며살고있습니다.백발이되어서도소프트웨어를개발할수있는소프트웨어엔지니어가되기위해오늘도열심히노력하겠습니다

목차

지은이소개
지은이의말   
기술감수자소개   
기술감수자의말   
추천사  
일러두기   
이책의대상독자   
이책의구성 
예제코드구성 
소프트웨어버전 
주의사항 

Part01 리액티브프로그래밍(ReactiveProgramming)

Chapter01 리액티브시스템과리액티브프로그래밍
1.1 리액티브시스템(ReactiveSystem)이란? 
1.2 리액티브선언문으로리액티브시스템이해하기 
1.3 리액티브프로그래밍(ReactiveProgramming)이란?   
1.4 리액티브프로그래밍의특징   
1.4.1 declarativeprogramming   
1.4.2 datastreams와thepropagationofchange   
1.5 코드로보는명령형프로그래밍vs선언형프로그래밍   
1.5.1 명령형프로그래밍   
1.5.2 선언형프로그래밍   
1.6 리액티브프로그래밍코드구성 

Chapter02 리액티브스트림즈(ReactiveStreams)
2.1 리액티브스트림즈(ReactiveStreams)란?   
2.2 리액티브스트림즈구성요소   
2.3 코드로보는리액티브스트림즈컴포넌트   
2.3.1 Publisher   
2.3.2 Subscriber   
2.3.3 Subscription   
2.3.4 Processor   
2.4 리액티브스트림즈관련용어정의   
2.5 리액티브스트림즈의구현규칙   
2.6 리액티브스트림즈구현체   

Chapter03 BlockingI/O와Non-BlockingI/O
3.1 BlockingI/O   
3.2 Non-BlockingI/O   
3.3 SpringFramework에서의BlockingI/O와Non-BlockingI/O   
3.4 Non-BlockingI/O방식의통신이적합한시스템   
3.4.1 대량의요청트래픽이발생하는시스템   
3.4.2 마이크로서비스기반시스템 
3.4.3 스트리밍또는실시간시스템 

Chapter04 리액티브프로그래밍을위한사전지식
4.1 함수형인터페이스(FunctionalInterface)   
4.2 람다표현식(LambdaExpression)   
4.3 메서드레퍼런스(MethodReference)   
4.4 함수디스크립터(FunctionDescriptor) 

Part02 ProjectReactor
Chapter05 Reactor개요
5.1 Reactor란?   
5.2 HelloReactor코드로보는Reactor의구성요소
   
Chapter06 마블다이어그램(MarbleDiagram)
6.1 마블다이어그램(MarbleDiagram)이란?   
6.2 마블다이어그램으로Reactor의Publisher이해하기 

Chapter07 ColdSequence와HotSequence
7.1 Cold와Hot의의미   
7.2 ColdSequence   
7.3 HotSequence 
7.4 HTTP요청과응답에서ColdSequence와HotSequence의동작흐름   

Chapter08 Backpressure
8.1 Backpressure란?   
8.2 Reactor에서의Backpressure처리방식   
8.2.1 데이터개수제어 
8.2.2 Backpressure전략사용   

Chapter09 Sinks
9.1 Sinks란?   
9.2 Sinks종류및특징 

Chapter10 Scheduler
10.1 스레드(Thread)의개념이해   
10.2 Scheduler란?   
10.3 Scheduler를위한전용Operator   
10.4 publishOn()과subscribeOn()의동작이해   
10.5 Scheduler의종류 

Chapter11 Context
11.1 Context란?   
11.2 자주사용되는Context관련API   
11.3 Context의특징   
Chapter12 Debugging
12.1 Reactor에서의디버깅방법   
12.1.1 DebugMode를사용한디버깅   
12.1.2 checkpoint( )Operator를사용한디버깅   
12.1.3 log()Operator를사용한디버깅 

Chapter13 Testing
13.1 StepVerifier를사용한테스팅   
13.2 TestPublisher를사용한테스팅   
13.3 PublisherProbe를사용한테스팅
   
Chapter14 Operators
14.1 Operator란?   
14.2 Sequence생성을위한Operator   
14.3 Sequence필터링Operator   
14.4 Sequence변환Operator   
14.5 Sequence의내부동작확인을위한Operator   
14.6 에러처리를위한Operator   
14.7 Sequence의동작시간측정을위한Operator   
14.8 FluxSequence분할을위한Operator   
14.9 다수의Subscriber에게Flux를멀티캐스팅(Multicasting)하기위한Operator   

Part03 SpringWebFlux

Chapter15 SpringWebFlux개요
15.1 SpringWebFlux의탄생배경   
15.2 SpringWebFlux의기술스택   
15.3 SpringWebFlux의요청처리흐름   
15.4 SpringWebFlux의핵심컴포넌트   
15.5 SpringWebFlux의Non-Blocking프로세스구조   
15.6 SpringWebFlux의스레드모델
   
Chapter16 애너테이션기반컨트롤러
(AnnotatedController)
16.1 SpringMVC기반Controller   
16.2 SpringWebFlux기반Controller   

Chapter17 함수형엔드포인트(FunctionalEndpoint)
17.1 HandlerFunction을사용한request처리   
17.2 request라우팅을위한RouterFunction   
17.3 함수형엔드포인트에서의requestbody유효성검증   

Chapter18 SpringDataR2DBC
18.1 R2DBC란?   
18.2 SpringDataR2DBC란?   
18.3 SpringDataR2DBC설정 
18.4 SpringDataR2DBC에서의도메인엔티티클래스매핑 
18.5 R2DBCRepositories를이용한데이터액세스 
18.6 R2dbcEntityTemplate을이용한데이터액세스 
18.7 SpringDataR2DBC에서의페이지네이션(Pagination)처리 

Chapter19 예외처리
19.1 onErrorResume()Operator를이용한예외처리 
19.2 ErrorWebExceptionHandler를이용한글로벌예외처리 

Chapter20 WebClient
20.1 WebClient란?   
20.2 WebClient로도서정보요청하기   
20.3 WebClientConnectionTimeout설정 
20.4 exchangeToMono()를사용한응답디코딩 

Chapter21 ReactiveStreaming데이터처리

찾아보기

출판사 서평

『스프링으로시작하는리액티브프로그래밍은』은리액티브프로그래밍을통해한단계성장한자바개발자가되고자하는초급자를위한책이다.복잡하게만느껴졌던자바비동기프로그래밍을쉽게설명하고있고,웹애플리케이션개발의기초를다질수있는책이다.