apple 216

[Vapor] Vapor + heroku

Vapor + heroku 직접 서버 개발을 주도해보고 싶어서 Vapor를 학습하고 heroku를 통해 배포해 보았습니다. 서버 개발 경험이 전무해서 문서를 읽고, 이해하고 만드는데 시간이 많이 걸려서 다음번에 더 손쉽게 하기 위해서 기록해 두려고 합니다. 개발환경 - Xcode 13.4.1 1. Vapor 설치하기 터미널에 아래의 코드를 입력 brew install vapor 2. Vapor 프로젝트 생성 터미널에 순서대로 입력. // 1. 터미널에 vapor 프로젝트 생성 vapor new { 프로젝트 이름 } // ex. vapor new vaportest // 2. y, 1, y 순서로 입력 // 3. 생성된 파일 내부로 이동 cd { 프로젝트 이름 } // 4. vapor Xcode 열기 vap..

apple/Vapor 2022.09.14

[ReactorKit] ReactorKit 공부하기 #5 RxTodo 따라잡기 (3)

ReactorKit 공부하기 #5 RxTodo 따라잡기 (3)목표: Service 도입을 위해 RxTodo 코드 분석하기 RxTodo Service쪽 코드 분석ServiceProvider.swiftServiceProvider는 ServiceProviderType을 상속받아서 provider의 self로 주어 구현하는 ServiceProvider를 채택할 클래스에서 구현protocol ServiceProviderType: class { var userDefaultsService: UserDefaultsServiceType { get } var alertService: AlertServiceType { get } var taskService: TaskServiceType { get }}final cla..

[ReactorKit] ReactorKit 공부하기 #4 RxTodo 따라잡기 (2)

[ReactorKit] ReactorKit 공부하기 #4 RxTodo 따라잡기 (2) 코드를 하나씩 따라쳐보면서 구현해 볼 예정  구현 코드어려웠던 점Action의 경우에는 정의하기가 그리 어렵지 않았으나, Mutation을 어떻게 줘야할 지 생각을 많이했었음.//// TaskListViewController.swift// AppleCollectionView//// Created by Hamlit Jason on 2022/09/07.//import UIKitimport ReactorKitfinal class TaskListViewController: UIViewController, View { var disposeBag = DisposeBag() let reactor: TaskListVi..

[ReactorKit] ReactorKit 공부하기 #3 RxTodo 따라잡기 (1)

ReactorKit 공부하기 #3 RxTodo 따라잡기 (1) 리액터 킷을 공부하는데 RxTodo를 보면서 따라해보자우선 ReactorKit의 Create기능을 스스로 구현해보기결과물 영상     리액터 간단 정리직접 따라하고 쳐보면서 사용법이 이해가 되기 시작함. ViewController에서 map을 통해 원하는 Action으로 변경해서 reactor에 전달reactor에서는 mutate함수를 통해서 이전 상태를 받아서 다음 상태를 반환reduce는 해당 로직 처리그리고 변경된 값은 viewController에서 map을 통해 reactor.state를 가져다가 사용 ViewController 코드 구현base에 존재하는 Reactor 제대로 연결해야 함. //// TaskListViewContr..

Realm 간단하게 구조 적용하기

Realm 간단하게 구조 적용하기 Relam을 도입했는데, 구현과 인터페이스를 분리해 재사용을 높이고자 함.Realm 간단하게 적용해 볼 예정 예제 영상   시도한 것Realm을 사용하는데 update 메소드를 조금 변경해봄셀 내에 많은 데이터들이 있는데, 셀에서 일부 데이터만 수정하는 경우 업데이트를 시도근데 어떤 값을 설정할지 지정해주면 하나의 메서드로 처리해 응집도 및 재사용성을 높일 수 있음 추후에 Note와 관련하여 Service를 만드는 방향으로 수정합니다.  Realm 설계 구조 변경애플에서는 DataModel이라고 해서 각 모델 단위(?)로 관리하는 것처럼 보임.개인적으로는 애플 예제 형태로 운영되면 너무 많은 레이어들이 모델에 의존하게 되는 형태라 결합도가 너무 높아질 것 같다는 생..

