AsyncStream structure 정의 swift 5.5 부터 소개된 Swift Conrreucy의 개념으로 AsyncStream이 있습니다. iOS13부터 지원을 하고 있습니다. AsyncStream은 클로저를 통해 생성된 비동기 시퀀스를 정의합니다. AsyncStream을 통해 제공되는 closure 내에서 continuation을 통해 다수의 새로운 값을 생산하고, 이를 async 하게 처리할 수 있습니다. AsyncStream은 구조체로 정의되어 있으며, Element라는 제네릭 타입을 갖고 있습니다. Overview AsyncStream은 기본적으로 AsyncSequence를 준수하고 있습니다. AsyncSequence를 준수하기 위해서는 몇가지 사항을 준수해야하는데, 이를 수동적으로 준수..
스레드의 동시 접근으로 생기는 문제점인 Data Races 문제를 해결하기 위해서 사용할 수 있는 프로토콜이 있습니다. Swift Concurrency 관련해서 생긴 새로운 타입인 Actor도 이 protocol을 채택하고 있는데요. 오늘은 Sendable protocol 문서를 읽어보고자 합니다. Sendable protocol의 요약 설명을 보면, 복사에 의해 Concurrency 도메인 간에 값을 안전하게 전달할 수 있도록 한다고 하는데, 문서를 보도록 하겠습니다. 동시성 문제를 해결하는 Actor와 Sendable protocol의 관계 하나의 스레드에서 동시 접근을 해버리면 예기치못한 동작을 야기할 수 있습니다. 대표적인 예사가 은행송금 문제입니다. 만약에 잔고가 100만원이 있는데, 동시에 ..
iOS개발을 하다보면 빼놓을 수 없는 클래스 개념이 있습니다. 바로 Objective-C 클래스들의 최상위 루트 클래스인 NSObject인데요. Cocoa, Cocoa Touch Framework의 최상위 루트 클래스이기도 하죠. 이 NSObject가 채택하고 있는 프로토콜이 있습니다. 오늘은 NSObject 클래스가 채택하는 NSObjectProtocol에 대해서 가볍게 알아보겠습니다. iOS NSObject가 채택하고있는 NSObjectProtocol란 무엇일까? NSObject클래스는 Objective-C의 클래스라면 모두 상속받고 있는 핵심 루트 클래스인데요. 그러한 클래스가 채택하고 있는 프로토콜이라면 그 중요성은 더 말할 필요가 없을 것 같습니다. 개발자 문서를 보면, NSObjectProto..
Announcing the Reducer Protocol Today we are releasing the biggest update to the Composable Architecture ever, completely reimagining how features are built with the library. www.pointfree.co 작년 10월에 The Composable Architecture 0.41.0 버전과 함께 Reducer Protocol이 소개되었습니다. ReducerProtocol 사용을 위해서는 swift 5.6 버전 이상이 필요합니다.(ReducerProtocol 채택 후 구성을 할때, opaque type 문법 까지 온전히 활용하기 위해서는 5.7 버전 이상이 필요) 오늘은 ..
- Total
- Today
- Yesterday
- 프로토콜
- swift 문자열
- Collection
- swift언어
- publisher
- uikit
- Protocol
- swift알고리즘
- swift string
- 프로그래머스
- 스위프트
- swift reduce
- 김프매매
- swift문제
- 자연어처리
- 알고리즘
- 개발자문서
- 알고리즘문제
- ios
- Swift 알고리즘
- 부스트코스
- 컬렉션
- CoreML
- swift
- SwiftUI
- 백준swift
- swift 기초
- 프로그래머스swift
- createML
- 백준알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |