
Compositional Layout 이란? - 1

.xcconfig와 .gitignore를 활용해 API Key 숨기는 방법

URLSession 간단한 정리본

iOS Firebase 기본 프로젝트 생성 및 앱 추가하는 방법

Firebase Auth를 활용한 Google 로그인 구현하기

Firebase Auth를 활용한 Apple 로그인 구현하기
UIKit 기반의 UICollectionView에서 SwiftUI 뷰를 사용하기 위해 UIHostingController를 활용하는 경우가 있습니다. 이 글에서는 이 패턴을 사용할 때 발생할 수 있는 이미지가 잘리거나 콘텐츠가 밀리는 현상의 원인과 해결 방법을 다룹니다
토큰이 만료되면 어떻게 갱신해야 하는지, 여러 API 요청이 동시에 날아가는 상황에서 토큰 갱신이 중복으로 발생하면 어떻게 되는지, 그리고 대규모 사용자 환경에서 토큰 갱신 요청이 서버에 몰리는 문제는 어떻게 해결하는지, 이런 질문들에 대해 학습하고 정리한 내용을 공유
GCD와 async/await는 같은 문제를 다루지만 스레드를 대하는 방식이 다릅니다. Thread, DispatchQueue, Task의 추상화 레벨 차이와 Cooperative Thread Pool까지 정리합니다.
actor는 Serial Executor로 data race를 컴파일 시점에 차단합니다. 하지만 await 지점에서 다른 Task가 재진입할 수 있습니다. Reentrancy란 무엇인지, 그리고 이를 해결하기 위한 방법을 정리합니다.
NSLock, OSAllocatedUnfairLock, Mutex, actor까지 9개 iOS 동기화 도구의 동작 원리와 트레이드오프를 정리합니다. 상황마다 무엇을 써야 하는지 판단하는 기준을 제시합니다.
UIKit은 class, SwiftUI는 struct. 단순한 문법 차이가 아니라 ARC, 렌더링 파이프라인, identity 모델까지 관통하는 두 프레임워크의 철학적 차이에 대해 정리합니다.
Unit, Integration, E2E 테스트의 역할과 테스트 피라미드의 의미, 그리고 테스트를 설계의 도구로 바라보는 관점을 정리합니다.
iOS는 다양한 시스템 UX 기능을 제공하지만, 개발자가 명시적으로 지원해야만 동작합니다. 접근성부터 상태 관리까지 주요 기능을 정리합니다.