HOME > 상세정보

상세정보

RxJava 프로그래밍 : 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에 (7회 대출)

자료유형
단행본
개인저자
유동환 박정준, 저
서명 / 저자사항
RxJava 프로그래밍 : 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에 / 유동환, 박정준 지음
발행사항
서울 :   한빛미디어,   2017  
형태사항
327 p. : 삽화 ; 24 cm
ISBN
9788968488658
일반주기
색인수록  
000 00000cam c2200205 c 4500
001 000045925210
005 20180104135943
007 ta
008 180104s2017 ulka 001c kor
020 ▼a 9788968488658 ▼g 93000
035 ▼a (KERIS)BIB000014599728
040 ▼a 241008 ▼c 241008 ▼d 211009
082 0 4 ▼a 005.133 ▼2 23
085 ▼a 005.133 ▼2 DDCK
090 ▼a 005.133 ▼b J41 2017z8
100 1 ▼a 유동환
245 1 0 ▼a RxJava 프로그래밍 : ▼b 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에 / ▼d 유동환, ▼e 박정준 지음
260 ▼a 서울 : ▼b 한빛미디어, ▼c 2017
300 ▼a 327 p. : ▼b 삽화 ; ▼c 24 cm
500 ▼a 색인수록
700 1 ▼a 박정준, ▼e
945 ▼a KLPA

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.133 J41 2017z8 등록번호 121242883 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

국내 자바 개발자의 눈높이에 맞춰 리액티브 프로그래밍과 RxJava 2를 배우는 입문서다. 전통적인 프로그래밍은 일정한 패턴에 맞춰 데이터를 처리하는 동기 방식이 주류였지만 웹, 스마트폰, IoT 등 다양한 인프라에서 수많은 데이터가 쏟아지는 시대에 접어들면서 상황에 맞춰 제어 흐름을 조정하는 비동기 프로그래밍의 중요성이 커지고 있다.

리액티브 프로그래밍은 비동기 프로그래밍에 새로운 패러다임을 제시하는 방식으로, 상황에 따라 필요한 함수를 호출해 데이터 흐름을 제어할 수 있다. 적응이 끝나면 콜백 지옥을 겪지 않고 데이터를 유연하게 다룰 수 있다. 실무에 종사하는 서버 사이드 자바 프로그래머나 비동기 앱 개발이 필요한 안드로이드 프로그래머들에게 적합하다.

RxJava 2를 소개하는 국내 첫 집필서
전통적인 프로그래밍은 일정한 패턴에 맞춰 데이터를 처리하는 동기 방식이 주류였다. 이러한 방식은 정해진 우선순위에 맞춘 제어 흐름을 설계해 효율적인 처리 결과를 보여줄 수 있었다. 그런데 웹, 스마트폰, IoT 등 다양한 인프라에서 수많은 데이터가 쏟아지는 시대에 접어들면서 사람이 효율적인 패턴을 모두 파악하기 어려워지면서 상황에 맞춰 제어 흐름을 조정하는 비동기 프로그래밍의 중요성이 커지고 있다.

리액티브 프로그래밍은 비동기 프로그래밍에 새로운 패러다임을 제시하는 방식이다. 상황에 따라 필요한 함수를 호출해 데이터 흐름을 제어할 수 있다. 처음에는 이해하기 어렵겠지만 적응이 끝나면 콜백 지옥을 겪지 않고 데이터를 유연하게 다룰 수 있다.

이 책은 국내 자바 개발자의 눈높이에 맞춰 리액티브 프로그래밍과 RxJava 2를 배우는 입문서다. 그간 RxJava가 궁금했지만 쉽게 다가갈 수 없던 개발자에게 큰 도움이 될 것이다.

★ Step 1. 리액티브 프로그래밍 이해하기
다양한 비유와 예시를 통해 리액티브 프로그래밍이 무엇인지 설명한다. 또한 Hello World를 RxJava로 만들어보고 분석하면서 리액티브 프로그래밍을 맛본다.

★ Step 2. 리액티브 연산자 익히기
RxJava는 함수형 프로그래밍의 개념을 포함한다. 즉, 프로그래밍은 함수 연산을 조합해서 이루어진다는 뜻이다. 여기에서는 map(), flatMap() 등의 핵심 함수와 생성, 변환, 결합, 조건 등을 처리하는 연산자 함수를 살펴본다. 한번 알아두면 새로운 함수를 접해도 쉽게 기능을 파악할 수 있는 토대가 될 것이다.

