WWDC24 3

[Swift] WWDC24 Meet Swift Testing

Meet Swift Testing 세션을 정리한 글입니다. Swift Testing은 새로운 오픈 소스 패키지로 Swift를 사용해 코드를 테스트할 수 있습니다Swift Testing은 Swift용으로 만들어져 동시성 및 매크로와 같은 최신 기능을 도입했습니다 Linux와 Windows 등 모든 주요 플랫폼을 지원합니다 Building blocks@Test 속성이 첫 번째 구성 요소입니다함수가 테스트임을 나타내죠 이것을 추가하면 Xcode가 인식하고 옆에 Run 버튼을 표시합니다테스트 함수는 @Test 속성을 가진 일반적인 Swift 함수입니다전역 함수일 수도 있고 유형의 메서드일 수도 있습니다비동기 또는 예외로 표시하거나 필요한 경우 전역 액터로 격리할 수 있습니다 @testable 속성을 사용해서 테..

iyOmSd/Title: Swift 2024.11.14

[Swift] WWDC24 Consume noncopyable types in Swift

Consume noncopyable types in Swift 세션을 정리한 글입니다. Copyingstruct Player { var icon: String}func test() { let player1 = Player(icon: "🐸") //1 var player2 = player1 //2 player2.icon = "🚚" //3 assert(player1.icon == "🐸")}위와같은 코드가있을때 1단계식보면플레이어1 🐸 생성플레이어2도 1과 동일하게 생성, 플레이어1의 복사본을 만든다는 의미 (player1 = player2 = 🐸)플레이어2의 아이콘변경시 플레이어1로부터 독립적인 플레이어를 변경하는것임 (player1 = 🐸, player2 = 🚚)하지만 Player가 참..

iyOmSd/Title: Swift 2024.11.11

[Swift] WWDC24 Explore Swift Performance(1)

WWDC24 Explore Swift Performance를 보고 정리한 글입니다! 🙇‍♂️ C언어에서는 깔끔한 기계어 코드를 얻을 수 있지만 Swift는 그렇게 간단하지 않습니다.코드를 잘 못 작성하면 메모리가 완전 난잡해집니다.대신 Swift는 C에서 제공하지 않는 다양한 추상화 기능과 클로저, 제네릭 등을 지원합니다 이러한 추상화 기능은 간단하게 구현되어 있지 않으며 명시적으로 malloc을 호출하듯이 명확한 비용을 알 수 없습니다What is Performance?만약 어떤 도구가 있어서 프로그램을 그 도구에 집어넣으면 하나의 숫자가 출력되고 그 숫자로 프로그램의 성능을 모두 알 수 있다면 얼마나 좋을까요Safari의 성능 점수가 9.2라고 출력되는것 같이 표시하고싶지만 그렇게 할 수는 없습니다..

iyOmSd/Title: Swift 2024.11.09