
안녕하세요. 개발자 멍구입니다! iOS 개발을 하다 보면 "동시성", "데이터 경쟁(data race)", "스레드 안전성" 같은 말들이 자주 들리죠? 처음 들으면 어렵게 느껴질 수 있지만, 오늘은 그런 개념들을 단번에 정리해주는 핵심 키워드 두 가지를 소개해드릴게요.바로 Actor와 Sendable입니다. 앱이 복잡해지고, 멀티태스킹이 많아질수록 중요해지는 이 개념들, 오늘 알아보겠습니다. Actor? 데이터 경합 문제를 깔끔하게 해결하는 방법먼저 Actor부터 볼게요."Actor는 일종의 안전한 방입니다." 여러 사람이 동시에 들어와서 방 안의 물건을 엉망으로 만들지 않도록, 한 명씩만 차례대로 들어와서 방 안의 상태를 변경할 수 있도록 해요.Swift에서 actor는 class처럼 참조 타입이지만,..

Sendable 프로토콜 개요Sendable이 뭐길래 Swift 6에서 강조될까?Swift를 쓰는 개발자라면, 최근 자주 보게 되는 키워드 중 하나가 Sendable 프로토콜일 거예요. 애플 공식 문서에서는 Sendable을 이렇게 설명하고 있습니다:Sendable 프로토콜은 데이터 레이스 없이 다양한 컨텍스트에서 안전하게 전달될 수 있는 타입을 나타낸다.즉, 여러 스레드나 Task 간에 데이터를 주고받을 때 충돌 없이 안전하게 다룰 수 있는 타입인지를 보장해주는 약속 같은 개념입니다.Swift6부터는 이 개념이 더 엄격하고 자주 쓰이게 되니, 지금 정확히 이해해두는 것이 앞으로의 개발에 큰 도움이 될 거예요! 개념이 어렵게 느껴지신다고요? 괜찮아요. 지금부터 하나하나 아주 쉽게 설명드릴게요 🙂 왜 ..

안녕하세요. 개발자 멍구입니다! 🐶오늘은 Migrating to Swift6의 Swift 6 Source Compatibility 주제로 공부 목적으로 번역 정리한 내용을 공유드립니다.아래 소개된 다양한 Swift6 제안 내용을 통해 Swift6로 마이그레이션 하는 과정에서 발생할 수 있는 다양한 측면에 대해서 알아보실 수 있습니다. 잘못된 내용은 언제든 피드백 부탁드려요! 🙏🏻 Source Compatibility소스 호환성잠재적으로 발생할 수 있는 소스 호환성에 대한 개요를 알아봅니다.Swift 6에 대해 소스 호환성에 영향을 주는 많은 보완 제안(evolution proposals)이 있습니다. 이는 모두 Swift 5 언어 모드에서는 선택적으로 활성화(opt-in) 해야하는 기능들입니다.N..

안녕하세요~ 개발자 멍구입니다! 오늘은 Swift6, Swift concurrency 런타임 동작 관련 내용을 번역한 내용을 정리해서 공유드립니다. Swift Concurrency, 런타임 동작(Runtime Behavior)Swift의 동시성 모델은 async/await, actor, task 등에 초점을 맞추고 있습니다. 기존의 동시성 라이브러리나 런타임이 Swift의 새로운 동시성 모델로 직접 변환되지 않을 수도 있습니다. 이번 글에서는 런타임 동작에서 주의해야 할 공통 패턴과 차이점을 살펴보고, 기존 코드를 Swift Concurrency로 마이그레이션할 때 이를 어떻게 해결할 수 있는지 알아보겠습니다.Task Group을 사용한 동시성 제한많은 양의 작업을 처리해야 하는 상황에서 아래와 같이 ..
- Total
- Today
- Yesterday
- Swift 알고리즘
- ios
- 자연어처리
- 개발자문서
- 백준swift
- CoreML
- swift언어
- 알고리즘
- SwiftUI
- swift 기초
- uikit
- swift concurrency
- 백준알고리즘
- 알고리즘문제
- 스위프트
- 프로그래머스swift
- Collection
- swift 문자열
- Protocol
- createML
- 컬렉션
- swift알고리즘
- 프로토콜
- swift string
- swift reduce
- 부스트코스
- swift문제
- swift
- 김프매매
- 프로그래머스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |