일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- android
- 프로그래머스
- Python
- boj
- textfield
- pandas
- GitHub
- Coroutine
- MyVoca
- 코드포스
- Kotlin
- Gradle
- Hilt
- architecture
- Codeforces
- Compose
- Coroutines
- activity
- 백준
- AWS
- 암호학
- relay
- livedata
- 쿠링
- ProGuard
- TEST
- androidStudio
- MiTweet
- 코루틴
- Rxjava
- Today
- Total
목록Rxjava (3)
이동식 저장소
RxJava에는 Single이라는 특수한 형태의 Observable이 구현되어 있다. Single은 Observable과 비슷하지만, 값을 단 한 번만 emit한다는 결정적인 차이점이 있다. 그래서 onNext, onError, onCompleted 3개의 매개변수를 받아들이는 Observable과 달리 onSuccess, onError 2개만 있으면 된다. 저 함수들이 무슨 일을 하는지는 설명하지 않아도 될 것이다. 끝! 연산자 쪽은 안 봐도 될 것 같다.

Disclaimer: 이 글에서는 원문의 느낌을 살리기 위해 일부 용어를 원문 그대로 사용한다. Rx에서는 observer가 Observable을 subscribe한다. Observer는 Observable이 emit하는 값을 처리한다. Observer 패턴은 특히 비동기 작업에서 유용하다. 데이터가 언제 주어질 지 모르고, 몇 개나 주어질 지도 모르는 상황에서 스레드를 무작정 block해놓고 기다릴 수는 없다. 따라서 작업을 호출할 때 주어진 데이터에 대해 수행할 작업을 지정해놓기만 하고(subscribe), 실제 작업은 데이터가 주어진 시점에 수행하면 된다. Rx에서는 이 패턴을 reactive pattern이라고 부른다. 이미지 한 장으로 보면 다음과 같다. 장황하게 적긴 했지만, Kotlin의 `..

ReactiveX는 비동기, 이벤트 기반 코드를 작성할 수 있게 하는 라이브러리이다. Java 시절에 많이 사용하던 RxJava가 유명하지만, 사실 웬만한 언어는 다 지원한다. ReactiveX(이하 Rx)는 기본적으로 데이터(Observable)를 관찰(observe)하고 처리하는 함수(observer)를 선언하는 observer 패턴을 사용한다. 마치 Iterable의 데이터를 for문에서 하나씩 읽어 처리하듯이, Observable에서 주어지는 데이터를 observer가 읽고 처리한다. 개념 자체는 Kotlin의 Flow와 매우 유사하다. Kotlin 등장 이전에 Rx를 사용하지 않던 기업이 있었을까? 라는 질문이 나올 정도로 RxJava는 유명한 라이브러리였고, 지금도 그렇다. 멀쩡..