책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > 자바
· ISBN : 9791160507461
· 쪽수 : 384쪽
· 출판일 : 2019-04-10
책 소개
목차
1장 RxJava의 기본
1.1 RxJava와 리액티브 프로그래밍
_1.1.1 RxJava란
_1.1.2 리액티브 프로그래밍이란
_1.1.3 RxJava의 개요
_1.1.4 RxJava의 특징
1.2 Reactive Streams
_1.2.1 Reactive Streams란
_1.2.2 Reactive Streams의 구성
_1.2.3 Reactive Streams의 규칙
1.3 RxJava의 기본 구조
_1.3.1 기본 구조
_1.3.2 연산자
_1.3.3 비동기 처리
_1.3.4 Cold 생산자와 Hot 생산자
_1.3.5 ConnectableFlowable/ConnectableObservable
_1.3.6 Flowable/Observable을 Cold에서 Hot으로 변환하는 연산자
1.4 마블 다이어그램
1.5 RxJava 예제
_1.5.1 환경 구축
_1.5.2 Flowable 사용 예제
_1.5.3 Observable 사용 예제
1.6 RxJava의 전체 구성
_1.6.1 RxJava의 기본 구성
_1.6.2 Single/Maybe/Completable
_1.6.3 RxJava의 확장 모듈
2장 RxJava를 사용하는 데 필요한 배경 지식
2.1 람다식
_2.1.1 함수형 인터페이스
_2.1.2 람다식 문법
_2.1.3 람다식과 익명 클래스의 차이점
2.2 비동기 처리
_2.2.1 비동기 처리 시 주의할 점
_2.2.2 비동기 처리 시 발생하는 문제에 대한 대응 방안
_2.2.3 java.util.concurrent.atomic 패키지
_2.2.4 정리
3장 RxJava의 메커니즘
3.1 RxJava와 디자인 패턴
_3.1.1 옵저버 패턴
_3.1.2 이터레이터 패턴
3.2 비동기 처리
_3.2.1 RxJava에서 비동기 처리
_3.2.2 연산자 내에서 생성되는 비동기 Flowable/Observable
_3.2.3 다른 스레드 간 공유되는 객체
3.3 에러 처리
_3.3.1 소비자에게 에러 통지하기
_3.3.2 처리 재시도
_3.3.3 대체 데이터 통지
3.4 리소스 관리
_3.4.1 using 메서드
_3.4.2 FlowableEmitter/ObservableEmitter
3.5 배압
_3.5.1 request 메서드
_3.5.2 observeOn 메서드와 배압
_3.5.3 MissingBackpressureException
_3.5.4 메서드로 통지할 데이터양 제어하기
4장 Flowable과 Observable의 연산자
4.1 Flowable/Observable을 생성하는 연산자
_4.1.1 just
_4.1.2 fromArray/fromIterable
_4.1.3 fromCallable
_4.1.4 range/rangeLong
_4.1.5 interval
_4.1.6 timer
_4.1.7 defer
_4.1.8 empty
_4.1.9 error
_4.1.10 never
4.2 통지 데이터를 변환하는 연산자
_4.2.1 map
_4.2.2 flatMap
_4.2.3 concatMap/concatMapDelayError
_4.2.4 concatMapEager/concatMapEagerDelayError
_4.2.5 buffer
_4.2.6 toList
_4.2.7 toMap
_4.2.8 toMultimap
4.3 통지 데이터를 제한하는 연산자
_4.3.1 filter
_4.3.2 distinct
_4.3.3 distinctUntilChanged
_4.3.4 take
_4.3.5 takeUntil
_4.3.6 takeWhile
_4.3.7 takeLast
_4.3.8 skip
_4.3.9 skipUntil
_4.3.10 skipWhile
_4.3.11 skipLast
_4.3.12 throttleFirst
_4.3.13 throttleLast/sample
_4.3.14 throttleWithTimeout/debounce
_4.3.15 elementAt/elementAtOrError
4.4 Flowable/Observable을 결합하는 연산자
_4.4.1 merge/mergeDelayError/mergeArray/mergeArrayDelayError/mergeWith
_4.4.2 concat/concatDelayError/concatArray/concatArrayDelayError/concatWith
_4.4.3 concatEager/concatArrayEager
_4.4.4 startWith/startWithArray
_4.4.5 zip/zipWith
_4.4.6 combineLatest/combineLatestDelayError
4.5 Flowable/Observable 상태를 통지하는 연산자
_4.5.1 isEmpty
_4.5.2 contains
_4.5.3 all
_4.5.4 sequenceEqual
_4.5.5 count
4.6 Flowable/Observable 데이터를 집계하는 연산자
_4.6.1 reduce/reduceWith
_4.6.2 scan
4.7 유틸리티 연산자
_4.7.1 repeat
_4.7.2 repeatUntil
_4.7.3 repeatWhen
_4.7.4 delay
_4.7.5 delaySubscription
_4.7.6 timeout
5장 Processor와 Subject
5.1 Processor/Subject
_5.1.1 Processor/Subject란
_5.1.2 Processor/Subject의 종류
5.2 PublishProcessor/PublishSubject
5.3 BehaviorProcessor/BehaviorSubject
5.4 ReplayProcessor/ReplaySubject
5.5 AsyncProcessor/AsyncSubject
5.6 UnicastProcessor/UnicastSubject
6장 RxJava의 디버깅과 테스트
6.1 디버깅과 테스트
6.2 'do'로 시작하는 메서드
_6.2.1 doOnNext
_6.2.2 doOnComplete
_6.2.3 doOnError
_6.2.4 doOnSubscribe
_6.2.5 doOnRequest
_6.2.6 doOnCancel/doOnDispose
6.3 'blocking'으로 시작하는 메서드
_6.3.1 blockingFirst
_6.3.2 blockingLast
_6.3.3 blockingIterable
_6.3.4 blockingSubscribe
6.4 TestSubscriber/TestObserver
_6.4.1 TestSubscriber/TestObserver 생성
6.5 TestScheduler
_6.5.1 주요 메서드
_6.5.2 TestScheduler를 사용한 예제
찾아보기
리뷰
책속에서
베타테스터 후기
리액티브 프로그래밍과 넷플릭스의 RxJava를 들어본 적이 있으나 실제 개발에 사용해볼 엄두를 내지 못하던 중에 이 책을 접하게 됐습니다. 1~3장까지 내용은 RxJava와 관련된 기본기를 다지고 용도를 파악하는 데 매우 유용했습니다. 특히 람다식과 비동기 처리, 관련 디자인 패턴 등의 내부 메커니즘을 예제로 설명하므로 순차적이고 고전적인 자바 프로그래밍에 익숙한 초급 개발자가 비동기와 리액티브 개념을 이해하는 데 큰 도움이 됩니다. 이 책의 숨겨진 매력은 4장 연산자 부분으로, 처음에는 목차를 보고 모든 연산자를 단순 나열한 것이 아닌가 하는 생각이 들었으나 인자로 사용하는 함수형 인터페이스 구현 예시와 연산자의 메커니즘을 예제와 함께 자세히 설명하고 있어서 실제 RxJava API에서 느끼는 부족함을 많이 메꿔주고 레퍼런스로도 충분한 역할을 할 수 있습니다.
_김성윤(서버사이드 개발자)
리액티브 프로그래밍이라는 용어를 듣고 관심이 생기던 차에 이 책을 접하게 됐습니다. 이 책을 통해 RxJava를 사용한 리액티브 프로그래밍을 배울 기회를 얻었습니다. 책에서 제공하는 다양한 예제를 수행해보고 소스에 적힌 주석을 읽어보는 것만으로도 책에서 다루는 많은 내용을 이해할 수 있었습니다. 그만큼 예제가 많으면서도 주제에 맞게 단순 명료하게 만들어져 있습니다. 또한, 개념이나 메커니즘 역시 친절하고 쉽게 설명해서 이해하는 데 많은 도움이 됐습니다. 이 책에서 제공하는 친절한 설명과 다양한 케이스별 예제는 RxJava 초급자는 물론 이미 사용하던 개발자에게도 좋은 참고서가 될 수 있을 겁니다.
_서경석(SW 솔루션 개발자)