[Realm] Realm migration (Swift)

Realm migration (Swift) 해당 포스팅은 2번에 걸쳐 업데이트 될 예정입니다. 1. isBookmarked 필드를 추가하는 v2 마이그레이션 (✅ 2022.09.05 21:49 작성완료) 2. v2데이터를 사용하다가 또 다시 v3로 마이그레이션 (🟡 Not yet) 다들 알다시피 Realm의 경우에는 앱 설치 후 모델을 변경하면 migration이 필요함. 이 작업을 예전에 UserDefault로 Kuring 프로젝트에서 다른 개발자님이 하 셨었는데, 나도 도전 🔥 모델을 변경하고 앱을 딱 실행하면? 마이그레이션 하라는 문구가 나타남 일단 기존 모델로 저장된 값들을 Realm-Studio(Realm browser도 된다는데, 나 잘 안되어서 일단 이거 씀) 확인해보면 위 사진처럼 4개의 ..

[Realm] The document “default.realm” could not be opened.

The document “default.realm” could not be opened. Realm file is currently open in another process which cannot share access with this process. All processes sharing a single file must be the same architecture. For sharing files between the Realm Browser and an iOS simulator, this means that you must use a 64-bit simulator. MacOS에서 Realm broser 3.0.1 설치 후 해당 경로로 파일을 열어줄 때 발생 - 시뮬레이터 끄고 하면 된다고 함. ..

[Realm] Realm CRUD more modern and swifty

Realm CRUD more modern and swifty Realm 설치 - SPM으로 고고 https://github.com/realm/realm-swift GitHub - realm/realm-swift: Realm is a mobile database: a replacement for Core Data & SQLite Realm is a mobile database: a replacement for Core Data & SQLite - GitHub - realm/realm-swift: Realm is a mobile database: a replacement for Core Data & SQLite github.com Realm CRUD 살펴보기 import Foundation import Re..

[iOS] UICollectionView에 대해서 알아보기 7편 (UICollectionViewDiffableDataSource)

UICollectionView에 대해서 알아보기 7편 (UICollectionViewDiffableDataSource) iOS 13이상에서 사용하능하다. 결과 코드 7편에서는 이거 알아보자! UICollectionViewDiffableDataSource OverView 음,, 아직 사용하진 않았지만 글을 읽어보는 것만으로도 RxDataSource와 비슷하다고 생각든다. 기존의 UICollectionView의 경우에는 reloadData 등 복잡했지만 쉽게 말해서 이제는 걍 apply로 다 관리하겠다는 말. 정말 기초적인 내용이 궁금하다면 공식 문서 및 다른 포스팅을 참고해주세요. https://zeddios.tistory.com/1197 Diffable Datasource 안녕하세요 :) Zedd입니다...

[iOS] UICollectionView에 대해서 알아보기 6편 (Realm, async, await, Delegate)

UICollectionView에 대해서 알아보기 6편 (Realm, async, await, Delegate) 드디어 6편이다! 올해 봄, 기본기의 부족함을 너무 크게 느껴서, 기본기부터 다시 돌아보는 시간을 가졌는데, 이번에 Realm과 FelxLayout, PinLayout 등을 학습하면서 확실히 이전보다 더 빠르고 잘(?) 이해가 되는 것 같다. 모든 코드는 SPM으로 빌드가 가능한 상태로 올려드립니다. (주요내용) 이번에는 Realm과 Delegate를 활용해서 어떻게 처리하는지 알아보고 async, await을 활용해서 클로저를 없애고, RxSwift랑 잘 묶어보자! 🌿 UI 결과물 🌿 셀 내에 업데이트 버튼이 위치한다. 즉, 셀 내에서 CRUD작업 중 UD에 해당하는 작업을 처리한다. (CR은..