[iOS] JeongLogger SPM 라이브러리 생성과 배포
·
iOS/개념 & 개발
라이브러리 준비 라이브러리를 직접 만들고, SPM을 직접 배포해 봅시다. 라이브러리는 모든 프로젝트에서 사용되는 Log 기능으로 만들어볼건데요. 이에 몇 가지 주의점이 있습니다. 혹시 라이브러리 클래스에 고유한 단어를 붙이는 이유가 뭔지 아시나요? 예를 들면, Kingfisher는 "kf"라는 글자처럼요. 이런 글자를 붙이는 이유는 라이브러리 사용자가 사용하는 이름과 중복되는 것을 피하기 위해서 입니다. 같은 이름의 클래스가 있으면 안 된다는 것은 대부분 아실거에요. 그 규칙이 라이브러리의 클래스에도 적용되기 때문에 kf같은 특수한 단어를 붙이는 겁니다. (클래스 뿐만 아니라 이름이 겹치면 안 되는 모든 것에 적용되는 얘기입니다.) 따라서 이번 Logger 라이브러리 이름을 JeongLogger로 만들고..
[애플 페이] 애플 페이가 드디어
·
IT 소식
21일 오늘, 드디어 애플 페이가 오픈되었습니다. 카드 등록 카드 등록은 아이폰의 "지갑" 앱에서 가능합니다. 지갑 앱을 열고 + 버튼을 누르면 카드 등록이 가능합니다. 저는 현대카드 네이버페이 카드를 등록했어요. 각종 동의를 누르다보면 어느샌가 등록이 완료되어 있답니다 ㅋㅋ;; 애플페이 사용 애플페이 활성은 전원 버튼 두 번입니다. 워치도 마찬가지로 전원 버튼 두 번인데요. 워치는 따로 인증 과정이 없어서 아이폰보다 훨씬 편했습니다. 아무튼, 결제를 할 때 전원 버튼 두 번을 누르고 페이스 아이디 인증을 하면 애플페이가 활성화 돼요. 그리고 리더기 가까이 들고 있으면! 바로 결제가 됩니다. 마무리 저는 삼성페이는 안 써봤지만, 일반 마그네틱 카드보다 빠르다고 느껴졌어요. 정말 신기하더라고요. 교통 카드..
[Swift] Protocol을 이용한 ViewModel 의존성 주입
·
Swift/개념 & 응용
* 초보 개발자의 학습 내용이므로 잘못된 점이 있을 수 있습니다. 잘못된 점을 댓글로 남겨주시면 정말 도움이 많이 됩니다. 필요성 MVVM에서는 ViewController가 ViewModel에 의존하고 있는 구조가 많습니다. 코드로 표현하면 class ViewController { var viewModel = ViewModel() ... } 이렇게 ViewController 내부에서 ViewModel을 직접 생성하는 구조입니다. 이런 구조는 ViewModel이 없으면 ViewController를 테스트할 수 없고, ViewController 재활용도 어렵다는 단점이 있습니다. 예를 들어, 리스트를 보여주는 ViewController가 있다고 합시다. 이 리스트는 영화 리스트가 될 수도 있고, 맛집 리스트..
[Swift] Enum을 이용한 ViewModel Output 정의
·
Swift/개념 & 응용
ViewModel Output의 필요성 이전 포스팅인 Enum을 이용한 ViewModel Action 정의을 보시면 한 가지 의문이 생길 수 있습니다. 바로 메서드의 반환 값이 다른 경우입니다. 예를 들어 아래와 같은 action 메서드가 있을 때 func action(_ actions: ViewModelActions) { switch actions { case .save(let data): save(data) case .delete(let data): delete(data) case .deleteAll: deleteAll() } } save, delete, deleteAll 메서드가 각각 다른 타입의 반환값을 가진다면 어떻게 해야할까요? 이때 필요한게 ViewModelOutputs 입니다. ViewMo..
[Swift] Enum을 이용한 ViewModel Action 정의
·
Swift/개념 & 응용
ViewModelAction의 필요성 MVVM 패턴에서 ViewModel은 비즈니스 로직을 정의합니다. ViewController에서는 ViewModel 객체를 통해 비즈니스 로직을 수행하는 메서드를 호출하죠. 이때, ViewModel에서 수행하는 액션들을 Enum으로 묶으면, ViewController가 ViewModel의 개별적인 메서드들을 직접 호출하는 것보다 명확하고 안전하게 메서드를 호출할 수 있습니다. 또한 개별 메서드를 private 접근제어자로 설정이 가능하여 캡슐화도 엄격해집니다. 그럼 이제 방법을 알아보도록 합시다. Enum ViewModelActions 정의 ViewModel의 Action들을 묶은 Enum을 정의합시다. enum ViewModelActions { case save(I..
[Swift] Dictionary Grouping
·
Swift/개념 & 응용
서론 Array를 포함한 Collection를 Dictionary로 묶고 싶은 상황이 있습니다. 예를 들면, 아래와 같은 ItemType Enum이 있다고 합시다. enum ItemType: Hashable, CustomStringConvertible { case old, new var description: String { switch self { case .old: return "old" case .new: return "new" } } } 그리고 이 Enum을 가지고 있는 구조체 Item이 있어요. struct Item: CustomStringConvertible { var name: String var type: ItemType var description: String { return name ..
[Swift] weak를 활용한 Linked List
·
Swift/개념 & 응용
링크드 리스트 링크드 리스트는 실제 개발에서도 자주 사용되는 자료구조로, 이전에도 포스팅을 작성한 적이 있습니다. [자료구조] Linked List(링크드 리스트) with Swift 안녕하세요. 개발하는 정주입니다. 오늘은 "Linked List(링크드 리스트)"을 정리하였습니다. 최근에 코딩 테스트를 준비하기 위해 알고리즘 포스팅만 잔뜩 적었는데요. 오랜만에 자료구조를 포스팅 jeong9216.tistory.com 오늘은 약한참조 키워드인 weak를 활용해 코드를 최적화한 양방향 링크드 리스트에 대해 포스팅하려고 합니다. LinkedListNode class LinkedListNode { var value: T var next: LinkedListNode? weak var previous: Linke..
[분당구 맛집] 스시소라 정자 런치 리뷰 / 스시 오마카세 맛집
·
🐱 정주는 쉬는 중 :]/맛집
기본 정보 가게 이름 스시소라 정자 위치 경기 성남시 분당구 성남대로331번길 13 백궁프라자1 307호 메뉴 & 가격 런치 오마카세 50,000원 런치 오마카세 스시소라 정자의 런치 오마카세입니다. 서진욱 헤드 셰프님이 담당하셨고, 문자로 원하는 셰프님을 지정도 할 수 있습니다. 스시소라 대치점을 2년 전에 방문하고, 오랜만에 방문하는 스시소라였어요. 2년 전에는 물가가 팍 오르기 전이라... 비슷한 가격을 유지하며 물가 인상을 어떻게 대비하셨는지 걱정을 하면서 먹었습니다. (사실 이땐 남의 돈으로 먹어서 괜찮았어요 ㅎㅎ ㅋ) 차완무시 첫 시작은 차완무시입니다. 부드러운 일본식 계란찜 위에 냉이 소스와 새우가 올라가 있어요. 처음에는 냉이 소스라고 해서 잘 안 어울릴 줄 알았는데, 생각보다 냉이의 향긋..
[분당구 맛집] 양산도 분당정자점 리뷰 / 민물장어 맛집 / 장어덮밥 맛집 / 히츠마부시 맛집 / 네이버1784 맛집
·
🐱 정주는 쉬는 중 :]/맛집
기본 정보 가게 이름 양산도 분당정자점 위치 경기 성남시 분당구 정자일로 120 삼성아데나루체 1층 105호 메뉴 & 가격 히츠마부시(민물장어 한 마리) 25,000원 메뉴판 메뉴판입니다. 양산도 분당정자점은 국내산 민물장어 전문점으로, 장어 덮밥인 히츠마부시가 대표 메뉴입니다. 저는 히츠마부시(민물장어 한 마리)를 먹었습니다. 메뉴판 뒤에는 이렇게 히츠마부시 먹는 방법이 적혀 있어요. 전 히츠마부시가 처음이라 위 순서대로 따라 먹어봤습니다 ㅎ 히츠마부시 히츠마부시입니다. 이렇게 정갈하게 한 상으로 나와요. 히츠마부시는 위에 장어 한 마리가 올라가 있고, 그 아래 밥이 담겨 있습니다. 밥도 그냥 맨밥이 아니라, 소스로 간이 되어 있어서 맛있었어요. 좀더 리얼한 각도일까요? ㅋㅋ 저 주걱으로 히츠마부시를 ..
[여의도 맛집] 송옥 여의도 IFC몰점 리뷰 / 메밀 맛집 / 코다리 비빔 메밀 맛집 / 여의도 IFC몰 맛집
·
🐱 정주는 쉬는 중 :]/맛집
기본 정보 가게 이름 송옥 여의도 IFC몰점 위치 서울 영등포구 국제금융로 10 메뉴 & 가격 코다리 비빔 메밀면 15,000원 내부 모습 & 메뉴판 식당 외부, 내부 인테리어는 모두 전형적인 한식당 스타일입니다. IFC몰 식당들이 대부분 해외 음식쪽인데 몇 안 되는 한식집이라 반가웠어요. 메뉴판입니다. 메뉴가 저렴하지는 않아요. 기본 판메밀도 13,000원이고, 경양식 돈까스가 14,000원이니까요.. 그럼에도 저는 새콤한 맛의 코다리 비빔메밀이 너무 땡겨서 15,000원 플렉스 하고 왔답니다. 코다리 비빔 메밀 코다리 비빔 메밀입니다. 일단 나왔을 때 양이 정말 많아서 놀랐어요. 저 그릇이 작은 사이즈가 아닌데 정말 한 가득 나왔습니다. 코다리 무침(?)의 비주얼도 압도적이었습니다. 양념 냄새와 맛은..
유정주
'분류 전체보기' 카테고리의 글 목록 (14 Page)