iOS Knowledge Base

iOS 개발 지식을 주제별 HTML로 축적하고, 이 페이지에서 연결한다

이 저장소는 개별 지식 문서를 각각 독립된 HTML로 유지하고, 메인 인덱스 HTML에서 주제별로 탐색할 수 있도록 구성한다. 앞으로 새 지식이 추가될 때마다 개별 문서를 만들고 이 페이지에 링크를 누적한다.

운영 원칙

  • 지식은 하나의 거대한 문서에 누적하지 않는다.
  • 주제별로 HTML 문서를 분리한다.
  • 메인 HTML은 각 문서를 연결하는 포털 역할만 맡는다.
  • 문서 형식은 Toss 스타일의 실행 지향 구조를 유지한다.

문서 추가 규칙

  • 파일명은 가능하면 주제가 바로 드러나게 만든다.
  • 새 문서를 만들면 `docs/` 아래에 추가한다.
  • 이 인덱스 페이지에 링크와 한 줄 요약을 같이 추가한다.
  • 수정 후 자주 커밋하고 바로 푸시한다.

학습 날짜 카드

각 문서를 언제 공부했는지 작게 누적해서 본다. 앞으로 같은 문서를 다시 공부한 날도 여기 카드에 계속 추가한다.

문서 열람 잔디

최근 28일 동안 어떤 문서를 자주 열어봤는지 문서별로 확인한다. 색이 진할수록 그 날짜에 해당 문서를 더 자주 본 것이다.

적음 많음

지식 문서

Swift Basics

Struct와 Class를 언제 선택할지

값 모델과 공유 객체의 선택 기준, identity, 수명주기, 동시성 관점까지 같이 정리한 문서.

Swift Basics

let과 var의 의미 차이

값 타입과 참조 타입에서 `let`이 다르게 보이는 이유와 mutable state 관점까지 정리한 문서.

Swift Basics

mutating 메서드가 왜 필요한지

값 타입에서 프로퍼티 변경이 왜 결국 self 수정인지, `let struct`와 어떻게 연결되는지 정리한 문서.

Swift Basics

optional과 nil 처리 방식

optional의 의미, `if let`, `guard let`, `??`, optional chaining을 실무 기준으로 정리한 문서.

Swift Basics

Value Type vs Reference Type

copy semantics, identity, shared mutable state, 동시성 안전성까지 함께 정리한 문서.

Knowledge Base

iOS 개발 상식 100선

iOS 전반에서 설명할 수 있어야 할 개발 상식 100개 체크리스트.

Memory

retain cycle이 생기는 이유와 끊는 방법

ARC, weak self, delegate, WKWebView scriptMessageHandler, LeakAvoider 패턴까지 정리한 문서.

Architecture

ABC 앱의 Tuist / SPM / Target / Scheme 흐름

로컬 SPM, 외부 SPM, target, scheme, build configuration이 어떻게 연결되는지 정리한 문서.

Architecture

ABC 로컬 SPM 패키지 지도

App, Core, Feature 패키지를 어떤 순서로 읽어야 프로젝트 구조를 빨리 이해할 수 있는지 정리한 문서.

Concurrency

Sendable / @Sendable 정리

Sendable의 의미, @Sendable 클로저, capture list와 actor의 관계를 정리한 문서.

Images

UIImage / UIImageView 이미지 파이프라인

URL 다운로드, UIImage 생성, 디코딩, 렌더링, 메모리와 성능 포인트를 정리한 문서.

Actor Series

Actor (3) - protocol conformance와 isolated parameter

Hashable 한계, protocol requirement 제약, isolated parameter 용도를 정리한 3편.

Actor Series

Actor (2) - actor-isolated와 cross-actor reference

같은 actor 내부 접근, 외부 접근, let/var, await 필요 조건을 정리한 2편.

Actor Series

Actor (1) - Data Race와 Actor가 필요한 이유

value semantics와 let의 한계, shared mutable state, actor 도입 이유를 정리한 1편.

Concurrency

GCD vs Swift Concurrency

DispatchQueue의 FIFO 의미, concurrent queue 동작, thread blocking, task suspension, continuation과 resume 관계를 정리한 문서.

Template

iOS Document Template

이후 주제 문서를 추가할 때 사용하는 기본 템플릿.

다음 추가 후보

예: Actor vs Lock, MainActor, URLSession async/await, Task Priority, Sendable