장바구니 담기 close

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

코틀린 리액티브 프로그래밍

코틀린 리액티브 프로그래밍

  • 리부차크라보티
  • |
  • 에이콘출판
  • |
  • 2019-04-30 출간
  • |
  • 384페이지
  • |
  • 188 X 235 X 22 mm
  • |
  • ISBN 9791161752976
판매가

30,000원

즉시할인가

27,000

배송비

무료배송

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

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

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

출판사서평




★ 이 책에서 다루는 내용 ★

▣ 리액티브 프로그래밍 패러다임과 기존 프로젝트 향상 방법
▣ RxKotlin 2.0과 ReactiveX 프레임워크
▣ 안드로이드에서 RxKotlin 사용하기
▣ RxKotlin에서 사용자 지정 연산자 생성
▣ 코틀린과 스프링 프레임워크 5.0
▣ reactor-kotlin 확장
▣ 스프링, 하이버네이트, RxKotlin을 사용해 Rest API 작성
▣ TestSubscriber를 사용해 RxKotlin 애플리케이션 테스트
▣ 플로어블(Flowable)과 백프레셔 관리

★ 이 책의 대상 독자 ★

장애 내성을 갖는 동시에 확장 가능한 분산 시스템을 만드는 데 관심이 있는 개발자를 대상으로 한 책이다. 이 책을 보기 위해서는 코틀린에 대한 기본 지식이 있어야 하지만 리액티브 프로그래밍에 대한 사전 지식은 필요로 하지 않는다.

★ 이 책의 구성 ★

1장, ‘리액티브 프로그래밍의 소개’에서는 리액티브 프로그래밍의 사고 패턴 및 원리를 이해할 수 있다.
2장, ‘코틀린과 RxKotlin을 사용한 함수형 프로그래밍’에서는 함수형 프로그래밍 패러다임의 핵심 개념을 알아보고 코틀린에서 사용 가능한 케이스를 살펴본다. 함수형 프로그래밍을 쉽게 이해할 수 있다.
3장, ‘옵저버블과 옵저버와 구독자’에서는 RxKotlin의 핵심인 옵저버블, 옵저버, 구독자의 기초에 대해 알아본다.
4장, ‘백프레셔와 플로어블 소개’에서는 프로듀서가 컨슈머를 앞지르는 것을 방지해주는 RxKotlin의 기술인 백프레셔를 사용할 수 있게 해주는 플로어블을 소개한다.
5장, ‘비동기 데이터 연산자와 변환’에서는 RxKotlin의 연산자를 소개한다.
6장, ‘연산자 및 오류 처리’에서는 연산자에 대한 이해를 높이고 연산자와 프로듀서를 결합, 또는 필터링하는 방법을 소개한다. 또한 RxKotlin에서 오류를 좀 더 효율적으로 처리하는 데 도움을 준다.
7장, ‘RxKotlin의 스케줄러를 사용한 동시성과 병렬 처리’에서는 RxKotlin의 스케줄러를 사용한 동시성과 병렬 처리를 알아본다. 스케줄러의 이점을 사용해 동시성 프로그래밍을 가능하게 한다.
8장, ‘RxKotlin 애플리케이션 테스트’에서는 애플리케이션 개발 시 가장 중요한 테스트를 다룬다. 리액티브 프로그래밍은 상태 대신 행위를 정의하기 때문에 RxKotlin에서의 테스트는 일반 테스트와 조금 다르다. 이 장에서는 테스트의 기본부터 배울 수 있다.
9장, ‘자원 관리와 RxKotlin 확장’에서는 코틀린에서 리소스를 관리하는 방법을 알아본다. 리소스는 데이터베이스 인스턴스, 파일, HTTP 접근 등 사용 후 종료close시켜 줘야 하는 어떤 것이라도 될 수 있다. 또한 RxKotlin에서 사용자 정의 연산자를 만드는 방법을 배운다.
10장, ‘Kotlin 개발자를 위한 스프링 웹 프로그래밍 소개’에서는 스프링과 하이버네이트를 사용하는 장점을 알아보고, 코틀린으로 API를 작성할 때 활용한다.
11장, ‘스프링 JPA와 하이버네이트를 사용한 REST API’에서는 리액터(Reactor) 프레임워크인 reactorkotlin 익스텐션을 소개한다. 코틀린에서 스프링을 사용해 리액티브 프로그래밍을 적용할 수 있다.
12장, ‘리액티브 코틀린과 안드로이드’에서는 안드로이드에서 코틀린으로 리액티브 프로그래밍을 시작한다.


목차


1장. 리액티브 프로그래밍의 소개
__리액티브 프로그래밍이란 무엇인가
__함수형 리액티브 프로그래밍을 적용해야 하는 이유
__리액티브 선언
____리액티브 스트림 표준 사양
____코틀린을 위한 리액티브 프레임워크
__RxKotlin 시작하기
____RxKotlin 다운로드와 설정
____RxJava의 푸시 메커니즘과 풀 메니커즘 비교
____ReactiveEvenOdd 프로그램
__ReactiveCalculator 프로젝트
__요약

2장. 코틀린과 RxKotlin을 사용한 함수형 프로그래밍
__함수형 프로그래밍 소개
__함수형 프로그래밍의 기초
____람다 표현식
____순수 함수
____고차 함수
____인라인 함수
__ReactiveCalculator 클래스에 함수형 프로그래밍 적용
__코루틴
____코루틴 시작하기
____시퀀스 생성하기
____코루틴을 사용한 ReactiveCalculator 클래스
__함수형 프로그래밍: 모나드
____단일 모나드
__요약

