본문 바로가기

iOS/WWDC

[WWDC 2016] Understanding Swift Performance - Generic (3) WWDC 2018 Understanding Swift Performance 를 정리한 포스트입니다. 더 자세한 내용을 원하시면 위 링크를 참조하시길 바랍니다. 1. [WWDC 2016] Understanding Swift Performance - Struct, Class (1) 2. [WWDC 2016] Understanding Swift Performance - Protocol (2) 2. [WWDC 2016] Understanding Swift Performance - Generic (3) Generic Code foo, bar 함수는 T: Drawable 제약조건의 Generic 을 가질 수 있습니다. foo, bar 함수 매개 변수는 T를 사용합니다. foo(local:) 를 실행하면 호출하는 쪽.. 더보기
[WWDC 2016] Understanding Swift Performance - Protocol (2) WWDC 2018 Understanding Swift Performance 를 정리한 포스트입니다. 더 자세한 내용을 원하시면 위 링크를 참조하시길 바랍니다. 1. [WWDC 2016] Understanding Swift Performance - Struct, Class (1) 2. [WWDC 2016] Understanding Swift Performance - Protocol (2) 2. [WWDC 2016] Understanding Swift Performance - Generic (3) Protocol abstract Class 대신 draw 함수를 선언하는 protocol Drawable 이 있습니다. Protocol Witness Table draw 함수를 dispatch 하기 위해선 abst.. 더보기
[WWDC 2016] Understanding Swift Performance - Struct, Class (1) WWDC 2018 Understanding Swift Performance 를 정리한 포스트입니다. 더 자세한 내용을 원하시면 위 링크를 참조하시길 바랍니다. 1. [WWDC 2016] Understanding Swift Performance - Struct, Class (1) 2. [WWDC 2016] Understanding Swift Performance - Protocol (2) 2. [WWDC 2016] Understanding Swift Performance - Generic (3) Dimensions of Performance 우리는 다양한 차원의 성능을 식별할 수 있습니다. 1. 클래스가 Heap or Stack 어느 곳에 할당되는 지? 2. 이 인스턴스를 전달할 때 참조 카운트 오버 헤드.. 더보기
[WWDC 2019] iOS 시뮬레이터 최대한 활용하기! - xcrun simctl (2/2) WWDC 2019 Getting the Most Out of Simulator 를 정리한 포스트입니다. 더 자세한 내용을 원하시면 위 링크를 참조하시길 바랍니다. iOS 시뮬레이터 최대한 활용하기! - Simulator (1/2) iOS 시뮬레이터 최대한 활용하기! - xcrun simctl (2/2) 도움말 xcrun simctl help xcrun simctl help ...더보기 usage: simctl [--set ] [--profiles ] ... simctl help [subcommand] Command line utility to control the Simulator For subcommands that require a argument, you may specify a device UDI.. 더보기
[WWDC 2019] iOS 시뮬레이터 최대한 활용하기! - Simulator (1/2) WWDC 2019 Getting the Most Out of Simulator 를 정리한 포스트입니다. 더 자세한 내용을 원하시면 위 링크를 참조하시길 바랍니다. iOS 시뮬레이터 최대한 활용하기! - Simulator (1/2) iOS 시뮬레이터 최대한 활용하기! - xcrun simctl (2/2) What Is Simulator? Kernel: 하드웨어 리소스를 관리, 메모리를 할당, 프로세스 사이에서 중재합니다. MacOS User space launchd: PID 1 cfprefsd, distnoted: Deamon AppKit, Foundation: Framework Application iOS Simulator User space Mac User space 와 분리되어 있으며 각각의 Simu.. 더보기
[WWDC 2018] Measuring Performance Using Logging WWDC 2018 Measuring Performance Using Logging 를 정리한 포스트입니다. 더 자세한 내용을 원하시면 위 링크를 참조하시길 바랍니다. Introducing Signposts Logging let logHandle = OSLog(subsystem: "com.example.widget", category: "Setup") os_log(.info, log: logHandle, "Hello, %{public}s!", world) Signposts WWDC 2016에 새로운 로깅 시스템이 도입되었습니다 효율성과 프라이버시를 염두에 두고 디버깅 할 수 있도록 구축합니다. 성능 활용 사례 및 개발자 도구와의 통합을 위해 구축합니다. Logging Apple Document Measur.. 더보기
[WWDC 2019] Optimizing App Launch WWDC 2019 Optimizing App Launch 를 정리한 포스트입니다. 더 자세한 내용을 원하시면 위 링크를 참조하시길 바랍니다. What is launch Launch Type Cold Launch 재부팅 후 (After reboot) 앱이 메모리에 없음 (App is not in memory) 앱 Process 가 없음 (No process exists) 앱을 시작할려면 디스크에서 메모리로 가져와야 하고 앱을 지원하는 시스템 쪽 서비스를 시작한 다음 프로세스를 실행해야 한다. Warm Launch 최근에 종료됨 (Recently terminated) 앱이 부분적으로 메모리에 존재 (App is partially in memory) 앱 Process 가 없음 (No process exists.. 더보기
[WWDC 2018] LLDB 코드 수정 없이 Debugging 해보자! 2018’s WWDC was Advanced Debugging with Xcode and LLDB 를 기반으로 한 Xcode and LLDB Advanced Debugging Tutorial Part(1,2,3) 포스트를 정리한 내용입니다. 시작하기 앞서 Demo Project 환경을 설정합니다. 1. 처음 앱을 시작하면 TableView 에 post 가 보여집니다. 2. TableView Footer 에 Load More Indicator 가 표시됩니다. 3. TableView 하단에 스크롤이 도달하면 다음 페이지를 표시합니다. 4. 풀 다운으로 Post 를 새로고침할 수 있습니다. 5. "Page 0", "100 Posts" 로 현재 페이지 상태를 표시합니다. 버그들! 🥺 1. 풀 다운으로 새로고침을.. 더보기