코틀린 리액티브 프로그래밍
도서명:코틀린 리액티브 프로그래밍
저자/출판사:리부,차크라보티/에이콘출판
쪽수:384쪽
출판일:2019-04-30
ISBN:9791161752976
목차
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() 연산자
____window() 연산자
____throttle() 연산자
__요약
5장. 비동기 데이터 연산자와 변환
__연산자
__필터링 연산자
____debounce 연산자
____distinct 연산자: distinct, distinctUntilChanged
____elementAt 연산자
____배출 필터링하기: filter 연산자
____first, last 연산자
____ignoreElements 연산자
__변환 연산자
____map 연산자
____배출 캐스팅: cast 연산자
____flatMap 연산자
____defaultIfEmpty 연산자
____switchIfEmpty 연산자
____startWith 연산자
____정렬 연산자: sorted 연산자
____데이터 모으기: scan 연산자
__축소 연산자
____배출량 계산(count 연산자)
____배출 누적: reduce 연산자
____컬렉션 연산자
__오류 처리 연산자
__유틸리티 연산자
__요약
6장. 연산자 및 오류 처리
__프로듀서(옵저버블/플로어블) 결합
____startWith 연산자
____배출을 집핑하기: zip 연산자
____combineLatest 연산자
____옵저버블/플로어블 병합: merge 연산자
____프로듀서 이어 붙이기(옵저버블/플로어블)
____프로듀서 임의 결합
__그룹핑
__flatMap, concatMap 세부 사항
____flatMap 연산자가 적합한 경우
____concatMap 연산자가 적합한 경우
__switchMap 연산자 이해
__배출 건너뛰거나 취하기
____배출 건너뛰기(skip, skipLast, skipUntil, skipWhile)
____take 연산자(take, takeLast, takeWhile, takeUntil)
__에러 처리 연산자
__onErrorReturn: 에러 발생 시 기본값 반환하기
__onErrorResumeNext 연산자
____에러 발생 시 재시도하기
__HTTP 예제
__요약
7장. RxKotlin의 스케줄러를 사용한 동시성과 병렬 처리
__동시성 소개
__병렬 실행과 동시성
__스케줄러는 무엇인가
____스케줄러의 종류
____Schedulers.from
__스케줄러 사용법: subscribeOn, observeOn 연산자
____구독 시 스레드 변경: subscribeOn 연산자
____다른 스레드에서 관찰: observeOn 연산자
__요약
8장. RxKotlin 애플리케이션 테스트
__단위 테스트 소개와 중요성
____단위 테스트가 중요한 이유
__코틀린에서 JUnit 테스트 작성하기
____코드 테스트하기
__RxKotlin에서 테스트
__구독자 차단
__차단 연산자
____첫 번째 배출된 아이템 가져오기: blockingFirst()
____single 또는 maybe에서 단일 아이템 얻기: blockingGet
____마지막 아이템 얻기: blockingLast
____모든 배출을 이터러블로 가져오기: blockingIterable 연산자
____모든 배출을 순회하기: blockingForEach
__TestObserver와 TestSubscriber 소개
__TestScheduler 이해
__요약
9장. 자원 관리와 RxKotlin 확장
__자원 관리
__자신만의 연산자 작성하기
__변환자로 연산자 합성
__요약
10장. 코틀린 개발자를 위한 스프링 웹 소개
__스프링, 스프링의 역사와 기원
____스프링의 역사와 기원
__의존성 주입과 IoC
____스프링 주석 기반 설정
__스프링: AOP
__스프링 부트 소개
__스프링 부트를 사용해 Rest API 만들기
__요약
11장. 스프링 JPA와 하버네이트를 사용한 REST API
__스프링 부트, 하이버네이트 JPA를 사용한 REST API
__리액터를 이용한 리액티브 프로그래밍
____프로젝트에 리액터 추가
____플럭스와 모노 이해
__요약
12장. 리액티브 코틀린과 안드로이드
__안드로이드 스튜디오에서 코틀린 설정
__안드로이드에서 ToDoApp 개발
__레트로핏 2를 사용한 API 호출
__레트로핏과 RxKotlin 사용하기
__안드로이드 이벤트를 리액티브로 만들기
____안드로이드의 RxBinding 소개
__코틀린 익스텐션즈
__요약