장바구니 담기 close

장바구니에 상품을 담았습니다.

RxJava Essentials

RxJava Essentials

  • 이반모르질로
  • |
  • 에이콘출판
  • |
  • 2016-01-28 출간
  • |
  • 146페이지
  • |
  • 188 X 235 X 11 mm /392g
  • |
  • ISBN 9788960778146
★★★★★ 평점(10/10) | 리뷰(1)
판매가

15,000원

즉시할인가

13,500

배송비

2,300원

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
13,500

이 상품은 품절된 상품입니다

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




★ 요약 ★

Rx자바는 비동기 처리와 이벤트 기반의 프로그래밍을 위한 리액티브 익스텐션(Reactive Extension)의 JVM 버전이다. 이 책은 Rx자바를 배우면서 안드로이드 프로젝트에 빠르게 적용하고 싶은 독자를 위해 쓰여졌다. Rx자바의 기능을 Rx안드로이드 프로젝트를 통해 설명함으로써 Rx자바와 Rx안드로이드의 기능을 빠르게 습득할 수 있다. Rx자바를 경험하고 싶은 개발자에게 좋은 길잡이가 되어줄 것이다.

★ 이 책에서 다루는 내용 ★

■ 옵저버(Observer) 패턴을 마스터하고 옵저버블(Observable) 객체와 시퀀스 생성
■ 객체 리스트를 옵저버블 시퀀스로 변환
■ 기존의 메소드를 리액티브 비동기 함수로 전환
■ 필요한 값만 함수로 오도록 옵저버블 시퀀스 필터링
■ 옵저버블 시퀀스를 새로운 시퀀스로 변환하거나 조작하는 방법
■ 새로운 시퀀스를 만들기 위해 옵저버블을 결합, 병합, 연결
■ 스케줄러를 이용한 손쉬운 멀티스레딩, 동시성 기법을 배우기 위한 안드로이드 메인 스레드와 비동기 태스크 배제
■ 레트로핏(Retrofit) 옵저버블 응답을 이용해 원격 REST API와 통신
■ Rx자바 기반의 첫 안드로이드 앱 제작

★ 이 책의 대상 독자 ★

자바 개발 경험이 있는 독자라면 리액티브 프로그래밍은 프로그래밍 언어를 변경하도록 강요하지 않으면서도 백엔드 시스템에서 확장성과 동시성을 다루는 새로운 방법을 제공한다. 이 책은 Rx자바의 핵심을 배워 안드로이드 플랫폼의 한계를 극복하고, 이벤트 기반의 리액티브적이면서 매끄럽게 동작하는 안드로이드 애플리케이션을 개발하는 데 도움을 줄 것이다.

★ 이 책의 구성 ★

1장, ‘RX: 닷넷에서 Rx자바까지’는 리액티브 세계로 가는 첫 번째 단계다. 리액티브적인 접근법과 고전적인 접근법을 서로 비교하면서 이들 간의 유사점과 차이점을 알아본다.

2장, ‘왜 옵저버블인가?’는 옵저버 패턴을 살펴보고, Rx자바가 이를 어떻게 구현하고 확장했는지, 또 옵저버블이란 무엇이며 이터러블(Iterable)과는 어떤 관련이 있는지 살펴본다.

3장, ‘헬로 리액티브 월드’는 지금까지 배운 내용을 바탕으로 첫 번째 리액티브 안드로이드 앱을 만들어본다.

4장, ‘옵저버블 필터링’은 옵저버블 시퀀스의 핵심인 필터링을 파헤친다. 발행한 옵저버블에서 우리가 필요한 값만 선택하는 방법이나 유한한 값을 얻는 방법 그리고 오버플로 상황을 대처하는 방법을 비롯해 유용한 트릭도 배워볼 것이다.

5장, ‘옵저버블 변환’은 필요한 시퀀스를 생성하기 위해 옵저버블 시퀀스를 변환하는 방법을 알아본다.

6장, ‘옵저버블 결합’은 함수를 결합하는 법을 살펴보고, 우리가 생성한 옵저버블이 여러 옵저버블과 동시에 동작하는 방법을 배워본다.

