·💤 RxJava
구독시점과 발행시점에 주의해서 Hot & Cold Observable에 대해 살펴보자. 1. Cold Observable Cold Observable은 구독시에 데이터 발행을 시작한다. 옵저버가 구독할 때마다 새로운 데이터 스트림을 시작하고 처음부터 데이터를 방출한다. 이것은 옵저버가 Cold Observable을 구독할 때마다 독립적인 데이터 스트림을 생성하고 발행하는 것을 의미한다. 아래의 예시는 interval 연산자를 이용하여 1초마다 아이템을 발행하는 Cold Observable 이다. 아래는 두 개의 구독자가 있다. 첫 번째 구독자가 구독을 시작하고 3초후 두 번째 구독자가 구독을 시작한다. val ob = Observable.interval(1, TimeUnit.SECONDS) ob.subs..
·💤 RxJava
RxJava2부터는 다양한 타입의 Observable을 사용할 수 있다. Observable과 Single은 RxJava 1버전부터 존재했고 Maybe와 Completable은 그 이후에 등장했다. 때문에 현재 Rx 공식문서에도 Observable과 Single 타입만 설명이 있다. 필자도 사실상 Observable 원형 그대로 먼저 실무에서 사용한 것이 아니라 이렇게 변형된 타입들부터 익힌 경우이다. Single, Maybe Completable 세 가지에 대해 다뤄보고자 한다. Observable can emit multiple items Single, Maybe and Completable are one or no emission of items. Single it always either emit..
·💤 RxJava
0. Observable, 그래서 어떻게 쓰이는데? Observable은 다양한 종류의 이벤트나 데이터를 비동기적으로 방출할 수 있는 객체이다. Observable은 데이터 스트림을 나타내며, 이 Observable이 방출하는 이벤트나 데이터는 다양할 수 있는데 어떤 경우에 쓰이는지 살펴보자. 버튼 클릭 이벤트: 사용자가 화면의 버튼을 클릭할 때 마다 Observable은 클릭 이벤트를 방출할 수 있다. 네트워크 요청 결과: 네트워크 요청을 통해 데이터를 받아올 때, Observable은 이 데이터를 방출할 수 있다. 비동기적인 HTTP 요청과 같은 작업에 유용하다. 타이머 또는 주기적인 작업: 일정 시간 간격으로 이벤트를 방출하는 Observable을 생성할 수 있다. 예를 들어, 1초마다 현재 시간을..
·💤 RxJava
Observable 특집으로 Observable의 생성과 종류까지 다뤄보고자 한다. 그 전에 Reactive Programming에 대해 정리한 글이 있는데 옵저버 패턴부터 다시 짚어보고자 한다. 0. Observable 관찰할 수 있는 데이터 스트림 관찰할 수 있는 데이터 스트림을 Rx에서는 Observable 이라고 부른다. 이 데이터 스트림을 관찰하는 Observer들은 Observable이 발행하는 데이터 스트림을 구독하여 데이터를 구독하고 처리한다. 이는 옵저버 패턴을 따른 것으로 옵저버 패턴은 관찰할 수 있는 대상의 상태가 변하면 이를 관찰하는 대상에게 알려주는 구조이다. 쉬운 예시로, 식당 예약을 관리하는 애플리케이션이 있다고 하자. 예약하고 싶었던 식당이 이미 인원이 다 차버려 예약할 수 ..
안드로보이
'observable' 태그의 글 목록