전체 글 77

MVVM(4) - Coordinator

2. 뷰 전환은 어디에서 하는가 전글에서 다루는 Coordinator의 연장선입니다. 전글에서는 View와 Coordinator가 소통,화면 전환하는 법 그리고 Coordinator의 기본적이 구성에 대하여 글을 썻습니다. 그리고 말씀 드리는 와중에 Coordinator패턴에서는 객체를 잃지 않으려고 childCoordinator를 사용한다고 말했습니다. 이번에는 화면을 닫으면서 혹은 뒤로가면서 Coordinator가 이를 어떻게 감지하고 childCoordinator에서 삭제하는 지에 대하여 글을 써보겠습니다. 3. childCoordinator를 삭제 하는 법 우선 Coordinator를 쓰지 않을때는 어떻게 할까요? 그냥 self.navigationController?.popViewControlle..

iOS 2022.12.27

MVVM(3) - Coordinator

2. 뷰 전환은 어디에서 하는가 전글에 이어서 이번에도 뷰 전환은 어디에서 이루어지는가에 대해 알아보겠습니다. 전글에서는 뷰 전화를 View에서 하는 법과 ViewModel에서 하는 법을 알아보았고 이번 글에서는 제 3의 책임자를 두어 화면 전환을 이루는 패턴 Coordinator 패턴에 대해서 알아보겠습니다. 1. Cooridnator의 기본 우선 coordinator의 기본 뼈대 부터 간단하게 보겠습니다. Coordinator 패턴은 Soroush Khanlou라는 개발자로부터 탄생한 개념입니다. Khanlou의 글 중에서 이런말이 나옵니다. Don’t forget, the view controller base class is prefixed with UI. It’s view object, and h..

iOS 2022.12.23

MVVM (2)

2. 뷰 전환은 어디에서 하는가 mvvm에 관한 두번째 글은 뷰 전환은 어디에서 하는 것인가에 대한 글입니다. 화면 전환에도 몇 가지 방법들과 개념이 제시되었고 크게 보면 다음과 같은 3가지 개념이 주를 이루고 있다. 화면 전환은 화면에 관한것이니 view에서 핸들링 하는게 맞다. 혹은 view는 자기 화면에 대한 것만 들고 있어야 하니 viewModel에 있어야 한다. 혹은 viewModel, view둘다 화면전환에 있어서 책임을 가지고 있는 것이 옳지 않아 제 3의 책임자를 두어야 한다. 이중에 어떤게 맞고 어떤게 틀리다라는 것은 없습니다. 자신의 프로젝트 상황에 맞춰서 개념을 선택하고 개발하면 됩니다. 1. 첫번째 방법: view에서 화면전화 첫번째는 view에서 뷰전환을 하는 방법입니다. 보통 U..

iOS 2022.12.19

MVVM (1) - 바인딩 방법들

이번에는 MVVM에 관하여 글을 한번 쓰겠습니다. MVVM이 무엇인지에 대하여는 워낙 많은 블로그에 소개되어 있어 생략하고 MVVM에 대한 저의 주관적인 관점을 중점적으로 설명 해드리겠습니다. 1. 바인딩 방법들 첫째는 바인딩 방법들에 관한 것 입니다. MVVM이라고 하면 제 생각엔 ViewModel이 가장 중요한 컴포넌트인 것 같습니다. ViewModel과 View를 바인딩 함에 있어 크게 3가지 정도의 분파가 있는 것 같습니다. 1. 첫번째 방법: Protocol 및 콜백 이용한 바인딩 방법 제 3의 라이브러리에 의지하지 않고 View와 ViewModel을 바인딩하는 방법입니다. 대충 요런식입니다. 필자는 이게 MVVM이다 라고 처음 봤을때 그럼 내가 해오던 MVP와 뭐가 다른건지 굉장한 혼돈이 왔었..

iOS 2022.12.09

KeyChain vs UserDefaults(2)

KeyChain 이번에는 저번 UserDefaults에 이어서 KeyChain에 대해서 알아보겠습니다. UserDefaults는 저번 시간에 .plist 파일에 key-value의 형태로 저장된다고 했습니다. 그리고 보안성도 좋지는 않다고 설명드렸습니다. 그럼 KeyChain은 어떤지 한번 알아보겠습니다. 1. 구성도 - KeyChain Service API 애플의 공식적인 문서를 보면 KeyChain에 대하여 다음과 같이 정의하고 있습니다. The keychain services API helps you solve this problem by giving your app a mechanism to store small bits of user data in an encrypted database call..

iOS 2022.11.22

KeyChain vs UserDefaults(1)