7장, ‘스케줄러: 안드로이드 메인 스레드 문제 해결"은 Rx자바 스케줄러를 이용해 멀티스레딩과 동시성 프로그래밍을 다루는 방법을 보여준다. 네트워크 오퍼레이션과 메모리 접근 또는 시간이 많이 소요되는 작업을 리액티브적인 방법으로 생성해볼 것이다.

8장, ‘REST 안에서 평화를: Rx자바와 레트로핏’에서는 능률적이면서도 효과적으로 REST 클라이언트를 만들기 위해 스퀘어의 레트로핏을 Rx자바와 함께 사용하는 방법을 알려준다.


목차


1장 RX: 닷넷에서 Rx자바까지
마이크로소프트 리액티브 익스텐션
자바 세계에 상륙: 넷플릭스 Rx자바
__Rx자바는 무엇이 다른가?
정리

2장 왜 옵저버블인가?
옵저버 패턴
__옵저버 패턴은 언제 사용되는가?
Rx자바 옵저버 패턴 툴킷
__Observable
____핫 옵저버블과 콜드 옵저버블
____옵저버블 생성
__Subject = Observable + Observer
____PublishSubject
____BehaviorSubject
____ReplaySubject
____AsyncSubject
정리

3장 헬로 리액티브 월드
엔진 점화!
__의존성
____Rx안드로이드
__Utils
____롬복(Lombok)
____버터 나이프(Butter Knife)
____레트로람다(Retrolambda)
첫 번째 옵저버블
리스트로부터 옵저버블 생성하기
좀 더 많은 예제
__just()
__repeat()
__defer()
__range()
__interval()
__timer()
정리

4장 옵저버블 필터링
시퀀스 필터링
필요한 것만 얻기
__take()
__taskLast()
단 한 번만 발행
__distinct()
__distinctUntilChanged()
first()와 last()
skip()과 skipLast()
elementAt()
sample()
timeout()
debounce()
정리

5장 옵저버블 변환
*map 가족
__map()
__flatMap()
__concatMap()
__flatMapIterable()
__switchMap()
__scan()
__groupBy()
__buffer()
__window()
__cast()
정리

6장 옵저버블 결합
merge()
zip()
join()
combineLatest()
and(), then(), when()
switch()
startWith()
정리

7장 스케줄러: 안드로이드 메인 스레드 문제 해결
StrictMode
블로킹 I/O 오퍼레이션 피하기
스케줄러
__Schedulers.io()
__Schedulers.computation()
__Schedulers.immediate()
__Schedulers.newThread()
__Schedulers.trampoline()
논블로킹 I/O 오퍼레이션
SubscribeOn과 ObserveOn
시간이 오래 걸리는 작업 다루기
네트워크 작업 실행
정리

8장 REST 안에서 평화를: Rx자바와 레트로핏
프로젝트 목표
레트로핏
앱 구조
__액티비티 클래스 생성
__RecyclerView 어댑터 생성
____일기 예보 검색하기
____웹사이트 열기
정리

도서소개

작가의 말


사람들 주머니마다 스마트폰이 한 대씩 있는 세상에서는, 매끄럽게 동작하면서도 즐거운 사용자 경험을 제공하도록 앱을 디자인하고 만드는 일이 필수적이다. Rx자바를 이용한 리액티브 프로그래밍 방식은 개발자가 안드로이드 플랫폼의 한계를 이겨내고 놀랄 만한 안드로이드 앱을 만드는 데 도움을 준다. 이 책은 리액티브 프로그래밍의 기초와 옵저버(Observer) 패턴의 개념부터 Rx자바의 주된 기능까지, 실용적인 예제 코드와 실제 앱이 수반된 실용적인 여정이 될 것이다.
이 책에서는 옵저버블을 맨 처음부터 생성하는 방법과, 리스트나 기존 코드에 있는 함수로 옵저버블을 생성하는 방법을 보여준다. 사용자가 원하는 값만을 지닌 새로운 시퀀스를 만들기 위해 옵저버블 시퀀스를 필터링하는 방법을 배우고, 함수를 옵저버블에 적용하거나 옵저버블의 연쇄적 사용 또는 병합하거나 지핑(zippng)하는 방법도 배워본다. 그리고 안드로이드의 스레드와 동시성 지옥(concurrency hell)을 극복하기 위한 Rx안드로이드 스케줄러의 사용법도 알아본다.
Rx자바와 레트로핏(Retrofit)을 결합해 손쉽게 REST API 통신을 하는 실용적인 예제로 이 책을 마무리할 것이다. -지은이의 말

