1장. 리액티브 프로그래밍의 소개
리액티브 프로그래밍이란 무엇인가
함수형 리액티브 프로그래밍을 적용해야 하는 이유
리액티브 선언
리액티브 스트림 표준 사양
코틀린을 위한 리액티브 프레임워크
RxKotlin 시작하기
RxKotlin 다운로드와 설정
RxJava의 푸시 메커니즘과 풀 메니커즘 비교
ReactiveEvenOdd 프로그램
ReactiveCalculator 프로젝트
요약
2장. 코틀린과 RxKotlin을 사용한 함수형 프로그래밍
함수형 프로그래밍 소개
함수형 프로그래밍의 기초
람다 표현식
순수 함수
고차 함수
인라인 함수
ReactiveCalculator 클래스에 함수형 프로그래밍 적용
코루틴
코루틴 시작하기
시퀀스 생성하기
코루틴을 사용한 ReactiveCalculator 클래스
함수형 프로그래밍: 모나드
단일 모나드
요약
3장. 옵저버블과 옵저버와 구독자
옵저버블
옵저버블이 동작하는 방법
Observable의 다른 팩토리 메서드
구독자: Observer 인터페이스
구독과 배치
핫, 콜드 옵저버블
콜드 옵저버블
핫 옵저버블
다양한 구독자
AsyncSubject 이해
PublishSubject 이해
BehaviorSubject 이해
ReplaySubject 이해
요약
4장. 백프레셔와 플로어블 소개
백프레셔 이해
플로어블
플로어블과 옵저버블 사용 구분
플로어블을 언제 사용할까
옵저버블을 언제 사용할까
플로어블과 구독자
처음부터 플로어블 생성하기
옵저버블로 플로어블 만들기
BackpressureStrategy.MISSING와 onBackpressureXXX(
onBackpressureBuffer( 연산자
onBackpressureDrop( 연산자
onBackpressureLatest( 연산자
원천에서 백프레셔를 지원하는 플로어블 생성
ConnectableFlowable
프로세서
버퍼, 스로틀링, 윈도우 연산자
buffer( 연산자
w
이 책의 구성
1장, ‘리액티브 프로그래밍의 소개’에서는 리액티브 프로그래밍의 사고 패턴 및 원리를 이해할 수 있다.
2장, ‘코틀린과 RxKotlin을 사용한 함수형 프로그래밍’에서는 함수형 프로그래밍 패러다임의 핵심 개념을 알아보고 코틀린에서 사용 가능한 케이스를 살펴본다. 함수형 프로그래밍을 쉽게 이해할 수 있다.
3장, ‘옵저버블과 옵저버와 구독자’에서는 RxKotlin의 핵심인 옵저버블, 옵저버, 구독자의 기초에 대해 알아본다.
4장, ‘백프레셔와 플로어블 소개’에서는 프로듀서가 컨슈머를 앞지르는 것을 방지해주는 RxKotlin의 기술인 백프레셔를 사용할 수 있게 해주는 플로어블을 소개한다.
5장, ‘비동기 데이터 연산자와 변환’에서는 RxKotlin의 연산자를 소개한다.
6장, ‘연산자 및 오류 처리’에서는 연산자에 대한 이해를 높이고 연산자와 프로듀서를 결합, 또는 필터링하는 방법을 소개한다. 또한 RxKotlin에서 오류를 좀 더 효율적으로 처리하는 데 도움을 준다.
7장, ‘RxKotlin의 스케줄러를 사용한 동시성과 병렬 처리’에서는 RxKotlin의 스케줄러를 사용한 동시성과 병렬 처리를 알아본다. 스케줄러의 이점을 사용해 동시성 프로그래밍을 가능하게 한다.
8장, ‘RxKotlin 애플리케이션 테스트’에서는 애플리케이션 개발 시 가장 중요한 테스트를 다룬다. 리액티브 프로그래밍은 상태 대신 행위를 정의하기 때문에 RxKotlin에서의 테스트는 일반 테스트와 조금 다르다. 이 장에서는 테스트의 기본부터 배울 수 있다.
9장, ‘자원 관리와 RxKotlin 확장’에서는 코틀린에서 리소스를 관리하는 방법을 알아본다. 리소스는 데이터베이스 인스턴스, 파일, HTTP 접근 등 사용 후 종료close시켜 줘야 하는 어떤 것이라도 될 수 있다. 또한 RxKotlin에서 사용자 정의 연산자를 만드는 방법을 배운다.
10장, ‘Kotlin 개발자를 위한 스프링 웹 프로그래밍 소개’에서는 스프링과 하이버네이트를 사용하는 장점을 알아보고