Swift
-
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..
-
Swift 컴파일러의 타입 추론 파헤치기 (feat. 왜 이렇게 컴파일이 오래 걸릴까?)Swift 2025. 7. 27. 09:35
안녕하세요. 그린입니다 🍏이번 포스팅은 Swift 컴파일러의 타입 추론 과정에 대해 깊이 있게 알아보겠습니다 🙋🏻Swift Type Inference Deep DiveSwift 개발을 하다 보면 한 번쯤 마주치는 상황이 있죠.let result = data .map { $0.someProperty } .flatMap { $0.transform() } .compactMap { $0.process() } 이런 코드를 작성하고 빌드를 돌렸는데...컴파일러가 몇 분씩 돌아가거나 아예 "expression was too complex" 에러를 뱉어내는 경우 말이에요 😅 왜 이런 일이 일어나는 걸까요?그 답은 Swift의 강력하지만 복잡한 타입 추론 시스템에 있습니다. Why Type Inf..
-
Swift Homomorphic EncryptionSwift 2025. 7. 5. 13:18
안녕하세요. 그린입니다 🍏이번 포스팅은 Swift Homomorphic Encryption에 대해 알아보겠습니다 🙋🏻 Swift Homomorphic EncryptionSwift는 시스템 프로그래밍 언어로 시작했지만, 시간이 흐르면서 점점 더 다양한 분야로 확장되고 있어요.이번에는 Swift.org 공식 블로그에서 발표한 Homomorphic Encryption, 동형 암호라는 프로젝트가 그 대표적인 예라고 볼 수 있습니다. Apple이 공개한 이 프로젝트는 Swift에서 직접 동형 암호 알고리즘을 구현할 수 있도록 하는 라이브러리이자 언어 확장이라고 볼 수 있습니다. 그래서 이걸 한번 알아봅니다 😃Why Homomorphic Encryption?많은 앱과 서비스는 개인 정보를 클라우드에 처리합니..
-
Migrating the Password Monitoring service from JavaSwift 2025. 6. 29. 09:45
안녕하세요. 그린입니다 🍏이번 포스팅에서는 Swift at Apple: Migrating the Password Monitoring service from Java 이라는 Swift 공식 블로그글을 토대로 한번 정리해보겠습니다 🙋🏻 Swift at Apple: Migrating the Password Monitoring service from JavaSwift is heavily used in production for building cloud services at Apple, with incredible results. Last year, the Password Monitoring service was rewritten in Swift, handling multiple billions of r..