Swift
-
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..
-
defer (async throwing contexts)Swift 2025. 5. 30. 09:30
안녕하세요. 그린입니다 🍏오늘 포스팅에서는 async 및 throws 컨텍스트에서 defer를 사용하는 방법에 대해 한번 작성해볼까 합니다 🙋🏻 최근 Swift by Sundell 사이트에서 해당 관련한 포스트를 접하게 되었고 꽤 흥미로운 내용이라 한번 보고 정리해보려고 해요! 해당 원본 아티클을 보시려는분은 요걸 보시면 됩니다 😃 Using Swift’s defer keyword within async and throwing contexts | Swift by SundellHow Swift’s defer keyword can be incredibly useful when working with code scopes that have multiple exit points, such as throw..
-
Oblivious HTTP support in Swift (feat. privacy)Swift 2025. 5. 17. 07:49
안녕하세요. 그린입니다 🍏이번 포스팅에서는 SwiftNIO Oblivious HTTP에 대해 알아보려고 합니다 🙋🏻부제를 붙여보자면 Swift에서 구현해보는 프라이버시 보호 HTTP 프로토콜일것 같아요!Oblivious HTTP support in Swift최근 애플을 비롯한 여러 기술 기업들이 프라이버시 중심의 네트워크 아키텍처를 강화하는 추세 속에서, Swift 커뮤니티 역시 이에 발맞춘 새로운 시도들을 내놓고 있어요.바로 SwiftNIO 기반의 Oblivious HTTP 구현이 그 중 하나입니다.이건 사용자의 식별 정보를 서버로부터 숨기기 위한 새로운 HTTP 통신 모델로 사용자 추적을 차단하면서도 HTTP 요청을 안전하게 처리할 수 있도록 설계되었습니다. 핵심 표준: RFC 9292 & RF..