Swift
-
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 어노테이션 없이도 메인 스레드..
-
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 인터롭의 복잡성 증가모듈화된 대규모 앱에서의 빌드 시간 이슈하이..
-
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..
-
Swift Phantom TypesSwift 2025. 8. 15. 09:01
안녕하세요. 그린입니다 🍏이번 포스팅은 Swift의 고급 타입 시스템 기법인 Phantom Types에 대해 깊이 있게 알아보겠습니다 🚀Phantom Types Deep Dive이런 경험 있으신가요?런타임에 발생하는 타입 관련 버그들의 예시에요."이 ID는 사용자 ID인데 왜 상품 ID로 사용했지? 😱""암호화된 데이터를 일반 문자열로 처리해서 보안 오류 발생""단위가 다른 값들을 잘못 연산해서 계산 오류""상태가 잘못된 객체에 잘못된 메서드 호출"이런 문제들은 코드가 복잡해질수록 더 자주 발생하고, 런타임에서야 발견되는 경우가 많죠.Phantom Types는 이런 문제들을 컴파일 타임에 완전히 차단할 수 있는 강력한 기법입니다. Why Phantom Types Matter More Than Eve..