wnghdc***
2018-10-07

이 책은 RxJS를 이용해 자바스크립트로 리액티브 프로그래밍에 입문할 수 있게 도와준다. 다양한 웹 서비스에 RxJS를 적용해온 두 저자가 리액티브 프로그래밍의 개념, 연산자, 스케줄러, 앵귤러/리액트/리덕스 활용, ES2015+ 문법 소개 등 RxJS를 시작하는 데 꼭 필요한 핵심 개념과 기법을 소개한다.
RxJS프로그래밍 - 리뷰
이 책을 한마디로?
숙련된 개발자가 옆에서 rxjs가 뭔지 그리고 ES5가 뭔지를 상세히 알려주는 책입니다. 경험이 우러나오는 RXJS의 기본 책입니다. 그러나 MDN에 있는 예제를 그대로 베끼거나 어떨때는 ES5, 어떨 때는 ES5가 아닌 통일되지 않은 느낌은 아쉬움을 줍니다.
별점을 매기자면?
★★★★☆
4점입니다. 내용면에서 자바스크립트 개발자라면 자바스크립트를 배우고 이 책을 공부하라고 추천할 정도로 내용면에서 탁월하다 못해 일품입니다.
마음에 드는 부분
1. 파이퍼블 연산자 설명부분
파이퍼블 연산자를 연결해 새로운 옵저버블 인스턴스를 생성할 수 있는 이유는 파이퍼블 연산자 각각의 구현을 보면 알 수 있다.
const sink = toSubScriber(observerOrNext, error, complete);
if(operator){
operator.call(sink, this.source)
}else{
sink.add(this._trySubscribe(sink))
}
//연산자가 없을 때는 최종옵저버 this._subscribe(sink)에 결과를 전달한다.
_trySubscribe(sink){
try{
return this._subscribe(sink)
}
catch(err){
sink.syncErrorThrown = true;
sink.syncErrorValue = err;
sink.error(err)
}
}
2. 정리하는 부분이 좋습니다.
Next : 다음에 전달할 값 또는 이벤트를 발행한다.
Error : 애러나 예외가 발생하면 이를 전달받는다. 구독 종료
Complete : 정상적으로 옵저버블 구독을 완료하면 호출된다. 구독 종료
3. 자바스크립트를 자세하게 설명하는 부분이 좋습니다.
스케줄러는 옵저버가 옵저버블을 구독할 때 어떤 순서로 어떻게(동기, 비동기 등) 실행할 지 실행 컨텍스트를 관리하는 역할의 자료구조이다.
단일 스레드인 자바스크립트에서는 비동기 방식으로 asyncScheduler가 있고 동기방식으로는 트램폴린 방식으로 큐를 사용하는 queueScheduler가 있다.
4. from, defer 함수를 설명하는 부분이 좋습니다.
From : 프로미스 안 구현 부분이 언제 실행되든 상관없을 때, defer 함수는 옵저버블을 구독하는 시점에 프로미스를 생성하여 프로미스 안 구현 부분이 실행되어야 할 때 사용한다.
From: 이미실행, 완료한 프로미스를 옵져버블로 만들 때 적합, defer 함수는 프로미스 실행시점이 구독하는 시점이어야 할 때 적합하다.
아쉬운 부분
1. 어떤 것은 옵저버블 인스턴스이고 객체인가에 대한 차이점 설명 부족
2. 통일되어있지 않은 느낌
- 61쪽은 ES5로 subscribe를 구현하지만 65쪽은 ES5가 아닌것으로 구현합니다.통일되어있지 않는 느낌을 줍니다.
61쪽과 65쪽
- 79쪽에는 “이제부터” subscribe화살표함수를 쓴다고 했지만 82쪽에는 다시 화살표함수를 쓰지 않습니다.
79쪽과 82쪽
3. 오타가 좀 있습니다.
리뷰 블로그 : http://jhc9639.blog.me/221372596558