스크랩

구간

코틀린 리액티브 프로그래밍 RxKotlin을 사용한 리액티브 프로그래밍

원제 : Reactive Programming in Kotlin

리부 차크라보티 저 | 조승진 역 | 에이콘 | 2019년 04월

미리보기 북트리

정가
$60.00
판매가
$43.74 (27%↓) 최저가 보상
적립금
$0.87 (2%P)
출고예상일
2026년 10월 08일 수령예상일 안내
북카트 담기 바로구매하기 위시리스트담기

평점 -  ·  리뷰 0

리뷰 쓰기

ISBN : 9791161752976 / 384쪽 188 x 235 (㎜)

이 상품에 궁금하신점이 있으세요? 1:1상담문의

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

아래의 도서와 구매하시면 이 도서들의 적립금을 즉시적용해 드립니다.

책 소개

출판사 리뷰

이 책의 구성 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장, ‘리액티브 코틀린과 안드로이드’에서는 안드로이드에서 코틀린으로 리액티브 프로그래밍을 시작한다.

저자 소개

  • 저자 : 리부 차크라보티
저자 : 리부 차크라보티(Rivu Chakraborty)
구글 공인 안드로이드 전문가이자 인도 공학회의 선임 멤버이며 스크럼 마스터이다. 5년 이상의 경력을 쌓고 현재 인두스 넷 테크놀로지스(Indus Net Technologies)에서 안드로이드 시니어 소프트웨어 엔지니어로 일하고 있다. 스스로를 코틀린과 안드로이드 매니아이자 코틀린 에반젤리스트라 생각한다. 2015년 12월부터 코틀린을 사용했다. 코틀린 튜토리얼과 관련 지식을 가능한 한 많이 전파하기 위해 전 세계에서 가장 활동적인 코틀린 사용자 그룹인 ‘코틀린 콜카타’를 설립했다. 또한 GDG 콜카타의 정회원이며 관련 밋업에서 강의를 진행한다.
공유를 통해 지식이 증가한다고 생각하며 JavaCodeGeeks, AndroidHive 및 자신의 사이트(http://www.rivuchk.com)에 관련 튜토리얼을 많이 작성했다. 사이트를 방문하면 보다 많은 정보를 얻을 수 있다.

역자 : 조승진
라인에서 근무 중인 소프트웨어 엔지니어다. 자바, 스프링, 자바스크립트, 파이썬, 객체지향 TDD, DDD에 큰 관심을 갖고 웹 서비스를 개발하고 있다. 개발자 문화를 사랑하고 세상에 영향을 줄 수 있는 무엇인가를 만들어 내기 위해 노력한다.

역자 소개

  • 역자 : 조승진
★ 옮긴이의 말 ★

코틀린과 리액티브 프로그래밍, 어느 것 하나 절대 가볍지 않은 주제다. 자바가 빠른 속도로 다양한 기능을 추가하고 있지만, 여전히 변화 속도에 만족하지 못하는 많은 개발자가 코틀린으로 이동하고 있음을 느낀다. 그런 와중에RxJava의 코틀린 포팅인RxKotlin을 다루는 이 책의 출간은 반가운 소식이 될 것이다. 개인적으로 작년까지만 해도 리액티브 프로그래밍과 코틀린 모두 낯설었지만, 이제는 현장에서 두 가지 모두 사용하고 있다.
개인적인 경험을 바탕으로 생각했을 때 다른 독자들도 코틀린보다는 리액티브 프로그래밍에 익숙해지는 데 조금 더 시간이 걸릴 것 같다. 다행히 이 책도 코틀린의 언어적인 특징보다는 리액티브 프로그래밍에 조금 더 초점을 두고 있다. 최근에는 마이크로서비스 아키텍처로 개발하는 회사의 수가 증가한 만큼 리액티브 프로그래밍을 적용할 수 있는 기회가 늘었다고 생각한다. 리액티브 매니페스토의 응답성은 마이크로서비스 내에서 사용되는API에 빠질 수 없는 특징이다. 스프링 부트(Spring Boot)나 도커 등 백엔드 개발자들의 든든한 도구로 인해 전보다 많은 업무가 그저 설정으로 처리되는 단계에 이르렀으며, 백엔드API가 진정으로 갖춰야 하는 장점에 대해서도 신경을 쓸 만큼 충분히 여유를 가질 수 있게 되었다고 생각한다. 템플릿으로 찍어내는 것이 가능한CRUD성API를 양산하고 있지는 않은가? 리액티브 프로그래밍과 코틀린, 이 두 가지를 사용해서 프로덕션에 런칭해 보는 것만으로도 수준이 한층 더 높아질 수 있다고 생각한다. 이미 말한 것처럼RxKotlin은RxJava의 포팅이기 때문에, 이해되지 않는 내용이 있다면 가장 자신 있는 언어로 설명된 문서나 코드들을 구글링 해보는 것도 좋을 것이다. 이 책을 다 읽었다고 리액티브 프로그래밍과 코틀린을 완벽하게 알게 되었다고 말할 수는 없지만, 앞으로 어떤 방향으로 공부를 진행하면 좋을지 길잡이 역할을 해줄 수 있을 것이다.


★ 옮긴이 소개 ★

조승진
라인에서 근무 중인 소프트웨어 엔지니어다. 자바, 스프링, 자바스크립트, 파이썬, 객체지향TDD, DDD에 큰 관심을 갖고 웹 서비스를 개발하고 있다. 개발자 문화를 사랑하고 세상에 영향을 줄 수 있는 무엇인가를 만들어 내기 위해 노력한다.

목차

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 소개
코틀린 익스텐션즈
요약

top