★ Step 3. 스케줄러 이해하기
데이터 흐름을 원활하게 관리하려면 스케줄러를 통해 데이터가 들어오고 나가는 일을 개발자가 제어할 수 있어야 한다. RxJava는 스케줄러도 함수 형태로 사용한다. RxJava의 스케줄러 개념과 주요 스케줄러 함수를 살펴보고 콜백 지옥을 벗어나는 방법도 알아본다.

★ Step 4. 안드로이드 활용 방법 살펴보기
안드로이드 앱 개발도 RxJava를 도입하면 UI 제어나 라이프 사이클 스케줄링에 많은 도움을 받을 수 있다. 안드로이드에서 사용할 수 있는 RxAndroid 라이브러리를 알아보고, 리액티브 RecyclerView, REST API 프로그래밍 활용 등 안드로이드 앱 개발의 효율을 높일 수 있는 개발 요소가 무엇인지 살펴본다.

★ Step 5. 예외 처리와 테스팅 살펴보기
리액티브 프로그래밍은 예외 처리와 테스팅도 함수 기반으로 처리한다. 따라서 예외 처리나 테스팅 관련으로 사용할 수 있는 함수는 무엇이고, 기존 프로그래밍 기법과 비교해서 예외 처리를 적용하는 방법에 관해서 살펴본다. 또한 RxJava 2에서 새롭게 도입한 Flowable을 이용해 배압 이슈를 어떻게 처리하는지도 알아본다.

★ 대상 독자
- 실무에 종사하는 서버 사이드 자바 프로그래머
- 비동기 앱 개발이 필요한 안드로이드 프로그래머

[관련 서적] (제목 + ISBN)
● 이것이 자바다 / 9788968481475
● 자바 8 인 액션 / 9788968481796
● 함수형 반응형 프로그래밍 / 9788968488665
● Head First 자바 / 9788979143710


정보제공 : Aladin

저자소개

유동환(지은이)

책 쓰는 프로그래머. 연세대학교 정보대학원에서 경영정보학을 전공한 후 LG전자에서 안드로이드 앱을 개발했다. 최근에는 선행플랫폼개발팀으로 자리를 옮겨 차세대 모바일 기술 프로젝트를 진행하고 있다. 자바카페와 한국자바개발자협의회(JCO)에서 초기 멤버로서 수년간 활동했다. 집필한 책으로는 『안드로이드를 위한 Gradle』과 『RxJava 프로그래밍』(공저, 이상 한빛미디어)이 있고, 번역한 책으로는 『Java 9 모듈 프로그래밍』 『그레이들 레시피』 『자바로 배우는 핵심 자료구조와 알고리즘』(이상 한빛미디어)』과 『Professional Java Web Services』(정보문화사), 『자바와 JUnit을 활용한 실용주의 단위 테스트』(길벗) 등이 있다.

박정준(지은이)

아주대학교에서 컴퓨터공학을 전공한 후 10년 이상 LG전자에서 안드로이드 앱을 개발했다. 불현듯 안드로이드만 다루는 것보다 더 넓은 자바 개발 세상도 경험하고 싶어 현재는 쿠팡에서 서버 사이드 개발을 하고 있다. 풀스택 엔지니어가 얼마나 대단한 사람인지 느끼는 나날을 보내고 있다. 다양한 언어의 함수형과 리액티브 프로그래밍에 관심이 많다. 백발에도 프로그래밍하는 개발자가 되고자 노력하고 있다.

정보제공 : Aladin

목차

Chapter 1 리액티브 프로그래밍 소개 
__1.1 리액티브 프로그래밍 
____1.1.1 자바 언어와 리액티브 프로그래밍 
____1.1.2 리액티브 프로그래밍 개념 잡기 
__1.2 RxJava를 만들게 된 이유 
__1.3 RxJava 처음 시작하기 
____1.3.1 io.reactivex 
____1.3.2 Observable 클래스 
____1.3.3 just() 함수 
____1.3.4 subscribe() 함수 
____1.3.5 System.out::println 
____1.3.6 emit() 메서드 
__1.4 RxJava를 어떻게 공부할 것인가 
__1.5 마블 다이어그램 보는 법 
__1.6 마치며 

Chapter 2 Observable 처음 만들기 
__2.1 Observable 클래스 
____2.1.1 just() 함수 
____2.1.2 subscribe() 함수와 Disposable 객체 
____2.1.3 create() 함수 
____2.1.4 fromArray() 함수 
____2.1.5 fromIterable() 함수 
____2.1.6 fromCallable() 함수 
____2.1.7 fromFuture() 함수 
____2.1.8 fromPubilsher() 함수 
__2.2 Single 클래스 
____2.2.1 just() 함수 
____2.2.2 Observable에서 Single 클래스 사용 
____2.2.3 Single 클래스의 올바른 사용 방법 
__2.3 Maybe 클래스 
__2.4 뜨거운 Observable 
__2.5 Subject 클래스 
____2.5.1 AsyncSubject 클래스 
____2.5.2 BehaviorSubject 클래스 
____2.5.3 PublishSubject 클래스 
____2.5.4 ReplaySubject 클래스 
__2.6 ConnectableObservable 클래스 
__2.7 마치며 

