# 김부성의 개발 노트

Swift, UIKit, SwiftUI, iOS와 macOS 앱 개발 기록입니다.

## Articles

- [macOS 앱에 Python 런타임과 pip 패키지 완전히 내장하기](https://blog.skyline23.com/31/index.md): Swift macOS 앱에 Python 런타임과 pip 패키지를 포함하는 방법. Python.framework 구성, OpenSSL 의존성, 네이티브 확장과 코드 서명 문제를 다룹니다.
- [SwiftUI - 조심스러운 첫 걸음](https://blog.skyline23.com/30/index.md): UIKit 개발을 하다 SwiftUI 공부를 시작한 기록. SwiftUI를 배우게 된 계기와 첫 학습 과정을 담았습니다.
- [NSLock](https://blog.skyline23.com/29/index.md): NSLock으로 공유 데이터에 대한 동시 접근을 제어하는 방법. Thread-Safe의 의미와 lock·unlock 사용 예제를 다룹니다.
- [Core Animation Pipeline](https://blog.skyline23.com/28/index.md): Core Animation의 화면 렌더링 과정. Commit Transaction, Layout, Display, Render Server와 GPU 단계를 따라갑니다.
- [defer](https://blog.skyline23.com/27/index.md): Swift defer의 실행 시점과 순서. 여러 defer 문, 중첩 스코프와 종료 시 정리 작업을 예제 코드로 확인합니다.
- [CADisplayLink](https://blog.skyline23.com/26/index.md): CADisplayLink로 화면 갱신에 맞춰 코드를 실행하는 방법. 프레임률 측정 예제와 주사율 제어를 다룹니다.
- [UI작업이 Main Thread에서 이뤄져야 하는 이유](https://blog.skyline23.com/25/index.md): iOS의 UI 작업을 메인 스레드에서 처리하는 이유. UI 이벤트 처리, 동시 접근 문제와 View Drawing Cycle을 살펴봅니다.
- [CGRect, CGSize, CGPoint에 대하여](https://blog.skyline23.com/24/index.md): CGPoint, CGSize, CGRect의 관계와 좌표·크기 표현 방식. UIKit 화면의 위치와 크기를 코드로 지정하는 예제를 담았습니다.
- [iOS 앱 v1.0.2 업데이트 - 2021.12.10](https://blog.skyline23.com/23/index.md): 일기 앱 v1.0.2에 영어를 추가한 기록. 한국어로 만들었던 앱을 영어 환경에서도 사용할 수 있도록 수정했습니다.
- [iOS 앱 v1.0.1 업데이트 - 2021.12.06. ~ 2021.12.07](https://blog.skyline23.com/22/index.md): 일기 앱 v1.0.1의 버그 수정 기록. 빈 태그 입력 검증과 앱 삭제 후에도 로그인 상태가 남는 문제를 처리했습니다.
- [iOS 앱 심사를 위한 유지보수 - 2021.12.01](https://blog.skyline23.com/21/index.md): 일기 앱의 App Store 심사 전 유지보수 기록. 이메일 인증 버튼의 활성화 조건과 생체인증 잠금 해제를 수정했습니다.
- [iOS 테스팅 전 마무리 - 2021.11.07 ~ 2021.11.09](https://blog.skyline23.com/18/index.md): 일기 앱 테스트 전 검색·회원가입·비밀번호 기능을 마무리한 기록. DiaryService와 RxDataSource로 검색 결과를 표시했습니다.
- [11주차 iOS - 2021.10.31 ~ 2021.11.06](https://blog.skyline23.com/17/index.md): 일기 앱의 인증·네트워크 서비스 구현 기록. 서비스 주입, Reactor, 다크 모드, 네트워크 오류 처리와 SwiftMessages를 다룹니다.
- [10주차 iOS - 2021.10.24 ~ 2021.10.30](https://blog.skyline23.com/16/index.md): Instruments로 일기 앱의 메모리 누수를 점검한 기록. DiaryTextField의 누수 원인을 확인하고 네트워크 기능을 추가했습니다.
- [9주차 iOS - 2021.10.17 ~ 2021.10.23](https://blog.skyline23.com/15/index.md): 일기 앱 테마 설정의 섹션과 셀 선택 처리를 분리한 기록. ThemeCell과 AppearanceCell의 선택 후 화면 갱신을 수정했습니다.
- [8주차 iOS - 2021.10.10 ~ 2021.10.16](https://blog.skyline23.com/14/index.md): 일기 앱의 라이트·다크 모드 선택 화면 구현. Theme View의 Controller, Reactor와 AppearanceSelectCell을 추가했습니다.
- [7주차 iOS - 2021.10.03 ~ 2021.10.09](https://blog.skyline23.com/13/index.md): 일기 앱에 Search View와 DiarySearchBar를 추가한 기록. 검색창의 뒤로 가기 버튼, Clear 버튼 색과 Diary 모델을 수정했습니다.
- [6주차 iOS - 2021.09.26 ~ 2021.10.02](https://blog.skyline23.com/12/index.md): 일기 앱의 입력 검증과 로그인 화면을 수정한 기록. 비어 있는 DiaryTextField의 오류 메시지와 소셜 로그인 레이아웃을 다룹니다.
- [5주차 iOS - 2021.09.19 ~ 2021.09.25](https://blog.skyline23.com/11/index.md): 작은 iPhone에서도 일기 앱을 사용할 수 있도록 레이아웃을 수정한 기록. Floating View, 글쓰기 화면과 캘린더 문제를 다룹니다.
- [4주차 iOS - 2021.09.12 ~ 2021.09.18](https://blog.skyline23.com/9/index.md): RealmService와 UserService를 분리하고 Reactor에 주입한 기록. Floating Panel 사용성과 일기 앱의 UI도 수정했습니다.
- [3주차 iOS - 2021.09.05 ~ 2021.09.11](https://blog.skyline23.com/8/index.md): 일기 앱 오늘하루에 Realm DB와 Floating Panel을 추가한 기록. 메인 화면의 데이터 저장과 패널 레이아웃을 구현했습니다.
- [2주차 iOS - 2021.08.29 ~ 2021.09.04](https://blog.skyline23.com/7/index.md): 일기 앱 오늘하루의 두 번째 주 개발 기록. 사이드 메뉴, RxAnimated 애니메이션, 테마 기반 구조와 AppService를 추가했습니다.
- [1주차 iOS - 2021.08.19 ~ 2021.08.28](https://blog.skyline23.com/5/index.md): 일기 앱 오늘하루의 첫 주 개발 기록. MVVM-C 구조를 선택하고 캘린더, 스플래시, 로그인 화면과 R.swift를 적용했습니다.
- [Xcode Archive 멈춤현상 해결](https://blog.skyline23.com/4/index.md): Xcode Archive가 멈추는 문제를 겪고 해결한 과정. 배포 중 아카이브 작업이 진행되지 않을 때 확인했던 설정과 조치입니다.
- [lazy var 정리](https://blog.skyline23.com/3/index.md): Swift의 lazy var가 초기화되는 시점과 사용하는 이유. 미세먼지 앱에 적용하며 확인한 지연 초기화 동작을 설명합니다.
- [Swift로 미세먼지 앱 만들기](https://blog.skyline23.com/2/index.md): 현재 위치에서 가까운 측정소의 미세먼지 정보를 보여주는 Swift 앱 개발 기록. 공공 데이터와 위치 정보를 앱 화면에 연결했습니다.
- [iOS 라이브러리 - KDCircularProgress](https://blog.skyline23.com/1/index.md): KDCircularProgress로 iOS 앱의 원형 그래프를 구현한 기록. 시작 각도, 그라데이션, 애니메이션을 설정하고 화면 디자인에 맞춘 과정을 담았습니다.

## Access

- Canonical website: https://blog.skyline23.com/
- RSS: https://blog.skyline23.com/feed.xml
- Sitemap: https://blog.skyline23.com/sitemap.xml
- OpenAPI: https://blog.skyline23.com/.well-known/openapi.json
- MCP: https://blog.skyline23.com/mcp
- Access policy: https://blog.skyline23.com/auth.md

Request a public page with Accept: text/markdown or follow its index.md link. Dates describe the original publication and content revision. All APIs are read-only and require no credentials.
