장바구니 담기 close

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

RxJava를 활용한 리액티브 프로그래밍

RxJava를 활용한 리액티브 프로그래밍

  • 토마스 누르키비치
  • |
  • 인사이트
  • |
  • 2017-04-25 출간
  • |
  • 406페이지
  • |
  • 189 X 240 X 23 mm /790g
  • |
  • ISBN 9788966263066
판매가

30,000원

즉시할인가

27,000

배송비

2,300원

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

수량
+ -
총주문금액
27,000

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

출판사서평

기존의 절차적인 명령형 프로그램에 익숙한 개발자에게는 RxJava의 API가 낯설게 느껴진다. Observable/Observer와 같은 용어가 쉽게 머릿속에 들어오지 않고 혼란스러울 것이다. 예제 코드는 간결하지만 실무에서 만드는 코드에는 어떻게 적용할지 연상이 안 될 수도 있다. 이 책은 RxJava를 이해하고 적용하는 데 좋은 길잡이가 될 만하다. RxJava의 기본 개념에서 실무에 응용하는 기법까지 폭넓게 설명하고 있다. RxJava의 API가 막연하고 어렵다고 느낀 개발자가 이 책을 다 읽고 나면 유용한 도구 하나를 손에 쥐게 되었다는 느낌을 받을 것이다.
- 정상혁, 네이버

이 책은 실제로 RxJava를 구현하고 사용하면서 수많은 경험을 쌓아온 저자가 보여주는 RxJava의 개념과 용도, 특히 리액티브 프로그래밍에 대한 심층적인 탐구 결과물이다. 리액티브를 알고 싶다면 이 책을 읽는 것보다 더 좋은 방법은 없다.
- 에릭 마이어(Erik Meijer), Applied Duality의 대표이자 창업자

“RxJava는 최신 안드로이드 애플리케이션에서 필요로 하는 높은 안정성과 동시성, 비동기 구현을 관리할 수 있는 매우 중요한 도구이다. 이 책은 RxJava를 공부하기 위한 학습 도구이자 라이브러리 참고 자료로, 이 책 없이는 RxJava를 완전히 이해하기가 어려울 것이다.”
- 제이크 와튼(Jake Wharton), Square의 소프트웨어 엔지니어

“토마스와 벤은 복잡한 문제를 쉽고 간결하게 설명할 수 있는 재능이 있다. 덕분에 이 책을 읽는 것은 즐거운 경험이고, 리액티브 프로그래밍과 RxJava를 파악하고자 하는 모든 JVM 개발자에게 필수적이다. 저자는 동시성이나 함수형 프로그래밍, 디자인 패턴, 리액티브 프로그래밍 등 많은 주제를 다룬다. 그러나 독자에게 정보를 쏟아내는 방식이 아니라 개념들을 안내해주고 점점 더 진보된 개념과 기법을 보여준다.”
- 시몬 호마(Szymon Homa), 시니어 소프트웨어 개발자

내가 IT 업계에서 경영을 오래 해오긴 했어도 개발자는 아니다. 그러니 내가 이런 전문 기술서적을 추천한다는 건 터무니없는 일이다. 그럼에도 이런 시도를 하는 것은, 번역한 김인태 님의 기술적 진지함을 믿기 때문이다. 내가 아주 좋아하는 레이 오지가 이 기술의 탄생에 영감을 주었다는 게 또 하나의 이유일 수 있다. 다른 하나는 이런 새로운 접근을 한 명이라도 더 봐주었으면 하는 바람 때문이다. 자바를 별로 쓸 일이 없더라도, 대용량 실시간 분산처리 업무를 하지 않더라도, 이런 지식의 습득은 시야를 넓혀주고 상상력을 자극한다.
구글에 인수당한 솔루션 회사의 창업자 엔지니어가 세르게이 브린과 래리 페이지를 처음 만나서 들었다는 얘기를 인용하며 추천사를 마치고자 한다. “지금까지 당신이 만들었던 알고리즘은 모두 잊어주세요. 무한 대의 서버가 주어진다면, 당신은 이 문제를 어떻게 풀겠습니까?”
‘대용량 실시간 분산처리’의 세계로 들어온 것을 환영한다!
- 박태웅 KST&Partners 대표, 전 kth 부사장

[이 책에서 다루는 내용들]
- ‘콜백 지옥’에 빠지지 않으면서 다수의 비동기 소스에 반응하는 프로그램 작성
- 쏟아지는 데이터를 Observable로 대처하는 방법
- 리액티브 스타일로 작성된 프로그램을 디버그하고 테스트하는 방법
- 프로그램을 작성할 때 병렬성과 동시성을 효과적으로 활용하는 방법
- RxJava 버전 2로 이행하는 방법

목차

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 연산자 판단 트리

교환 및 환불안내

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