본문 바로가기

RxJava70

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.
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.
안드로이드의 RxJava 활용 - 6(리액티브 리싸이클러뷰) 본 내용은 필자가 학습한 내용을 정리하는 내용입니다.대부분 의 내용이 아래 책의 내용이므로 원서를 구매해서 직접보시는걸 추천드립니다!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 활용 - 리액티브 RecyclerView RxAndroid를 이용하여 RecyclerView를 구현합니다. 설치된 앱의 정보를 읽어.. 2018. 12. 30.
안드로이드의 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 실습: 추천 검색어 기능 구현하기네이버나 구글 검색창에 키워드를 입력하다 보면 추천 검색어를 확인할 수 있습니다.이번 실습 예제에서는 이벤트 리스너 .. 2018. 12. 30.