2026/03/02 3

Swift Concurrency #마무리 - 여러 번 보면서 이해한 Swift Concurrency

앞서 Swift Concurrency와 관련된 WWDC 영상을 보며 전반적인 내용을 훑어보았다.나 역시 해당 영상을 여러 번 반복해서 시청했다. 처음에는 잘 이해되지 않던 개념들도, 다시 보면서 조금씩 정리가 되었고, 영상을 본 뒤 한동안 Concurrency를 사용하지 않다 보면 다시 헷갈리는 부분들도 있었다.그럴 때마다 내가 작성했던 필기 내용을 다시 읽으면서 많은 도움을 받을 수 있었다.결국 모르는 내용은 끈기 있게 찾아보고, 스스로 정리하면서 공부하는 방법밖에는 없는 것 같다는 생각이 들었다.영어 블로그도 작성하면서 개념이 또 다시 정리되었고, 복습의 효과가 있어서 개념을 기억하기 좋았던것 같다. 원래는 매주 1블로그 포스팅으로 시작했던 나만의 소소한 프로젝트였는데..ㅎㅎ개인적인 이슈도 있어서 미..

Swift 2026.03.02

Swift Concurrency #7 - AsyncSequence와 AsyncStream

WWDC21: Meet AsyncSequence | AppleAsyncSequence란?AsyncSequence는 본질적으로 async가 적용된 Sequence이다.Sequence: 일반 Sequence와 마찬가지로 정해진 순서를 가진다. 순서가 뒤바뀌거나 임의로 접근(random access)하는 것은 불가능하다.Suspend & Resume: 각각의 요소(element)에 대해 작업을 일시 중단(suspend)하고, iterator가 값을 생성하거나 에러를 방출하면 다시 재개(resume)된다.에러 처리와 종료: 비동기 작업을 수행하므로 에러가 발생할 수 있다. 컴파일러는 이를 일반 throwing 함수와 동일하게 처리한다. 에러가 발생하거나 더 이상 데이터가 없으면 iterator.next()는 n..

Swift 2026.03.02

Swift Concurrency #6 - Data Race 제거하기

WWDC22: Eliminate data races using Swift Concurrency | Apple 우선 위 영상에서 예측하기 어려운 동시성(Concurrency)의 세계를 바다에 비유하여 설명한다.⛵️ Task (배): 바다를 항해하는 배로, 독립적으로 자신의 할 일을 수행.🏝️ Actor (섬): 바다 위 고립된 섬으로, 한 번에 하나의 배(Task)만 접근할 수 있는 안전한 데이터 보관소.🍍 Value Type (파인애플): 복사해서 다른 배로 넘겨줄 수 있는 안전한 데이터 구조체.🐓 Reference Type (닭): 복사본이 아닌 원본 참조를 공유하게 되어 혼란(Data Race)을 유발할 수 있는 클래스 객체. Task와 데이터 격리 (Task Isolation)Task는 독립적..

Swift 2026.03.02