apple/WWDC 15

[WWDC25] 앱의 전력 사용량 프로파일링 및 최적화하기 (Profile and optimization power usage in your app)

[WWDC25] 앱의 전력 사용량 프로파일링 및 최적화하기 (Profile and optimization power usage in your app) 안정성에 중요한 요소 중 하나가 배터리 수명. 목차Debug reproducible issues쉽게 재현할 수 있는 문제부터 해결해 볼 예정이며, 실제 사례를 통해 과도한 전력 사용을 식별하고 줄이는 방법을 확인.Uncover hidden issues좀 더 어렵고 구체적인 실제 상황을 파악하는 방법을 알아보고, 어떤 환경에서든 데이터를 수집하는 방법을 알아볼 것Compare power usage코드 구현에 따라 전력 소비에 대해서 비교해보며 앱의 효율성을 측정하고 개선하는 명확한 방법을 알아볼 것Optimization proactively개발 과정 초기..

apple/WWDC 2025.06.11

[WWDC24] 힙 메모리 분석하기(Analyze heap memory)

[WWDC24] 힙 메모리 분석하기(Analyze heap memory) 힙 메모리는 앱에서 직간접적으로 사용되며, 개발자가 제어하고 최적화할 수 있는 영역.앱의 Reference 타입이 저장되는 곳이며, 쓰기 작업이 자주 발생하고 수정되기 때문에 중요함.이렇게 수정된 메모리들은 메모리 한도에 포함되어 계산 됨.이번 세션에서는 힙 메모리 측정과 감소 방법에 대해서 주로 다룰 것. 메모리 측정이나 최적화에 대해서 더 알고 싶다면 다른 세션들도 존재함. - 측정하기- 일시적 증가에 대응- 지속적 증자 추적- 메모리 누수 수정하기- 런타임 성능 개선하기총 5가지 세션에 대해서 다룸 힙을 이해하려면 앱의 전체 가상 메모리 내에서 어떤 맥락에 있는지를 알아야 함.앱이 시작되면, 자체적인 빈 가상 메모리 ..

apple/WWDC 2025.06.03

[WWDC21] Modern Cell configuration

[WWDC21] Modern Cell configuration 데이터, 레이아웃, 셀 총 3가지 범주로 분류 가능함. - Data- Layout- Presentation 이번 세션에서는 View를 구성하는 방식에 중점을 둘 예정. 기본 셀을 사용할 때는 위처럼 사용할 수 있음. 구성할 수 있는 Configuration types은 두가지가 존재함- Background Configuration- Content Configuration Swift에서는 Value Type을 만드는데 비용이 매우 저렴함.즉, Configuration에 대한 변경 사항은 셀에 Configuration을 적용할 때까지 어던 것에도 영향을 미치지 않음. 생성하는데 가볍기 때문에 항상 새 Configuration으로 시..

apple/WWDC 2025.05.17

[WWDC22] Swift 동시성 시각화 및 최적화 (Visualize and optimize Swift Concurrency)

Swift 동시성 시각화 및 최적화 (Visualize and optimize Swift Concurrency) 목차Swift Concurrency Recap 동시성 최적화 방법Concurrency OptimaizationThread Pool Exhaustion잠재적 스레드 풀 고갈 및 동시성 코드 오용 문제Continuation Misuse이를 방지하는 방법 Swift Concurrency Recap - Async/await은 블록 단위로 구성되어 thread blocking 없이도 작업을 실행 도중에 일시 중단 했다가 다시 재개할 수 있음.- Task는 동시성 코드의 기본 작업 단위로 동시성 코드를 실행하고 코드 상태 및 관련 데이터를 관리하는 데 사용. - Task에는 지역 변수와 취소 처리..

apple/WWDC 2025.05.01

[WWDC22] Meet distributed actors in Swift

[WWDC22] Meet distributed actors in Swift Swift의 동시성을 단일 프로세스 이상으로 활용하는 방법에 대해 알아볼 것 Distributed Actor와 상호작용 하는 방식을 바꾸지 않고도 잠재적으로 멀리 있을 수 있는 것을 의미이는 분산된 Actor가 어디에 있든 간에 동일한 방식으로 소통할 수 actor 간 소통이 가능함을 의미.이는 테스트에 있어 코드의 구현을 변경할 필요 없이 actor를 이동시킬 수 있음. 분산 Actor를 선언하려면 Swift 5.7에서 도입된 Distributed를 선언해야 함. distibuted를 사용하면 actor는 컴파일 타임에 검사 가능함. id는 distibuted actor 시스템에서 actor를 고유하게 식별하는데 사용...

