내용 RxSwift 가 무엇인지 알아봅시다. 왜 사용하는지 알아봅시다. https://github.com/ReactiveX/RxSwift RxSwift: Reactive Programming with Swift, Chapter 1: Hello, RxSwift! 아래의 내용은 RxSwift 의 깃허브와 raywenderlich 의 글을 정리한 내용입니다. Rx 는 Observable 인터페이스를 통해 표현된 계산의 generic abstraction 으로, 이를 통해 observable 스트림에서 값 및 이벤트를 braodcast 하고 subscirbe 할 수 있습니다. RxSiwft 는 Reactive Extensions 의 Swift 전용 구현입니다. 다른 Rx 구현과 마찬가지로 RxSwift 의 의도..
iOS 15 부터 적용이 가능한 prepareThumbnail(of:completionHandler:) 메서드를 사용해서 동기적 코드에서 background 스레드에서 비동기적으로 thumbnail image 를 만드는 것을 해보자! asnyc 로 선언된 비동기적 메서드인 byPreparingThumbnail(ofSize:) 를 사용해보자! debug navigator 로 CPU, Memory 에 실제로 유효한지 확인해보자! Meet async/await in Swift - WWDC21 - Videos - Apple Developer WWDC 21 세션을 보다가 비동기적으로 thumbnail image 를 만드는 메서드가 보여서 적용해보기로 하였다. 먼저 개발자 문서를 확인해보자. prepareThumb..
Swift 5.6 @frozen struct GeometryReader where Content : View 열거형의 경우 또는 구조체의 저장된 인스턴스 프로퍼티를 추가, 제거, 재정렬하여 선언을 바꿀 수 없다. frozen 으로 표시하면 추가적인 최적화를 진행할 수 있기 떄문에 라이브러리의 향후 버전을 제한적으로만 변경할 수 있도록 하지만 이와 같은 성능을 얻기때문에 flexibility 를 포기할 수 있다고 합니다. frozen 열거형에 대한 switch 문은 default case 를 필요로 하지 않습니다. 해당 열거형 switch 문에서 default, @unknown 기본 케이스를 포함하면 해당 코드가 실행되지 않기 때문에 warning 이 발생합니다. Attributes - The Swift ..
https://github.com/uber/RIBs 내용 RIBs 튜토리얼 2 를 진행하겠습니다! 본 글은 RIBs tutorial 2 를 번역 및 궁금한 내용들을 추가하여 작성하였습니다. iOS Tutorial 2 · uber/RIBs Wiki Note: If you haven't completed tutorial 1 yet, we encourage you to do so before jumping into this tutorial. Goals 이전 튜토리얼에서 LoggedOut RIB 로 구동되는 login form 을 포함하는 앱을 만들었습니다. 이번에는 로그인한 후 게임필드를 표시하도록 앱을 확장할 것입니다. 마지막에는 RIBs 를 unit test 하는 방법을 간력하게 설명하겠습니다. 주..
내용 MainActor 를 사용해서 main thread 에서의 동작을 보장해보자. MainActor 는 Concurrency 의 Actors API collection 중 하나입니다. Apple Developer Documentation MainActor Apple Developer Documentation A singleton actor whose executor is equivalent to the main dispatch queue. 즉, mian thread 에서의 동작을 보장하는 Actor 입니다.MainActor 를 사용하면 DispatchQueue.main 을 언제 사용할지 고민하지 않아도 됩니다! Task { do { movies = try await getMovie() await Mai..
내용 Actor 을 활용해서 이미지를 캐싱하는 다운로더를 만들어 보겠습니다. async/await 을 활용해서 이미지를 다운받고, 그 이후의 캐싱 역할은 Actor 로 만든 ImageDownloader 에서 처리하도록 하겠습니다. 아래의 세션을 참고해서 적용해보았습니다. Protect mutable state with Swift actors - WWDC21 - Videos - Apple Developer Create ImageDownloader with Actor 이미지 다운로더 actor 를 만들어보겠습니다. 이미지 다운로더는 다른 서비스에서 이미지를 다운받는 역할을 수행하며, 다운 받은 이미지를 cache 에 저장하여 동일한 이미지에 대한 중복 다운로드를 막습니다. cache 를 확인하고 cache ..
내용 Error Handling. extension 을 활용한 protocol method 의 기본 구현 설정. request query 를 사용한 GET 서버통신을 구현 existential metatype 활용해서 디코딩 에러일 때 해당 자료형 다루기. 전반적으로 Moya 의 구조를 공부하면서 URLSession 을 접목시켜서 진행. 구현 부분 HTTP Method: HTTP 메서드를 가지는 구조체. Moya 차용 TargetType: 해당 프로토콜을 채택해서 Service 파일을 구현하기 수월하도록 했습니다. Moya 차용 Network Task: request 를 작업할 방법을 가지는 enum. Moya 차용 Parameter Encoding: 파라미터를 인코딩하는 방법을 가지는 enum. Moy..
핵심 내용 Movie open API 를 사용해서 URLSession 으로 서버 통신을 진행할 것이다. async/await 를 사용해서 비동기 처리를 동기적으로 사용해보자. WWDC 21 에서 async/await 가 소개되었습니다. Meet async/await in Swift Use async/await with URLSession 세션들의 일부 내용을 가져와서 기존 completionHandler 의 문제가 무엇이었는지, async/await 는 무엇이고 URLSession 과 어떻게 함께 사용하는지 알아봅시다. 기존에 우리는 비동기 작업에서 completion handler 를 사용해왔어요! 아래의 코드를 async/await 를 사용해서 바꾸어 봅시다. (아래는 WWDC21 Use async/..
- 서버통신
- MVVM
- APNS
- Notification
- 2022 KAKAO TECH INTERNSHIP
- MOYA
- WWDC22
- CloneCoding
- rxswift
- urlsession
- Widget
- SwiftUI
- watchOS
- Firebase
- async/await
- OpenSourceLibrary
- WidgetKit
- IOS
- containerBackground
- YPImagePicker
- WWDC
- projectsetting
- configurable widget
- Objective-C
- Algorithm
- RxCocoa
- Swift
- UserDefaults
- github
- Protocol
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Total
- Today
- Yesterday