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์ ..