apple/WWDC 2025.04.30

[WWDC21] Protect mutable state with Swift actors

[WWDC21] Protect mutable state with Swift actors actor를 활용해 동시에 실행되는 상황에서 mutable state를 보호하는 방법에 대해서 알아볼 것. 목차- Actors- Actor reentrancy- Actor isolation- Main actor 근본적으로 어려운 것은 데이터 경합 상황을 피하는 것.데이터 경쟁은 여러 개의 서로 다른 스레드가 동일한 데이터에 접근하고 이 중 하나 이상이 쓰기 동작일 때 발생이 문제는 발생하기 쉽지만 디버깅은 매우 어려움. 데이터 경합 상황에 의하여 둘 다 값이 1 혹은 둘 다 2가 나타나는 상황이 발생할 수 있음.데이터 경합은 공유된 변경 가능한 상태로 인해 발생함.데이터가 변경되지 않거나 여러 동시 작업이 발생하지..

apple/WWDC 2025.04.27

[WWDC21] Swift Concurrency: Behind the scenes

[WWDC21] Swift Concurrency: Behind the scenes 성능과 효율성을 위해 설계된 이유를 자세히 알아보고, Swift 동시성에 대해서 추론하는 방법과 GCD와 같은 기존 스레딩 라이브러리와 어떻게 다른지 알아볼 것임. Treading modelSwift 동시성의 기반이 되는 threading model에 대해서 알아보고 GCD와 비교.Synchroizationactor를 통한 Swift Concurrency의 동기화, actor가 내부적으로 어떻게 동작하는지를 설명.Serial Dispatch Queue와 같은 기본 Synchronization 요소와 어떻게 비교되는지actor를 사용하여 코드를 작성할 때 알아두어야 할 몇 가지 사항에 대해 알아보자 Treading mode..

apple/WWDC 2025.04.26

[WWDC23] 구조화된 동시성의 기초를 넘어 (Beyond the basics of structured concurrency)

구조화된 동시성의 기초를 넘어 (Beyond the basics of structured concurrency) 목차Task hierarchyTask cacnellationTask priorityTask group patternsTask-local valuesTask traces Task hierarchy 구조화된 동시성을 사용하면 동시적 코드를 추론할 수 있음.실행이 분기하여 동시에 실행되고, 해당 결과가 다시 재합류하는 그 지점을 잘 정의하여 그 지점을 사용할 수 있음.`if block`과 `for loop`가 동기식 제어 흐름의 동작을 정의하는 방식과 비슷 동시성을 정의하는 방법은 여러가지가 있으나, 모든 작업이 구조화된 것은 아님.구조화된 작업은 작업이 선언된 스코프에서 끝까지 살아남음. 마치 로..

apple/WWDC 2025.04.25

[WWDC24] UI 애니메이션 및 전환 효과 향상하기 (Enhance your UI animation and transition)

[WWDC24] UI 애니메이션 및 전환 효과 향상하기 (Enhance your UI animation and transition) Intro- Transitions - 화면 전환 및 프레젠테이션을 위한 새로운 고급 전환 방법 소개- SwiftUI animation - SwiftUI animation과 UIKit 및 AppKit 간의 통합- Animating representables - Representable을 통해 SwiftUI 애니메이션과 연결하는 방법- Gesture-driven animations - 마지막으로 연속적인 제스처가 있을 때 UIView 및 NSView 애니메이션 Transitions SwiftUI에서 화면전환 새로운 API1. navigationTransitinS..

apple/WWDC 2024.08.05

[WWDC24] Genmoji로 앱에서 더욱 풍부한 표현 선보이기

[WWDC24] Genmoji로 앱에서 더욱 풍부한 표현 선보이기  Whats' New- New Emoji keyboard- Genmoji- NSAdaptiveImageGlyph IntroExpress yourself- 이모티콘을 사용하여 앱의 표현력을 향상 시킬 수 있는 방법Emogi enhancements- 이모티콘 환경에 대한 최신 업데이트NSAdaptivelmageGlyph- 맞춤 이모티콘전송 API 소개Adopting in your app- 우리 앱에 얼마나 쉽게 적용하는지 소개Compatibility- 호환성 고려사항Advanced usage- 사용자 정의 텍스트 렌더링에 대한 일부 고급 사용 사례  Express yourself with emojiExpressive- 표현력 매우 풍부함Ver..

apple/WWDC 2024.08.03