RxJava
-
RxAndroid (1)RxJava 2023. 3. 4. 02:03
6장. 1 - RxAndroid 소개 RxAndroid 소개 RxAndroid Observable : 비즈니스 로직을 이용해 데이터를 발행 구독자 : Observable에서 발행한 데이터를 구독 스케줄러 : 스케줄러를 통해 Observable, 구독자가 어느 스레드에서 실행될지 결정. 기존 안드로이드 문제점 안드로이드의 비동기 처리 및 에러 핸들링 수많은 핸들러와 콜백 때문에 발생하는 디버깅 문제 2개의 비동기 처리 후 결과를 하나로 합성하는 작업 이벤트 중복 실행. RxAndroid 장점 간단한 코드로 복잡한 병행 프로그래밍이 가능 비동기 구조에서 에러를 쉽게 다룸 함수형 프로그래밍 기법도 부분적 적용 가능 RxLifecycle 라이브러리 안드로이드와 UI 라이프 사이클을 대체한다기보다 구독할 때 발생..
-
Reactive - 디버그와 예외 처리RxJava 2023. 3. 4. 02:00
7장. 디버깅과 예외처리 지금까지 배운 Observable와 각종 리액티브 연산자를 활용하면 무엇이든 만들 수 있다고 한다고 해요. 하지만 상용 서비스처럼 간단하지 않고 복잡한 코드 로직들은 예상하지 못한 각종 버그와 오류가 발생할 가능성이 많아서 디버깅과 예외처리를 통해 보다 안정성이 있는 코드를 구현해야 합니다. 때문에 디버깅과 예외 처리는 필수로 적용해야 합니다. 디버깅 “함수형 프로그래밍은 함수의 부수효과를 없도록 하는 것이 원칙이지만 doOnXXX() 계열 함수는 오히려 부수 효과를 일으켜서 내가 작성하는 코드가 문제없는지 알아볼 수 있게 합니다.” 😒❓ doOnXXX() 계열 함수는 오히려 부수 효과를 발생?? static class Person { int age; String name; pu..
-
Reactive - 결합 연산자RxJava 2023. 2. 26. 14:42
Reactive 결합 연산자 리액티브 연산자 생성연산자: Observable로 데이터 흐름을 만든다 변환연산자, 필터 연산자: 데이터 흐름을 원하는 방식으로 변형 결합연산자: 1개의 Observer이 아니라 여러 개의 Observable을 조합할 수 있도록 해준다 생성 연산자 just(), fromXXX(), create(), interval(), range(), timer(), intervalRange(), defer(), repeat() 변환 연산자 map(), flatMap(), concatMap(), switchMap), groupBy(), scan(), buffer(), window() 필터 연산자 filter(), take(), skip(), distinct() 결합 연산자 zip(), com..
-
Reactive - 생성 연산자RxJava 2023. 2. 26. 14:15
Reactive - 생성 연산자 리액티브 연산자 생성연산자: Observable로 데이터 흐름을 만든다 변환연산자, 필터 연산자: 데이터 흐름을 원하는 방식으로 변형 결합연산자: 1개의 Observer이 아니라 여러 개의 Observable을 조합할 수 있도록 해준다 생성 연산자 just(), fromXXX(), create(), interval(), range(), timer(), intervalRange(), defer(), repeat() 변환 연산자 map(), flatMap(), concatMap(), switchMap), groupBy(), scan(), buffer(), window() 필터 연산자 filter(), take(), skip(), distinct() 결합 연산자 zip(), c..
-
Reactive - 조건 연산자RxJava 2023. 2. 26. 01:02
Reactive 조건 연산자 리액티브 연산자 생성연산자: Observable로 데이터 흐름을 만든다 변환연산자, 필터 연산자: 데이터 흐름을 원하는 방식으로 변형 결합연산자: 1개의 Observer이 아니라 여러 개의 Observable을 조합할 수 있도록 해준다 생성 연산자 just(), fromXXX(), create(), interval(), range(), timer(), intervalRange(), defer(), repeat() 변환 연산자 map(), flatMap(), concatMap(), switchMap), groupBy(), scan(), buffer(), window() 필터 연산자 filter(), take(), skip(), distinct() 결합 연산자 zip(), com..
-
Reactive - 변환 연산자RxJava 2023. 2. 26. 00:54
Reactive 변환 연산자 리액티브 연산자 생성연산자: Observable로 데이터 흐름을 만든다 변환연산자, 필터 연산자: 데이터 흐름을 원하는 방식으로 변형 결합연산자: 1개의 Observer이 아니라 여러 개의 Observable을 조합할 수 있도록 해준다 생성 연산자 just(), fromXXX(), create(), interval(), range(), timer(), intervalRange(), defer(), repeat() 변환 연산자 map(), flatMap(), concatMap(), switchMap), groupBy(), scan(), buffer(), window() 필터 연산자 filter(), take(), skip(), distinct() 결합 연산자 zip(), com..
-
RxJava 리액티브 연산자 입문RxJava 2023. 2. 25. 15:50
RxJava 리액티브 연산자 입문 ReactiveX 문서의 연산자 부분을 살펴보면 다양한 연산자(operator) 함수가 존재합니다. 리액티브 연산자의 특징은 언어 특성과 크게 연관이 없다는 것입니다. ReactiveX는 자바뿐만 아니라 자바스크립트, 닷넷, 스칼라, 클로저, 스위프트의 리액티브 연산자 목록을 함께 제공하기 때문입니다. 리액티브 연산자 분류 연산자 생성(Creating) 연산자 : Observable, Single 클래스 등으로 데이터의 흐름을 만들어내는 함수. 변환(Transforming) 연산자 : 어떤 입력을 받아서 원하는 출력 결과를 내는 전통적인 의미의 함수. 필터(Filter) 연산자 : 입력 데이터 중에 원하는 데이터만 걸러내는 함수. 합성(Combining) 연산자 : 생성..
-
Rxjava Observable 만들어보기!RxJava 2023. 2. 24. 02:00
안녕하세요! mash up 10기 안드로이드 팀 정세희라고 합니다 : ) 이번 mash up 안드로이드 팀에서는 Rxjava를 공부해보고 질의응답 해보는 시간을 가져봤는데요! 제일 기본적인 Observable 을 만들어보는 것에 대해 포스팅하도록 하겠습니다. Observable 은 Observer 가 관찰하는 대상입니다. 데이터 갯수와 상관없이 상태 변화가 발생할 때 Observer에게 변화를 전달할 수 있습니다. 대표적으로 onClick과 같은 클릭리스너가 대표적은 Observer 패턴의 예시입니다. Observable은 기본적으로 세가지 알림을 Observer에게 전달합니다. Q. 그럼 Observable 과 Observer 가 도대체 뭔가요 ?! A. Observable 의 의미인 ‘관찰 할..