본문 바로가기

Rx75

RxDart에 대하여 알아보기 RxDart에 대하여 알아보기 이번 포스트에서는 RxDart에 대하여 자세하게 알아보려 합니다 목차 Table of Contents RxDart를 알아보기 전에 RxDart는`dart:async`패키지의 Dart Streams를 대체하기 위해 자체 Observable 클래스를 제공하지 않습니다. 기본 제공되는 `dart:async`패키지의 Stream 및 StreamController에 확장 기능을 구현한 것입니다. ✏️기본 제공되는 훌륭한 Stream API를 먼저 확인해보는 것을 추천합니다! 표준 Rx와 RxDart(Stream API) 비교해보기 많은 상황에서 Streams와 Observable은 같은 방식으로 하지만 표준 Rx에 익숙하다면 RxDart(with Stream API)의 일부 기능이 .. 2020. 8. 13.
Debounce , Throttle Debounce , Throttle Debonce와 Throttle 은 무슨차이가 있을까요 ? 먼저 Debounce 와 Throttle을 각각 알아보도록 하겠습니다. Debounce debounce 는 이벤트를 그룹화하여 특정시간이 지난 후 마지막 이벤트만을 발생하도록 하는 기술입니다. 위의 마블다이어그램의 상황을 테스트코드로 작성해 보았습니다. debounce 측정시간을 300ms로 잡고 [red] (--300ms-- {red발행} -- 50ms경과--) [yellow](--100ms--) [green] (--200ms--{green발행} -- 150ms--) [blue](--300ms -- {blue발행} -- 50ms) end 이 되게 됩니다. Throttle 이벤트를 일정한 주기마다 발생하도록 하.. 2019. 9. 10.
TestObserver ,TestScheduler 를 이용한 테스트작성하기 TestObserver ,TestSubscriberTestScheduler 를 이용한 테스트작성하기 RxJava2부터 좀 더 간결해진 테스트 바로 TestObserver , TestSubscriber 를 이용한 테스트 작성법에 대하여 알아보도록 하겠습니다. TestObserver TestObsever란 이벤트를 감지하고 연결된 테스트 체인에따라 성공여부를 알려주는 옵저버로 onSubscribe, onNext, onError, onSuccess등을 오버라이드하여 결과값을 테스트하는 용도로 사용할 수 있습니다. TestObserver Assert Method assertSubscribed() 성공적으로 onSubscribe가 호출되었는지 검증합니다. assertNotSubscribed() onSubscrib.. 2019. 9. 10.
RxAndroid Scheduler 자세히 알아보기 RxAndroid Scheduler 자세히 알아보기 RxAndroid에서는 스케쥴러를 통해 어느 쓰레드에서 실행이 될지 결정 할 수 있습니다. 스케쥴러는 subsctibeOn(), observeOn() 에서 각각 지정할 수 있는데 subsctibeOn()은 observable의 작업을 시작하는 쓰레드를 선택 할 수 있습니다. 중복해서 적을 경우 가장 마지막에 적힌 스레드에서 시작합니다. observeOn()은 이후에 나오는 오퍼레이터, subscribe의 스케쥴러를 변경 할 수 있습니다. 위 그림을 보면 SubscribeOn 연산자를 중간에서 지정하고있습니다.연산자 체인 중 아무 곳에서 호출해도 문제되지 않습니다. 즉 , 오퍼레이터 어디서든지 subscribveOn을 사용하면 시작할 스케줄러를 정할 수 .. 2019. 9. 9.
RxJava 테스팅과 Flowable-5( Flowable을 활용한 배압 이슈 대응하기) 본 내용은 필자가 학습한 내용을 정리하는 내용입니다.대부분 의 내용이 아래 책의 내용이므로 원서를 구매해서 직접보시는걸 추천드립니다!RxJava 프로그래밍 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에유동환 , 박정준 지음 | 한빛미디어 | 2017년 09월 04일 출간http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788968488658&orderClick=LAV&Kc= 저자님의 블로그https://brunch.co.kr/@yudong#info Flowable을 활용한 배압 이슈 대응하기Flowable에서 추가로 제공하는 배압 이슈에 대응하는 함수는 다음과 같습니다 . - onBackPres.. 2019. 1. 1.
RxJava 테스팅과 Flowable-4( Flowable 클래스) 본 내용은 필자가 학습한 내용을 정리하는 내용입니다.대부분 의 내용이 아래 책의 내용이므로 원서를 구매해서 직접보시는걸 추천드립니다!RxJava 프로그래밍 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에유동환 , 박정준 지음 | 한빛미디어 | 2017년 09월 04일 출간http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788968488658&orderClick=LAV&Kc= 저자님의 블로그https://brunch.co.kr/@yudong#info Flowable 클래스고급 주제인 배압과 Flowable에 대해서 알아보겠습니다. Flowable은 RxJava 2.x에 새로 도입된 클래스입니다. .. 2019. 1. 1.
RxJava 테스팅과 Flowable-3(비동기 테스트) 본 내용은 필자가 학습한 내용을 정리하는 내용입니다.대부분 의 내용이 아래 책의 내용이므로 원서를 구매해서 직접보시는걸 추천드립니다!RxJava 프로그래밍 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에유동환 , 박정준 지음 | 한빛미디어 | 2017년 09월 04일 출간http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788968488658&orderClick=LAV&Kc= 저자님의 블로그https://brunch.co.kr/@yudong#info 비동기 코드 테스트RxJava는 스케줄러를 활용해 다양한 상황에서 비동기 코드를 직관적으로 작성할 수 있습니다. 하지만 비동기 코드를 테스트 하는 것.. 2019. 1. 1.
RxJava 테스팅과 Flowable-2(TestObserver 클래스) 본 내용은 필자가 학습한 내용을 정리하는 내용입니다.대부분 의 내용이 아래 책의 내용이므로 원서를 구매해서 직접보시는걸 추천드립니다!RxJava 프로그래밍 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에유동환 , 박정준 지음 | 한빛미디어 | 2017년 09월 04일 출간http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788968488658&orderClick=LAV&Kc= 저자님의 블로그https://brunch.co.kr/@yudong#info 테스팅과 Flowable이제 JUnit 5 기반으로 RxJava 테스트 코드를 작성합니다 .앞에서 부터 RxJava의 연산자 들의 마블 다이어 그램을.. 2019. 1. 1.
RxJava 테스팅과 Flowable-1(JUnit 5) 본 내용은 필자가 학습한 내용을 정리하는 내용입니다.대부분 의 내용이 아래 책의 내용이므로 원서를 구매해서 직접보시는걸 추천드립니다!RxJava 프로그래밍 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에유동환 , 박정준 지음 | 한빛미디어 | 2017년 09월 04일 출간http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788968488658&orderClick=LAV&Kc= 저자님의 블로그https://brunch.co.kr/@yudong#info 테스팅과 Flowable소프트웨어의 품질은 테스트에서 결정됩니다. 개발 부서에서는 정해진 스펙에 맞게 기능을 구현하고 품질 부서에서는 사용자 관점에서.. 2019. 1. 1.
RxJava 흐름제어 -5(debounce 함수) 본 내용은 필자가 학습한 내용을 정리하는 내용입니다.대부분 의 내용이 아래 책의 내용이므로 원서를 구매해서 직접보시는걸 추천드립니다!RxJava 프로그래밍 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에유동환 , 박정준 지음 | 한빛미디어 | 2017년 09월 04일 출간http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788968488658&orderClick=LAV&Kc= 저자님의 블로그https://brunch.co.kr/@yudong#info debounce() 함수debounce() 함수는 빠르게 연속 이벤트를 처리하는 흐름 제어 함수입니다. POJO java와 같이 콘솔에서는 크게 활용.. 2019. 1. 1.
RxJava 흐름제어 -4(window 함수) 본 내용은 필자가 학습한 내용을 정리하는 내용입니다.대부분 의 내용이 아래 책의 내용이므로 원서를 구매해서 직접보시는걸 추천드립니다!RxJava 프로그래밍 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에유동환 , 박정준 지음 | 한빛미디어 | 2017년 09월 04일 출간http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788968488658&orderClick=LAV&Kc= 저자님의 블로그https://brunch.co.kr/@yudong#info window() 함수window() 함수는 groupBy() 함수와 개념적으로 비슷합니다. groupBy() 함수는 특정 조건에 맞는 입력값들을 그룹.. 2019. 1. 1.
RxJava 흐름제어 -3(throttleFirst 함수 ,throttleLast함수) 본 내용은 필자가 학습한 내용을 정리하는 내용입니다.대부분 의 내용이 아래 책의 내용이므로 원서를 구매해서 직접보시는걸 추천드립니다!RxJava 프로그래밍 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에유동환 , 박정준 지음 | 한빛미디어 | 2017년 09월 04일 출간http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788968488658&orderClick=LAV&Kc= 저자님의 블로그https://brunch.co.kr/@yudong#info throttleFirst() 와 throttleLast() 함수throttle은 영어로 '조절판'이라는 뜻입니다. 그것에 맞게 throttleFirs.. 2019. 1. 1.
RxJava 흐름제어 -2( Buffer) 본 내용은 필자가 학습한 내용을 정리하는 내용입니다.대부분 의 내용이 아래 책의 내용이므로 원서를 구매해서 직접보시는걸 추천드립니다!RxJava 프로그래밍 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에유동환 , 박정준 지음 | 한빛미디어 | 2017년 09월 04일 출간http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788968488658&orderClick=LAV&Kc= 저자님의 블로그https://brunch.co.kr/@yudong#info 흐름제어흐름제어는 Observable이 데이터를 발행하는 속도와 옵서버가 데이터를 받아서 처리하는 속도 사이의 차이가 발생할 때 사용하는 함수입니다... 2018. 12. 31.
RxJava 흐름제어 -1( sample ) 본 내용은 필자가 학습한 내용을 정리하는 내용입니다.대부분 의 내용이 아래 책의 내용이므로 원서를 구매해서 직접보시는걸 추천드립니다!RxJava 프로그래밍 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에유동환 , 박정준 지음 | 한빛미디어 | 2017년 09월 04일 출간http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788968488658&orderClick=LAV&Kc= 저자님의 블로그https://brunch.co.kr/@yudong#info 흐름제어흐름제어는 Observable이 데이터를 발행하는 속도와 옵서버가 데이터를 받아서 처리하는 속도 사이의 차이가 발생할 때 사용하는 함수입니다... 2018. 12. 31.
RxJava 디버깅과 예외처리 -4 (retry, retryUntil, retryWhen 함수) 본 내용은 필자가 학습한 내용을 정리하는 내용입니다.대부분 의 내용이 아래 책의 내용이므로 원서를 구매해서 직접보시는걸 추천드립니다!RxJava 프로그래밍 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에유동환 , 박정준 지음 | 한빛미디어 | 2017년 09월 04일 출간http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788968488658&orderClick=LAV&Kc= 저자님의 블로그https://brunch.co.kr/@yudong#info retry() 함수예외 처리의 다른 방법은 재시도 입니다. 예를 들어 서버와 통신할 때 인터넷이 일시적으로 안되거나 서버에 일시적인 장애가 발생하면 .. 2018. 12. 31.
RxJava 디버깅과 예외처리 -3 ( onErrorReturn, onErrorReturnItem, onErrorResumeNext 함수) 본 내용은 필자가 학습한 내용을 정리하는 내용입니다.대부분 의 내용이 아래 책의 내용이므로 원서를 구매해서 직접보시는걸 추천드립니다!RxJava 프로그래밍 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에유동환 , 박정준 지음 | 한빛미디어 | 2017년 09월 04일 출간http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788968488658&orderClick=LAV&Kc= 저자님의 블로그https://brunch.co.kr/@yudong#info 예외처리RxJava 프로그래밍에서 예외처리는 어떻게 할까요 ? 지금까지 onError 이벤트를 전달 받아서 예외처리를 한다고 했었습니다. 원래 자바에.. 2018. 12. 31.
RxJava 디버깅과 예외처리 -2 ( 디버깅, doOnEach ,doOnsubscribe, doOnDispose, doOnLifeCycle, doOnTerminate ,doFinally 함수) 본 내용은 필자가 학습한 내용을 정리하는 내용입니다.대부분 의 내용이 아래 책의 내용이므로 원서를 구매해서 직접보시는걸 추천드립니다!RxJava 프로그래밍 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에유동환 , 박정준 지음 | 한빛미디어 | 2017년 09월 04일 출간http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788968488658&orderClick=LAV&Kc= 저자님의 블로그https://brunch.co.kr/@yudong#info doOnEach() 함수doOnEach() 함수입니다 . onNext, onComplete, onError 이벤트를 각각 처리하는 것이 아니라 한번에.. 2018. 12. 31.
RxJava 디버깅과 예외처리 -1 ( 디버깅, doOnNext, doOnComplete, doOnError 함수) 본 내용은 필자가 학습한 내용을 정리하는 내용입니다.대부분 의 내용이 아래 책의 내용이므로 원서를 구매해서 직접보시는걸 추천드립니다!RxJava 프로그래밍 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에유동환 , 박정준 지음 | 한빛미디어 | 2017년 09월 04일 출간http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788968488658&orderClick=LAV&Kc= 저자님의 블로그https://brunch.co.kr/@yudong#info 디버깅보통 코딩하는 중에 로그를 넣는 이유는 잘못된부분을 찾고 잘못되었을 때 대처하기 위함입니다. 하지만 RxJava는 코드는 로그를 넣을수 있는 공.. 2018. 12. 31.
안드로이드의 RxJava 활용 - 12( 메모리누수 막기) 본 내용은 필자가 학습한 내용을 정리하는 내용입니다.대부분 의 내용이 아래 책의 내용이므로 원서를 구매해서 직접보시는걸 추천드립니다!RxJava 프로그래밍 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에유동환 , 박정준 지음 | 한빛미디어 | 2017년 09월 04일 출간http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788968488658&orderClick=LAV&Kc= 저자님의 블로그https://brunch.co.kr/@yudong#info 메모리누수 막기메모리누수(Memory leak) 란 보통 참조가 완료되었지만 할당한메모리를 해제하지않아서 발생합니다. 특히 강한 참조의 경우 가비지 .. 2018. 12. 31.
안드로이드의 RxJava 활용 - 11( REST API를 활용한 네트워크,Retrofit2 + OkHttp) 본 내용은 필자가 학습한 내용을 정리하는 내용입니다.대부분 의 내용이 아래 책의 내용이므로 원서를 구매해서 직접보시는걸 추천드립니다!RxJava 프로그래밍 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에유동환 , 박정준 지음 | 한빛미디어 | 2017년 09월 04일 출간http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788968488658&orderClick=LAV&Kc= 저자님의 블로그https://brunch.co.kr/@yudong#info REST API를 활용한 네트워크 프로그래밍REST는 네트워크 아키텍처 원리의 모음으로 ' 네트워크 아키텍처 원리' 라는 자원을 정의하고 자원에 대한.. 2018. 12. 30.
안드로이드의 RxJava 활용 - 10( REST API를 활용한 네트워크,Volley) 본 내용은 필자가 학습한 내용을 정리하는 내용입니다.대부분 의 내용이 아래 책의 내용이므로 원서를 구매해서 직접보시는걸 추천드립니다!RxJava 프로그래밍 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에유동환 , 박정준 지음 | 한빛미디어 | 2017년 09월 04일 출간http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788968488658&orderClick=LAV&Kc= 저자님의 블로그https://brunch.co.kr/@yudong#info REST API를 활용한 네트워크 프로그래밍REST는 네트워크 아키텍처 원리의 모음으로 ' 네트워크 아키텍처 원리' 라는 자원을 정의하고 자원에 대한.. 2018. 12. 30.
안드로이드의 RxJava 활용 - 9( TimerTask를 Rxandroid로 대체하기,자바-람다 표현식 비교) 본 내용은 필자가 학습한 내용을 정리하는 내용입니다.대부분 의 내용이 아래 책의 내용이므로 원서를 구매해서 직접보시는걸 추천드립니다!RxJava 프로그래밍 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에유동환 , 박정준 지음 | 한빛미디어 | 2017년 09월 04일 출간http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788968488658&orderClick=LAV&Kc= 저자님의 블로그https://brunch.co.kr/@yudong#info TimerTask를 대체하는 RxAndroid안드로이드에서는 주기적으로 실행하는 동작을 구현하는 여러 가지 방법이 있지만 보통 Timer 클래스나 H.. 2018. 12. 30.
안드로이드의 RxJava 활용 - 8( 스레드를 RxAndroid로 대체하기) 본 내용은 필자가 학습한 내용을 정리하는 내용입니다.대부분 의 내용이 아래 책의 내용이므로 원서를 구매해서 직접보시는걸 추천드립니다!RxJava 프로그래밍 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에유동환 , 박정준 지음 | 한빛미디어 | 2017년 09월 04일 출간http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788968488658&orderClick=LAV&Kc= 저자님의 블로그https://brunch.co.kr/@yudong#info 안드로이드 스레드를 대체하는 RxAndroid안드로이드는 기본적으로 싱글 스레드 모델입니다. 그래서 처리하는 데 오래 걸리는 데이터 전송이나 파일 입.. 2018. 12. 30.
안드로이드의 RxJava 활용 - 7(리액티브 리싸이클러뷰,설치된 앱 리스트 나열) 본 내용은 필자가 학습한 내용을 정리하는 내용입니다.대부분 의 내용이 아래 책의 내용이므로 원서를 구매해서 직접보시는걸 추천드립니다!RxJava 프로그래밍 리액티브 프로그래밍 기초부터 RxAndroid까지 한 번에유동환 , 박정준 지음 | 한빛미디어 | 2017년 09월 04일 출간http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788968488658&orderClick=LAV&Kc= 저자님의 블로그https://brunch.co.kr/@yudong#info 리액티브 리싸이클러뷰를 이용해 설치된 앱 리스트 나열하기먼저 앱 레이아웃 구성하기. 앱레이아웃 구성 -1 프레그먼트부분 앱레이아웃 구성 -2 리싸이클.. 2018. 12. 30.