본문 바로가기
Rx

마블다이어그램

by 봄석 2018. 12. 22.

본 내용은 필자가 학습한 내용을 정리하는 내용입니다.

대부분 의 내용이 아래 책의 내용이므로 원서를 구매해서 직접보시는걸 추천드립니다!

RxJava 프로그래밍 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에

유동환 , 박정준 지음 | 한빛미디어 | 2017년 09월 04일 출간

http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788968488658&orderClick=LAV&Kc=


1. filp()함수의 마블 다이어그램 예


http://reactivex.io/documentation/ko/observable.html



1) 위쪽의 실선은 Observable의 시간 표시줄(timeline)이다. 시간순으로 데이터가 발행되는 것을 표현한다.


2) 도형들 - Observable에서 발행하는 데이터. 시간순서대로 별,삼각형,오각형,원,사각형,마름모등의 도형을 발행한다. 데이터를 발행할 때는 onNext알림이 발생한다


3) 파이프( | ) 는 Observable 에서 데이터 발행을 완료했다는 의미이다. 한번 완료하면 이후에는 더 이상 데이터를 발행할 수 없다. 완료하면 onComplete 알림이  발생한다.


4) 아래로 내려오는 점선 화살표는 각각 함수의 입력과 출력 데이터이고 , 가운데 박스는 함수를 의미한다. filp() 함수는 입력값을 뒤집는 함수이다. 따라서 입력값의 색상은 그대로 두고 모양을 위아래 180도 회전하며 뒤집는다.


5) 아래쪽의 실선은 결과가 출력된 시간 표시줄이다.


6) 엑스(X)는 함수가 입력값을 처리할 때 발생한 에러를 의미한다. 에러발생시에는 onError 알림이 발생한다 .





2. combineLatest() 함수의 마블 다이어 그램 예


http://reactivex.io/documentation/operators/combinelatest.html


combineLatest() 함수의 마블 다이어 그램으로 2개 이상의 Observable을 처리한다.


1) 첫번째 Observable은 1~5까지 숫자와, 파랑 빨강,초록,노랑,파랑의 색을 가진 원을 발행한다.


2) 두번째 Observable은 영어 ABCD와 노랑 파랑의 원을 발행한다.


3) combineLatest() 함수는 첫 번째 Observable의 도형과 두 번째 Observable의 도형이 모두 들어오면 둘을 합성한다.



댓글