분류 전체보기
-
Swift Profile RecorderSwift 2025. 10. 12. 08:24
안녕하세요. 그린입니다 🍏이번 포스팅에서는 Apple이 오픈소스로 공개한 Swift Profile Recorder에 대해 정리해보려 합니다. 프로덕션 환경에서 성능 문제를 진단하는 새로운 도구인데요.실제로 Apple이 수년간 대규모 Swift 서비스 운영에 사용해온 도구입니다 🙋🏻Swift Profile Recorder란?Swift Profile Recorder는 Swift 서비스를 위한 인프로세스 샘플링 프로파일러입니다. 이제 오픈소스 프로젝트로 공개되어 누구나 사용할 수 있게 되었습니다.프로파일링은 애플리케이션의 성능, 리소스 사용량, 동작을 이해하기 위한 방법입니다. Swift Profile Recorder를 사용하면 패키지 의존성만 추가하면 되고 추가 설정이 필요 없어요. 주요 특징1. 특별..
-
Swift 6.2Swift 2025. 10. 2. 06:49
안녕하세요. 그린입니다 🍏 조금 전이지만 9월에 Swift 6.2가 출시되었습니다! 이번 릴리즈는 모든 Swift 개발자의 생산성을 향상시키는 데 초점을 맞춘 업데이트입니다. 언어 개선부터 툴링, 라이브러리, 그리고 플랫폼 지원까지 실무 개발에 필요한 광범위한 기능들이 추가되었습니다.이번 포스팅에서는 Swift 6.2의 주요 변경사항들을 하나씩 살펴보려고 합니다 🙋🏻Approachable ConcurrencySwift 6.2에서 가장 눈에 띄는 변화는 동시성 프로그래밍의 진입장벽을 낮춘 것입니다. 이번 업데이트는 보일러플레이트 코드를 줄이고 안전한 동시성 코드를 더 자연스럽게 작성할 수 있도록 설계되었습니다. 기본적으로 싱글 스레드 실행이제 명시적인 @MainActor 어노테이션 없이도 메인 스레드..
-
SwiftUI's diffingSwiftUI 2025. 9. 27. 06:31
안녕하세요. 그린입니다 🍏이번 포스팅에서는 SwiftUI의 성능에 관련된 핵심 메커니즘인 diffing 알고리즘과 뷰 재생성 최적화에 대해 정리해보려 합니다 🙋🏻SwiftUI's diffingSwiftUI를 사용하면서 이런 궁금증들이 생기지 않나요?"List를 스크롤할 때 왜 이렇게 버벅거리지? 🤔""상태가 조금만 바뀌어도 전체 화면이 다시 그려지는 것 같은데?""ForEach에서 id: .self를 쓰면 안 된다고 하는데 정확히 왜지?""Airbnb에서 15% 성능 개선했다는 방법임 뭘가? 이 부분에서 답을 찾으려면 SwiftUI의 diffing 알고리즘을 이해해야 합니다.Why SwiftUI Diffing Matters More Than Ever?📈 Performance Issues복잡한 리..
-
Deep Dive @_silgen_nameSwift 2025. 9. 20. 06:40
안녕하세요. 그린입니다 🍏이번 포스팅에서는 Swift의 언더스코어 어트리뷰트 중에서도 @_silgen_name에 대해 딥다이브 해볼께요 🙋🏻@_silgen_name Deep Dive혹시 이런거 궁금해보신적 있으신가요!?"Swift 표준 라이브러리는 어떻게 C 함수들을 호출하는 거지? 🤔""왜 어떤 함수들은 심볼 이름이 이상하게 생겼을까?""빌드 시간을 줄일 수 있는 방법이 있을까?""Swift 컴파일러 내부에서는 뭔가 다른 로직이 일어나고 있는 건 아닐까?"바로 이런 궁금증들을 해결해줄 수 있는 게 @_silgen_name 어트리뷰트입니다! Why @_silgen_name Matters More Than Ever?필요성Swift와 C 인터롭의 복잡성 증가모듈화된 대규모 앱에서의 빌드 시간 이슈하이..
-
Mach-O 파일 구조 분석해보며 최적화 해보기iOS 2025. 9. 13. 10:03
안녕하세요. 그린입니다 🍏이번 포스팅은 iOS 앱의 Mach-O 파일 구조를 깊이 분석하고, 실제 앱 크기를 줄이는 최적화 방법들을 알아보겠습니다 🙋🏻Mach-O Deep Dive개발하면서 이런 궁금증 가져본 적 있지 않나요?"내 앱이 왜 이렇게 크지? 🤔""App Store Connect에서 보는 앱 크기 리포트는 뭘 의미하는 거지?""Universal Binary와 일반 바이너리의 차이가 뭐야?""링크 타임에 뭐가 일어나고 있는 건가?" 바로 이런 의문들을 해결할 수 있는 것이 Mach-O 파일 구조를 이해하는 것입니다.iOS의 모든 실행 파일은 Mach-O 포맷으로 되어 있고, 이 구조를 이해하면 앱 크기 최적화의 핵심을 파악할 수 있어요. Why Mach-O Architecture Matt..
-
Swift Collections 내부 구조 분석Swift 2025. 9. 6. 08:14
안녕하세요. 그린입니다 🍏이번 포스팅은 Swift의 Collections 내부 구조를 깊이 분석해보고, 각 컬렉션이 어떻게 메모리에서 동작하는지 알아보겠습니다 🙋🏻Swift Collections Deep Dive개발하면서 이런 궁금증 가져본 적 있을 거예요!"Array와 Set의 성능 차이가 왜 이렇게 날까? 🤔""Dictionary는 어떻게 O(1)로 검색이 가능하지?""메모리는 어떻게 관리되고 있을까?""copy-on-write가 정확히 언제 동작하지?"또는 대용량 데이터를 처리하면서 "왜 이렇게 메모리를 많이 먹지?" 하고 생각해본 적 있으실 거에요.바로 이런 의문들을 해결할 수 있는 것이 Swift Collections의 내부 구조를 이해하는 것입니다.Swift의 모든 컬렉션은 성능과 메모..
-
Make DSL with ResultBuilderSwift 2025. 8. 30. 10:06
안녕하세요. 그린입니다 🍏이번 포스팅은 Swift의 Result Builder를 활용하여 직관적이고 표현력이 뛰어난 DSL(Domain Specific Language)을 만드는 방법에 대해 알아보겠습니다 🙋🏻Swift Result Builder Deep Dive어떤 상황에서든 복잡한 UI 구성이나 데이터 구조를 만들 때 이런적 있을거에요! "왜 이렇게 코드가 장황해야 하지? 😵💫""배열에 append 반복하는 게 너무 번거롭다ㅠ...""HTML이나 SQL처럼 직관적으로 쓸 수 없을까?" 또는 SwiftUI의 선언적 구문을 보면서 "우리 프로젝트에도 이런 걸 만들 수 없을까?" 하고 생각해본 적 있으실 거에요. 바로 이런 문제들을 해결할 수 있는 것이 Result Builder입니다. Swif..
-
Ensuring 60fps Animations in SwiftUI (GPU Rendering Optimization)SwiftUI 2025. 8. 23. 10:27
안녕하세요. 그린입니다 🍏이번 포스팅은 SwiftUI 애니메이션의 성능을 극한까지 끌어올려 일관된 60fps를 보장하는 실전 최적화 방법들에 대해 알아보겠습니다 🚀SwiftUI Animation Performance Deep Dive이런 경험 있으신가요?"부드럽게 움직이다가 갑자기 끊어져요 😱""복잡한 리스트에서 스크롤할 때 버벅거림""여러 애니메이션이 동시에 실행될 때 프레임 드롭 발생""디바이스가 뜨거워지면서 애니메이션이 느려짐"이런 문제들은 단순히 사용자 경험을 해치는 것을 넘어서서 앱의 품질 인식에 직접적인 영향을 미칩니다.특히 iOS 17부터 ProMotion 디스플레이가 더 널리 퍼지면서, 사용자들은 120fps까지도 기대하게 되었거든요. Why 60fps Matters More Than..