TCA
-
TCA 1.0 - TCA의 기본 개념 (2) (ch.03)TCA 2024. 2. 8. 19:00
안녕하세요. 그린입니다 🍏 이번 포스팅에선 저번 TCA의 기본 개념 Part1에 이어 Part2로 기본 개념을 마무리 지어보겠습니다. 항상 포스팅에서도 소개했지만, TCA 1.0 시리즈 학습은 아래 학습자료를 기반으로 하고 있습니다. 해당 레퍼를 기반으로 학습하면서 제 나름대로 정리해보는 포스팅이기에, 주관적인 사견이 추가됩니다 🙋🏻 Chapter 3. TCA의 기본개념(2) | Notion 앞선 장에서 우리는 앱의 상태를 나타내는 State와 이를 변경할 수단인 Action, 그 Action의 기능을 구현하고 상태의 변경을 처리하는 Reducer을 알아보며, TCA에서의 데이터흐름에 대해서 살펴보았습니 axiomatic-fuschia-666.notion.site 그럼 시작해보시죠 😃 TCA의 기본 개념..
-
TCA 1.0 - TCA의 기본 개념 (1) (ch.02)TCA 2024. 2. 5. 19:12
안녕하세요. 그린입니다 🍏 이번 포스팅에선 저번 TCA 1.0 챕터 1에 이어 이제 본격적으로 TCA의 기본 개념을 다루는 첫번째 파트를 학습해볼께요! 저번 포스팅에서도 소개했지만, TCA 1.0 시리즈 학습은 아래 학습자료를 기반으로 하고 있습니다. 해당 레퍼를 기반으로 학습하면서 제 나름대로 정리해보는 포스팅이기에, 주관적인 사견이 추가됩니다 🙋🏻 Chapter 2. TCA의 기본 개념 | Notion 2.1 TCA axiomatic-fuschia-666.notion.site 그럼 바로 시작해볼까요? TCA의 기본 개념 - Part 1 TCA는 단방향 아키텍쳐 사실 MVVM도 단방향 아키텍쳐 뷰가 뷰모델의 상태를 관찰하고 상태에 따라 업데이트 되기 때문에! 여기서 단방향 하는것은 흐름이 하나로 흐르는..
-
TCA 1.0 - Hello, TCA (ch.01)TCA 2024. 2. 1. 18:40
안녕하세요. 그린입니다 🍏 이번부터 TCA에 대한 포스팅을 간간히 학습하면서 해보려하는데요! 메이저 업데이트가 된 1.0을 기준으로 우선 ReducerProtocol을 사용하기전인 기존 버전들과 어떤 차이가 있는지들을 알아보기 위함이 가장 큽니다 😃 사실, 현재 TCA 최신 버전이 1.7까지 올라가면서 Observation의 사용으로 더 많은 변화들이 생겼고 앞으로도 매크로 등 더 많은 변화들로 제가 학습하는 속도보다 훨씬 더 빠르게 변화하고 있을 수 있습니다. 그럼에도 불구하고 왜 1.0으로 학습을 해보려하냐..? 가장 큰 이유는 TCA 공식 사이트의 강의나 문서들 외에 정말 괜찮게 톺아볼 수 있는 강의 자료를 찾았기 때문입니다 🙋🏻 (다시 한번 저자분들께 감사드립니다 🙇🏻) SwiftUI 상태 관리부..
-
TCA - ReducerProtocolTCA 2023. 1. 31. 09:09
안녕하세요. 그린입니다🍏 이번 포스팅에서는 TCA의 ReducerProtocol을 간단히 학습해보려합니다🙌 TCA가 날이 갈수록 업데이트도 빨라지고 더 발전하고 있어요! 현재 버전이 0.50.1까지 나왔으며 그전에 대격변이 0.41.0에서 일어났습니다. 바로 ReducerProtocol의 등장이죠🕺🏻 기존에 TCA에서 Core를 구성할때는 State, Action, Environment들을 별도 struct, enum으로 정의하고 이를 Reducer타입의 상수로 만들어 정의하는 형태였어요. 그런데 이와 반대로 Protocol Programming의 장점도 살리면서 더 적합하게 ReducerProtocol의 사용으로 전부 변화되었으며 장점도 많아졌어요🙏🏻 만약 이전 TCA 구성이 대략적으로 어떻게 되어있었..
-
TCA - Testing Effects (feat. unimplemented)TCA 2022. 10. 31. 11:30
안녕하세요. 그린입니다🍏이번 포스팅에서는 TCA에서 Effect를 테스터블한 환경으로 구성할 수 있는 unimplemented라는 메서드에 대해 알아보겠습니다🙌 umimplemented라는 뜻은 우선 implemented의 반대어죠.개발자들은 항상 구현을 하잖아요?구현이라는 단어인 implement는 익숙할거라 생각해요.그와 반대는 구현되지 않았다는 뜻의 unimplement입니다.(그냥 제가 요즘 영어 공부도 간간히 하려해서 주절주절 써봤네요..!) 결국 "구현되지 않은, 실행되지 않는" 뜻을 가진 메서드일거라 추측합니다. TCA를 사용하면서 리듀서에서 Effect를 방출하면서 흔히 아시는 구현으로 사용하잖아요?근데 이 Effect를 테스트 환경에서는 굳이 결과까지 테스트할 필요가 없이 넘어가는것..
-
TCA - fireAndForgetTCA 2022. 10. 27. 09:40
안녕하세요. 그린입니다🍏 이번 포스팅에서는 TCA의 fireAndForget에 대해 학습해보겠습니다🙌 우선 fireAndForget이라는 용어가 생소할 수 있습니다! 그냥 대충 추측을 해보면 "불지르고 잊어버리기"의 느낌으로 무언가 결과를 신경 쓰지 않을것 같은 느낌이 들어요. 실제로 군사적인 용어에서는 Fire And Forget이라고 해서 3세대 미사일 유도 방식 중 하나라고 하네요. 발사 버튼만 누르고 나면 사람이 더 이상은 미사일을 유도하거나 건드리지 않아도 된다는 뜻으로 자동으로 목표물을 찾아가 명중한데요🚀 https://ko.wikipedia.org/wiki/파이어_앤_포겟 파이어 앤 포겟 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 파이어 앤 포겟(영어: fire-a..
-
TCA - concatenate & merge (여러 Effect를 단일 Effect로 만들기)TCA 2022. 10. 25. 14:54
안녕하세요. 그린입니다🍏 이번 포스팅에서는 TCA의 Effect편입니다. Effect를 병합하는 대표적인 두개의 방법 concatenate와 merge에 대해 알아보겠습니다🙌 예전에 제가 포스팅으로 Rx를 학습하면서 concat과 merge에 대해 소개하면서 차이점을 알아본적이 있습니다. TCA에서 Effect라고 해서 다를게 없어요. Observable, Publisher랑 동일하게 작동합니다 원리는! 그렇기에 만약 TCA에서 낯선것처럼 느껴지시면 아래 포스팅을 보고 오시는것도 좋아요🙏🏻 https://green1229.tistory.com/166 concat & merge 안녕하세요. 그린입니다🟢 이번 포스팅에서는 concat과 merge에 대해 학습해보겠습니다🧑🏻💻 일단 두 단어의 사전적인 의미부..
-
TCA - ThrottlingTCA 2022. 10. 20. 10:18
안녕하세요. 그린입니다🍏 이번 포스팅에서는 지난 Debouncing에 이어 TCA에서의 Throttling에 대해 학습하겠습니다🙌 혹 Debouncing 포스팅을 보지 않으셨으면 이번 Throttling과 비교가 될거라 먼저 보고 오시면 도움이 됩니다ㅎㅎ https://green1229.tistory.com/290 TCA - Debouncing 안녕하세요. 그린입니다🍏 이번 포스팅에서는 TCA의 Debouncing에 대해 학습해보겠습니다🙌 Debounce? Debouncing이라는건 우선 뭘 뜻하는 걸까요? 예전에 제가 Rx를 공부하면서 Debounce와 Throttle을 포스 green1229.tistory.com 우선 Throttling을 알아보기전에 Rx나 Combine에서 쓰이는 Debounc와 ..