안드로이드 개발자라면 누구나 비동기 처리로 골머리를 앓은 경험이 있을 것이다. 모바일 디바이스의 하드웨어 성능이 뛰어나다고 하더라도, 매끄럽게 동작하는 앱을 구현하려면 비동기 처리가 반드시 필요하다. 안드로이드에서는 이러한 비동기 처리를 위해 핸들러(Handler)나 비동기 태스크(AsyncTask) 같은 기능을 제공하지만, 고수준의 비동기 동작을 구현하기란 쉽지 않다. Rx자바와 Rx안드로이드는 이러한 비동기 작업을 손쉽게 처리해주고 개발자가 구현해야 하는 로직에 집중하도록 도와준다. 또한 자바 8에서 추가된 스트림(Stream)에서나 사용할 수 있었던 맵(map)이나 필터(filter) 같은 기능도 제공해, 데이터를 원하는 입맛대로 변경하거나 조작할 수도 있다. 하지만 Rx자바는 진입장벽이 높다는 문제 때문에 이를 프로젝트에 적용하는 데 있어 걸림돌이 되기도 한다.

이 책은 Rx자바를 배우면서 안드로이드 프로젝트에 빠르게 적용하고 싶은 독자를 위한 책이다. Rx자바의 기능을 설명하고 Rx안드로이드를 이용한 안드로이드 프로젝트를 만들어봄으로써 Rx자바와 Rx안드로이드의 기능을 빠르게 습득할 수 있게 했다. 더욱이 버터 나이프(Butter Knife)나 레트로 람다(RetroLambda) 같이 실제 실무에서 많이 사용하는 유용한 라이브러리를 함께 사용함으로써 여러 라이브러리의 사용법도 배울 수 있다는 점은 이 책의 또 다른 매력이라고 할 수 있다. 4, 5, 6장에서는 Rx자바의 진수를 핵심만 요약해 설명함으로써 Rx자바가 제공하는 여러 기능을 한눈에 파악할 수 있다. 7장에서는 안드로이드 개발자가 반드시 알아야 할 스케줄러를 이용한 스레드 관리 기법을 설명한다. 마지막 장에서는 안드로이드 진영에서 유명한 스퀘어(Square)의 레트로핏(Retrofit)과 Rx자바를 함께 사용하는 방법을 설명하면서 Rx자바를 사용하는 개발자에게 꼭 필요한 꿀 팁을 제공한다.

원서는 Rx자바 1.0.x 버전과 Rx안드로이드 0.24 버전을 기준으로 쓰였다. 원서가 출간된 후 Rx안드로이드는 1.0.0 을 발표했고 메이저 업데이트가 이루어지면서 많은 변화가 있었다. 그중 일부 기능은 삭제됐고 일부는 다른 프로젝트로 분리되면서 결과적으로 Rx안드로이드는 경량화됐다.

