![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/w9jJU/btqxXa4A1wQ/7bkArHWZwjY8ILsLb2Hg11/img.png)
스케쥴러는 프로그램의 세부 일정을 주관하는 관리자라고 생각하면 좋습니다. 그 동안 RxJava를 사용하여 구현해온 코드들은 모두 main Thread에서 동작하는 코드입니다. 그런데 실무에서는 요구 사항에 따라 비동기로 동작할 수 있도록 스레드를 지정할 수 있어야 합니다. (메인 스레드로 고정된 것을 바꾸어야 함) 스케쥴러는 스레드를 지정할 수 있게 해줍니다. 새로운 스레드를 생성하거나 기존의 Executors를 활용하는 것을 넘어서 새로운 방식으로 동작이 이루어 집니다. 스레드를 만들면서 경쟁 조건이나 synchronized 키워드를 사용했다면 스케쥴러는 이와 같은 것들을 신경 쓸 필요가 없어집니다. flip()의 기능 보다는 시간 표시줄에 더 집중해서 살필 필요가 있습니다. 위 마블 다이어그램을 코드..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/BPMXP/btqxGvVuRiN/FGZeBEGlKwOckSAzynhKsK/img.png)
리액티브 X에는 다양한 연산자 함수가 있습니다. 이 연산자 함수들의 개수는 Rx 버전이 올라갈수록 계속 증가하고 있습니다. 하지만 기본적인 함수들을 익혀놓으면 이후에는 필수 연산자에서 파생된 연산자 함수들이기 때문에 이해할 수 있습니다. 리액티브 연산자의 특징은 언어 특성과 크게 연관이 없습니다. RxJava, RxKotlin, RxJS, RxSwift 등 언어적인 부분에서 말고는 연산자의 기능이 크게 다르지 않습니다. 리액티브 연산자는 함수형 프로그래밍 관점에서 보았을 때 순수 함수입니다. 이번 포스트에서는 다양한 연산자 함수 중 변환 연산자에 대해 알아보도록 하겠습니다. Transforming 연산자에는 map()과 flatMap() 두 가지가 있습니다. 1. map() 함수 map() 함수는 입력된..
이번 포스트에서는 RxJava를 사용하여 간단하게 EditText에 Debounce를 구현하는 시간을 가져보도록 하겠습니다. 우선 시작하기에 앞서 Debounce가 무엇인지 알아보고 가도록 하겠습니다. Debounce vs. Throttle Debounce를 더 잘 설명하기 위해 비슷한 개념 중 하나인 Throttle과 함께 설명하도록 하겠습니다. Scrolling Event가 발생 할 때 마다 호출되는 Call Back이 있다고 가정해보도록 합시다. 이 말은 1px만 스크롤되어도 이벤트가 발생한다는 것을 의미합니다. 이런 Scrolling Event에 매 번 Call Back이 발생한다면 어떨까요? 그리고 그 Call Back이 수행하는 일이 리소스를 굉장히 많이 먹는 작업이라면 어떨까요? Thrott..
RxJava란 RxJava란 Reactive Programming을 하기위한 라이브러리인 Rx(Reactive Extensions)의 JVM판입니다. StreamAPI + 비동기 콜백같은 느낌. 이벤트를 정의한 Observable 인스턴스에 대해 짧은 함수를 엮은(체인) 스트림같이 이벤트 결과 데이터를 가공하는 처리를 정의, 지연실행, 비동기 콜백을 할 수있다. 기본적인 사용법 처리를 싱행하고 결과를 전달하는 Observable, 결과를 수신할때의 처리를 정하는 Observer를 사용한다. 우선 “Hello”와 “world”라는 2개의 문자열을 결과로 전달하는 심플한 Observable를 생성해보자. ※java.util.Observable가 아니므로 주의 Observable myObservable = O..
- Total
- Today
- Yesterday
- XCode
- retrofit
- 함수형프로그래밍
- Rxjava
- apple
- ios
- Reactive programming
- Elliotable
- watchos
- 알고리즘
- Apple Watch
- 컬렉션
- 상속
- databinding
- 오토레이아웃
- Notissu
- 함수형
- java
- C++
- 스위프트
- android
- Kotlin
- 코틀린
- Swift
- 안드로이드
- 아이폰
- CloudComputing
- 애플워치
- Auto Layout
- SwiftUI
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |