SlideShare a Scribd company logo
1 of 17
Download to read offline
Reactive Programming
with Rxjs
이상훈
2018.08.25
비동기 데이터 스트림에 기반을 둔 프로그래밍 패턴
데이터 스트림: 연속적인 데이트의 흐름, 리액티브
프로그래밍은 기본적으로 모든 것을 데이터 스트림
으로 본다
배열 데이터
ajax 통신 결과
마우스 클릭 이벤트
…
Reactive Programming
유연한 비동기 처리 방식
한 번에 다수의 연속성을 갖는 데이터를 처리할 수
있음
서버로 보낸 요청은 취소할 수 있음
다양한 데이터 유형 처리
ajax 통신 결과, 마우스 클릭 이벤트, 배열 및 함수
반환값 등 모든 데이터를 Observable로 만들어
일관된 처리 방식을 제공
Reactive Programming
pull scenario: 어플리케이션이 외부 환경에 명령하여
원하는 결과를 응답받고 처리
push scenario: 어플리케이션이 외부 환경에 명령하고
응답이 오기까지 기다리지 않고 외부에서 응답이 오면
그때 반응하여 처리
제어의 흐름을 통제할 권한을 외부 환경으로 넘김으
로써 응답 대기 비용을 줄일 수 있어 비동기 처리에
유리하다
push scenario
Observable
외부 환경에서 어플리케이션 내부로 연속해서 흐르
는 데이터
데이터 스트림을 생성, 방출하는 객체
Observer
Observable이 방출한 정보를 획득하고 사용하는 객
체
Observable & Observer
Observable
외부 환경에서 어플리케이션 내부로 연속해서 흐르
는 데이터
데이터 스트림을 생성, 방출하는 객체
Observer
Observable이 방출한 정보를 획득하고 사용하는 객
체
Observable & Observer
https://www.dunebook.com/reactive-
programming-with-angular-2/
Observable은 구독되기 전까지 동작하지 않음
Observer가 구독을 시작하면 Observable이 갖는 데이
터의 처음부터 받기 시작
Observable이 방출하는 모든 데이터를 구독하는 시
점에 상관없이 모두 받는다
Cold Observable
Observable은 구독되기 전까지 동작하지 않음
Observer가 구독하면 처음부터 동작하기 시작
Observable이 방출하는 모든 데이터 스트림을 빠짐
없이 처음부터 받을 수 있다
하나의 Observable을 구독하는 다수의 Observer들
은 Observable이 방출하는 모든 데이터를 구독하는
시점에 상관없이 처음부터 모두 받을 수 있다
Cold Observable
https://medium.com/@felice.geracitano/multicasted-observables-in-rxjs-b39e0c66837f
Observable을 구독하는 모든 Observer는 해당
Observer를 위해 독립적으로 실행하는 Observable을
가짐
유니캐스트 방식
Cold Observable
Observable을 생성하자마자 구독과 상관없이 바로 데
이터 스트림을 방출하기 시작
일정 시간이 지난 시점에 Observable을 구독하면 데
이트 스트림의 이전 부분은 구독할 수 없다
Hot Observable
Observable을 생성하자마자 구독과 상관없이 바로 데
이터 스트림을 방출하기 시작
일정 시간이 지난 시점에 Observable을 구독하면 데
이트 스트림의 이전 부분은 구독할 수 없다
Hot Observable
https://medium.com/@felice.geracitano/multicasted-observables-in-rxjs-b39e0c66837f
Subject를 사용하여 Hot Observable을 구현
Subject는 Observable이면서 Observer
Observable을 구독할 수 있으면서 Observer처럼
next, complete 메소드를 호출 할 수 있다.
Observable을 구독하고 있는 모든 Observer에게 사이
드 이팩트가 있음
멀티캐스트 방식
Hot Observable
Unicast & Multicast
Cold Observable: one to one
Hot Observable: one to many
https://techdifferences.com/difference-between-unicast-and-multicast.html
Observable을 생성, 변환, 필터링, 결합, 에러 처리, 집
계 연산 등의 기능을 하는 함수
Operator의 반환형은 모두 Observable이기 때문에
Operator들을 연달아 호출할 수 있는 체이닝 방식이
가능
Operator
Observable을 생성, 변환, 필터링, 결합, 에러 처리, 집
계 연산 등의 기능을 하는 함수
Operator의 반환형은 모두 Observable이기 때문에
Operator들을 연달아 호출할 수 있는 체이닝 방식이
가능
Operator
http://reactivex.io/
documentation/operators.html
Operator 활용 예시: http://tech.kakao.com/2017/01/09/daummovie-rxjs/
마블 다이어그램: http://rxmarbles.com/
Operator
각기 다른 유형의 데이터 스트림을 일관된 방식으로 처리한
다는 점이 개발을 하는데 있어 신경쓸 것을 하나 없앤 느낌.
복잡하거나 까다로울 수 있는 데이터 스트림 처리를 적절한
오퍼레이터 조합으로 쉽고 명료하게 할 수 있었다
Subject, Scheduler 등의 개념부터는 이해하기가 쉽지 않
다. 다소 러닝커브가 있다.
rxjs 모듈을 임폴트하는 것이 번거롭고 길었었는데 rxjs6 부
터는 내부구조가 바뀌어 Observable, Subject, pipe,
operators등의 임폴트하는 방식이 명료해졌다.
I felt that..

