메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기
RxJS 프로그래밍: 75가지 핵심 문법과 예제로 익히는 RxJS 기초

RxJS 프로그래밍: 75가지 핵심 문법과 예제로 익히는 RxJS 기초

한빛미디어

집필서

판매중

  • 저자 : 이종욱 , 안재하
  • 출간 : 2018-09-10
  • 페이지 : 568 쪽
  • ISBN : 9791162240533
  • eISBN : 9791162249383
  • 물류코드 :10053
  • 초급 초중급 중급 중고급 고급
1 2 3 4 5
4.6점 (18명)
좋아요 : 5

책소개

RxJS 6 기반으로 배우는 리액티브 프로그래밍 입문하기

 

RxJS는 리액티브 프로그래밍을 자바스크립트에서 구현한 라이브러리다. 자바스크립트 프레임워크인 앵귤러는 이미 버전 2에서 RxJS를 도입했다. 또한 넷플릭스, 마이크로소프트, 에어비앤비, 깃허브 등 글로벌 IT 기업에서도 사용 중이다.

 

이 책은 RxJS를 이용해 자바스크립트로 리액티브 프로그래밍에 입문할 수 있게 도와준다. 다양한 웹 서비스에 RxJS를 적용해온 두 저자가 리액티브 프로그래밍의 개념, 연산자, 스케줄러, 앵귤러/리액트/리덕스 활용, ES2015+ 문법 소개 등 RxJS를 시작하는 데 꼭 필요한 핵심 개념과 기법을 소개한다.

 

이 책의 특징

1. RxJS의 주요 문법을 상세하게 소개

이 책은 RxJS를 제대로 공부할 수 있도록 구성했습니다. RxJS 공식 문서에 소개된 179가지 문법 중 가장 자주 사용하는 75가지의 문법을 엄선해 자세하게 소개합니다. 또한 소개하는 문법 대부분에 RxJS의 이해를 돕는 마블 다이어그램을 함께 소개해 실제 데이터 처리의 흐름을 한눈에 알 수 있도록 돕습니다.

 

2. 쉽지만 실무에 응용할 수 있는 예제 만들기

4부에서는 현재 프런트엔드 웹 개발에서 가장 대중화된 앵귤러와 리액트에서 RxJS를 사용하는 방법을 소개합니다. 앵귤러 기반의 초간단 반응형 폼과 리액트 및 리덕스를 이용한 초간단 로그인 폼 만들기도 배웁니다. 간단한 예제지만 실무에 응용할 수 있는 예제를 만들어보면 RxJS의 흐름을 좀 더 명확하게 이해할 수 있습니다.

 

대상 독자

  • 자바스크립트 기초 문법을 아는 개발자
  • 이벤트 처리나 AJAX 등의 비동기 처리를 더 편하게 하고 싶은 개발자
  • 다른 프로그래밍 언어에서 ReactiveX 라이브러리를 사용해본 개발자

저자소개

이종욱 저자

이종욱

신입 개발자로 LG전자에 입사해 안드로이드 앱을 개발하면서 자연스레 자바에서 동시성 문제를 다루는 데 관심을 두었다. 실무 앱 개발에 동시성 문제를 해결하는 방법으로 RxJava와 함수형 프로그래밍을 접했고, 리액티브 프로그래밍과 동시성 프로그래밍에 매력을 느꼈다. 지금도 동시성 프로그래밍에 관심이 많은 프로그래머이기도 하다.

 

