iOS Knowledge Base

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

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

📝 Daily Learning Log

날짜별로 학습하고 작업한 내용, 중요한 포인트, 다음에 할 일을 기록합니다.

학습 일지 보러가기 →

운영 원칙

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

문서 추가 규칙

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

학습 날짜 카드

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

문서 열람 잔디

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

적음 많음

지식 문서

Error Note

오답노트 (자주 보기)

헷갈렸거나 새로 이해한 내용을 날짜별로 누적하는 단일 노트. 관련 문서 링크도 함께 모은다.

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, 동시성 안전성까지 함께 정리한 문서.

Swift Basics

Protocol Oriented Programming

프로토콜 확장, associated type, some/any, witness table, dispatch까지 내부 동작 중심으로 정리한 문서. 학습 Q&A 누적.

Knowledge Base

iOS 개발 상식 100선

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

Memory

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

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

Concurrency

Sendable / @Sendable 정리

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

Images

UIImage / UIImageView 이미지 파이프라인

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

UIKit Basics

pt, px, scale 개념 정리

레이아웃 pt와 실제 픽셀 px, 디바이스 scale 관계를 이미지 다운샘플 실무 관점으로 정리한 문서.

Architecture

모듈 아키텍처 심층 분석 기초

의존 방향, 테스트 경계, 변경 전파 기준으로 모듈 아키텍처를 평가하는 기본 프레임.

SwiftUI Type System

SwiftUI some View 심화

Self.Body, @ViewBuilder, any/AnyView 비교까지 포함해 some View의 타입 시스템 의미를 정리한 문서.

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 관계를 정리한 문서.

Concurrency

Swift Concurrency Companion

MainActor, actor isolation, Thread Sanitizer, data race를 실무 관점으로 다시 보는 학습 문서.

Protocol Oriented

Protocol Oriented Programming Master

POP 기본부터 심화까지, protocol 조합 설계·DI·테스트·타입 시스템을 한 문서로 정리한 마스터 문서.

Swift Type System

any / some / Generic / Dispatch 쉽게 이해하기

어려운 용어를 쉬운 말로 정리하고, any·some·generic 차이와 구체 타입 은닉 이유를 코드로 설명한 문서.

Template

iOS Document Template

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

다음 추가 후보

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