[Swift] WWDC23 - Expand on Swift macros
·
WWDC/Swift
매크로 지원의 필요성Swift는 보일러 플레이트 코드를 줄이기 위한 다양한 기능을 제공하지만, 이러한 기능들로도 해결되지 않는 경우가 발생할 수 있습니다.이때, 개발자가 Swift 컴파일러를 수정하는 방법도 있습니다. Swift가 오픈 소스로 제공되기 때문에 컴파일러 수정이 가능하긴 하지만, 이 방법은 복잡하고 유지보수가 어렵습니다.매크로를 활용하면 컴파일러를 수정할 필요 없이 패키지에 포함된 형태로 보일러플레이트를 제거할 수 있습니다.이는 개발자들이 원하는 기능을 쉽게 구현할 수 있도록 도와줍니다. 매크로는 명확해야 한다Swift 컴파일러는 #과 @ 기호를 매크로로 인식하여 확장성을 추가합니다.매크로는 두 가지 유형이 있습니다.독립형 매크로: 항상 # 기호로 시작합니다.첨부 매크로: 코드 선언부에 작성..
[Swift] WWDC23 - Dive deeper into SwiftData
·
WWDC/Swift
서론 벌써 마지막 SwiftData 영상이네요. 지금까지는 가볍게 훑어보고 실습하는 영상이어서 그리 어렵다는 느낌은 안 들었는데요. 마지막 Deeper 영상에서는 어떨지 두근거립니다. 참고로 SwiftData 영상은 총 5개로 순서는 아래와 같습니다. Meet SwiftData Build an app with SwiftData, Migrate to SwiftData Model your schema with SwiftData Dive deeper into SwiftData 이번 영상에서는 Meet SwiftData와 Model your schema with SwiftData를 선행할 것을 권장하고 있습니다. WWDC23에서는 영상 챕터를 지원합니다. 이번 포스팅도 영상 챕터를 기준으로 작성되었습니다. In..
[Swift] WWDC23 - Model your schema with SwiftData
·
WWDC/Swift
서론 네 번째 WWDC23 SwiftData 영상입니다. 이걸 들으면 드디어 한 개 빼고 다 들었네요 ㅎㅎ CoreData를 대체할 수 있는 새로운 프레임워크라서 흥미도 생기고 빨리 접하고 싶은 마음에 달리고 있습니다. 지금까지 들은 내용은 굉장히 쉽게 느껴졌는데... Dive deeper into SwiftData 영상도 쉬울지는 모르겠네요 ㅋㅋ; SwiftData 영상은 총 5개로 순서는 아래와 같습니다. Meet SwiftData Build an app with SwiftData, Migrate to SwiftData Model your schema with SwiftData Dive deeper into SwiftData WWDC23에서는 영상 챕터를 지원합니다. 이번 포스팅도 영상 챕터를 기준으..
[Swift] WWDC23 - Build an app with SwiftData
·
WWDC/Swift
서론 SwiftData 세 번째 영상입니다. SwiftData는 새로운 데이터 저장, 관리 프레임워크로, CoreData를 대체하는 새로운 프레임워크입니다. WWDC23 - Meet SwiftData에서 SwiftData가 무엇인지 간략히 소개하고 있습니다. 이번 영상은 SwiftUI에서 SwiftData를 사용해 앱을 만드는 방법을 다룹니다. 실습과 함께 진행되기 때문에 직접 시청하시는걸 추천 드립니다. Meet SwiftData에서 SwiftData는 SwiftUI를 염두해두고 설계되었기 때문에 SwiftUI에서 사용이 쉽다고 언급했습니다. 이번 영상에서 그 장점을 느낄 수 있을듯 합니다. (취업 전까진 UIKit에 집중하고, SwiftUI는 취업하면 공부하자는 계획이 이렇게 악영향을 줄지는 몰랐습니..
[Swift] WWDC23 - Migrate to SwiftData
·
WWDC/Swift
서론 Migrate to SwiftData는 CoreData를 SwiftData로 변경하는 내용을 다룹니다. 변경하지 못하는 경우, 함께 사용하는 방법도 다루기 때문에 SwiftData 적용을 고려할 때 참고하면 좋을 듯 합니다. 개인적으로 SwiftData를 사용할 수 있는 iOS 17 시대가 되면 CoreData는 많이 사라지지 않을까 생각이 드네요. 참고로 SwiftData 영상은 총 5개로 순서는 아래와 같습니다. Meet SwiftData Build an app with SwiftData, Migrate to SwiftData Model your schema with SwiftData Dive deeper into SwiftData 이번 WWDC23부터는 영상 챕터가 지원됩니다. 이번 포스팅도 ..
[Swift] WWDC23 - Meet SwiftData
·
WWDC/Swift
서론 WWDC23에 새로운 데이터 관리 프레임워크가 나왔습니다. 저는 개인 프로젝트에 CoreData를 자주 사용하고 있는데 학습하고 사용하는게 쉬운 편이 아니라 SwiftData가 이 단점을 해소시켜줄 수 있을지 궁금했습니다 ㅎ Meet SwiftData는 9분이라는 짧은 길이의 영상이므로 직접 보시는 것도 추천 드립니다. 참고로 SwiftData 영상은 총 5개로 순서는 아래와 같습니다. Meet SwiftData Build an app with SwiftData, Migrate to SwiftData Model your schema with SwiftData Dive deeper into SwiftData 또한, 이번 영상에서도 Swift macro 이야기가 나옵니다. Swift 매크로는 WWDC2..
[Swift] WWDC23 - What's new in Swift
·
WWDC/Swift
서론 WWDC23의 What's new in Swift를 보고 파파고와 함께 정리했습니다. WWDC22에서는 한글 자막을 지원했는데 WWDC23에서는 지원을 안 하나봐요.. 추후 한글 자막도 추가가 되기를 기원합니다🙏 Swift 5.9에서는 매크로가 핵심인듯 했습니다. 이 영상뿐만 아니라 여러 영상에서 언급을 하니 WWDC 23을 보실 계획이라면 꼭 매크로 챕터를 먼저 보셨으면 좋겠습니다. 올해 WWDC 영상에서는 챕터를 지원합니다. 따라서 포스팅도 WWDC 영상에서 제공하는 챕터 단위로 정리해보았습니다. Swift project update Swift의 발전을 위해 스위프트 오픈 소스 프로젝트를 시작했다고 합니다. 이제 Swift 포럼에서 새로운 기능이나 중요한 행동 변화(significant beha..
[Swift] WWDC18 - Using Collections Effectively(2)
·
WWDC/Swift
1편 보기 [Swift] WWDC18 - Using Collections Effectively(1) 서론 Collection은 개발에 빠질 수 없는 필수 요소입니다. 이번에 살펴볼 WWDC18 - Using Collections Effectively에서는 Collection을 효과적으로 사용하는 방법을 알려줍니다. 함께 알아봅시다~ Collection Collection jeong9216.tistory.com Mutable Collection Mutable Collection은 길이는 변경할 수 없지만, 원소는 변경할 수 있습니다. 이 동작은 상수 시간으로 수행이 가능합니다. Range Replaceable Collections Range Replaceable Collections는 Collection에..
[Swift] WWDC18 - Using Collections Effectively(1)
·
WWDC/Swift
서론 Collection은 개발에 빠질 수 없는 필수 요소입니다. 이번에 살펴볼 WWDC18 - Using Collections Effectively에서는 Collection을 효과적으로 사용하는 방법을 알려줍니다. 함께 알아봅시다~ Collection Collection 없이 개발하는 것은 매우 힘듭니다. 요소 하나하나 출력해줘야 하거나 if - else if ... 를 이용해 모든 케이스를 직접 관리해야 합니다. Collection은 이런 불편함을 줄여줍니다. 위처럼 하나하나 관리했던 문제는 Array를 이용해 간편하게 처리가 가능합니다. Collection은 프로토콜 중 하나로, 요소들이 여러 번 통과할 수 있는 시퀀스면서, subscript를 통해 접근할 수 있습니다. Collection은 sta..
[Swift] WWDC22 - Design protocol interface in Swift(디자인 프로토콜 인터페이스)
·
WWDC/Swift
서론 저는 프로토콜 활용을 잘 못합니다. 프로토콜 활용 경험이 많이 없어서요... 근데 영원히 못하는 상태로 남을 수는 없으니 프로토콜 관련 WWDC를 보고 실제 프로젝트에도 써먹어보자 결심했어요. Embrace Swift generics에서 언급했던 세션인 Design protocol interface in Swift을 들어보았습니다. 이번에 들을 세션인 Design protocol interface in Swift는 라고 써있는 만큼 Embrace Swift generics 세션을 먼저 들으시면 좋을 거 같습니다. Embrace Swift generics는 저도 정리를 했으니 링크 남겨둘게요! (WWDC22 - Embrace Swift generics) 아시다시피 이번 WWDC22부터 한글 자막을 지..
[Swift] WWDC21 - ARC in Swift : Basics and beyond
·
WWDC/Swift
서론 지난 포스팅에서 CPU, 메모리같은 앱의 한정된 자원을 절약해야 한다고 말했었습니다. 그럼 메모리에 관한 공부가 더 필요하겠다고 생각해서 ARC에 관한 WWDC 영상도 찾아보았습니다. 익숙한 줄 알았던 ARC에 대해 더 자세히 알게 된 경험이었습니다. (WWDC 꿀잼) ( 좀 놀랐던건 전 지금까지 ARC를 "에이알씨"라고 읽었는데 "아크"라고 읽더라구요... 다른 분들도 아크라고 읽으시나요? 저만 에이알씨라고 읽었나요? ㅋㅋ ㅠㅠ 댓글로 알려주세요... ) ARC in Swift : Basics and beyond 이번 세션에서는 ARC가 어떻게 작동하는지 알고, 객체 수명에 대한 내용을 다룹니다. 이를 제대로 알아야 효과적인 Swift 개발이 가능합니다. Object lifetimes and AR..
[Swift] WWDC22 - Eliminate data races using Swift Concurrency (1)
·
WWDC/Swift
서론 Swift Concurrency와 GCD를 비교하는 포스팅을 쓸 때 Swift Concurrency는 Data race에 안전하다고 했었습니다. 당시에는 정확히 어떻게 data race를 방지해주는지 알지 못했죠. 마침 WWDC22에 관련 내용이 있어 정리해보기로 했습니다. Sendable (https://developer.apple.com/documentation/swift/sendable)에 대한 내용을 미리 읽어보고 아래 내용을 보시면 더 이해가 쉬우실 것 같네요. 물론 아래에서도 Sendable에 대한 내용이 나오니 나중에 읽으셔도 괜찮습니다 ㅎㅎ 추가로 Actor에 대한 것도 다루는데 전 Actor에 대한 사전 학습이 되어 있지 않아 이해하기 너무 어려웠습니다. 그래서 이번 포스팅에서 다루..
[Swift] WWDC21 - Meet async / await in Swift
·
WWDC/Swift
서론 이번에 들은 WWDC 영상은 "Meet async / await in Swift" 입니다. 처음으로 async / await에 대해 소개해주는 영상인데요. 사실 지난 포스팅에서 다룬 내용과 겹치는 내용이 많아 복습하는 기분이 들긴 했습니다. 그래도 async / await는 아직도 어려운 부분이 있어서 정리하면 좋겠죠. (아마 동일한 주제로 2~3개 더 올리지 않을까... 싶네요 ㅎㅎ;) Functions: synchronous and asynchronous UIKit에는 이미 많은 동기, 비동기 함수가 있습니다. 이번 영상에서는 UIImage를 예시로 들었습니다. size에 맞게 썸네일을 가져오는 메서드로 위쪽 메서드는 동기 버전, 아래쪽 메서드는 비동기 버전입니다. 비동기 버전에는 escapin..
[Swift] WWDC15 - Optimizing Swift Performance
·
WWDC/Swift
저번 Understanding Swift ... 도 그렇고 이번 Optimizing Swift Performance도 그렇고 Swift에 관한 WWDC 내용은 정말 어렵네요 ㅠㅠ 여러 번 돌려봐야겠습니다... Optimizing Swift Performance Swift에는 클로저, 프로토콜, 제네릭, ARC처럼 좋은 기능이 많이 있습니다. 이런 고차원의 기능이 많으면 프로그램이 할 일이 많아지기 때문에 속도는 느려지기 마련입니다. 하지만 Swift는 고도로 최적화되어 native 코드를 굉장히 빠르게 컴파일해줍니다. Swift는 어떻게 두 마리 토끼를 다 잡았을까요? 애플은 위 사진의 모든 고급 기능들을 최적화하였습니다. Array Bounds Checks Optimizations 모두 알아볼 수 없으..
[Swift] WWDC22 - Embrace Swift generics
·
WWDC/Swift
서론 WWDC22는 모든 세션에서 한글 자막을 지원합니다. 한글 자막이 어떤지 궁금해서 요즘 공부 중인 Generic에 관련된 세션을 보고 정리해보았습니다. 한글 자막에 대한 후기도 마지막에 가볍게 말해볼게요. Abstraction 추상화(Abstraction)에 대한 개념으로 영상이 시작됩니다. 아래 코드를 봅시다. 코드에서 * .pi / 180.0 이 중복됩니다. 중복되는 코드를 함수로 묶어 추상화가 가능하고 보일러 플레이트를 줄일 수 있습니다. 이번 포스팅(영상)에서는 농장 환경을 구성하는 코드를 예시로 들고 있습니다. Model with concrete types 첫 번째로 Cow 구조체가 있습니다. Cow 구조체는 eat 메서드를 가지고 있고 먹이로 Hay 구조체를 전달합니다. (Hay : 건초..
유정주
'WWDC/Swift' 카테고리의 글 목록