Topic

RxSwift

A collection of 7 issues

Scheduler

스케줄러 개념 * 작업을 어느 문맥(컨텍스트)에서 실행할지 결정한다. * 다루기 어려운 스레드 개념을 스케줄러를 통해 구현 가능하게 해준다. * 필요한 작업을 다른 스케줄러에서 실행하여 비동기로 동작할 수 있도록 한다. * 별도로 스케줄러를 지정하지 않으면 현재 스레드에서 동작을 실행한다. RxSwift 스케줄러 종류 MainScheduler * UI를 변경하거나 높은 수준의 작업을 위한 스케줄러이다. * 시간이 오래 걸리는
4 min read

RxSwift

RxJava 이후 간단하게 정리 RxSwift with MVVM * 뷰에 들어가는 요소: RxCocoa 요소, UI 컨트롤들, 뷰모델 * 뷰모델에 들어가는 요소: 릴레이 * 행동 -> 뷰가 릴레이를 구독, 이벤트가 방출되면 행동을 실행하도록 바인드 map, flatMap, flatMapLatest * map: 이벤트의 타입을 바꾸면서 그대로 다시 구독할 수 있다. * flatMap: 다른 옵저버블을 만들면서 배출할 수 있다. 상위 옵저버블에서
3 min read

Subject

* 차가운 옵저버블을 뜨거운 옵저버블로 변환해주는 클래스이다. * 옵저버블과 옵저버의 역할을 모두 수행할 수 있다. * 같은 동작의 옵저버블을 모아서 관리할 수 있다. * 마음대로 원하는 시점에 값을 발행할 수 있기 때문에 특히 원하는 데이터가 옵저버블이 아닐 때 편하게 사용 가능하다. PublishSubject * 가장 평범한 Subject 클래스이다. * 발생한 값을 그대로 구독자들에게 전달한다. * subscribe() 이후 데이터
4 min read

Observable

사내 스터디로 ReactiveX 반응형 프로그래밍 스터디를 시작하려는데 안드로이드 개발자분과 같이 진행하기 위해 RxJava 책으로 시작했다. Java는 정말 오랜만이었는데 어차피 Reactive 개념이 포인트라 상관은 없었다. RxJava 프로그래밍 - 예스248가지 핵심 개념으로 쉽게 이해하는 리액티브 프로그래밍 입문서버나 애플리케이션은 다양한 데이터를 처리하느라 늘 분주하다. 그런데 데이터양이 기하급수적으로 늘면서 기존의 프로그래밍 방식으로 이를 처리하기가
2 min read

ReactorKit

사내 프로젝트에서 ReactorKit을 메인으로 사용하고 있다. RxSwift 기반의 단방향 프레임워크이다. View * State에 따른 데이터 표현, bind(reactor: )를 가짐 * bind()에서 View→ Reactor 흐름의 Action, Reactor → View 의 State를 모두 바인딩, enum type을 사용하여 동작 정의 * reactor의 프로퍼티가 변경되는 시점(할당, 초기화 등)에 bind가 실행됨 Reactor * Action, Mutation, State를
2 min read