3장. 옵저버블과 옵저버와 구독자
__옵저버블
____옵저버블이 동작하는 방법
__Observable의 다른 팩토리 메서드
____구독자: Observer 인터페이스
____구독과 배치
__핫, 콜드 옵저버블
____콜드 옵저버블
____핫 옵저버블
__다양한 구독자
____AsyncSubject 이해
____PublishSubject 이해
____BehaviorSubject 이해
____ReplaySubject 이해
__요약

4장. 백프레셔와 플로어블 소개
__백프레셔 이해
__플로어블
__플로어블과 옵저버블 사용 구분
____플로어블을 언제 사용할까
____옵저버블을 언제 사용할까
__플로어블과 구독자
__처음부터 플로어블 생성하기
__옵저버블로 플로어블 만들기
__BackpressureStrategy.MISSING와 onBackpressureXXX()
____onBackpressureBuffer() 연산자
____onBackpressureDrop() 연산자
____onBackpressureLatest() 연산자
__원천에서 백프레셔를 지원하는 플로어블 생성
__ConnectableFlowable
__프로세서
__버퍼, 스로틀링, 윈도우 연산자
____buffer() 연산자
____window() 연산자
____throttle() 연산자
__요약

5장. 비동기 데이터 연산자와 변환
__연산자
__필터링 연산자
____debounce 연산자
____distinct 연산자: distinct, distinctUntilChanged
____elementAt 연산자
____배출 필터링하기: filter 연산자
____first, last 연산자
____ignoreElements 연산자
__변환 연산자
____map 연산자
____배출 캐스팅: cast 연산자
____flatMap 연산자
____defaultIfEmpty 연산자
____switchIfEmpty 연산자
____startWith 연산자
____정렬 연산자: sorted 연산자
____데이터 모으기: scan 연산자
__축소 연산자
____배출량 계산(count 연산자)
____배출 누적: reduce 연산자
____컬렉션 연산자
__오류 처리 연산자
__유틸리티 연산자
__요약

6장. 연산자 및 오류 처리
__프로듀서(옵저버블/플로어블) 결합
____startWith 연산자
____배출을 집핑하기: zip 연산자
____combineLatest 연산자
____옵저버블/플로어블 병합: merge 연산자
____프로듀서 이어 붙이기(옵저버블/플로어블)
____프로듀서 임의 결합
__그룹핑
__flatMap, concatMap 세부 사항
____flatMap 연산자가 적합한 경우
____concatMap 연산자가 적합한 경우
__switchMap 연산자 이해
__배출 건너뛰거나 취하기
____배출 건너뛰기(skip, skipLast, skipUntil, skipWhile)
____take 연산자(take, takeLast, takeWhile, takeUntil)
__에러 처리 연산자
__onErrorReturn: 에러 발생 시 기본값 반환하기
__onErrorResumeNext 연산자
____에러 발생 시 재시도하기
__HTTP 예제
__요약

7장. RxKotlin의 스케줄러를 사용한 동시성과 병렬 처리
__동시성 소개
__병렬 실행과 동시성
__스케줄러는 무엇인가
____스케줄러의 종류
____Schedulers.from
__스케줄러 사용법: subscribeOn, observeOn 연산자
____구독 시 스레드 변경: subscribeOn 연산자
____다른 스레드에서 관찰: observeOn 연산자
__요약

8장. RxKotlin 애플리케이션 테스트
__단위 테스트 소개와 중요성
____단위 테스트가 중요한 이유
__코틀린에서 JUnit 테스트 작성하기
____코드 테스트하기
__RxKotlin에서 테스트
__구독자 차단
__차단 연산자
____첫 번째 배출된 아이템 가져오기: blockingFirst()
____single 또는 maybe에서 단일 아이템 얻기: blockingGet
____마지막 아이템 얻기: blockingLast
____모든 배출을 이터러블로 가져오기: blockingIterable 연산자
____모든 배출을 순회하기: blockingForEach
__TestObserver와 TestSubscriber 소개
__TestScheduler 이해
__요약

9장. 자원 관리와 RxKotlin 확장
__자원 관리
__자신만의 연산자 작성하기
__변환자로 연산자 합성
__요약

10장. 코틀린 개발자를 위한 스프링 웹 소개
__스프링, 스프링의 역사와 기원
____스프링의 역사와 기원
__의존성 주입과 IoC
____스프링 주석 기반 설정
__스프링: AOP
__스프링 부트 소개
__스프링 부트를 사용해 Rest API 만들기
__요약

11장. 스프링 JPA와 하버네이트를 사용한 REST API
__스프링 부트, 하이버네이트 JPA를 사용한 REST API
__리액터를 이용한 리액티브 프로그래밍
____프로젝트에 리액터 추가
____플럭스와 모노 이해
__요약

12장. 리액티브 코틀린과 안드로이드
__안드로이드 스튜디오에서 코틀린 설정
__안드로이드에서 ToDoApp 개발
__레트로핏 2를 사용한 API 호출
__레트로핏과 RxKotlin 사용하기
__안드로이드 이벤트를 리액티브로 만들기
____안드로이드의 RxBinding 소개
__코틀린 익스텐션즈
__요약

교환 및 환불안내

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