분류 전체보기
-
Swift Build TechnologiesSwift 2025. 11. 1. 09:03
안녕하세요. 그린입니다 🍏수백만 개의 App Store 앱과 Apple 자사 운영체제를 빌드하는 데 사용되는 Xcode의 빌드 엔진을 오픈소스로 공개를 2월에 했었죠! 이번 포스팅에서는 Swift Build가 무엇이고, 왜 중요하며, 기존 SwiftPM 빌드 시스템과 어떻게 다른지 자세히 살펴보겠습니다 🙋🏻Swift가 크로스 플랫폼 언어로 성장Swift는 2015년 오픈소스로 공개된 이후 많은 성장을 해왔습니다.2015: iOS/macOS 전용 ↓2017: Linux 지원 ↓2020: Windows 지원 ↓2024: 임베디드 시스템 (마이크로컨트롤러) ↓2025: Android 지원 이제 Swift는⌚️ Wearables (Apple Watch)📱 Mobile (iOS, Android)💻..
-
Swift SDK for Android - Android 앱을 Swift로 개발하기Swift 2025. 10. 26. 09:08
안녕하세요. 그린입니다 🍏드디어 Swift로 Android 앱을 개발할 수 있는 시대가 왔습니다!2015년 오픈소스로 공개된 이후 Darwin 기반 시스템(iOS, macOS 등)에 집중했던 Swift가 이제 Android 앱 개발까지 지원하게 되었습니다. 이번 포스팅에서는 Swift SDK for Android를 시작하는 방법부터 실제로 "Hello World"를 Android 기기에서 실행하는 과정까지 자세히 정리해보겠습니다 🙋🏻Swift의 크로스 플랫폼 여정Swift는 2015년 오픈소스로 공개된 이후, Darwin 기반 시스템에 집중하던 언어에서 Linux, Windows, 그리고 다양한 임베디드 시스템을 지원하는 크로스 플랫폼 개발 언어로 성장했습니다.그리고 이제 Swift SDK for ..
-
Iterate Over Parameter PacksSwift 2025. 10. 18. 09:32
안녕하세요. 그린입니다 🍏이번 포스팅에서는 Swift 6.0에서 도입된 Pack Iteration에 대해 정리해보려 합니다. Swift 5.9에서 도입된 Parameter Packs를 훨씬 더 쉽고 직관적으로 다룰 수 있게 해주는 기능인데요, 실제 코드 예제와 함께 살펴보겠습니다 🙋🏻Parameter Packs Recap먼저 Parameter Packs가 무엇인지 간단히 복습해볼까요?다음 코드를 보겠습니다. let areEqual = (1, true, "hello") == (1, false, "hello")print(areEqual)// false 위 코드는 단순히 두 튜플을 비교합니다. 하지만 이 코드는 튜플에 7개의 요소가 있으면 작동하지 않았습니다! Swift 표준 라이브러리는 오랫동안 최대..
-
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..