All

·🌱 SeSAC
- 내가 보기 위해 메모하는 키워드(너무 자세하게 적으려고 부담갖지 말기) - 이미 알고 있는 내용이더라도 적고 다시 생각하고 의문점 갖기 1. Alamofire 중복 코드 개선하기 import Foundation import Alamofire final class Network { static let shared = Network() private init() {} } extension Network { func request( _ type: T.Type = T.self, url: URL, method: HTTPMethod = .get, parameters: [String: String]? = nil, headers: HTTPHeaders, completion: @escaping (Result) -> ..
·🍎 iOS & Swift
들어가며 기록의 소중함을 알면서도 무언가를 꾸준히 기록한다는 것은 참 어려운 것 같습니다. 이런저런 생각을 많이 했지만 그냥 핑계대지말고, 몇 자라도 남겨놓는 것이 중요하다는 결론을 내렸습니다. 깊이 있는 글은 달에 1~2번 정도 적는 것으로 하고 우선은 꾸준히 메모(ex. 키워드, 요약 등)를 하는 식으로 가보려고 해요. 깃허브에 기록하는 것이 편해서 보통 메모나 기록을 깃허브에 하는 편이지만, 앞으로 블로그에도 동시에 꾸준히 포스팅할 생각입니다. 파이팅!! Disposable RxSwift > Disposable // Disposable.swift /// Represents a disposable resource. public protocol Disposable { /// Dispose resourc..
·🍎 iOS & Swift
최근에 아래와 같은 메시지가 콘솔 창에 뜨면서 빌드가 잘되지 않는 문제를 겪었다. warning: libobjc.A.dylib is being read from process memory. This indicates that LLDB could not find the on-disk shared cache for this device. This will likely reduce debugging performance. rm -r ~/Library/Developer/Xcode/iOS\ DeviceSupport 다음 디렉터리를 삭제하고 다시 빌드하니 문제가 해결되었다. 레퍼런스 https://stackoverflow.com/questions/72598348/xcode-14-beta-build-issues-wi..
·🍎 iOS & Swift
메서드 정의 func compare(_ other: Date) -> ComparisonResult 다른 날짜와 비교해주는 인스턴스 메서드 사용 예시 import Foundation // Date String let targetDateString = "2022-08-10" let comparisonDateString = "2022-12-08" let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd" // Optional Binding guard let pastDate = dateFormatter.date(from: targetDateString), let futureDate = dateFormatter.date(from: com..
·🍎 iOS & Swift
Method Swizzling Method Swizzling은 기존의 메서드를 Runtime 시에 원하는 메서드로 바꾸어 사용할 수 있도록 하는 기법입니다. 일반적으로 Swizzling는 뒤섞다, 뒤바꾸다의 의미를 가지고 있습니다. [출처] : Swift ) Method Swizzling 사용 상황 런타임 시에 메서드를 바꿀 일이 필요할까요? 직접 사용할 일이 없기 때문에 당장 와닿지는 않습니다. 일반적으로 다음과 같은 경우에 사용한다고 하는데요. 앱의 생명주기에 앱의 분석 기능을 통합하기 위함 특정 클래스의 기능을 한 번에 적용하기 위함 특정 SDK를 만들어 사용하고자 할 때, 특정 메서드에서 항상 로그를 출력하고자 함 ▪️ 가령, 서비스 프로젝트 내에 GA를 붙여야 하고 화면마다 GA 관련 API를 ..
·🍎 iOS & Swift
들어가며 안녕하세요 마지막 4편입니다. 사실 아직까지도 출시했다는 것이 믿기지가 않아요. 출시라는 자체가 중요하다기 보다는 '기획-디자인-계획-개발-출시-회고' 하나의 사이클을 경험했고, 스스로 무엇이 부족한지 알게 되는 시간이었다는 것이 중요한 것 같습니다. 아직 갈 길이 정말 먼 것 같아요. 반성도 많이 하게 되고, 열심히 해야겠다는 생각도 듭니다. 데이터 설계 처음 계획했던 데이터 설계 부분이에요. 실제 개발시에 약간 변경된 부분은 있지만 거의 동일합니다. 데이터베이스는 Realm을 이용했습니다. Realm의 성능과 속도 측면에서 Core Data, SQL Lite보다 더 뛰어나기 때문이고 무엇보다 쉬운 사용법이 사용하게 된 큰 이유 중 하나라고 할 수 있을 것 같습니다. 객체 자체를 저장하고 꺼내..
·🍎 iOS & Swift
들어가며 안녕하세요 3편이네요... 글 쓰는게 세상에서 제일 힘든 것 같습니다. (엄살...ㅎ) 이번 편에서는 프로젝트 진행 과정과 개발하면서 겪었던 어려움 또는 기술적인 고민에 관련된 내용을 적어볼텐데요. 어떻게 적어야 할까요... 이번 편은 가볍게 적어놓고 고쳐가는 식으로 방향을 잡아야겠어요.. 프로젝트 관리 및 공수 산정 처음에는 노션으로 러프하게 iteration 주기에 따른 개발 공수 산정을 진행했었는데, 이슈를 만들고 그에 따라 개발을 진행하는 저에게는 깃허브 Project를 이용해서 프로젝트를 관리하는 것이 접근성이 더 편했던 것 같습니다. 프로젝트를 진행하면서 가장 큰 어려움을 느꼈던 부분이 개발 공수 산정이었고, estimated time(예상 시간)을 정하는 것이었습니다. 어떤 부분들을..
·🍎 iOS & Swift
들어가며 네, 2편으로 찾아왔습니다. 이번 글에서는 제가 디자인을 어떻게 했고, 그에 따라 디자인 시스템은 어떻게 만들려고 했는지 소개하고자 합니다. 여러 레퍼런스나 글을 참고했지만 그 중에서 SOCAR 디자인 시스템을 가장 많이 참고했고 따라하고자 했습니다. 자 함께 가보시죠. (어디를 가자는 걸까요?) 재료 준비 본격적인 와이어 프레임과 레이아웃을 만들기 전에 재료를 준비하려고 했습니다. 여기서 재료라고 함은 Color, Typography, Icongraphy, Spacing, Radius, UI Components 등을 이야기합니다. 뭐 더 많을 숫도 있겠죠? 재료를 먼저 준비해놓고 디자인을 시작했습니다. 정말 개인 프로젝트라 제 맘대로 러프하게 한 것이라서 전문가의 입장에서 보면 허접할 수도 있..
taeeekki
'분류 전체보기' 카테고리의 글 목록 (2 Page)