이는 Rx자바와는 별개로 Rx안드로이드의 사용 방법에 변화가 생긴 것이다. 이러한 변경사항을 예제에 직접 적용하다 보면, Rx안드로이드가 추구하고자 하는 방향성을 이해함은 물론 Rx안드로이드를 공부하는 또 다른 방법이 될 것이다. 1.x에서 변경된 사항은 Rx안드로이드의 깃허브(https://github.com/ReactiveX/RxAndroid/wiki)와 댄 루(Dan Lew)의 블로그(http://blog.danlew.net/2015/09/01/how-toupgrade-to-rxandroid-10)에서 확인할 수 있다. -옮긴이의 말

출판사 서평

★ 요약 ★

Rx자바는 비동기 처리와 이벤트 기반의 프로그래밍을 위한 리액티브 익스텐션(Reactive Extension)의 JVM 버전이다. 이 책은 Rx자바를 배우면서 안드로이드 프로젝트에 빠르게 적용하고 싶은 독자를 위해 쓰여졌다. Rx자바의 기능을 Rx안드로이드 프로젝트를 통해 설명함으로써 Rx자바와 Rx안드로이드의 기능을 빠르게 습득할 수 있다. Rx자바를 경험하고 싶은 개발자에게 좋은 길잡이가 되어줄 것이다.

이 책에서 다루는 내용 ★

■ 옵저버(Observer) 패턴을 마스터하고 옵저버블(Observable) 객체와 시퀀스 생성
■ 객체 리스트를 옵저버블 시퀀스로 변환
■ 기존의 메소드를 리액티브 비동기 함수로 전환
■ 필요한 값만 함수로 오도록 옵저버블 시퀀스 필터링
■ 옵저버블 시퀀스를 새로운 시퀀스로 변환하거나 조작하는 방법
■ 새로운 시퀀스를 만들기 위해 옵저버블을 결합, 병합, 연결
■ 스케줄러를 이용한 손쉬운 멀티스레딩, 동시성 기법을 배우기 위한 안드로이드 메인 스레드와 비동기 태스크 배제
■ 레트로핏(Retrofit) 옵저버블 응답을 이용해 원격 REST API와 통신
■ Rx자바 기반의 첫 안드로이드 앱 제작

이 책의 대상 독자

자바 개발 경험이 있는 독자라면 리액티브 프로그래밍은 프로그래밍 언어를 변경하도록 강요하지 않으면서도 백엔드 시스템에서 확장성과 동시성을 다루는 새로운 방법을 제공한다. 이 책은 Rx자바의 핵심을 배워 안드로이드 플랫폼의 한계를 극복하고, 이벤트 기반의 리액티브적이면서 매끄럽게 동작하는 안드로이드 애플리케이션을 개발하는 데 도움을 줄 것이다.

이 책의 구성

1장, ‘RX: 닷넷에서 Rx자바까지’는 리액티브 세계로 가는 첫 번째 단계다. 리액티브적인 접근법과 고전적인 접근법을 서로 비교하면서 이들 간의 유사점과 차이점을 알아본다.

2장, ‘왜 옵저버블인가?’는 옵저버 패턴을 살펴보고, Rx자바가 이를 어떻게 구현하고 확장했는지, 또 옵저버블이란 무엇이며 이터러블(Iterable)과는 어떤 관련이 있는지 살펴본다.

3장, ‘헬로 리액티브 월드’는 지금까지 배운 내용을 바탕으로 첫 번째 리액티브 안드로이드 앱을 만들어본다.

4장, ‘옵저버블 필터링’은 옵저버블 시퀀스의 핵심인 필터링을 파헤친다. 발행한 옵저버블에서 우리가 필요한 값만 선택하는 방법이나 유한한 값을 얻는 방법 그리고 오버플로 상황을 대처하는 방법을 비롯해 유용한 트릭도 배워볼 것이다.

5장, ‘옵저버블 변환’은 필요한 시퀀스를 생성하기 위해 옵저버블 시퀀스를 변환하는 방법을 알아본다.

6장, ‘옵저버블 결합’은 함수를 결합하는 법을 살펴보고, 우리가 생성한 옵저버블이 여러 옵저버블과 동시에 동작하는 방법을 배워본다.

7장, ‘스케줄러: 안드로이드 메인 스레드 문제 해결'은 Rx자바 스케줄러를 이용해 멀티스레딩과 동시성 프로그래밍을 다루는 방법을 보여준다. 네트워크 오퍼레이션과 메모리 접근 또는 시간이 많이 소요되는 작업을 리액티브적인 방법으로 생성해볼 것이다.

8장, ‘REST 안에서 평화를: Rx자바와 레트로핏’에서는 능률적이면서도 효과적으로 REST 클라이언트를 만들기 위해 스퀘어의 레트로핏을 Rx자바와 함께 사용하는 방법을 알려준다.

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.