일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Clean Code
- SWIFT
- collectionview
- tableView
- combine
- 클린 코드
- swiftUI
- UITextView
- 스위프트
- UICollectionView
- Protocol
- uiscrollview
- 애니메이션
- 리팩토링
- Refactoring
- clean architecture
- Xcode
- 리펙터링
- uitableview
- RxCocoa
- swift documentation
- 리펙토링
- HIG
- Human interface guide
- Observable
- rxswift
- ribs
- map
- ios
- MVVM
- Today
- Total
목록동시성 (10)
김종권의 iOS 앱 개발 알아가기
@Sendable 개념Sendable이라는 의미는 "전달 할 수 있는"이라는 의미이지만, 생략된 의미가 존재@Sendable는 불변성을 보장하는 "전달 할 수 있는"의 의미로 사용동시성 프로그래밍에서 핵심은 프로퍼티들의 '불변성'을 유지하는 것프로퍼티들이 '불변성'을 만족한다면, 동시성 프로그래밍에서 쉽게 파라미터, 클로저 등에 넘겨서 처리하는 것에 race condition, dead lock, memory conflict 등의 문제등을 신경쓰지 않고 편하게 프로그래밍이 가능@Sendable의 목적은 값을 변경할 수 없도록 강제화하는것예제특정 closure가 있을 때 이 closure에서는 전역변수인 age값 수정이 가능class ViewController: UIViewController { va..
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개념과..