More Related Content

Similar to Reactive Programming with Rxjs

RxJS로 비동기와 친해지기
RxJS로 비동기와 친해지기RxJS로 비동기와 친해지기
RxJS로 비동기와 친해지기Seokju Na
 
[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개MinGeun Park
 
Observer pattern dragor
Observer pattern dragorObserver pattern dragor
Observer pattern dragordragor0123
 
Prometheus Project Journey
Prometheus Project JourneyPrometheus Project Journey
Prometheus Project JourneyJinwoong Kim
 
[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기MinGeun Park
 
Service workers 기초 및 활용 (Korean)
Service workers 기초 및 활용 (Korean)Service workers 기초 및 활용 (Korean)
Service workers 기초 및 활용 (Korean)jungkees
 
[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현
[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현
[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현NAVER Engineering
 
20140122 techdays mini 앱 개발 세미나(3) - 센서활용 앱 개발
20140122 techdays mini  앱 개발 세미나(3) - 센서활용 앱 개발20140122 techdays mini  앱 개발 세미나(3) - 센서활용 앱 개발
20140122 techdays mini 앱 개발 세미나(3) - 센서활용 앱 개발영욱 김
 
Netty 세미나
Netty 세미나Netty 세미나
Netty 세미나Jang Hoon
 
파이썬 리액티브하게 짜기 - PyCon Korea 2017
파이썬 리액티브하게 짜기 - PyCon Korea 2017파이썬 리액티브하게 짜기 - PyCon Korea 2017
파이썬 리액티브하게 짜기 - PyCon Korea 2017Kenneth Ceyer
 
Free rtos seminar
Free rtos seminarFree rtos seminar
Free rtos seminarCho Daniel
 
Io t에서의 소프트웨어단위테스트_접근사례
Io t에서의 소프트웨어단위테스트_접근사례Io t에서의 소프트웨어단위테스트_접근사례
Io t에서의 소프트웨어단위테스트_접근사례SangIn Choung
 
[오픈소스컨설팅]Fault Tolerance Architecture by Netflix
[오픈소스컨설팅]Fault Tolerance Architecture by Netflix[오픈소스컨설팅]Fault Tolerance Architecture by Netflix
[오픈소스컨설팅]Fault Tolerance Architecture by NetflixJi-Woong Choi
 
Amazon SNS로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정 - AWS Summit Seoul 2017
Amazon SNS로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정 - AWS Summit Seoul 2017Amazon SNS로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정 - AWS Summit Seoul 2017
Amazon SNS로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정 - AWS Summit Seoul 2017Amazon Web Services Korea
 
[MeetUp][3rd] Prometheus 와 함께하는 모니터링 및 시각화
[MeetUp][3rd] Prometheus 와 함께하는 모니터링 및 시각화[MeetUp][3rd] Prometheus 와 함께하는 모니터링 및 시각화
[MeetUp][3rd] Prometheus 와 함께하는 모니터링 및 시각화InfraEngineer
 
ReactiveX의 이해
ReactiveX의 이해ReactiveX의 이해
ReactiveX의 이해성태 임
 
Amazon sns로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정
Amazon sns로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정Amazon sns로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정
Amazon sns로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정승욱 강
 

Similar to Reactive Programming with Rxjs (20)

RxJS로 비동기와 친해지기
RxJS로 비동기와 친해지기RxJS로 비동기와 친해지기
RxJS로 비동기와 친해지기
 
RxJava in Looky
RxJava in LookyRxJava in Looky
RxJava in Looky
 
[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개
 
Rx java essentials
Rx java essentialsRx java essentials
Rx java essentials
 
Observer pattern dragor
Observer pattern dragorObserver pattern dragor
Observer pattern dragor
 
Prometheus Project Journey
Prometheus Project JourneyPrometheus Project Journey
Prometheus Project Journey
 
[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기
 
Service workers 기초 및 활용 (Korean)
Service workers 기초 및 활용 (Korean)Service workers 기초 및 활용 (Korean)
Service workers 기초 및 활용 (Korean)
 
[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현
[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현
[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현
 
20140122 techdays mini 앱 개발 세미나(3) - 센서활용 앱 개발
20140122 techdays mini  앱 개발 세미나(3) - 센서활용 앱 개발20140122 techdays mini  앱 개발 세미나(3) - 센서활용 앱 개발
20140122 techdays mini 앱 개발 세미나(3) - 센서활용 앱 개발
 
Netty 세미나
Netty 세미나Netty 세미나
Netty 세미나
 
파이썬 리액티브하게 짜기 - PyCon Korea 2017
파이썬 리액티브하게 짜기 - PyCon Korea 2017파이썬 리액티브하게 짜기 - PyCon Korea 2017
파이썬 리액티브하게 짜기 - PyCon Korea 2017
 
Free rtos seminar
Free rtos seminarFree rtos seminar
Free rtos seminar
 
Io t에서의 소프트웨어단위테스트_접근사례
Io t에서의 소프트웨어단위테스트_접근사례Io t에서의 소프트웨어단위테스트_접근사례
Io t에서의 소프트웨어단위테스트_접근사례
 
Zookeeper 소개
Zookeeper 소개Zookeeper 소개
Zookeeper 소개
 
[오픈소스컨설팅]Fault Tolerance Architecture by Netflix
[오픈소스컨설팅]Fault Tolerance Architecture by Netflix[오픈소스컨설팅]Fault Tolerance Architecture by Netflix
[오픈소스컨설팅]Fault Tolerance Architecture by Netflix
 
Amazon SNS로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정 - AWS Summit Seoul 2017
Amazon SNS로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정 - AWS Summit Seoul 2017Amazon SNS로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정 - AWS Summit Seoul 2017
Amazon SNS로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정 - AWS Summit Seoul 2017
 
[MeetUp][3rd] Prometheus 와 함께하는 모니터링 및 시각화
[MeetUp][3rd] Prometheus 와 함께하는 모니터링 및 시각화[MeetUp][3rd] Prometheus 와 함께하는 모니터링 및 시각화
[MeetUp][3rd] Prometheus 와 함께하는 모니터링 및 시각화
 
ReactiveX의 이해
ReactiveX의 이해ReactiveX의 이해
ReactiveX의 이해
 
Amazon sns로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정
Amazon sns로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정Amazon sns로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정
Amazon sns로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정
 

More from SangHun Lee

PWA 파헤치기
PWA 파헤치기PWA 파헤치기
PWA 파헤치기SangHun Lee
 
Angular CodeLab 두번째
Angular CodeLab 두번째Angular CodeLab 두번째
Angular CodeLab 두번째SangHun Lee
 
Angular CodeLab 첫번째
Angular CodeLab 첫번째Angular CodeLab 첫번째
Angular CodeLab 첫번째SangHun Lee
 
Angular Popular Tools
Angular Popular ToolsAngular Popular Tools
Angular Popular ToolsSangHun Lee
 
Chrome 69 updates
Chrome 69 updatesChrome 69 updates
Chrome 69 updatesSangHun Lee
 
Angular Component Interaction
Angular Component InteractionAngular Component Interaction
Angular Component InteractionSangHun Lee
 
Chrome 68 updates
Chrome 68 updatesChrome 68 updates
Chrome 68 updatesSangHun Lee
 
Angular Features and New Things
Angular Features and New ThingsAngular Features and New Things
Angular Features and New ThingsSangHun Lee
 
SSG광고의 오마주_에드워드 호퍼
SSG광고의 오마주_에드워드 호퍼SSG광고의 오마주_에드워드 호퍼
SSG광고의 오마주_에드워드 호퍼SangHun Lee
 
[IOS말고 Android] Inflation을 이용하여 부분 Activity 띄우기
[IOS말고 Android] Inflation을 이용하여 부분 Activity 띄우기[IOS말고 Android] Inflation을 이용하여 부분 Activity 띄우기
[IOS말고 Android] Inflation을 이용하여 부분 Activity 띄우기SangHun Lee
 
Ror 4주차(루비맛보기, form 태그)
Ror 4주차(루비맛보기, form 태그)Ror 4주차(루비맛보기, form 태그)
Ror 4주차(루비맛보기, form 태그)SangHun Lee
 
Ror 2주차(컨트롤러 생성)
Ror 2주차(컨트롤러 생성)Ror 2주차(컨트롤러 생성)
Ror 2주차(컨트롤러 생성)SangHun Lee
 
루비온레일즈_01_간단한 정적인 홈페이지 제작
루비온레일즈_01_간단한 정적인 홈페이지 제작루비온레일즈_01_간단한 정적인 홈페이지 제작
루비온레일즈_01_간단한 정적인 홈페이지 제작SangHun Lee
 
Basic of web ref.웹을지탱하는기술_02
Basic of web ref.웹을지탱하는기술_02Basic of web ref.웹을지탱하는기술_02
Basic of web ref.웹을지탱하는기술_02SangHun Lee
 
Eclipse rcp 정리(enabled when, contextmenu)
Eclipse rcp 정리(enabled when, contextmenu)Eclipse rcp 정리(enabled when, contextmenu)
Eclipse rcp 정리(enabled when, contextmenu)SangHun Lee
 
Basic of web ref.웹을지탱하는기술_01
Basic of web ref.웹을지탱하는기술_01Basic of web ref.웹을지탱하는기술_01
Basic of web ref.웹을지탱하는기술_01SangHun Lee
 

More from SangHun Lee (20)

PWA 파헤치기
PWA 파헤치기PWA 파헤치기
PWA 파헤치기
 
Angular Library
Angular LibraryAngular Library
Angular Library
 
Angular CodeLab 두번째
Angular CodeLab 두번째Angular CodeLab 두번째
Angular CodeLab 두번째
 
Angular CodeLab 첫번째
Angular CodeLab 첫번째Angular CodeLab 첫번째
Angular CodeLab 첫번째
 
Angular Popular Tools
Angular Popular ToolsAngular Popular Tools
Angular Popular Tools
 
Chrome 69 updates
Chrome 69 updatesChrome 69 updates
Chrome 69 updates
 
Angular Component Interaction
Angular Component InteractionAngular Component Interaction
Angular Component Interaction
 
Chrome 68 updates
Chrome 68 updatesChrome 68 updates
Chrome 68 updates
 
Angular Features and New Things
Angular Features and New ThingsAngular Features and New Things
Angular Features and New Things
 
SSG광고의 오마주_에드워드 호퍼
SSG광고의 오마주_에드워드 호퍼SSG광고의 오마주_에드워드 호퍼
SSG광고의 오마주_에드워드 호퍼
 
[IOS말고 Android] Inflation을 이용하여 부분 Activity 띄우기
[IOS말고 Android] Inflation을 이용하여 부분 Activity 띄우기[IOS말고 Android] Inflation을 이용하여 부분 Activity 띄우기
[IOS말고 Android] Inflation을 이용하여 부분 Activity 띄우기
 
Ror 4주차(루비맛보기, form 태그)
Ror 4주차(루비맛보기, form 태그)Ror 4주차(루비맛보기, form 태그)
Ror 4주차(루비맛보기, form 태그)
 
Ror 2주차(컨트롤러 생성)
Ror 2주차(컨트롤러 생성)Ror 2주차(컨트롤러 생성)
Ror 2주차(컨트롤러 생성)
 
루비온레일즈_01_간단한 정적인 홈페이지 제작
루비온레일즈_01_간단한 정적인 홈페이지 제작루비온레일즈_01_간단한 정적인 홈페이지 제작
루비온레일즈_01_간단한 정적인 홈페이지 제작
 
Basic of web ref.웹을지탱하는기술_02
Basic of web ref.웹을지탱하는기술_02Basic of web ref.웹을지탱하는기술_02
Basic of web ref.웹을지탱하는기술_02
 
Eclipse gef
Eclipse gefEclipse gef
Eclipse gef
 
Gef 정리
Gef 정리Gef 정리
Gef 정리
 
Eclipse rcp 정리(enabled when, contextmenu)
Eclipse rcp 정리(enabled when, contextmenu)Eclipse rcp 정리(enabled when, contextmenu)
Eclipse rcp 정리(enabled when, contextmenu)
 
2015.07.01
2015.07.012015.07.01
2015.07.01
 
Basic of web ref.웹을지탱하는기술_01
Basic of web ref.웹을지탱하는기술_01Basic of web ref.웹을지탱하는기술_01
Basic of web ref.웹을지탱하는기술_01
 

Reactive Programming with Rxjs

  • 2. 비동기 데이터 스트림에 기반을 둔 프로그래밍 패턴 데이터 스트림: 연속적인 데이트의 흐름, 리액티브 프로그래밍은 기본적으로 모든 것을 데이터 스트림 으로 본다 배열 데이터 ajax 통신 결과 마우스 클릭 이벤트 … Reactive Programming
  • 3. 유연한 비동기 처리 방식 한 번에 다수의 연속성을 갖는 데이터를 처리할 수 있음 서버로 보낸 요청은 취소할 수 있음 다양한 데이터 유형 처리 ajax 통신 결과, 마우스 클릭 이벤트, 배열 및 함수 반환값 등 모든 데이터를 Observable로 만들어 일관된 처리 방식을 제공 Reactive Programming
  • 4. pull scenario: 어플리케이션이 외부 환경에 명령하여 원하는 결과를 응답받고 처리 push scenario: 어플리케이션이 외부 환경에 명령하고 응답이 오기까지 기다리지 않고 외부에서 응답이 오면 그때 반응하여 처리 제어의 흐름을 통제할 권한을 외부 환경으로 넘김으 로써 응답 대기 비용을 줄일 수 있어 비동기 처리에 유리하다 push scenario
  • 5. Observable 외부 환경에서 어플리케이션 내부로 연속해서 흐르 는 데이터 데이터 스트림을 생성, 방출하는 객체 Observer Observable이 방출한 정보를 획득하고 사용하는 객 체 Observable & Observer
  • 6. Observable 외부 환경에서 어플리케이션 내부로 연속해서 흐르 는 데이터 데이터 스트림을 생성, 방출하는 객체 Observer Observable이 방출한 정보를 획득하고 사용하는 객 체 Observable & Observer https://www.dunebook.com/reactive- programming-with-angular-2/
  • 7. Observable은 구독되기 전까지 동작하지 않음 Observer가 구독을 시작하면 Observable이 갖는 데이 터의 처음부터 받기 시작 Observable이 방출하는 모든 데이터를 구독하는 시 점에 상관없이 모두 받는다 Cold Observable
  • 8. Observable은 구독되기 전까지 동작하지 않음 Observer가 구독하면 처음부터 동작하기 시작 Observable이 방출하는 모든 데이터 스트림을 빠짐 없이 처음부터 받을 수 있다 하나의 Observable을 구독하는 다수의 Observer들 은 Observable이 방출하는 모든 데이터를 구독하는 시점에 상관없이 처음부터 모두 받을 수 있다 Cold Observable https://medium.com/@felice.geracitano/multicasted-observables-in-rxjs-b39e0c66837f
  • 9. Observable을 구독하는 모든 Observer는 해당 Observer를 위해 독립적으로 실행하는 Observable을 가짐 유니캐스트 방식 Cold Observable
  • 10. Observable을 생성하자마자 구독과 상관없이 바로 데 이터 스트림을 방출하기 시작 일정 시간이 지난 시점에 Observable을 구독하면 데 이트 스트림의 이전 부분은 구독할 수 없다 Hot Observable
  • 11. Observable을 생성하자마자 구독과 상관없이 바로 데 이터 스트림을 방출하기 시작 일정 시간이 지난 시점에 Observable을 구독하면 데 이트 스트림의 이전 부분은 구독할 수 없다 Hot Observable https://medium.com/@felice.geracitano/multicasted-observables-in-rxjs-b39e0c66837f
  • 12. Subject를 사용하여 Hot Observable을 구현 Subject는 Observable이면서 Observer Observable을 구독할 수 있으면서 Observer처럼 next, complete 메소드를 호출 할 수 있다. Observable을 구독하고 있는 모든 Observer에게 사이 드 이팩트가 있음 멀티캐스트 방식 Hot Observable
  • 13. Unicast & Multicast Cold Observable: one to one Hot Observable: one to many https://techdifferences.com/difference-between-unicast-and-multicast.html
  • 14. Observable을 생성, 변환, 필터링, 결합, 에러 처리, 집 계 연산 등의 기능을 하는 함수 Operator의 반환형은 모두 Observable이기 때문에 Operator들을 연달아 호출할 수 있는 체이닝 방식이 가능 Operator
  • 15. Observable을 생성, 변환, 필터링, 결합, 에러 처리, 집 계 연산 등의 기능을 하는 함수 Operator의 반환형은 모두 Observable이기 때문에 Operator들을 연달아 호출할 수 있는 체이닝 방식이 가능 Operator http://reactivex.io/ documentation/operators.html
  • 16. Operator 활용 예시: http://tech.kakao.com/2017/01/09/daummovie-rxjs/ 마블 다이어그램: http://rxmarbles.com/ Operator
  • 17. 각기 다른 유형의 데이터 스트림을 일관된 방식으로 처리한 다는 점이 개발을 하는데 있어 신경쓸 것을 하나 없앤 느낌. 복잡하거나 까다로울 수 있는 데이터 스트림 처리를 적절한 오퍼레이터 조합으로 쉽고 명료하게 할 수 있었다 Subject, Scheduler 등의 개념부터는 이해하기가 쉽지 않 다. 다소 러닝커브가 있다. rxjs 모듈을 임폴트하는 것이 번거롭고 길었었는데 rxjs6 부 터는 내부구조가 바뀌어 Observable, Subject, pipe, operators등의 임폴트하는 방식이 명료해졌다. I felt that..