Chapter 3 리액티브 연산자 입문 
__3.1 map() 함수 
__3.2 flatMap() 함수 
____3.2.1 구구단 만들기 
__3.3 filter() 함수 
__3.4 reduce() 함수 
____3.4.1 데이터 쿼리하기 
__3.5 마치며 

Chapter 4 리액티브 연산자의 활용 
__4.1 생성 연산자 
____4.1.1 interval() 함수 
____4.1.2 timer() 함수 
____4.1.3 range() 함수 
____4.1.4 intervalRange() 함수 
____4.1.5 defer() 함수 
____4.1.6 repeat() 함수 
__4.2 변환 연산자 
____4.2.1 concatMap() 함수 
____4.2.2 switchMap() 함수 
____4.2.3 groupBy() 함수 
____4.2.4 scan() 함수 
__4.3 결합 연산자 
____4.3.1 zip() 함수 
____4.3.2 combineLatest() 함수 
____4.3.3 merge() 함수 
____4.3.4 concat() 함수 
__4.4 조건 연산자 
____4.4.1 amb() 함수 
____4.4.2 takeUntil() 함수 
____4.4.3 skipUntil() 함수 
____4.4.4 all() 함수 
__4.5 수학 및 기타 연산자 
____4.5.1 수학 함수 
____4.5.2 delay() 함수 
____4.5.3 timeInterval() 함수 
__4.6 마치며 

Chapter 5 스케줄러 
__5.1 스케줄러 개념 배우기 
__5.2 스케줄러의 종류 
____5.2.1 뉴 스레드 스케줄러 
____5.2.2 계산 스케줄러 
____5.2.3 IO 스케줄러 
____5.2.4 트램펄린 스케줄러 
____5.2.5 싱글 스레드 스케줄러 
____5.2.6 Executor 변환 스케줄러 
__5.3 스케줄러를 활용하여 콜백 지옥 벗어나기 
__5.4 observeOn() 함수의 활용 
__5.5 마치며 

Chapter 6 안드로이드의 RxJava 활용 
__6.1 RxAndroid 소개 
____6.1.1 리액티브 라이브러리와 API 
____6.1.2 안드로이드 스튜디오 환경 설정 
__6.2 RxAndroid 기본 
____6.2.1 Hello world 예제 
____6.2.2 제어 흐름 
____6.2.3 RxLifecyle 라이브러리 
____6.2.4 UI 이벤트 처리 
__6.3 RxAndroid 활용 
____6.3.1 리액티브 RecyclerView 
____6.3.2 안드로이드 스레드를 대체하는 RxAndroid 
____6.3.3 REST API를 활용한 네트워크 프로그래밍 
__6.4 메모리 누수 
____6.4.1 해결책 1: Disposable 인터페이스를 이용하여 명시적으로 자원 해제 
____6.4.2 해결책 2: RxLifecycle 라이브러리 이용 
____6.4.3 해결책 3: CompositeDisposable 클래스 이용 
__6.5 마치며 

Chapter 7 디버깅과 예외 처리 
__7.1 디버깅 
____7.1.1 doOnNext(), doOnComplete(), doOnError() 함수 
____7.1.2 doOnEach() 함수 
____7.1.3 doOnSubscribe(), doOnDispose(), 기타 함수 
__7.2 예외 처리 
____7.2.1 onErrorReturn() 함수 
____7.2.2 onErrorResumeNext() 함수 
____7.2.3 retry() 함수 
____7.2.4 retryUntil() 함수 
____7.2.5 retryWhen() 함수 
__7.3 흐름 제어 
____7.3.1 sample() 함수 
____7.3.2 buffer() 함수 
____7.3.3 throttleFirst()와 throttleLast() 함수 
____7.3.4 window() 함수 
____7.3.5 debounce() 함수 
__7.4 마치며 

Chapter 8 테스팅과 Flowable 
__8.1 JUnit 5 활용 
__8.2 TestObserver 클래스 
__8.3 비동기 코드 테스트 
__8.4 Flowable 클래스 
____8.4.1 Observable과 Flowable의 선택 기준 
____8.4.2 Flowable을 활용한 배압 이슈 대응 
__8.5 마치며

관련분야 신착자료

이창현 (2021)