์ ์ฒด ๊ธ
-
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๋ค์ ํตํด ์..
-
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 ์ํ ๊ด๋ฆฌ๋ถ..
-
Sequence๋ฅผ ์์๋ณด์ ๐คฟSwift 2024. 1. 29. 19:06
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ Swift์ Sequence์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป Sequence์ ๋ํด ์ง์ ์ ์ ์๋๋๋ผ๋ ๋ชจ๋ ๊ฐ๋ฐํ์๋ฉด์ ์๊ฒ ๋ชจ๋ฅด๊ฒ ์ค๋ฉฐ๋ค์ด ์์ต๋๋ค! Array, Dictionary, Set ๊ฐ์ Collection ํ์ ๋ค์ ์์ฃผ ์ฌ์ฉํ์คํ ๋ฐ์. ์ด ์ปฌ๋ ์ ํ์ ๋ค์ Sequence ํ๋กํ ์ฝ์ ์ฑํํ๊ณ ์์ด์. protocol Collection : Sequence ๊ทธ๋ ๊ธฐ์ ์ด ์ํ์ค๊ฐ ๋์ฒด ์ด๋ค๊ฑฐ๊ณ ๊ธฐ๋ณธ ์ปฌ๋ ์ ํ์ ๋ค์ ์ฌ์ฉํ์ง ์๊ณ ์ํ์ค ํ์ ์ ๋ง๋ค์ด๋ณด๋๊ฒ๋ค์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. Sequence ์์๋ผ๋ ๋ป์ ๊ฐ์ง ์ด ์ํ์ค ํ๋กํ ์ฝ์ ํด๋น ์์์ ๋ํด ์์ฐจ์ ์ด๊ณ ๋ฐ๋ณต์ ์ธ ์ก์ธ์ค๋ฅผ ์ ๊ณตํ๋ ์ ํ์ ๋๋ค. ์๋์ ๊ฐ์ ์ ์๋ฅผ ๊ฐ์ ธ์. protocol Sequ..
-
Assertions & PreconditionsSwift 2024. 1. 25. 19:57
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ Assertions๊ณผ Preconditions์ด๋ผ๋ ๊ฐ๋ ๊ณผ ์ค์ ์ฌ์ฉ๋๋ ๋ฉ์๋๋ค์ ์ดํด๋ณผ๊น ํฉ๋๋ค ๐๐ป ์ฐ์ Assertions์ Preconditions๊ฐ ์ด๋ค ๊ฐ๋ ์ธ์ง๋ถํฐ ์์๋ณด๋ฉด ์ข์๊ฒ ๊ฐ๋ค์! Assertions & Preconditions ๋๊ฐ์ง ๋ชจ๋ ๋ฐํ์์์ ์ฌ์ฉํ ์ ์๋ ์กฐ๊ฑด ๊ฒ์ฌ์ ๋๋ค. ์ถ๊ฐ ์ฝ๋๋ฅผ ์คํํ๊ธฐ ์ ์ ํด๋น ํ์ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋๋์ง ํ์ธํ๋๋ฐ ์ฌ์ฉํ์ฃ . ์กฐ๊ฑด์ Bool ํ์ ์ผ๋ก ๊ฒฐ๊ตญ true์ด๋ฉด ๋ค์ ์ฝ๋๋ฅผ ์ด์์์ด ์ํํ๊ณ ๋ง์ฝ false์ด๋ฉด ๋ ์ด์ ์ฝ๋๋ฅผ ์คํํ์ง ์๊ณ ์ฑ์ ์ฃฝ์ฌ๋ฒ๋ฆฝ๋๋ค! ๋ฐํ์ ์๋ฌ๊ฐ ๋ฐ์ํ์ฃ ! ์ฆ, ๊ฐ์ ๋ก ์ฑ์ ๊บผ๋ฒ๋ฆด ์ ์๋ค๋ ํน์ง์ด์ ๋จ์ ์ด ๋ ์ ์๋ ๋ถ๋ถ์ด ํต์ฌ์ ์ด๋ผ๊ณ ๋ณด์ ๋๋ค ๐ค ๊ทธ๋ผ์ผ๋ก ์ฌ์ค ์น๋ช ..
-
UIKit์์ ViewController๊ฐ ๋ฐ์ดํฐ ์ ๋ฌiOS 2024. 1. 22. 19:06
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ UIKit์์ ViewController๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค ๐๐ป iOS ๊ฐ๋ฐ์ ์ฒ์ ์ ํ๋ฉด์ UIKit์ ํ์ตํ์๋๋ถ๋ค์ด ์ข ์ข ViewController๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์ ๋ฌํ๋์ง ๋ง๋งํด ํ์๋๊ฑธ ๋ฆฌ๋ทฐ๋ ๋ฉํ ํ๋์ ํ๋ฉด์ ๋ด์ ํ๋ฒ ๊ฐ๋จํ ๋ํ์ ์ธ ๋ฐฉ๋ฒ๋ค์ ์ ๋ฆฌํด๋ณด๊ณ ์ ํ์๋๋ฐ ๋ฏธ๋ฃจ๊ณ ๋ฏธ๋ฃจ๋ค๊ฐ ์ด์ ์์ผ ํด๋ณด๊ฒ ๋์๋ค์..! ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๋ฐฉ์๋ค์ ์ ๋ง ๋ค์ํ๊ฒ ์ง๋ง, ์ด๋ฒ ํฌ์คํ ์์๋ ๊ฐ์ฅ ๋ํ์ ์ธ ์ง์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ๋ค์ ๋ช๊ฐ์ง ๊ฐ์ด ์์๋ณผ๊น ํฉ๋๋ค ๐ ๊ทธ๋ผ ๋ฐ๋ก ์๋ค์ด๊ฐ๋๋ค~ ์ง์ ํ๋กํผํฐ ์ ๊ทผ ๊ฐ์ฅ ๋จผ์ ์ฝ๊ฒ ํด๋ณผ ์ ์๋ ๋ฐฉ๋ฒ์ VC์ ํ๋กํผํฐ์ ์ง์ ์ ์ผ๋ก ์ ๊ทผํด์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๊ฐ๋จํ๊ฒ ์์..