TCA
-
TCA - Shared StateTCA 2024. 8. 5. 18:35
안녕하세요. 그린입니다 🍏이번 포스팅에서는 TCA에서 사용하는 Shared State에 대해 알아보겠습니다 🙋🏻 해당 포스팅에서는 가볍게 어떤것이고 어떻게 사용하는지에 대해서 살펴볼거에요 😀만약 Shared State에 대해 더 깊게 보시기 위해서는 포인트프리의 Shared State 에피소드를 보시는걸 추천드려요! Composable Architecture › Shared State in PracticeWe refactor two real world code bases to take advantage of the state sharing tools of the Composable Architecture. Along the way we get to delete hundreds of lines o..
-
TCA - Dependency 설계TCA 2024. 6. 29. 15:53
안녕하세요. 그린입니다 🍏이번 포스팅에서는 TCA에서 Dependencies 설계에 대해 알아보겠습니다 🙋🏻Designing dependencies종속성을 기능에 주입하고 테스트를 위해서 재정의하는데 도움이 되는 설계가 필요합니다.즉, 핵심적으로 가져가야할것은 종속성을 제어할 수 있게 만들기 위해서 격리 및 테스트가 가능하게 만드는것이죠! 한단계씩 알아볼까요? Protocol-based dependenciesSwift에서 종속성을 설계하는 방법 중 가장 널리 사용되는것이 프로토콜을 이용하는것입니다.예시로, 아래와 같이 오디오 플레이에 대한 프로토콜을 설계해본다고 가정해봅시다. protocol AudioPlayer { func loop(url: URL) async throws func play(u..
-
TCA 1.0 - Testable Code (ch.09)TCA 2024. 3. 2. 10:14
안녕하세요. 그린입니다 🍏 이번 포스팅에서는 TCA의 Testable Code에 대해 알아보겠습니다🙋🏻 항상 포스팅에서도 소개했지만, TCA 1.0 시리즈 학습은 아래 학습자료를 기반으로 하고 있습니다. 해당 레퍼를 기반으로 학습하면서 제 나름대로 정리해보는 포스팅이기에, 주관적인 사견이 추가됩니다 🙋🏻 Chapter 9. TCA와 Testable Code | Notion 9.1 유닛 테스트 axiomatic-fuschia-666.notion.site 그럼 시작해보겠습니다 🙋🏻 유닛 테스트 TCA를 학습하며 디펜던시에 대해 파고들어봤던 이유 중 하나는 의존성들을 효율적으로 관리하기 위함 즉, 의존성의 동일성을 방해하지 않고 안전히 사용하기 위한 목적 TCA는 액션 단위로 만들기에 테스트에 용이하며 의존성..
-
TCA 1.0 - Navigation (ch.08)TCA 2024. 2. 27. 19:10
안녕하세요. 그린입니다 🍏이번 포스팅에서는 TCA의 Navigation에 대해 알아보겠습니다🙋🏻 항상 포스팅에서도 소개했지만, TCA 1.0 시리즈 학습은 아래 학습자료를 기반으로 하고 있습니다.해당 레퍼를 기반으로 학습하면서 제 나름대로 정리해보는 포스팅이기에, 주관적인 사견이 추가됩니다 🙋🏻 Chapter 8. Navigation | Notion8.1 Navigation이란?axiomatic-fuschia-666.notion.site Navigation이란?글에선 SwiftUI의 sheet와 fullScreenCover도 네비게이션으로 볼 수 있따는데, 방식 자체는 해당 두개는 모달 방식이고 흔히 네비게이션 방식은 화면 흐름 자체가 전환되어 넘어가기에 조금 다르지 않나 개인적으로 생각됨해..
-
TCA 1.0 - MultiStore (ch.07)TCA 2024. 2. 22. 19:10
안녕하세요. 그린입니다 🍏 이번 포스팅에서는 TCA의 MultiStore에 대해 알아보겠습니다🙋🏻 항상 포스팅에서도 소개했지만, TCA 1.0 시리즈 학습은 아래 학습자료를 기반으로 하고 있습니다. 해당 레퍼를 기반으로 학습하면서 제 나름대로 정리해보는 포스팅이기에, 주관적인 사견이 추가됩니다 🙋🏻 Chapter 7. MultiStore | Notion 여기까지 오셨다면 이제 여러분들은 Reducer를 통해 Store를 생성해 View에 출력하는 방법을 모두 익히신겁니다. 하지만 이전보다 앱이 복잡해지고 규모가 커진다면 하나의 Reducer에서 상태관리를 하 axiomatic-fuschia-666.notion.site 그럼 시작하겠습니다 😃 MultiStore 지금까지의 학습을 통해 Reducer로 St..
-
TCA 1.0 - Swift의 비동기 처리와 TCA에서의 응용 (ch.06)TCA 2024. 2. 20. 19:03
안녕하세요. 그린입니다 🍏 이번 포스팅에서는 Swift의 비동기 처리와 TCA에서의 응용에 대해 알아보겠습니다🙋🏻 항상 포스팅에서도 소개했지만, TCA 1.0 시리즈 학습은 아래 학습자료를 기반으로 하고 있습니다. 해당 레퍼를 기반으로 학습하면서 제 나름대로 정리해보는 포스팅이기에, 주관적인 사견이 추가됩니다 🙋🏻 Chapter 6. Swift의 비동기 처리와 TCA에서의 응용 | Notion 이번 장에서는 TCA에서의 비동기 처리를 어떻게 관리하는지 알아보기 전에 Swift Concurrency, 즉 동시성 프로그래밍에 대해 알아보겠습니다. Combine 프레임워크와 달리 동시성 프로그래밍은 Task의 병 axiomatic-fuschia-666.notion.site 그럼 바로 알아보시죠! TCA와 비동..
-
TCA 1.0 - Dependency (ch.05)TCA 2024. 2. 15. 19:00
안녕하세요. 그린입니다 🍏 이번 포스팅에서는 TCA Dependency에 대해 알아보겠습니다🙋🏻 항상 포스팅에서도 소개했지만, TCA 1.0 시리즈 학습은 아래 학습자료를 기반으로 하고 있습니다. 해당 레퍼를 기반으로 학습하면서 제 나름대로 정리해보는 포스팅이기에, 주관적인 사견이 추가됩니다 🙋🏻 Chapter 5. Dependency | Notion 5.1 TCA와 Dependency axiomatic-fuschia-666.notion.site 디펜던시 알아보시죠 🚀 Dependency TCA & Dependency Dependency는 흔히 의존성이라는 뜻을 가짐 네트워크 통신, 파일 액세스, 타이머 등 사이드 이펙트를 일으키는 요소들은 모두 Dependency로 볼 수 있음 TCA Dependenc..
-
TCA 1.0 - TCA Binding (ch.04)TCA 2024. 2. 12. 09:32
안녕하세요. 그린입니다 🍏 이번 포스팅에서는 TCA의 기본개념들을 넘어 또 중요한 파트인 TCA Binding에 대해 알아보겠습니다 🙋🏻 항상 포스팅에서도 소개했지만, TCA 1.0 시리즈 학습은 아래 학습자료를 기반으로 하고 있습니다. 해당 레퍼를 기반으로 학습하면서 제 나름대로 정리해보는 포스팅이기에, 주관적인 사견이 추가됩니다 🙋🏻 Chapter 4. TCA Binding | Notion 4.1 SwiftUI Binding VS TCA Binding axiomatic-fuschia-666.notion.site 그럼 바로 알아보시죠 🚀 TCA Binding SwiftUI Binding vs TCA Binding SwiftUI에선 @State, @Binding, @ObservedObject들을 통해 양..