일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Jetpack
- 유닛테스트
- 안정성
- 디자인패턴
- 코딩테스트
- rxjava
- ViewModel
- 깃
- 공격적 프로그래밍
- compose
- Room
- Python
- 파이썬
- Android
- 단위테스트
- 컴포즈
- Di
- Observable
- 제한함수
- 안드로이드
- mock
- 테스트의 장점
- 코틀린
- 자료구조
- 안드로이드 디자인패턴
- git
- MVVM
- Kotlin
- UnitTest
- dagger2
- Today
- Total
목록전체보기 (66)
세상을 바꾸는 개발자
안녕하세요~ 헬창코딩입니다. 오늘은 publish 연산자와 connect 연산자에 대해서 알아보도록 하겠습니다~ ConnectableObservable은 Hot Observable을 구현할 수 있도록 도와주는 타입으로 아무 Observable 타입이나 publish 연산자를 이용하여 간단히 ConnectableObservable로 변환할 수 있습니다. (Hot Observable은 저번 시간 포스트를 참고해주세요) ConnectableObservable은 구독을 요청해도 Observable은 데이터를 발행하지 않습니다. connect() 연산자를 호출할 때 비로소 아이템을 발행하기 시작합니다. ConnectableObservable src = Observable.interval(1, TimeUnit.SE..
안녕하세요~ 헬창코딩입니다. 오늘은 Cold Observable과 Hot Observable의 차이에 대해서 알아볼까 합니다. Observable을 구현하는 방식에서 Observable과 Observer 사이에 미묘한 동작 차이가 있습니다. 이를 Cold Observable 과 Hot Observable이라고 부릅니다. Cold Observable은 지금까지 앞에서 다뤄 왔던 예제들처럼 Observable에 구독을 요청하면 아이템을 발행하기 시작합니다. 아이템은 처음부터 끝까지 발행이 되고, 임의로 종료하지 않는 이상 여러 번 요청에도 처음부터 끝까지 발행하는 것을 보장합니다. interval 연산자를 이용하여 1초마다 아이템을 발행하는 Cold Observable을 살펴보겠습니다. Observable ..
안녕하세요 ~ 헬창코딩입니다. 오늘은 Rxjava의 Observable의 형태중 Completable에 대해 알아보겠습니다. Completable은 아이템을 발행하지 않고, 단지 정상적으로 실행이 종료되었는지에 대해 관심을 갖습니다. 그러므로 Emitter에서 onNext()난 onSuccess() 같은 메서드는 없고 onComplete()와 onError()만 존재합니다. Completable.create(emitter -> { emitter.onComplete(); }).subscribe(() -> Log.d("log_test", "onComplete")); 결과 Completable.fromRunnable(() -> { }).subscribe(() -> Log.d("log_test", "onComp..
안녕하세요 헬창코딩입니다. 이번에는 Maybe에 대해서 알아보도록 하겠습니다. Maybe는 Single과는 비슷하지만 아이템을 발행하거나 발행하지 않을 수도 있다는 점에서 차이가 있습니다. 아이템을 발행할 때는 onSuccess(T)를 호출하고, 발행하지 않을 때는 onComplete()를 호출합니다. 그러므로 onSuccess()를 호출하는 경우 onComplete()를 호출할 필요는 없습니다. Maybe.create(emitter -> { emitter.onSuccess(100); emitter.onComplete(); //무시된다 }) .doOnSuccess(item -> Log.d("log_test", "doOnSuccess::" + item)) .doOnComplete(() -> Log.d("l..
안녕하세요 헬창코딩입니다. 오늘은 Observable의 다양한 형태에 대해서 알아보도록 하겠습니다!! Single SIngle은 Observable과는 다르게 단 하나의 아이템만을 발행하는 특징이 있습니다. 그러므로 저번 포스팅에서 알아보았던 just() 연산자에는 하나의 인자만을 취할 수 있습니다. Single.just("health coding").subscribe(t -> Log.d("log_test", "" + t)); create() 연산자를 사용하는 경우 Emitter를 이용하여 데이터를 발행합니다. 데이터를 단 한 번만 발행하므로 onNext()와 onComplete() 메서드를 호출하는 대신 onSuccess(T)로 두메 서드를 대체합니다. Single.create(emitter -> em..
안녕하세요~ 헬창코딩입니다. 이번에는 Rxjava에서 이미 참조할 수 있는 배열 및 리스트 등의 자료구조나 Future, Callable 또는 Publisher가 있다면 from으로 시작하는 연산자를 통해 Observable로 변환하는 작업을 해보도록 하겠습니다. from과 관련된 메서드입니다. fromArray() -> 배열을 ObservableSource로 변환하여 아이템을 순차적으로 발행합니다. fromIterable() -> ArrayList, HashSet처럼 Iterable을 구현한 모든 객체를 ObservableSource로 변환하여 아이템을 순차적으로 발행합니다. fromFuture() -> Future 인터페이스를 지원하는 모든 객체를 ObservableSource로 변환하고 Future..
안녕하세요~ 헬창코딩입니다. 이번 시간에는 간단한 기본 연산자인 rxjava의 just 연산자에 대해서 알아보도록 하겠습니다. just 연산자는 해당 아이템을 그대로 발행하는 Observable을 생성해줍니다. just() 연산자로 넣은 아이템을 차례로 발행하며, 한 개의 아이템을 넣을 수도 있고, 타입이 같은 여러 개의 아이템을 넣을 수도 있습니다. RxJava에서는 기본적으로 null을 허용하지 않아, just의 인자로 null을 넣으면 안 됩니다. null을 발행하면 오류가 발생합니다. 만약 아무런 아이템을 발행하지 않는 빈 Observable을 만들고 싶다면 Observable, empty() 연산자를 사용하면 됩니다!
안녕하세요~ 헬창코딩입니다. 오늘은 Observerble에 대해서 알아보도록 하겠습니다~ RxJava에서는 Obseverble을 구독(subscribe)하는 Observer가 존재하고, Observable이 순차적으로 발행하는 데이터에 대해서 반응합니다. 이때 Observable은 다음과 같이 3가지 이벤트를 사요하여 동작합니다.! onNext() : 하나의 소스 Observable에서 Observer까지 한 번에 하나씩 순차적으로 데이터를 발행합니다. onComplete() : 데이터 발행이 끝났음을 알리는 완료 이벤트를 Observer에 전달하여 더는 onNext() 호출이 발생하지 않음을 나타냅니다. onError() : 오류가 발생했음을 Observer에 전달합니다. 이 세 가지 이벤트 메서드들은..