์ ์ฒด ๊ธ
-
Meet the Screen Time API (WWDC21)iOS 2024. 3. 14. 19:00
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ Screen Time API์ ๋ํด ์์๋ณด๋ ค ํฉ๋๋ค ๐๐ป ๋์จ์ง ๊ฝค ๋์์ง๋ง, ์ด์ ์ผ ๊ถ๊ธํด์ ํ๋ฒ ํ์ตํด๋ณด๋ ค๊ณ ํด์ใ ใ ํ์ต ๋ ํผ๋ฐ์ค๋ WWDC๋ฅผ ๊ธฐ์ค์ผ๋ก ์์๋ด ๋๋ค! Meet the Screen Time API 2021๋ WWDC์์ Meet the Screen Time API๋ผ๋ ์น์ ์์ ์ฒ์ ์ด API๊ฐ ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง ์๊ฐํ๊ณ ์์ต๋๋ค. ์ฌ์ค ๋์จ์ง๋ 3๋ ์ ์ธ 2018๋ ์ ๊ธฐ๋ฅ ์์ฒด๋ ๋์์ฃ ! ๋๋ฐ์ด์ค๋ฅผ ํตํด ์ฌ์ฉ์์ ๊ฐ์กฑ์ ๊ด๊ณ๋ฅผ ๊ฐ์ ํ๋๋ฐ ํฐ ์ง์ ์ด ์์๋ค๊ณ ํฉ๋๋ค. ์ค์ ๋ก ๊ฐ์ฅ ํฐ ์ฌ์ฉ์ฌ๋ก์ด์ ์ํ๋ ์๋๋ ์์ด์ ๊ด๋ จ์ด ์์๊ฒ๋๋ค. ์๋ ๋ค์ ๋ ๋ถ๋ชจ๋๋ค์ด ์๋ ์ ๋๋ฐ์ด์ค์์ ์ฑ ์ฌ์ฉ ์๊ฐ๋ค์ ํ์ ํ ์ ์๊ณ , ๋ ์ ํ์ ๊ฑธ ์๋ ์์ต๋๋ค. ์ด๋ฅผ..
-
Firebase - Remote ConfigLibrary 2024. 3. 11. 18:59
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ ํ์ด์ด๋ฒ ์ด์ค์ Remote Config ๊ธฐ๋ฅ ์ฌ์ฉ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฐ์ ํ์ด์ด๋ฒ ์ด์ค์์ ์ ๊ณตํ๋ Remote Config๊ฐ ๋ฌด์์ธ์ง ํ๋ฒ ์ง๊ณ ๊ฐ๊น์? Firebase Remote Config? ํ์ด์ด๋ฒ ์ด์ค์์๋ Remote Config๋ผ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํด์ฃผ๋๋ฐ์. ํด๋น ๊ธฐ๋ฅ์ ํด๋ผ์ฐ๋์์ ์ฑ์ ๋งค๊ฐ๋ณ์๋ฅผ ์ ์ํด์ ๊ฐ์ ์ ๋ฐ์ดํธํ๋ฉด ์ฑ์ ๋ค์ ๋ฐฐํฌํ์ง ์์๋ ์ฑ์ ๋ทฐ๋ ๊ธฐ๋ฅ์ ์์ ํ ์ ์์ต๋๋ค. ์ฆ, ์๋ฒ์ ์๋ ์๊ฒฉ ๊ฐ์ ์ด์ฉํ์ฌ, ์ค์๊ฐ์ผ๋ก ๋ฆฌ์ค๋๋ฅผ ํตํด ์ ๋ฐ์ดํธ ๋ฐ์ ์ฑ์ ์ํ๋ฅผ ๋ณ๊ฒฝ์์ผ์ค ์ ์์ฃ . ์ด๋ป๊ฒ ์ ํ์ฉ๋๋๋ฉด, ์ฃผ๋ก ์ฑ์ ๊ฐ์ ์ ๋ฐ์ดํธ๋ ์ผ์์ ์ธ ์ ๊ฒ์ด ํ์ํ ๋ ์ด ์ปจํธ๋กคํด์ค ๊ฐ์ Remote Config๋ฅผ ํตํด ์ค์ ํ๊ณ ์ฑ์์๋ ..
-
SwiftUI - AppStorageSwiftUI 2024. 3. 7. 19:10
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์์ ์ฌ์ฉ๋๋ AppStorage์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ด๋ฒ ํฌ์คํ ์ ๋ด์ฉ์ UserDefaults๋ฅผ ์๋ค๋ ๊ฐ์ ํ์ ์งํํ๋ฉฐ, ๋ด์ฉ์ ์งง์ต๋๋คใ ใ AppStorage? AppStorage๋ UserDefaults๋ก ๋ถํฐ ๊ฐ์ ๋ฐ์ํ๊ณ ๊ฐ ๋ณ๊ฒฝ์ ๋ํ ๋ทฐ๋ฅผ ๋ฌดํจํํ๋ ํ๋กํผํฐ ๋ํผ๋ก ์ฌ์ฉ๋๋ ๊ตฌ์กฐ์ฒด์ ๋๋ค. iOS 14์ดํ๋ถํฐ ์ฌ์ฉํ ์ ์๊ณ ๊ตฌํ๋ ์ ์๋ ์๋์ ๊ฐ์ต๋๋ค. ์ฆ, ์ฝ๊ฒ ์๊ฐํ๋ฉด UserDefaults์ SwiftUI์ฉ์ด๋ผ๊ณ ๋ณด๋ฉด ๋ฉ๋๋ค. @frozen @propertyWrapper struct AppStorage ๊ธฐ๋ณธ์ ์ธ ์ด๋์ ๋ผ์ด์ ํํ๋ ์ด๋ฌํด์. init( wrappedValue: Value, _ key: String, ..
-
New access modifier - packageSwift 2024. 3. 4. 19:08
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ Swift 5.9์์ ์๋ก ๋์จ ์ ๊ทผ ์ ์ด์์ธ package์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค ๐๐ป ๋์จ ๋ฐฐ๊ฒฝ ์๋ ๊ธฐ์กด์ ์ ๊ทผ์ ์ด์๋ผ๊ณ ํ๋ฉด ํํ ์๊ณ ์๋ 5๊ฐ์ง๊ฐ ์์ฃ ! open, public, internal, fileprivate, private ๋ง์ฝ ์ฌ๋ฌ๋ถ๋ค์ด ๋ชจ๋ํ๋ฅผ ์ํค๊ณ ๋ค๋ฅธ ๋ชจ๋ ํจํค์ง์ ์ฝ๋๋ฅผ ๊ฐ์ ธ์ ์ฌ์ฉํ๋ค๊ณ ๊ฐ์ ํ ๋, ๋๋ถ๋ถ public์ผ๋ก ์์ ํ์๊ฒ๋๋ค. ์ ๋ ๋ฌผ๋ก ๊ทธ๋ ๊ตฌ์..! ์ฌ๊ธฐ์ public์ผ๋ก ์์ ํ๊ฒ๋๋ฉด, ํจํค์ง ๋ด๋ถ์ ์ธ๋ถ ๋ชจ๋์์ ์ ๊ทผํ ์ ์๊ฒ ๋ฉ๋๋ค. ์ด ๊ฒฝ์ฐ๋ ํธ๋ฆฌํ๊ธด ํ์ง๋ง, ๋ฐ๋์งํ์ง ์์๋๋ ์์ต๋๋ค ๐ฅฒ ํจํค์ง ์ธ๋ถ์ ์ฝ๋๋ฅผ ๊ณต์ ํ์ง ์๊ณ ํจํค์ง ๋ด์ ๋ชจ๋ ๊ฐ์ ์ฝ๋๋ฅผ ๊ณต์ ํ์ฌ์ผ ํ๋ ๊ฒฝ์ฐ๋ ์์ผ๋๊น ๋ง์ด์ฃ ! ๊ทธ๋ ๊ธฐ์, ์ด..
-
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์ ๋น๋..