일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Firebase
- ios database
- uitableviewdiffabledatasource
- Firebase Analytics
- Tuist
- ios
- SeSAC
- Subscribe
- 카카오뱅크 ios
- Swift Tuist
- SwiftUI
- RxSwift
- combinecocoa
- realm
- JSON
- Subject
- xcode
- swift db
- GCD
- arc
- swift 5.9
- observable
- ribs
- swift database
- Combine
- 네트워크 통신
- KeyPath
- Tuist Swift
- swift 6
- swift
- Today
- Total
목록전체 글 (87)
천원의 개발
안녕하세요! 이번 Service Level Project를 끝마친 회고를 한번 해보려고 합니다. 먼저 혼자서 경험하기 힘든 실제 업무 환경과 동일한 프로세스로 각종 협업툴과(Figma, Swagger , Confluence), 서비스 레벨의 API/기획 명세서, 디자인 리소스를 통해서 정말.. 정말.. 혼자서는 경험하기 힘든 값진 경험을 한 것 같습니다. 이렇게 소중한 경험을 위해서 많은 준비를 해주신 멘토님들에게 정말 무한한 감사를 드립니다🥲 협업 툴에 대한 경험 이번 프로젝트를 통해서 얻은 수익 중 큰 부분이라고 생각합니다. Figma를 통해서 어떤 방식으로 디자이너분과 소통해야 하는지에 대해 경험을 했고 각 디자인 소스의 사용법, 팀원들과의 협업 등의 실무에 갔을 때 큰 도움이 될 것 같습니다. C..
Result ? Swift 5.0 부터 지원하는 에러를 처리하는 방법입니다. Result 타입 정의 enum Result { case success(Success) case failure(Failure) } enum을 활용하여 success와 failure의 case로 구분 지어주고 제네릭을 타입을 연관값에 넣어주어 사용합니다. 어떻게 사용할지 감이 안 잡히시죠 한번 같이 사용해 봅시다. Error프로토콜을 채택한 APIError enum APIError: String, Error { case invalidRessponse = "응답이 없습니다." case noData = "데이터가 없습니다." case failedRequest = "요청에 실패 하였습니다." case invalidData = "검색어와..

RxSwift를 사용하다 보면 Subscribe, Bind, Drive가 비슷하게 동작을 하는 것 같으니 정리 한번 해보겠습니다. Subscribe 먼저 Subscribe를 확인해 보면 onNext, onError, onCompleted, onDisposed 들을 전부 가지고 있습니다. Bind 다음으로 Bind를 확인해 보면 onNext만 가지고 있습니다. 그렇다면 error가 발생하지 않고 completed가 발생하지 않는 무한히 이벤트를 방출하는 상황에서 사용하게 될겁니다. 또한 Bind의 특징으로 항상 Main Thread에서 동작하기 때문에 바로 UI객체를 사용할 때 주로 사용하는게 Bind입니다. Drive Drive 또한 error가 발생하지 않아야 하고 Main Thread에서 동작하기 때..

Observable vs Subject Observable은 이벤트를 방출 하는 역할을 담당하고 Observable을 구독하는 Observer는 이벤트를 받아서 처리 하는 역할을 담당합니다. 그런데 Observable은 새로운 값을 추가 할 수 없습니다. 그래서 새로운 값을 추가 하고 그것을 방출할 수 있는 객체가 바로 Subject입니다. Subject문서를 확인해 보면 Observable을 상속받고 있으며 ObserverType Protocol을 채택 하는 모습을 확인할 수 있습니다. 그래서 Subject는 Observable의 역할과 Observer 역할을 둘 다 수행할 수 있는 겁니다. 이번에는 ObserverType을 확인해 보면 on 함수가 있는데 이 on함수를 통해서 Observer로 이벤트..

RxSwift? ReactiveX에서 만든 라이브러리입니다. (Reactive eXtension + Swift = RxSwift) " RxSwift is a library for composing asynchronous and event-based code by using observable sequences and functional style operators, allowing for parameterized execution via schedulers. " By Marin Todorov. ‘RxSwift - Reactive Programming with Swift.’ 해석 해보면 RxSwift는 관찰 가능한 시퀀스와 함수 형태의 연산자를 사용하여 비동기 및 이벤트 기반 코드를 구성하기 위한 라이브러..
URLSession ? - 앱이 서버와 통신하기 위해 애플이 만들어둔 API입니다. - 서버 통신을 위한 라이브러리인 Alamofire, moya 등 의 기반이 되는 API입니다. - 서버에서 받아온 데이터를 어떤식으로 동작할지를 설정할 수 있습니다. ex) 타임아웃, 캐시 정책, 백그라운드 데이터 전송 등 URLSessionConfiguration - 서버와 통신시 세부적인 동작과 정책을 설정할 수 있습니다. • Shared Session - 싱글턴 패턴 구조로 기본 설정이 되어 있어 단순한 네트워크 요청을 할 때 주로 사용이 되고, 커스터마이징은 할 수 없습니다. - 구현이 간단한 장점이 있지만, 백그라운드 전송을 지원하지 않습니다. let url = URL(string: "https://www.dh..