전체 글50 [WWDC] Swift에서 noncopyable 유형 소비하기 https://developer.apple.com/kr/videos/play/wwdc2024/10170/ Swift에서 noncopyable 유형 소비하기 - WWDC24 - 비디오 - Apple DeveloperSwift의 noncopyable 유형에 대해 자세히 알아보세요. Swift에서 ‘복사'가 어떤 개념인지 살펴보고, noncopyable 유형을 사용하기에 적합한 경우와 값 소유권으로 목적을 명시하는 방법에 대해 알아보세developer.apple.com 어떤 값은 때로는 절대 복사하면 안되는 상황이 있습니다. (리소스를 소유한 객체의 경우: 파일을 핸들링하거나, 네트워크 소켓 등)클래스와 ARC를 통해 그동안 제어해왔다면, 새로운 타입을 통해 값 타입에도 적용할 수 있게 되었습니다. 오늘의 글.. 2025. 8. 6. [Swift concurrency] 콩코롱시의 밤 6일차 6일차 주제: Shared Mutable State / Sendable 안녕하새요. 콩코롱시의 밤 6일차를 시작하겠습니닷. Data Race와 Shared Mutable State 동시성 프로그래밍에서 어려운 문제 중 하나는 무엇일까요? 바로 Data Race입니다. Data Race(데이터 경합)는 여러 개의 개별 스레드가 동시에 동일한 데이터를 접근해,하나 이상이 해당 데이터를 변경할 때 발생하는 경우입니다. 예를 들어 아래와 같은 예시가 있다고 가정해볼게요. Counter의 increment() 는 value의 값에 +1을 해요.2개 이상의 Task에서 increment() 을 동시에 호출해요.위와 같은 경우, 실행 타이밍에 따라서value에서 동시에 0을 읽고 1을 반환할 수도, 1을 읽고.. 2025. 7. 1. [WWDC] Eliminate data races using Swift Concurrency https://developer.apple.com/videos/play/wwdc2022/110351/ Eliminate data races using Swift Concurrency - WWDC22 - Videos - Apple DeveloperJoin us as we explore one of the core concepts in Swift concurrency: isolation of tasks and actors. We'll take you through Swift's...developer.apple.com 오늘의 글은 Swift Concurrency에서 데이터 경합을 방지하는 방법에 대해서 다룹니다. Task isolation 우선, Swift Concurrency에서의 핵심 중 하나인 Ta.. 2025. 6. 26. [Swift concurrency] 콩코롱시의 밤 5일차 5일차 주제: Cancellation propagation 안녕하새요. 5회차의 밤을 시작해보겠습니닷. Task cancellation 오늘은 부엌에서 요리사들이 스프를 만드는 상황을 가정해보겠습니다. 각 요리사들은, 스프를 만들기 위해서재료 손질닭고기 재우기국물 끓이기세 가지의 과정을 거치는데요. 이를 계층 구조로 살펴보면 어떨까요? 위와 같이, 부모 Task인 makeSoup라는 스프 만들기 내에는 세 가지의 작업들이 존재하고,그 중에서도 재료 손질(chopIngredient)은 손질해야 하는 재료의 개수만큼자식(chop)을 생성하고 있어요. 이러한 계층 구조를 가지고 있을 때의 장점은 무엇일까요? 만약, 수프를 만들던 도중, 이를 중단하고 싶다고 가정해봅시다. task.cancel() 부.. 2025. 6. 24. [Swift concurrency] 콩코롱시의 밤 4일차 4일차 주제: Structured concurrency 안녕하새요.날이 많이 덥네요 … ♨ 콩코롱시의 밤 4회차를 시작해보겠습니다. 🧨 문제 상황 발생 2회차의 밤에서 소개했었던 fetchThumanil 함수를 기억하시나요? 문자열을 URLRequest로 변환URLRequest를 기반으로 데이터 가져오기데이터 기반 이미지 생성 썸네일 렌더링동기비동기동기비동기 위와 같이 URLRequest로 데이터를 가져와, 이미지로 썸네일 렌더링을 하는 함수였는데요. 오늘은 여러 개의 이미지를 받아서 각각 썸네일 렌더링을 하는fetchThumanils (s 추가) 함수를 살펴보려고 합니다. 위와 같이 for문으로 각 이미지의 아이디로 접근해서, 썸네일을 하나씩 비동기적으로 만들고 있어요. 그런데… 이 .. 2025. 6. 20. [Swift concurrency] 콩코롱시의 밤 3일차 3일차 주제: continuation 안녕하새요.. 벌써 3회차라니 Continuation 들어가기 저번 시간에 async/await을 살펴보면서, 잠시 continuation을 언급했어요. 저는.. 음.. 다시 되짚어 볼까요?? continuation을 언급하면서,위처럼 완료 핸들러 기반의 기존 함수를 async/await 기반으로 바꾸기 위해 async 함수로 기존의 함수를 감싸는 방식을 활용하는 예시를 들었는데요. 하지만 완료 핸들러를 사용하고 있는 기존 함수는 await을 사용하는 것처럼,데이터가 반환하는 것을 기다릴 수가 없었습니다. 이에, 위처럼 내부적으로 Core Data를 호출해서,Core Data에게 대신 비동기 작업을 기다리고 결과를 반환하는 bridge 역할을 .. 2025. 6. 20. 이전 1 2 3 4 ··· 9 다음