일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- swiftUI
- 스위프트
- ios
- Protocol
- 리펙터링
- 리팩토링
- 리펙토링
- MVVM
- RxCocoa
- combine
- SWIFT
- HIG
- uiscrollview
- 클린 코드
- clean architecture
- map
- Human interface guide
- Refactoring
- swift documentation
- Observable
- ribs
- UITextView
- uitableview
- rxswift
- Clean Code
- 애니메이션
- collectionview
- UICollectionView
- Xcode
- tableView
- Today
- Total
목록동시성 (9)
김종권의 iOS 앱 개발 알아가기
1. Async, Await 간단 사용 정리 (Concurrency) - 사용 방법 2. Async, Await 간단 사용 정리 (Concurrency) - 동시 처리 * 해당 글에서는 간단한 사용법만 살펴보기 때문에, 개념적인 부분은 이전 포스팅 글 참고 동시 처리 Async, Await를 사용하면 비동기 작업을 completion 클로저 블록 없이 한줄로 처리가 가능 let imageUrlString = "https://images.dog.ceo/breeds/australian-shepherd/pepper.jpg" guard let url = URL(string: imageUrlString) else { return } Task { let image = try await loadImage(url: u..
1. Async, Await 간단 사용 정리 (Concurrency) - 사용 방법 2. Async, Await 간단 사용 정리 (Concurrency) - 동시 처리 * 해당 글에서는 간단한 사용법만 살펴보기 때문에, 개념적인 부분은 이전 포스팅 글 참고 Async, Await 기초 사용 방법 ex) Async, Await를 사용하여 url을 가지고 특정 이미지 불러오기 정의부분 함수 리턴 화살표 키워드 "->" 왼쪽에 async 를 붙임 다른 비동기 함수를 호출할 때 await를 붙여서, completion 클로저가 아닌 그냥 일반 코드 작성하듯이 구현 func loadImage(url: URL) async throws -> UIImage { let (data, _) = try await URLSes..
1. Swift Concurrency 개념 - async, await, Task, async let, Actor 2. Swift Concurrency 개념 - async, await를 이용하여 api 호출해보기 Async, Await 없는 API 호출 모델 준비 struct AlbumResult: Codable { let results: [Album] } struct Album: Codable, Hashable { let collectionId: Int let collectionName: String let collectionPrice: Double } 구현 enum APIError: Error { case invalidURL case noData } enum API { static func fetchA..
1. Concurrent Programming - NSLock, DispatchSemaphore 사용 방법 2. Concurrent Programming - DispatchSemaphore로 코틀린의 CompletableDeferred 구현방법 3. Concurrent Programming - DispatchQueue의 serial, concurrent, async, sync 이해하고 사용하기 4. Concurrent Programming - Thread Safe Array 구현방법 (DispatchQueue의 barrier 사용) 5. Concurrent Programming - OperationQueue로 동적으로 작업 추가, 취소하는 모듈 구현방법 Operation Queue 동시성 프로그래밍에서 ..
1. Concurrent Programming - NSLock, DispatchSemaphore 사용 방법 2. Concurrent Programming - DispatchSemaphore로 코틀린의 CompletableDeferred 구현방법 3. Concurrent Programming - DispatchQueue의 serial, concurrent, async, sync 이해하고 사용하기 4. Concurrent Programming - Thread Safe Array 구현방법 (DispatchQueue의 barrier 사용) 5. Concurrent Programming - OperationQueue로 동적으로 작업 추가, 취소하는 모듈 구현방법 * 해당 글을 이해하기 위해서는 이전 포스팅 글(D..
1. Concurrent Programming - NSLock, DispatchSemaphore 사용 방법 2. Concurrent Programming - DispatchSemaphore로 코틀린의 CompletableDeferred 구현방법 3. Concurrent Programming - DispatchQueue의 serial, concurrent, async, sync 이해하고 사용하기 4. Concurrent Programming - Thread Safe Array 구현방법 (DispatchQueue의 barrier 사용) 5. Concurrent Programming - OperationQueue로 동적으로 작업 추가, 취소하는 모듈 구현방법 기본지식) DispatchQueue에서의 seria..
1. Concurrent Programming - NSLock, DispatchSemaphore 사용 방법 2. Concurrent Programming - DispatchSemaphore로 코틀린의 CompletableDeferred 구현방법 3. Concurrent Programming - DispatchQueue의 serial, concurrent, async, sync 이해하고 사용하기 4. Concurrent Programming - Thread Safe Array 구현방법 (DispatchQueue의 barrier 사용) 5. Concurrent Programming - OperationQueue로 동적으로 작업 추가, 취소하는 모듈 구현방법 NSLock 개념 (자세한 ThreadSafe개념과..
Operation single task에 관한 데이터와 코드를 나타내는 추상 클래스 해당 클래스를 서브클래싱하여 사용하면 안정적으로 task를 실행시킬 수 있는 효과 존재 OperationQueue Operation 객체들을 priority에 의해서 실행시키는 queue 한번 operation queue에 Opertaion 객체를 담아놓으면 task가 끝날때까지 queue가 없어지지 않고 존재 해당 queue에서 Operation들을 삭제하거나 명령시킬 수 있는 장점이 존재 (task관리에 이점) Operation, OperationQueue의 핵심 Operation을 서브클래싱한 것은 기능을 캡슐화 했다는 의미이므로, 기능에 관한 모듈성 향상 task의 실행, 정지, 대기와 같은 실행 상태를 알 수 있..