본문 바로가기
반응형

RxKotlin5

[RxJava] Cold Observable, Hot Observable에 대해 알아보자 Cold Observable 이란? 일반적으로 사용하는 Observable이 바로 Cold Observable이다 Subscribe(구독)할 때 데이터를 발행해줍니다 (여기서 말하는 Subscribe와 Subscriber은 다른 겁니다!!) Cold 생산자는 1개의 소비자와 구독 관계를 맺기 때문에 생산자가 통지하는 데이터의 타임라인이 구독할 때 생성되고 처리가 시작됩니다 이름 그대로 cold라서 차갑게 얼어붙어있어 구독을 하면(녹이면) 데이터가 발행이 된다 이런 식으로 이해하시면 될 것 같습니다 Hot Observable 이란? Hot Observable은 Cold Observable의 반대입니다, Cold Observable을 ConnectableObservable과 Subject를 이용해 Hot O.. 2022. 3. 30.
[RxJava] 생산자와 소비자, 데이터 스트림이란? (Observable, Observer, Flowable, Subscriber) 이번 글을 자주 나오는데 자꾸 헷갈려서 정확한 개념 정리를 위해 만들게 되었습니다 저만 헷갈린 거 아니죠?ㅎ;; 먼저 RxJava는 기본적으로 데이터를 만들고 발행하는 생산자와 발행된 데이터를 받고 처리하는 소비자로 구성되어 있습니다 생산자는 데이터 스트림의 데이터들을 발행하는 역할을 합니다, 생산자를 소비자가 구독하게 되어 생산자가 발행하는 데이터를 소비자가 받을 수 있게 됩니다 그럼 여기서 데이터 스트림과 소비자는 무엇일까요? 먼저 데이터 스트림은 데이터나 이벤트가 들어오는 통로입니다 (데이터가 흐르는 강이라고 비유할 수 있겠네요) 소비자는 말 그대로 생산자의 데이터를 사용하는 주체입니다 이름 내용 생산자 데이터 스트림의 데이터를 발행하는 역할 소비자 생산자의 데이터를 사용하는 주체 데이터 스트림 데.. 2022. 3. 29.
RxJava, RxAndroid Scheduler에 대해 알아보자 Schedulars 란? 스케줄러(Schedular)란 Observable, Operator(연산자), Subscriber이 수행하는 스레드를 결정해주는 것입니다 하지만 일부 연산자들은 자체적으로 어떤 스케줄러에서 사용할지 지정하기 때문에 모든 연산자들의 스케줄러를 지정해줄 수 있는 건 아닙니다 실제로 코드에서는 subscribeOn, observeOn 연산자로 사용 가능합니다 subscribeOn 이란? 구독에서 사용할 스레드를 지정합니다, observable의 스케줄러를 정해주기 위해 사용할 수 있습니다 observeOn 이란? 추가적인 연산자에 대한 작업 스레드를 정해주기 위해 사용할 수 있습니다 RxJava의 스케줄러 종류는? 생성 방법 내용 Schdulers.io() I/O 처리 작업을 할 때 .. 2022. 3. 29.
[RxJava] Observable 생성 연산자(Operators) Observable 생성 연산자 또는 Operator는 말 그대로 Observable을 생성하는 연산자입니다 공식문서에서는 다음과 같이 설명하고 있습니다 Creating Observables Operators that originate new Observables. 오늘은 생성자 중 어떤 연산자들이 있는지 알아보도록 하겠습니다 create 연산자 함수 내부에서 emitter가 직접 onNext, onComplete, onError 등으로 데이터를 전달 가능한 연산자입니다 val mListNum = mutableListOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12) fun createOperator() : Observable{ return Observable.create(Obse.. 2022. 3. 28.
반응형