PublishSubject 빈 상태로 시작하여 새로운 값만을 subscriber 에 방출한다. 구독 이후에 발생하는 모든 이벤트를 전달받는다. let disposeBag = DisposeBag() print("-------publishSubject-------") let publishSubject = PublishSubject() publishSubject.onNext("여러분 안녕하세요?") let 구독자1 = publishSubject .subscribe(onNext: { print($0) }) // .disposed(by: disposeBag) publishSubject.on(.next("1")) publishSubject.onNext("2") let 구독자2 = publishSubject .sub..
RxSwift Swift 에서 ReactiveX를 적용시켜 비동기 프로그래밍을 직관적으로 작성할 수 있도록 도와주는 라이브러리 RxSwift 사용하는 이유 downloadJson 함수를 처리한 다음에 동기적으로 해야하는 작업들이 많아진다면 콜백 지옥이 발생하게 된다. // escaping closure를 사용해서 결과값 전달. func downloadJson(_ url: String, _ completion: @escaping ((String?) -> Void))? { DispatcheQueue.global().async { let url = URL(string: url)! let data = try! Data(contentsOf: url) let json = String(data: data, encod..
Single success 또는 error 이벤트를 한 번만 방출될 수 있다. var disposeBag = DisposeBag() enum TraitsError: Error { case single case maybe case completable } print("-------Single1-------") // 성공시 Single.just(.success("✅")) .subscribe(onSuccess: { print($0) }, onFailure: { _ in print("error") }, onDisposed: { print("disposed") }) .disposed(by: disposeBag) print("-------Single2-------") // 실패시 Observable.just(.fa..
Observable T 형태의 데이터 snapshot 을 전달 할 수 있는 일련의 이벤트를 비동기적으로 생성하는 기능 하나 이상의 observers 가 실시간으로 어떤 이벤트에 반응 세 가지 유형의 이벤트만 방출 enum Event { case next(Element) // next element case error(Swift.Error) // sequence failed with error case completed // sequence terminated successfully } Observable 생명주기 Observable 은 어떤 구성요소를 가지는 next 이벤트를 계속해서 방출할 수 있다. error 이벤트를 방출하여 완전 종료될 수 있다. complete 이벤트를 방출하여 완전 종료 될 수..
- Total
- Today
- Yesterday
- MYSQL
- SQL
- SWIFT
- 리눅스
- logstash
- nginx
- python
- ElasticSearch
- BigData
- 로그
- 네트워크
- flask
- 도커
- pytest
- WEB
- spark
- ios
- network
- linux
- 엘라스틱서치
- docker
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |