
defualtIfEmpty 어떠한 배출 값도 없을 때 또는 빈 프로듀서가 나타날때 Default 값을 배출한다. Code Observable.range(0, 10) .filter { it > 10 } .defaultIfEmpty(15) .subscribe{println("Receive $it")} 결과 예외 만약 필터링에 Observable.range(0, 10) .filter { it > 8 } .defaultIfEmpty(15) .subscribe{println("Receive $it")} 배출되는 값이 있을경우 .defaultIfEmpty(15) 는 출력 되지 않는다. 결과 switchIfEmpty 어떠한 배출값도 없는경우 Default Observable을 반환 할수 있다. Code Observa..

먼저 https://apps.apple.com/kr/app/realm-browser/id1007457278?mt=12 Realm Browser Realm Browser is a viewer and editor for .realm data store files. It allows developers implementing Realm in their apps to easily view and debug the contents of the .realm files their apps have created. Features: - View all of the objects in a .realm file apps.apple.com 맥용 Realm Browser 를 설치해 줍니다. 설치후 실행해 보면 아래와 같은..
API를 통해 들어온 데이터를 Codable 을 통해 Model 에 Mapping 시키고 다시 해당 데이터를 Realm에 바로 넣는 방법에 대해 알아 보겠습니다. 예시 Json Data 구조 입니다. { "string_data": "18C", "array_data1": [ { "language_code": "en", "name": "English" }, { "language_code": "ja", "name": "Japanese" } ], "array_in_object": { "array_data2" : [ { "title": "test1", "name": "test1 입니다." }, { "title": "test2", "name": "test2 입니다." } ] } } 이제 모델들을 정의 해보겠습니다...
Observable(여기서는 생산자라 지칭 하겠다) 은 Observer(여기서는 소비자라 지칭 하겠다)의 소비량이 늦어질경우 , 즉 소비량이 배출량을 따라가지 못 할 경우 Out of memorry등 여러가지 문제점이 생기는데, 이 문제를 해결하기 위해 소비자와 생산자의 소통이 필요한데, 이러한 소통을 가능하게 하는게 BackPressure 다. 이를 통해 소비자가 생산자에게 배출에 대한 처리가 완료 될때까지 기다리라고 요청할 수 있으며, 소비자의 메시지 처리량이 포화상태가 되거나 응답하지 않는 것을 막을 수 있고, 생산자는 배출 속도를 줄일 수 있다. Observable과 Observer 는 따로 백프레셔를 지원하지 않는데, 대신 Flowerbles 와 Subscriber를 사용할수 있다. 이부분은 다..