UserDefaults 이번에는 UserDefaults 와 KeyChain에 대해서 알아보겠습니다. 저는 개인적으로 처음 swift를 입문할때 유투브 하울님의 코딩 강의에서 swift,ios 1도 모르는 상태로 무작정 메모장 만들기를 따라했었어요. 이때 하울님이 데이터를 저장할때 UserDefault를 쓰는 거 보고 아 그냥 데이터 저장할 때 쓰는 거구나 생각하고 이게 persistant data인지도 몰랐습니다 ㅋㅋ. 그리고 이 글을 쓰게 된 경위가 창피하지만 여태까지 KeyChain을 안쓰고 모르고 있었습니다. 그래서 이참에 2 가지 다 소개하는 시간을 가지려고 합니다. 그래서 UserDefaults가 무엇이냐? 간단하게 말해서 앱 '안'에 있는 비휘발성 데이터 저장소라고 생각하시면 됩니다. 서버에 ..

iOS 2022.11.17

some 과 any 그리고 Any?(2)

책 읽는게 재밌어서 책만 읽고 개발쪽은 약간 도외시 했었네요. 경제, 금융 이야기가 왜케 재밌는지... 각설하고 some에 이어서 any에 대해서도 알아보겠습니다. any any는 swift 5.6에서 처음으로 등장한 신택스 입니다. some을 알기 전에 Opaque Type을 알아야 했듯이 any를 알기 전에는 Existential Type을 먼저 알아야 합니다. Existential Type 직역 하면 실존? 타입 정도가 되겠죠? Existential Type이라는 용어도 이번에 any라는 용어를 도입하면서 처음으로 생긴 단어입니다. 그래서 새로운 거냐구요? 그건 또 아닙니다. 우리가 익히 써왔던 문법에 명칭을 새로 만들어줬다고 생각하면 됩니다. 그럼 Existential Type이 뭘까요? Prot..

iOS 2022.10.26

인플레이션(10)

지은이 하노 벡, 우르반 바허, 마르코 헤르만 옮김이 강영욱 10장은 포트폴리오 구성 전략으로 다소 흔한 내용이라 제외했습니다. 4부 어떻게 인플레이션의 흐름에 올라탈 것인가? 11장 돈의 미래 01꿈꾸지 못한 미래 -우리가 알고 있는 돈의 종말 최근 정치인들은 내구성이 뛰어나고 물리적 파괴성이 없는 통화 제도를 제안하고 있다. 이에 디지털 화폐 옹호하는 세력이 있는데 이유는 다음과 같다. 첫째, 디지털 화폐는 빠르고 실용적이다. 둘째, 이 화폐는 범죄에 사용되는 일이 없을 것이다. 셋째, 현금이 없으면 마이너스 금리도 없으므로 금융 위기에 더 쉽게 대처할 수 있을 것이다. 반면 반대론자들은 현금이 사라진다고 해서 범죄가 사라지지 않는다고 주장한다. 현금이 없어지면 범죄자들은 담배, 우표, 유가물, 유가..

인플레이션(9)

지은이 하노 벡, 우르반 바허, 마르코 헤르만 옮김이 강영욱 4부 어떻게 인플레이션의 흐름에 올라탈 것인가? 9장 금융 위기 시대의 투자 01금융 위기 시대의 수익률 높이기 -500만권의 책 '인플레이션'의 학문적 접근으로 검색해보려면 구글의 '엔그램 뷰어'라는 특수 기능 툴을 사용하면 편리하다. 약 500만권의 책이다 검색되는 것을 볼 수 있다. 인플레이션에 관한 조언을 찾으려 검색하면 검색 결과가 상당히 많이 나오지만 "금융시스템의 피해를 극복하는 법","인플레이션, 중앙은행 금융 억압으로부터 보호받는 법"처럼 자극적인 제목의 문서들이 많다. 이처럼 우리는 이제 인플레이션으로부터 우리를 보호하는 법을 알아야한다. 먼저, 인플레이션의 피해를 당하지 않으려면 유가물에 눈을 돌려야 한다. 주택, 주식, 귀..

인플레이션(8)

지은이 하노 벡, 우르반 바허, 마르코 헤르만 옮김이 강영욱 4부 어떻게 인플레이션의 흐름에 올라탈 것인가? 8장 제로 금리, 제로 수익 01제로 금리 시대의 도래 -이자와 윤리의 그늘 과거에 마르크스 사회주의자의 마르크스, 중세시대 신학자 토마스 아퀴나스, 기독교, 유대교는 이자가 부당한 것이라고 이자를 금지하는 법을 재정하거나 이자를 받아서는 안된다고 주장했다. 이토록 이자는 오랫동안 논쟁의 대상이 되어왔던 주제다. 이자를 받는 행위가 비윤리적이라는 오명에서 벗어나지 못한 이유는 무엇일까? 이자가 사라진다면 어떤 일이 벌어질까? 한때 우리는 세계 역사상 단 한 번뿐인 실험의 증인이되었다. -왜 지난 수십 년간 금리는 급격히 떨어졌을까? 지난 수십 년간 금리가 급격히 떨어진 이유는 무엇일까? 첫번째는 ..