교육 서비스 iOS 앱 18개를 담당하고 있습니다. 개별 앱을 고치는 일에서 시작해 공통 모듈과 아키텍처, 빌드·배포 환경까지 팀의 개발 기반을 정리하는 쪽으로 범위를 넓혀 왔습니다.
- 공통 기능을 모듈로 분리해 16개 앱에 적용
- Tuist 기반 Micro Feature Architecture 를 6개 앱에 점진 전환
- DevOps 조직이 없는 환경에서 GitHub Actions CI/CD 직접 구축
실무에서 다뤄온 기술을 단계별로 정리하는 시리즈입니다. 같은 앱에 한 단계마다 기술을 하나씩 얹어가며, 여행 플래너 하나를 항공 API 조회와 여행 일정표까지 키우고, 그다음엔 같은 앱을 모듈로 다시 짭니다.
| 단계 | 더하는 것 | |
|---|---|---|
| A | UIKit + MVVM | Programmatic UIKit, 클로저 바인딩 |
| B | Diffable Data Source | 컬렉션 뷰 교체 |
| C | Combine | 클로저 바인딩 → Combine 전환 |
| D | async/await | 항공 API 비동기 조회 |
| E | Clean Architecture | 기능 고정, 구조만 재구성 |
| F | XCTest | Mock 주입으로 UseCase·ViewModel 검증 |
| G | SwiftUI | UIHostingController 상호운용, 새 화면만 SwiftUI |
| H | Swift Package Manager | 로컬 패키지, 리소스 번들과 Bundle.module |
| I | Micro Feature Architecture | 앱을 모듈 36개로 분해, Interface 의존 |
| J | Tuist | 손으로 만들던 .xcodeproj 를 매니페스트로 대체 |
I·J 는 기능을 고정한 채 구조만 바꿉니다 — 앱을 모듈로 쪼개고(I), 그 선언을 Tuist 매니페스트로 옮깁니다(J). 실무에서 16개 앱의 공통 모듈과 6개 앱의 Micro Feature Architecture 전환에 적용해 온 구조입니다.
이후 단계에서 Core Data · CloudKit · APNs · SwiftData · Objective-C 연동 · Swift Testing · UI Test · CI/CD 를 다룹니다.
swift-docc-blog — Swift-DocC 로 만든 개발 블로그이자 포트폴리오입니다. 문서 도구로 블로그를 구성할 수 있는지 시험해 본 저장소입니다.
- WWDC 세션 정리 (2007년 이후 연도별)
- 『Unit Testing Principles, Practices, and Patterns』 1~11장 학습 정리
- 알고리즘 문제 풀이
Languages Swift, Objective-C, Java, C, C++ iOS UIKit, SwiftUI, Combine, Swift Concurrency, WKWebView, CoreData, CoreAudio, StoreKit 2 아키텍처 · 도구 Swift Package Manager, CocoaPods, Tuist, Micro Feature Architecture, GitHub Actions Android · 미디어 Android Framework, 펌웨어 OTA, DLNA(UPnP), FFmpeg
