일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- github
- MacOS
- stack
- error
- Git
- 개발자
- FLUTTER
- Notification
- Session
- IOS
- 한글
- Code
- 웹뷰
- SwiftUI
- window
- rxswift
- Firebase
- Apple
- JPA
- iOS16
- UIButton
- Realm
- Archive
- appstore
- view
- darkmode
- Swift
- geofencing
- Xcode
- mac
- Today
- Total
목록IOS (174)
EEYatHo 앱 깎는 이야기
JWT 정의 - JSON Web Token ) - JSON 데이터를, URL-safe BASE64 인코딩과( URL로 사용될 수 있는 문자열로 구성 ), 특정 암호화 알고리즘으로 전자 서명된 문자열. - 정보전달 및 권한인가를 위해 사용하는 토큰. JWT 구성 - 3가지 파트로 나누어져 있으며 ( header, payload, signature ), 마침표(.)를 구분점으로 이어져 있음 1. header 토큰의 타입과, signature에서 사용하는 암호화 알고리즘 두 데이터를 JSON으로 만들고, URL-safe BASE64 인코딩하면 완성 header에 필요한 데이터 = { "alg": "HS256", "typ": "JWT" } => 인코딩 => eyJhbGciOiJIUzI1NiIsInR5cCI6Ik..
네트워크 통신을 위한 Codable 구조체 만들 때, API 스키마 보면서 타이핑 했는데, 한방에 해주는 툴이 있었다. 새삼스럽지만, 경력 많은 분들한테 뭐 배우는 거 진짜 너무 효율적인듯.. 홈페이지. https://quicktype.io/ Convert JSON to Swift, C#, TypeScript, Objective-C, Go, Java, C++ and more • quicktype { "people": [ { "name": "Atticus", "high score": 100 }, { "name": "Cleo", "high score": 900 }, { "name": "Orly" }, { "name": "Jasper" } ] } Provide sample JSON files, URLs, JS..
잘 되던 구글 로그인이 갑자기 안된다.. 에러 내용을 보니 "Code: -15.", "ID Token expired." 무슨 갑자기 왠 토큰..??? 구글 로그인 서비스 연동한거에 유효기간같은게 있나..? 삽질 삽질 하다가 컴퓨터 시간이 안맞아서.. 토큰 유효기간 계산에 오류뜨는 거였다 예전에 일찍 생활하는 습관 들이려고 컴퓨터 시간을 10분 빠르게 했더니 생긴 이슈 날짜 및 시간 설정에서, "자동으로 날짜 및 시간 설정" 체크해주면 해결
RIBs 정의 기존 디자인패턴들이, 비지니스 로직만 있는 ( 뷰가 없는 ) 모듈의 구현이 어려웠고, 이 점을 보완하여 Uber에서 VIPER를 개조한 것이 RIBs 이다. 화면로직이나, 비지니스로직을 RIB 이라는 모듈로 작성한다. RIB에게 UI요소(View, Presenter)는 옵셔널이다. ( 비지니스 로직만을 가진 모듈이 가능하다는 뜻 ) RIB들을 부모자식 관계로 이어서 논리적인 트리구조로 앱을 작성한다. -> 앱의 상태가 뷰가 아닌, 현재 activate된 RIB이 무엇인가에 따라 결정됨. 기존 MV*, VIPER같은 디자인패턴들이 SW설계시 참고할 수 있는 아키텍처라면, RIBs는 프레임워크다. Cocoa Pod이나 Carthage를 이용해서 설치하고, import 하는 형태다. RIB 구성..
View, Interactor, Presenter, Entity, Router 로 이루어져있다. Router를 통해, 화면전환을 처음으로 고려한 디자인 패턴이며, 각 요소가 하는 일, 특징은 다음과 같다. View UI요소들. VIewController 포함. 유저입력 수신. Presenter에 전달. Presenter에게 ViewModel 수신하며 update. Presenter을 소유함. Presenter View에게 유저 입력을 전달받음. Interactor에게 데이터 관련 요청 ( 데이터 만들어, 변경해, 나한테 줘. 등 ). Interactor에게 전달받은 데이터를 ViewModel로 가공하여 View에게 넘겨줌. Router에게 네비게이션 요청. Interactor을 소유함. Router에게 ..
MVVM을 제대로 이해하기 위해서는, MVVM이 나오는 이유와 배경을 알아야한다고 생각한다. MVVM은 디자인 패턴이다. 디자인 패턴은 어쩌다 나온 것인지를 알기 위해서는, 프로그래밍 패러다임의 변환을 살짝 핥아봐야한다. 1950년대, 어셈블리어와 함께, 순차적 프로그래밍이 나타났으며, ( 단순한 명령어들의 나열 ) 1970년대, C와 Pascal을 필두로, 절차적(절차지향) 프로그래밍이 나타났고, ( if, for, 함수의 등장 ) 1980년대 C++과 1990년대 Java를 통해, 객체지향 프로그래밍이 나타났다. ( 클래스, 객체의 등장 ) 객체지향 프로그래밍은 40년이라는 오랜 세월 동안, 현재까지도 이어져 내려오고 있으며, 수 많은 선조 프로그래머들의 노력 덕분에 유지보수와 협업에 용이한 "코드들..
Xcode에서 소스 파일을 만들면, 맨 위에 "Created by ~" 로 저작권자 표시가 나오는데요. 직장에서 실명이 아닌 닉네임을 사용한다거나, 협업하는 사람들끼리 이름 규칙을 정했을 경우, 형상 추적을 위해 이름을 제대로 설정해주어야 합니다. 어떻게 설정하는지 알아보겠습니다. 1.시스템 환결설정 - 사용자 및 그룹에 들어가줍니다. 2. 좌측하단 자물쇠를 클릭하여, 설정변경 잠금을 해제합니다. 3. 자신이 코딩할 때 사용하는 계정을 우클릭하고, 고급 옵션으로 들어갑니다. 4. 고급 옵션에서, "전체 이름" 을 수정하면 됩니다! 감사합니당