- μλ‘μ΄ κ³΅μ§ μ¬νμ μ± νΈμ μλ¦ΌμΌλ‘ μ λ¬νλ κ³΅μ§ μ¬ν μ리미μ λν μνμ νμν μ 보λ₯Ό λΉ λ₯΄κ² μ λ¬νλ μΊ νΌμ€ μν μ νΈλ¦¬ν°
- KNUTICE iOS μ΄ν리μΌμ΄μ κΈ°ν, μ€κ³, κ°λ°, λμμΈ
Swift,iOS,UIKit,SwiftUI,MVVM,Clean Architecture,TCA,RxSwift,Combine,Swift Concurrency,Tuist,Alamofire,CoreData,Firebase,Xcode Cloud,XCTest
νλ‘μ νΈ κΈ°νλΆν° κ°λ°, μ€μ μ±μ€ν μ΄ λ°°ν¬μ μ΄λ₯΄κΈ°κΉμ§ μλΉμ€ λ°μΉκ³Ό μ΄μ μ κ³Όμ μ μ§μ μ£Όλμ μΌλ‘ κ²½νν μ μμμ
- UIKit, SwiftUI
- Storyboard μμ΄ μ½λ λ² μ΄μ€λ‘ UIλ₯Ό ꡬννλ λ°©λ²μ λν΄ μκ² λμμ
- Auto Layoutμ νμ©νμ¬ λ€μν νλ©΄ ν¬κΈ°μ λ°©ν₯μμ Viewλ₯Ό λ°°μΉνκ³ , λμ μΌλ‘ λ³νλ UI μμμ μ μ°νκ² λμνλ λ°©λ²μ μκ² λμμ
- SwiftUIμ λ°μ΄ν° μνμ λ°λ₯Έ View κ°±μ μκ³ λ¦¬μ¦κ³Ό λ°μ΄ν° μμ‘΄μ±μ λΆλ¦¬νμ¬ SwiftUIμ μ±λ₯μ ν₯μνλ λ°©λ²μ μκ² λμμ
- Combine, RxSwift
- λΉλκΈ° λ€νΈμν¬ μμ²κ³Ό μλ΅μ μ²λ¦¬νκΈ° μν΄ Publisherμ Subscriber κΈ°λ°μ λ°μ΄ν° μ€νΈλ¦Όμ μμ±νμ¬ λ°μν νλ‘κ·Έλλ°μ ꡬννλ λ°©λ²μ λν΄ μκ² λμμ
- Combineμμ μ 곡νλ λ€μν μ°μ°μ(map, flatMap, merge, debounce λ±)λ₯Ό νμ©νμ¬ λ°μ΄ν°λ₯Ό λ³ν, ν΅ν©νλ λ°©λ²μ λν΄ μκ² λμμ
- Combineκ³Ό RxCocoaλ₯Ό νμ©νμ¬ Viewμ ViewModel μ¬μ΄μμ λ°μ΄ν° λ°μΈλ©μ ꡬννλ λ°©λ²μ λν΄ μκ² λμμ
- Swift Concurrency
- GCD λλΉ Swift Concurrencyκ° κ°μ§λ μ±λ₯μ μ₯μ μ μ΄ν΄νκ³ μ¬μ©ν μ μμ
- async/await, async-let, Task Tree, Actor λ±μ νμ©νμ¬ λΉλκΈ° μ½λμμ ꡬ쑰μ νλ‘κ·Έλλ°μ΄ κ°λ₯νλλ‘ μ½λλ₯Ό μμ±νλ λ°©λ²μ μκ² λμμ
- Core Data
- Persistent Storageμ λ°μ΄ν° CRUD(μ μ₯, μ‘°ν, κ°±μ , μμ ) λ°©λ²μ λν΄ μκ² λμμ
- CI/CD
- Xcode Cloudλ₯Ό μ΄μ©ν CI/CD νκ²½ κ΅¬μΆ λ° λΉλ μλν, ν μ€νΈ μλν, λ°°ν¬ μλν νμ΄νλΌμΈ ꡬμΆνλ λ°©λ²μ λν΄ μκ² λμμ







