일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- KeyPath
- Tuist
- Subscribe
- ribs
- RxSwift
- SeSAC
- swift 6
- realm
- xcode
- 카카오뱅크 ios
- Tuist Swift
- combinecocoa
- swift database
- ios database
- 네트워크 통신
- observable
- swift 5.9
- Subject
- SwiftUI
- ios
- swift
- swift db
- Swift Tuist
- Firebase Analytics
- uitableviewdiffabledatasource
- GCD
- JSON
- arc
- Combine
- Today
- Total
목록전체 글 (87)
천원의 개발
안녕하세요 천원입니다.오늘은 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..
안녕하세요. 천원입니다.오늘은 Swift 6 의 변경점에 대해서 정리하고자 이렇게 글을 작성합니다. 지난 2024년 10월 17일 Xcode 16과 함께 Swift 6가 배포가 되었습니다. Swift 5가 배포된 후 5년 만의 정기 업데이트라고 합니다.또한 Swift의 10주년 기념의 배포라고 하네요. 공식 문서에 작성된 글들을 보면 Swift 팀에서는 Swift를 APP 개발을 위한 언어가 아닌 다양한 Platform에 지원이 가능한 언어를 목표로 하는 것 같습니다. ConcurrencyData Race 안전성을 달성하기 위한 여정은 여러 Swift 버전에 걸쳐 진행되었습니다. Swift 5.5에서는 async/await와 Actors가 도입되었고, Swift 5.6에서는 전달 가능한 Sendable ..

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

우선 SwiftData는 데이터 모델링 및 관리를 위한 프레임워크로 iOS 17이상 부터 사용이 가능한 데이터베이스입니다.개발하면서 오류 로그들을 확인해 보면 CoreData를 기반으로 만들어져 발생하는 오류가 CoreData에서 발생하는 오류와 비슷한 경우가 많았습니다.기본적으로 SwiftUI와 친화적으로 만들어져있어서 SwiftUI와 함께 사용하는게 더 간편하지만, UIKit과 함께 사용하는 자료는 적은 것 같아 UIKit을 기반으로 어떻게 사용하면 좋을지 고민한 내용을 공유하고자 해당 글을 작성합니다. 모델 생성@Model atributte 키워드를 통해서 모델의 생성이 가능합니다. 저는 영화의 정보를 저장할 Movie 모델을 생성하고 @Attribute(.unique)를 활용하여 모델의 기본키..
안녕하세요. 천원입니다.오늘은 ReactorKit을 학습하는 도중 직면했던 경험 이야기를 작성해 보려고 합니다. 회고 같은 느낌이라 편한 말투로 진행해 보겠습니당 Reactorkit의 예제 프로젝트를 확인해 보면 아래와 같이 propertyWrapper 기능을 활용하여 Pulse를 구현하였습니다. struct State { var value: Int var isLoading: Bool @Pulse var alertMessage: String? } propertyWrapper에 대해 간단하게 설명드리면 재사용될 프로퍼티들을 반복적으로 작성하지 않기 위한 기능으로 예제를 작성해 보면 UseDefaults를 활용해 사용자의 정보를 저장하고 싶다면 아래와 같이 모든 프로퍼티에 동일한 g..
안녕하세요. 천원입니다.오늘은 오픈소스들의 코드를 학습하면서 만난 Builder 패턴에 대해서 학습해 보겠습니다. Builder 패턴복잡한 객체의 생성 과정과 표현 방법을 분리하여 다양한 구성의 인스턴스를 만드는 생성 패턴을 의미합니다. 생성자에 들어갈 매개 변수를 메서드로 하나하나 받아들이고 마지막에 통합 빌드해서 객체를 생성하는 방식입니다. 예제설명으로 만 보면 감이 안 잡힐 테니 예제를 함께 보면, 아래와 같은 Student 클래스에 대한 객체를 생성하는 Builder를 만들어 보겠습니다.final class Student { private var name: String private var age: String private var phoneNumber: Int i..