티스토리 뷰


RxJava에 대해서 로우한 레벨에 대한것 까지 차분하게 설명해줘서 좋은거 같다.그렇지만 전반적인 내용들이 한눈에 들어 오질 않는다. 번역의 문제인지 쓴 사람의 글이 문제 인지 까지는 모르겠다.한번만 읽어봐서는 책이 뭔말을 하는지 확실히 이해가 가질 않는다.이 책은 전반적인 reactive 프로그래밍에 대한 기초적인 지식을 쌓게 해주는 좋은 책인거 같다.책을 읽으면서 느낀건 역시 프로젝트를 해보지 않으면 전부 이해가 되지는 않을꺼 같다.책에서 메모리 누수 가 될 수 있다 이런 부분들이 있는데 이런건 써보질 않으니.. 쉽게 해결 될꺼 같지 않다.그냥 드는 생각은 안드로이드 같은데서는 이게 정말로 좋을꺼 같다.웹단에서는 spring 5와 경쟁하겠다. 어떤 부분에선 spring 5가 나오면 국내에선 spring 5 가 더 많이 사용될꺼 같다는 생각도 들었다.리액티브 프로그래밍을 하게 되면 정말로 쉽지 않은 부분들은 rxjava에서 도와주는 libarary(scan, map등)이 제공되서 생각을 전환을 해서 하다보면 언젠가는 되지 않을까 싶기도 하다.
리액티브 프로그래밍은 확장이 쉽고 성능이 뛰어난 코드를 작성할 때 큰 도움이 된다. 이 책을 통해 자바 개발자들은 문제를 리액티브 방식으로 보는 방법을 배우고, 새로운 프로그래밍 패러다임의 뛰어난 기능을 활용하여 프로그램을 만들 수 있게 될 것이다.

저자들은 RxJava 라이브러리를 활용하여 안드로이드 기기와 서버의 성능 문제를 해결하는 구체적인 예제를 수록했다. RxJava가 병렬성과 동시성에 끼친 영향과 이를 통해 오늘날의 문제들을 해결하는 방법을 배울 것이다. 또한 곧 출시될 2.0 버전의 특징과 차이점도 설명한다.


1장 RxJava를 활용한 리액티브 프로그래밍
--리액티브 프로그래밍과 RxJava
--언제 리액티브 프로그래밍이 필요한가
--RxJava는 어떻게 동작하는가
--하드웨어 공감 - 블로킹 I/O와 논블로킹 I/O
--리액티브 추상화

2장 리액티브 익스텐션
--rx.Observable 해부하기
--Observable 알림 구독
--Subscription과 Subscriber〈T〉로 리스너 제어하기
--Observable 만들기
--사례: 콜백 API를 Observable 스트림으로
--rx.subjects.Subject
--ConnectableObservable
--요약

3장 연산자와 변환
--핵심 연산자: 매핑과 필터링
--여러 개의 Observable
--고수준 연산자: collect(), reduce(), scan(), distinct(), groupBy()
--skip(), takeWhile() 등을 사용해 잘게 쪼개거나 잘라내기
--사용자 정의 연산자 만들기
--요약

4장 기존 애플리케이션에 리액티브 프로그래밍 적용하기
--컬렉션에서 Observable로
--BlockingObservable: 리액티브 세상에서 벗어나기
--느긋함 포용하기
--Observable 구성하기
--명령형 방식의 동시성
--flatMap()을 비동기 체이닝 연산자처럼
--스트림으로 콜백 대체하기
--주기적으로 변경 사항을 폴링하기
--RxJava의 멀티 스레딩
--요약

5장 철저하게 리액티브로
--C10k 문제 해결하기
--HTTP 클라이언트 코드
--관계형 데이터베이스에 접근하기
--CompletableFuture와 스트림
--Observable과 Single
--요약

6장 흐름 제어와 배압
--흐름 제어
--배압
--요약

7장 테스트와 트러블슈팅
--오류 처리
--테스트와 디버깅
--단위 테스트
--모니터링과 디버깅
--요약

8장 사례 연구
--RxJava를 활용한 안드로이드 개발
--히스트릭스로 장애 관리하기
--NoSQL 데이터베이스 질의
--카멜 통합
--자바 8의 스트림과 CompletableFuture
--메모리 소비와 누수
--요약

9장 앞으로 나아갈 방향
--리액티브 스트림
--Observable과 Flowable
--성능
--마이그레이션


Appendix A HTTP 서버 예제
--C 언어의 fork() 프로시저
--연결당 스레드
--커넥션 스레드 풀

Appendix B Observable 연산자 판단 트리