일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Swift Tuist
- Tuist Swift
- swift db
- Combine
- swift 6
- uitableviewdiffabledatasource
- xcode
- Tuist
- swift
- 카카오뱅크 ios
- Subscribe
- observable
- swift 5.9
- KeyPath
- arc
- SwiftUI
- SeSAC
- Firebase
- Subject
- combinecocoa
- 네트워크 통신
- ribs
- Firebase Analytics
- swift database
- ios
- realm
- GCD
- ios database
- JSON
- RxSwift
- Today
- Total
목록ios (36)
천원의 개발
안녕하세요 천원입니다.오늘은 Combine을 사용하면서 RxCocoa의 bind 메서드처럼 간편하게 UITableView를 그릴 수 없을까 고민한 내용을 공유드립니다. 1. RxSwift TableView 그리기let items = Observable.just([ "First Item", "Second Item", "Third Item" ])/// bind 메서드를 활용한 tableView items.bind(to: tableView.rx.items) { (tableView, row, element) in let cell = tableView.dequeueReusableCell(withIdentifier: "C..

안녕하세요 천원입니다.오늘은 제가 간절하게 준비하였던, 카카오뱅크 지원 후기를 남기고자 이렇게 글을 작성합니다. 지원서 작성카카오뱅크에는 개인적으로 존경하는 개발자분들이 계셔서 iOS 채용 공고가 올라오고, 꼭 지원해야지 마음을 먹었습니다.이전 카카오뱅크에서 진행한 기술 밋 업 행사를 참여한 후 부터 꾸준히 현재 카카오뱅크에서 사용 중인 기술 스택들을 학습하고 자 노력했고, 그러한 부분들을 지원서에 녹이려고 했습니다. 서류 합격 서류 합격을 받고 너무 기뻤습니다. 그러나 다가올 과제 전형에 최근 당근페이 과제 전형에서 미끄러진 경험이 있기에.. 걱정이 되기도 했습니다. 과제 전형앞서 말씀드린 것 처럼 당근페이 과제에서는 왜 떨어졌을까 많은 고민을 했습니다. 물론 부족한 부분도..

안녕하세요. 천원입니다. 백그라운드에서 API를 호출하기 위해서 학습한 내용을 정리 하고자 이글을 작성합니다. Background Tasks 프레임워크 iOS 13부터 추가된 프레임워크로 시스템과 앱간의 background Task 요청을 담당하는 역할을 합니다. 해당 프레임워크에는 BGAppRefreshTask & BGProcessingTask 이렇게 두가지 타입이 존재하는데 BGAppRefreshTask는 30초 정도가 소요되는 작업에 사용되고 그 이상의 몇분이 소요되는 것들은 BGProcessingTask를 사용하게 됩니다. WWDC 2019 자료를 참고해 보면 사용자가 Foreground로 진입하는 시점을 시스템이 분석해서 그전에 호출하게 되고 그 외에도 유저의 백그라운드 앱 새로고침 설정, 배터..

안녕하세요. 천원입니다. ui/unit 테스트 라이브러리인 Quick/Nimble을 학습하는 도중 TDD와 BDD개념을 정리하고자 글을 작성합니다. TDD TDD는 Test Driven Development의 약자로 테스트 주도 개발을 의미합니다. 코드를 작성 후에 테스트 케이스를 구현하는게 아닌 테스트 케이스를 먼저 작성한 후에 이를 통과하는 코드를 추가해 가는 방식의 개발 방법론입니다. TDD는 위의 그림과 같은 개발주기를 가지고 반복적으로 개발을 진행하는데 Red 단계에서는 실패하는 테스트 코드를 작성하고, Green 단계에서는 테스트 코드를 성공시키기 위한 최소한의 코드를 작성합니다. Blue 단계에서는 중복 코드 제거, 일반화 등의 리팩토링을 수행합니다. 간단하게 말하자면 실패하는 경우를 찾고,..

안녕하세요. 천원입니다. 다른 분들의 Github 코드를 살펴보다가 재상용성이 좋아보이는 코드가 Adapter 패턴으로 작성되었다는걸 알고 공부해 보고자 정리합니다. Adapter 패턴 현재 특정 기능을 수행하는 인터페이스가 존재하는데 이와 비슷하지만 조금씩 다른 기능을 추가해야할 때 Adapter를 사용해서 사용하는 쪽에서 코드의 변경을 최소화하는 패턴, 코드의 중복을 방지하고 현재 서비스 중인 프로젝트에 대하여 변경을 최소화 할수있습니다. 구현 현재 인증 서비스가 구현되어 있었는데, Google 과 Naver 인증 서비스가 추가되는 시나리오를 구현해 보겠습니다. protocol AuthServiceType { func authenticate(username: String, password: Strin..

기존에 codebase로 UI를 작성하다 보면 빌드를 해야 확인할 수 있어서 번거로울 때가 종종있습니다. 그래서 SwiftUI의 PreviewProvider를 활용해서 보면서 작업이 가능하도록 해보겠습니다. 1. ViewController Extension UIViewControllerRepresentable를 사용해서 뷰컨을 SwiftUI에서 사용이 가능하도록 Extension 해줍니다 import UIKit import SwiftUI extension UIViewController { private struct Preview: UIViewControllerRepresentable { let vc: UIViewController func makeUIViewController(context: Contex..