전체 글
-
[SE-0553] Task IdentitySwift 2026. 11. 1. 21:19
안녕하세요. 그린입니다 🍏이번 포스팅에서는 SE-0553 — Task Identity에 대해 정리해보겠습니다 🙋🏻IntroProposal: SE-0553Authors: Joakim Hassila, Konrad 'ktoso' MalawskiReview Manager: Joe GroffStatus: AcceptedImplementation: swiftlang/swift#89237Summary of Changes현재 실행 중인 Task에 대한 저렴하고, 안정적이고, 프로세스 내에서 유일한 식별자를 추가해요. Task.currentID와 Task, UnsafeCurrentTask의 인스턴스 접근자가 불투명한 Task.ID를 반환하는데, 비용이 thread-local 읽기와 비슷한 수준이라 트레이싱이나 구조..
-
[SE-0551] Span over a single valueSwift 2026. 10. 17. 09:34
안녕하세요. 그린입니다 🍏이번 포스팅에서는 SE-0551 — 단일 값에 대한 Span에 대해 정리해보겠습니다 🙋🏻IntroProposal: SE-0551Author: Guillaume LessardReview Manager: Doug GregorStatus: AcceptedImplementation: swiftlang/swift#88152Summary of Changes임의의 값에 대한 단일 원소 Span을 만드는 이니셜라이저와, 임의의 mutable 값에 대한 단일 원소 MutableSpan을 만드는 이니셜라이저를 추가해요. Motivation가끔 단일 값과 Span을 받는 API 사이를 이어주는 어댑터가 필요할 때가 있죠.지금도 CollectionOfOne의 span 프로퍼티를 써서 단일 값을 ..
-
SwiftUI - TimelineViewSwiftUI 2026. 10. 11. 08:31
안녕하세요. 그린입니다 🍏이번 포스팅에서는 SwiftUI의 TimelineView에 대해 애플 공식 문서를 기준으로 정리해보겠습니다 🙋🏻Intro주제: SwiftUI TimelineView프레임워크: SwiftUI지원 버전: iOS/iPadOS 15 · macOS 12 · tvOS 15 · watchOS 8 · visionOS 1 이상공식 문서: developer.apple.com/documentation/swiftui/timelineviewTimelineView?공식 문서는 TimelineView를 "여러분이 제공한 스케줄에 따라 업데이트되는 뷰"라고 소개해요. TimelineView 자체는 아무런 모양이 없는 컨테이너고, 그 안에 담긴 콘텐츠를 정해진 시점마다 다시 그려주는 역할만 해요. 공식 ..
-
SwiftUI - TipKitSwiftUI 2026. 10. 3. 09:56
안녕하세요. 그린입니다 🍏이번 포스팅에서는 SwiftUI의 TipKit 프레임워크에 대해 애플 공식 문서를 기준으로 정리해보겠습니다 🙋🏻Intro주제: TipKit프레임워크: TipKit지원 버전: iOS/iPadOS 17 · macOS 14 · tvOS 16 · watchOS 10 · visionOS 1 이상공식 문서: developer.apple.com/documentation/tipkitTipKit이란공식 문서는 TipKit을 이렇게 소개해요.Use TipKit to show contextual tips that highlight new, interesting, or unused features people haven't discovered on their own yet. 즉, 사람들이 아직 ..
-
[SE-0548] resignRemoteID for remote distributed actor referencesSwift 2026. 9. 26. 18:12
안녕하세요. 그린입니다 🍏이번 포스팅에서는 SE-0548 — 원격 분산 액터 참조를 위한 resignRemoteID에 대해 정리해보겠습니다 🙋🏻IntroProposal: SE-0548Author: Konrad 'ktoso' MalawskiReview Manager: Doug GregorStatus: AcceptedImplementation: swiftlang/swift#91610Summary of Changes분산 액터(distributed actor)의 정체성은 연관된 DistributedActorSystem이 관리해요. 지금까지 시스템은 assignID(_:)/resignID(_:) 쌍을 통해 로컬 분산 액터 인스턴스의 생명주기를 관찰하고, resolve(id:as:)를 통해 원격 참조의 생성에..
-
[SE-0541] Flexible Swift/C Interoperability for PackagesSwift 2026. 9. 20. 08:30
안녕하세요. 그린입니다 🍏이번 포스팅에서는 SE-0541 — 패키지를 위한 유연한 Swift/C 상호운용성에 대해 정리해보겠습니다 🙋🏻IntroProposal: SE-0541Author: Owen VoorheesReview Manager: Tim CondonStatus: Implemented (Swift Next)Implementation: swift-package-manager#10292, swift-build#1537, swift-build#1546, swift#90774IntroductionSwift는 C, C++, Objective-C와의 양방향 상호운용성을 잘 지원하지만, SwiftPM은 그동안 패키지 author가 쓸 수 있는 interop 기능을 제한해습니다.이 제안은 이런 제약 대부분..
-
SwiftUI - CanvasSwiftUI 2026. 9. 12. 16:11
안녕하세요. 그린입니다 🍏이번 포스팅에서는 SwiftUI의 Canvas 컴포넌트에 대해 애플 공식 문서를 기준으로 정리해보겠습니다 🙋🏻Intro프레임워크: SwiftUI지원 버전: iOS 15 / macOS 12 / watchOS 8 이상Canvas?일반 SwiftUI 뷰(Circle, Rectangle, Path)를 여러 개 겹쳐 그리면, SwiftUI는 그 뷰들을 실제 뷰 트리 노드로 유지해요(retained mode). 상태가 바뀌면 diffing해서 필요한 부분만 다시 그리죠.Canvas는 이 방식을 버려요. 대신 클로저 하나를 받아서, 매 프레임 그 클로저를 통째로 다시 실행해요. 클로저 안에서 GraphicsContext라는 그리기 도구에게 순서대로 명령을 내리는 방식이라 즉시 모드(im..
-
[SE-0544] Mutation and consumption in non-Copyable type deinitsSwift 2026. 8. 31. 13:37
안녕하세요. 그린입니다 🍏이번 포스팅에서는 SE-0544 — noncopyable 타입 deinit에서의 mutation과 consumption에 대해 정리해보겠습니다 🙋🏻IntroProposal: SE-0544Author: Joe GroffReview Manager: John McCallStatus: AcceptedImplementation: swiftlang/swift#90836noncopyable 타입은 deinit을 정의해서 생명주기가 끝날 때 소유하고 있던 리소스를 정리할 수 있어요. 하지만 이 제안 이전에는 deinit 본문 안에서 self가 immutable하고 오직 borrow만 가능했어요. 이 제안은 deinit이 self의 필드를 mutate하거나 consume할 수 있게 허용하되..