본문 바로가기

OpenCombine4

[Combine] 스케줄링을 위한 subscribe(on:)과 receive(on:)의 원리 (with OpenCombine) Combine 탐구 시리즈 1. Publisher와 Subscriber 그리고 Subscription(with OpenCombine) 2. Cancellable 탐구 (with OpenCombine) 3. Combine과 Backpressure (with OpenCombine, RxSwift) 오늘은 OpenCombine을 기반으로 Combine에 대해 Deep Dive 하는 4번째 글입니다! 많은 분들이 사용하고 있지만 정확히 어떻게 동작하는지 잘 모르는 스케줄러 지정 연산자(Sepecifying Schedulers)가 주제입니다. 이번 글은 Combine의 구독 생성 과정에 대한 사전 지식이 필요합니다. 제 지난 글의 내용이 사전 지식으로 필요하니 참고 부탁드립니다!! Specifying Schedu.. 2024. 1. 16.
[Combine] Combine과 Backpressure (with OpenCombine, RxSwift) Combine 탐구 시리즈 1. Publisher와 Subscriber 그리고 Subscription(with OpenCombine) 2. Cancellable 탐구 (with OpenCombine) 오늘은 OpenCombine을 기반으로 Combine의 Backpressure 전략에 대해 알아보도록 하겠습니다!! 추가로 RxSwift의 Backpressure와의 차이점에 대해서도 살펴보겠습니다. Backpressure란? Backpressure라는 단어 자체를 처음 들어본 분들도 꽤 있을 것 같습니다. 저 또한 익숙한 단어는 아니었는데 사전적 의미는 다음과 같습니다. "기체를 배출하는 쪽의 압력"이라고 용어 사전에 적혀있습니다. 배압 또는 역압이라고도 하며 흐름 방향의 반대 압력을 막연하게 배압(bac.. 2023. 12. 14.
[Combine] Cancellable 탐구 (with OpenCombine) Combine 탐구 시리즈 1. Publisher와 Subscriber 그리고 Subscription(with OpenCombine) 지난번 Publisher, Subscriber, Subscription 학습에 이어서 오늘은 Combine의 Cancellable에 대해 깊게 공부해 보도록 하겠습니다. 오늘도 역시 OpenCombine을 기반으로 코드 레벨까지 내려가 Combine에서 Cancel이 발생하는 과정에 대해 살펴보겠습니다. Cancel은 무엇일까? 우선 가장 먼저 생각해봐야 할 것은 cancel 자체에 대한 개념입니다. Combine에서는 cancel을 공식적으로 지원합니다. 공식 문서를 보면 Cancellable 프로토콜이 cancel 함수를 명시하고 있습니다. 이 함수의 역할은 Cance.. 2023. 11. 22.
[Combine] Publisher와 Subscriber 그리고 Subscription (with OpenCombine) 최근 Combine 스터디를 진행하면서 단순히 Combine의 사용법을 넘어 코드 레벨에서의 학습에 대한 흥미가 생겼습니다. 마침 스터디를 같이 하고 있는 분이 좋은 자료를 알려주셨는데 바로 OpenCombine입니다. 애플에서는 기본적으로 Combine의 구현 코드를 공개하고 있지 않습니다. 따라서, 개발자들은 내부적인 동작 원리를 유추하거나 RxSwift의 코드를 참고해서 파악할 수 밖에 없었는데 마침 해외의 어떤 개발자분이 Combine을 직접 구현해서 공개를 한 레포지토리가 있었습니다. https://github.com/OpenCombine/OpenCombine GitHub - OpenCombine/OpenCombine: Open source implementation of Apple's Comb.. 2023. 11. 15.