WWDC
WWDC 2024) 힙 메모리 분석하기
Measurement힙을 이해하면 application의 virtual memory를 먼저 이해해야한다. 앱이 시작되면서 virtual memory의 빈 주소 공간을 얻는다. 그리고, App executable, Linked libraries을 로드하고 읽기 전용 Resources 영역에 매핑한다. 또한 앱 실행시 앱은 각 스레드에 local var, temp var에 대한 stack 영역을 사용하며, dynamic, static 메모리는 힙 이라고 통칭되는 메모리 영역에 배치된다. 힙은 단지 하나의 메모리 블록이 아니라 여러 virtual memory 영역으로 구현된다. Regions을 좀 더 확대하면, 각 Region이 개발 힙 alloc으로 구분된다. 내부적으로 이 Region은 16KB 메모리 ..
2022 WWDC Design protocol interfaces in Swift
Understand type eraure: associated type이 있는 protocol이 existential any type과 어떻게 상호 작용하는지 설명. Hide implementation details: interface와 implementation을 분리해서 캡슐화하기 위해 opaque type을 사용하는 방법에 대해 설명. Identify type releationships: protocol에서 same-type requirements가 concrete type의 여러가지 다른 sets간의 관계를 모델링하는 방법에 대해 설명. Understand type eraure protocol Animal { associatedtype CommodityType: Food func produce()..