현재 근무하는 카카오에서는 Daum 영화를 개편해 자바스크립트의 이벤트 처리를 ReactiveX 방식으로 해결했다. 이때 도입한 RxJS의 실무 적용 경험을 바탕으로 이 책을 쓰게 되었고, 기술 블로그에 포스팅하면서 좋은 반응도 얻었다. 최근 관심사는 스프링 프레임워크 5의 웹플럭스를 사용하면서 알게 된 Reactor 라이브러리(https://projectreactor.io/)다.

안재하 저자

안재하

카카오 FE 플랫폼 팀에서 근무하고 있으며 자바스크립트에 관심이 많은 개발자다. 아내가 지어준 감성 프로그래밍이라는 낯간지러운 이름의 블로그를 운영하면서 다른 개발자들과 지식, 경험을 나누기 위해 노력하고 있다.

목차

PART 1 RxJS 소개

 

CHAPTER 1 RxJS 소개와 개발 환경 구축

1.1 리액티브 프로그래밍이란?

1.2 RxJS

1.3 RxJS로 개발할 때 알아야 할 것

1.4 RxJS 개발 환경 설정하기

1.5 마치며

 

CHAPTER 2 RxJS의 기본 개념

2.1 배경 지식

2.2 옵저버블

2.3 서브젝트

2.4 연산자

2.5 스케줄러

2.6 마블 다이어그램

2.7 프로미스와 함께 본 옵저버 콜백 및 에러 처리

2.8 함수형 리액티브 프로그래밍에 있는 오해

2.9 마치며

 

CHAPTER 3 생성 함수

3.1 create 함수

3.2 of 함수

3.3 from 함수와 fromEvent 함수

3.4 defer 함수

3.5 range 함수

3.6 시간 함수

3.7 아무 값도 발행하지 않는 생성 함수

 

PART 2 RxJS의 연산자

 

CHAPTER 4 필터링 연산자

4.1 filter 연산자

4.2 first 연산자

4.3 last 연산자

4.4 명시적으로 구독 해제하지 않도록 돕는 연산자

4.5 필요 없는 값을 발행하지 않는 연산자

4.6 값 발행 후 일정 시간을 기다리는 연산자

4.7 중복 값을 발행하지 않는 연산자

4.8 샘플링 연산자

 

CHAPTER 5 변환 연산자

5.1 map 연산자

5.2 pluck 연산자

5.3 mergeMap 연산자

5.4 switchMap 연산자

5.5 concatMap 연산자

5.6 scan 연산자

5.7 partition 연산자

5.8 groupBy 연산자

5.9 buffer 연산자

5.10 bufferCount 연산자

5.11 window 연산자

5.12 windowCount 연산자

 

CHAPTER 6 조합 연산자

6.1 merge 연산자

6.2 concat 연산자

6.3 forkJoin 함수

6.4 combineLatest 연산자

6.5 zip 연산자

6.6 startWith 연산자

 

CHAPTER 7 수학 및 결합 연산자

7.1 reduce 연산자

7.2 max 연산자

7.3 min 연산자

7.4 count 연산자

 

CHAPTER 8 유틸리티 연산자

8.1 tap 연산자

8.2 finalize 연산자

8.3 toPromise 함수

8.4 toArray 연산자

8.5 timeout 연산자

 

CHAPTER 9 조건 연산자

9.1 defaultIfEmpty 연산자

9.2 isEmpty 연산자

9.3 find 연산자

 

PART 3 효과적인 RxJS 사용

 

CHAPTER 10 에러 처리

10.1 catchError 연산자

10.2 retry 연산자

10.3 retryWhen 연산자

 

CHAPTER 11 서브젝트

11.1 서브젝트의 특성

11.2 서브젝트와 옵저버블의 연결

11.3 서브젝트의 에러와 완료 처리

11.4 서브젝트의 종류

11.5 마치며

 

CHAPTER 12 멀티캐스팅 연산자

12.1 핫 옵저버블과 콜드 옵저버블

12.2 multicast 연산자

12.3 publish 연산자

12.4 refCount 연산자

12.5 share 연산자

12.6 마치며

 

CHAPTER 13 스케줄러

13.1 이벤트 루프와 RxJS의 스케줄러 개념

13.2 스케줄러 구조

13.3 대표 스케줄러

13.4 스케줄러에서 사용하는 연산자

 

PART 4 실전 RxJS

 

CHAPTER 14 테스트

14.1 모카

14.2 RxJS 테스트

14.3 createHotObservable/ColdObservable 메서드

14.4 마치며

 

CHAPTER 15 ES2015+와 RxJS

15.1 제너레이터와 프로미스를 응용한 비동기 흐름 제어

15.2 co 라이브러리

15.3 spawn 연산자

15.4 async 및 await와 옵저버블

15.5 마치며

 

CHAPTER 16 앵귤러와 RxJS

16.1 앵귤러 내부의 RxJS

16.2 RxJS를 사용하는 초간단 앵귤러 앱

16.3 비동기 파이프

16.4 리스트 필터링

16.5 마치며

 

CHAPTER 17 리액트에서 RxJS 사용하기

17.1 리액트와 리덕스

17.2 리액트 프로젝트 구성

17.3 리액트 컴포넌트

17.4 초간단 리액트 카운터 앱

17.5 리덕스

17.6 간단한 리덕스 앱

17.7 RxJS로 구현하는 리덕스

17.8 리액트와 연동하기

17.9 비동기 액션

17.10 마치며

 

CHAPTER 18 redux-observable

18.1 redux-observable

18.2 에픽

18.3 프로젝트 구성

18.4 액션 타입 상수

18.5 액션 생성자

18.6 리듀서

18.7 스토어

18.8 리액트와 리덕스 연동

18.9 마치며

 

CHAPTER 19 사용자 정의 생성 함수 및 연산자 만들기

19.1 사용자 정의 파이퍼블 연산자

19.2 사용자 정의 생성 함수

 

APPENDIX A ES2015+ 기본

A.1 let과 const

A.2 템플릿 리터럴

A.3 향상된 객체 리터럴

A.4 비구조화

A.5 기본값과 Rest 및 Spread 연산자

A.6 화살표 함수

A.7 모듈

A.8 클래스

A.9 프로미스

A.10 제너레이터 함수

A.11 Array에 추가된 메서드들과 for...of문

A.12 Map

A.13 Set

A.14 심벌

A.15 이터레이터와 이터러블

A.16 프락시

A.17 리플렉트

 

APPENDIX B RxJS 5와 6의 차이점

B.1 파이퍼블 연산자를 도입한 이유

B.2 자바스크립트 키워드와 충돌 방지

B.3 RxJS v5 코드를 RxJS v6 코드로 변경하는 방법

B.4 버전과 하위/상위 호환성

B.5 마치며

출판사리뷰

RxJS를 제대로 알려주는 정석과 같은 책을 만난다

 

비동기로 처리해야 하는 데이터양이 크게 늘면서 여러 프로그래밍 언어에서 효율적인 비동기 프로그래밍 기법을 도입하고 있다. 이러한 과정 중 등장한 것이 리액티브 프로그래밍이다. 리액티브 프로그래밍은 데이터의 비동기 처리를 효율적으로 다룰 수 있는 프로그래밍이다. 단적인 예로 콜백 함수를 반복해서 사용해야 하는 콜백 지옥을 벗어나는 데 유용하다. 단, 배우기가 어려운 프로그래밍 개념으로 알려져 있다. 편리한 대신 그만큼 배우는 데도 적지 않은 시간이 드는 것이다. 공식 문서의 설명도 어렵다고 느끼는 사람이 많다.

 

RxJS는 리액티브 프로그래밍을 자바스크립트에서 구현한 라이브러리다. 이 책은 실제 대규모 포털 서비스에서 RxJS를 사용한 경험을 바탕으로 배우기 어려운 RxJS를 최대한 쉽게 설명했다. 1~3부에서는 약 75가지의 핵심 문법을 구현 코드까지 분석하면서 상세하게 설명한다. 4부에서는 앵귤러, 리액트, 리덕스 등 다양한 자바스크립트 라이브러리 및 프레임워크에서 RxJS를 사용하는 방법을 다룬다. 부록에 있는 ES2015+ 문법 기본은 최신 자바스크립트 표준에 약한 개발자도 이 책을 충분히 읽도록 돕는다. RxJS를 접해보고 싶었으나 지금까지 시도해보지 못한 개발자라면 정석과 같은 이 책으로 RxJS를 시작하자!

독자리뷰

오탈자 보기

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원 무료배송
닫기

리뷰쓰기

닫기
* 상품명 :
RxJS 프로그래밍: 75가지 핵심 문법과 예제로 익히는 RxJS 기초
* 제목 :
* 별점평가
1 2 3 4 5
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
RxJS 프로그래밍: 75가지 핵심 문법과 예제로 익히는 RxJS 기초
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
RxJS 프로그래밍: 75가지 핵심 문법과 예제로 익히는 RxJS 기초
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?