RxJava 시작하기 (RxJava로 시작하는 리액티브 프로그래밍,Learning RxJava: Build concurrent, maintainab

본문 바로가기

회원메뉴

쇼핑몰 검색

통합검색

RxJava 시작하기 (RxJava로 시작하는 리액티브 프로그래밍,Learning RxJava: Build concurrent, maintainab

정가
33,000 원
판매가
29,700 원    10 %↓
적립금
1,650 P
배송비
무료배송
배송일정
48시간 배송 예정 배송일정안내
ISBN
9791161753270
쪽수 : 496쪽
토마스 닐드  |  에이콘출판사  |  2019년 07월 24일
소득공제 가능도서 (자세히보기)
주문수량
 
책 소개
리액티브 프로그래밍을 배워야 하는 이유와 RxJava의 필수적인 연산자들을 언제 어떻게 사용해야 하는지 알아본다. RxJava의 기본이 되는 옵저버블과 구독자와 함께 고급 주제인 동시성과 백프레셔를 다뤄보고 실제적으로 어떻게 복잡한 구현에 적용할 수 있는지 알려준다. 이 책에서 다루는 내용 ■ Flowable, Single, Maybe, Completable을 포함해 핵심적인 변화를 가져올 RxJava2의 리액티브 타입에 대해 배운다. ■ 리액티브 프로그래밍의 동작방식과 반응형으로 사고하는 법을 배운다. ■ 옵저버블을 쉽게 설명하고 옵저버블을 어떻게 데이터와 이벤트 시퀸스로 표현하는지 알아본다. ■ 데이터와 이벤트 시퀸스를 변환, 필터링 및 조합하는 다양한 Rx연산자에 대해 알아본다. ■ 멀티캐스팅을 활용해 데이터를 다양한 지점으로 푸시하는 방법과 데이터를 전달하고 캐시하는 방법에 대해 알아본다. ■ RxJava에서 동시성과 병렬화가 작동하는 방식과 어떻게 기존의 복잡한 작업을 손쉽게 구현하는지 알아본다. ■ 안드로이드에서 RxJava와 Retrolambda를 사용해 더 나은 사용자 경험을 제공하는 반응형 안드로이드 앱을 만들어본다. ■ 코틀린의 확장 함수, 데이터 클래스 및 기타 기능을 사용해 RxJava의 사용을 더욱 자연스럽게 만들어본다.
저자 소개
저자 : 토마스 닐드 (Thomas Nield) 사우스웨스트항공 스케줄 이니셔티브의 비즈니스 컨설턴트이자 RxJavaFX 및 RxKotlin의 메인테이너이다. 경력 초창기부터 기술과 비즈니스 분석에 대한 관심이 많았다. 자바, 코틀린, 파이썬, SQL 및 리액티브 프로그래밍에 익숙해진 뒤 O’Reilly의 저자이자 연사가 됐으며, 오픈소스의 컨트리뷰터도 겸하고 있다. 배운 것을 공유하고 새로운 기술을 다른 사람에게 전파하는 데 열정을 쏟는다. 그리고 일반적으로 친숙하지 않거나 두려워하는 것에 한결 더 쉽게 다가가도록 만드는 일을 즐긴다. 현재 가장 관심 있는 분야는 데이터 과학, 리액티브 프로그래밍, 코틀린 언어 등이다. 또한 O’Reilly에서 SQL 입문서를 출간하기도 했다. 역자 : 조승진 라인에서 새로운 파이낸셜 서비스를 개발 중인 소프트웨어 엔지니어이다. 자바, 스프링, 자바스크립트, 웹, 객체지향, TDD, DDD, 소프트웨어 아키텍처 등에 관심이 많다. 개발자 문화를 사랑하고 세상에 영향을 줄 수 있는 무언가를 만들어내기 위해 노력하고 있다.
목 차
1장. 반응형 사고 RxJava와 리액티브 익스텐션의 간략한 역사 반응형으로 사고 RxJava를 배워야 하는 이유 책에서 배우게 될 내용 설정 중앙 저장소 탐색 RxJava 간단히 알아보기 RxJava 1.0과 RxJava 2.0? 어떤 것을 사용해야 할까? 언제 RxJava를 사용할 것인가? 요약 2장. 옵저버블과 구독자 옵저버블 옵저버블은 어떻게 작동하는가? Observable.create() 사용 Observable.just() 사용 Observer 인터페이스 옵저버 구현과 구독 람다를 사용해 간결히 표현하는 옵저버 콜드 옵저버블과 핫 옵저버블 콜드 옵저버블 핫 옵저버블 ConnectableOvservable 다른 옵저버블 소스 Observable.range() Observable.interval() Observable.future() Observable.emtpy() Observable.never() Observable.error() Observable.defer() Observable.fromCallable() Single, Completable 그리고 Maybe Single Maybe Completable 해지처리 옵저버 내부에서 디스포저블 다루기 CompositeDisposable 사용 Observable.create()를 통한 해지처리 요약 3장 기본 연산자 억제 연산자 filter() take() skip() takeWhile()과 skipWhile() distinct() distinctUntilChanged() elementAt() 변환 연산자 map() cast() startWith() defaultIfEmpty() switchIfEmpty() sorted() delay() repeat() scan() 감축 연산자 count() reduce() all() any() contains() 컬렉션 연산자 toList() toSortedList() toMap()과 toMultiMap() collect() 복구 연산자 onErrorReturn()과 onErrorReturnItem() onErrorResumeNext() retry() 액션 연산자 doOnNext(), doOnComplete() 그리고 doOnError() doOnSubscribe()와 doOnDispose() doOnSuccess() 요약 4장. 연산자 결합 병합 연산자 Observable.merge()와 mergeWith() flatMap() 연결 연산자 Observable.concat()과 concatWith() concatMap() Ambigous 연산자 지핑 연산자 최근 배출 결합 연산자 withLatestFrom() 그루핑 연산자 요약 5장. 멀티캐스팅, 전달 및 캐싱 멀티캐스팅의 이해 연산자를 이용한 멀티캐스팅 멀티캐스팅의 사용 시점 자동 연결 autoConnect() refCount()와 share() 재전송 및 캐싱 재전송 캐싱 서브젝트 PublishSubject 서브젝트를 사용할 때 서브젝트를 잘못 사용할 때 서브젝트 직렬화 BehaviorSubject ReplaySubject AsyncSubject UnicastSubject 요약 6장. 동시성과 병렬처리 동시성이 필요한 이유 동시성 요약 병렬처리 이해 RxJava의 동시성 소개 애플리케이션의 활성 상태 유지 스케줄러에 대한 이해 계산 스케줄러 IO 스케줄러 새로운 스레드 싱글 스케줄러 트램펄린 ExecutorService 스케줄러 시작과 종료 subscribeOn() 이해 subscribeOn()의 뉘앙스 observeOn() 이해 UI 이벤트 스레드에 대해 observeOn() 사용 observeOn()의 주의 사항 병렬처리 unsubscribeOn() 요약 7장. 스위칭, 스로틀링, 윈도잉 및 버퍼링 버퍼링 고정 크기 버퍼링 시간 기반 버퍼링 경계 기반 버퍼링 윈도잉 고정 크기 윈도잉 시간 기반 윈도잉 경계 기반 윈도잉 스로틀링 throttleLast()/sample() throttleFirst() throttleWithTimeout()/debunce() 스위칭 키 입력 그루핑 요약 8장. 플로어블과 백프레셔 백프레셔에 대한 이해 백프레셔가 필요한 예제 플로어블 소개 플로어블과 백프레셔를 사용해야 하는 경우 플로어블과 구독자의 이해 구독자 플로어블 생성하기 Flowable.create()와 BackpressureStrategy 사용 Observable을 Flowable으로 변환(또는 그 반대) onBackpressureXXX() 연산자 사용 onBackPressureBuffer() onBackPressureLatest() onBackPressureDrop() Flowable.generate()의 사용 요약 9장. 트랜스포머와 커스텀 연산자 트랜스포머 ObservableTransformer FlowableTransformer 트랜스포머에서 상태공유 피하기 to()를 사용해 이해하기 쉽게 전환하기 연산자 ObservableOperator 구현 FlowableOperator Single, Maybe 및 Completable을 위한 커스텀 트랜스포머 및 연산자 RxJava2-Extras와 RxJava2Extensions 사용하기 요약 10장. 테스트와 디버깅 JUnit 설정 블로킹 구독자 블로킹 연산자 blockingFirst() blockingGet() blockingLast() blockingIterable() blockingForEach() blockingNext() blockingLatest() blockingMostRecent() TestObserver와 TestSubscriber 사용 TestScheduler를 통한 시간 조작 RxJava 코드 디버깅 요약 11장. 안드로이드에서의 RxJava 안드로이드 프로젝트 만들기 Retrolambda 설정 RxJava 및 기타 라이브러리의 구성 RxJava와 RxAndroid 사용 RxBinding의 사용 다른 RxAndroid 바인딩 라이브러리 안드로이드에서 RxJava의 라이프 사이클과 주의 사항 요약 12장. 새로운 코틀린에 RxJava 사용 코틀린 사용 이유 코틀린의 구성 그레이들에서 코틀린의 구성 메이븐에서 코틀린의 구성 RxJava 및 RxKotlin의 구성 코틀린의 기초 코틀린 파일 만들기 속성과 변수 할당 확장 함수 코틀린 람다 확장 연산자 RxKotlin의 사용 SAM let()과 apply() let() 사용 apply() 사용 튜플과 데이터 클래스 ReactiveX와 코틀린의 미래
출판사 서평
이 책의 대상 독자 이 책은 자바의 핵심 기능과 객체지향 프로그래밍에 대한 기초 지식을 갖고 있는 자바 개발자를 대상으로 한다. 변수, 유형, 클래스, 속성, 메서드, 제네릭, 상속, 인터페이스, 정적 클래스/속성/메서드에 익숙해야 한다. 자바 표준 라이브러리가 제공하는 컬렉션(리스트, 세트, 맵)과 hashcode()/equals()를 사용한 객체의 동등성에 대해서도 잘 알아야 한다. 위에서 언급한 주제 중 하나라도 모르는 내용이 있다면 허버트 쉴트(Herbert Schildt)의 『Java: A Beginner's Guide, Sixth Edition』(McGraw-Hill Education, 2014)을 통해 자바의 기초를 공부할 수 있다. 또한 조슈아 블로크(Joshua Bloch)의 『이펙티브 자바 2판』(인사이트, 2014) 역시 대부분의 자바 개발자의 책장에서 찾아볼 수 있는 고전이다. 이 책은 블로크가 인용하는 베스트 프랙티스를 지키기 위해서 노력할 것이다. 동시성에서 대해서 미리 알 필요는 없으며 RxJava 관점에서 다룰 것이다. 이 책의 구성 1장, ‘반응형으로 사고하기’에서는 RxJava에 대해 소개한다. 2장, ‘옵저버블과 구독자’에서는 옵저버블과 옵저버를 포함하는 RxJava의 핵심 유형에 대해 설명한다. 3장, ‘기본 연산자’에서는 신속하게 로직을 표현하고 생산성을 높여주는 핵심 연산자에 대해 철저하게 알아본다. 4장, ‘연산자 결합’에서는 다양한 방법으로 여러 개의 옵저버블 소스를 결합하는 방법을 배워본다. 5장, ‘멀티캐스팅, 전달 및 캐싱’에서는 여러 옵저버의 중복 작업을 방지하기 위한 스트림 통합과 전달 및 캐싱에 대해 알아본다. 6장, ‘동시성과 병렬처리’에서는 RxJava가 애플리케이션에서 유연하고 강력하게 동시성을 제공하는 방법에 대해 알아본다. 7장, ‘스위칭, 스로틀링, 윈도잉 및 버퍼링’에서는 빠르게 배출하는 옵저버블을 백프레셔 없이도 처리하는 방법에 대해 알아본다. 8장, ‘플로어블과 백프레셔’에서는 플로어블을 바탕으로 백프레셔를 활용하고 생산자가 컨슈머의 처리 속도보다 빠르게 배출하는 것을 막는다. 9장, ‘트랜스포머와 커스텀 연산자’에서는 리액티브 로직을 재활용하는 방법과 자신만의 RxJava 연산자를 생성하는 법에 대해 배운다. 10장, ‘테스트와 디버깅’에서는 효과적인 도구를 통해 RxJava 애플리케이션을 테스트하고 디버깅하는 방법에 대해 배운다. 11장, ‘안드로이드에서의 RxJava’에서는 지식을 안드로이드에 적용하는 방법과 RxAndroid 확장을 통해 안드로이드 앱을 최적화한다. 12장, ‘새로운 코틀린에 RxJava 사용하기’에서는 코틀린의 기능을 활용해 RxJava의 표현력을 향상시킨다.
고객 리뷰
평점 리뷰제목 작성자 작성일 내용보기

아직 작성된 리뷰가 없습니다.

반품/교환
· 회사명 : 북앤북스문고   · 주소 : 제주특별자치도 제주시 1100로 3308 B1  
· 대표자 : 김대철   · 사업자 등록번호 : 661-10-02383  
· 통신판매업신고번호 : 2023-제주노형-0169   · 개인정보 보호책임자 : 최재혁  

고객센터

(평일 09:30~17:30)
(점심 12:00~13:00)
· 전화 : 064)725-7279 (발신자 부담)
    064)757-7279 (발신자 부담)
· 팩스 : 064)759-7279
· E-Mail : bookpani@naver.com
Copyright © 2019 북앤북스문고. All Rights Reserved.