이번 포스트에서는 WWDC 2015에 소개된 Mysteries of AutoLayout Part.2에 대한 내용을 간략하게 정리해보고자 합니다. Mystery #7. Layout Cycle Application Run Loop : Application이 계속 반복적으로 실행됩니다. Constraints Change : 제약조건에 변화가 생기면 변화된 제약조건이 적용될 때까지 Calculated Layout이 정의됩니다. Deferred Layout Pass : 위에서 언급된 레이아웃이 최종 변경될 때까지 Deferred Layout Pass가 예약됩니다. 모든 Layout Pass가 되돌아 오게 되면, 뷰의 Hierarchy를 거쳐 뷰의 모든 프레임을 업데이트하게 됩니다. Constraints Chang..
이번 포스트에서는 Keychain을 사용하여 안전하게 데이터를 저장하고 불러오는 방법에 대해 살펴보고자 합니다. Keychain은 디바이스 안에 암호화된 데이터 저장 공간을 의미합니다. 사용자는 암호화된 공간에 데이터를 안전하게 보관할 수 있습니다. Keychain에 저장할 수 있는 데이터는 다양한 데이터가 포함될 수 있습니다. 사용자 계정 정보를 비롯하여 결제 지불 정보, 사용자 개인 정보 등 민감한 데이터를 모두 저장할 수 있습니다. 현재까지 Keychain 영역이 외부 침입자에 의해 뚫렸다는 소식이 없었을 만큼 안전한 공간입니다. Keychain Service는 Keychain Service API를 통해 데이터를 암호화할 후 Keychain에 저장하게 됩니다. 아래 그림을 살펴보면 이해에 도움이 ..
이번 포스트에서는 비밀번호, 주민번호 등 민감 정보를 안전하게 처리할 수 있는 Keychain에 대해서 살펴보도록 하겠습니다. 우리는 기존에 데이터를 기기에 저장해두기 위해 UserDefaults를 사용하였었는데 이는 단순 데이터를 저장하기에는 문제가 없으나 비밀번호, 인증서, 개인 정보 등 민감한 정보를 저장하기에는 base-64로 인코딩해서 저장하는 것으로 충분하지 않는가? 라고 생각할 수 있겠지만 이는 보안 상 결코 안전하지 않습니다. 1. KeyChain 이란? 컴퓨터 사용자는 종종 안전하게 보관해야하는 작은 비밀을 가지고 있습니다. 예를 들어, 대부분의 사람들은 수많은 온라인 계정을 관리합니다. 각각에 대해 복잡하고 고유한 암호 (Unique Passwords)를 기억하는 것은 불가능하지만 암호..
2019년 11월 15일 Notissu 앱 출시 심사를 올렸다. 우리 학교의 모든 학부의 공지사항을 한 번에 볼 수 있는 어플리케이션이다. Swift 5 기반으로 구현되었으며 MVP 패턴으로 개발하였다. 조만간 ReactorKit으로 아키텍처 변환을 진행할 예정이다. 정말 정보 제공을 목적으로 한 앱이라 수익 모델 하나 없으며 개인정보를 일체 취급하지 않아 이용자가 부담 없이 사용할 수 있는 어플리케이션이라고 생각한다. 2019년 11월 17일 앱스토어 심사 승인 완료 심사가 나는 대로 스토어 링크를 걸도록 하겠다. GitHub Link (Open Source Application for iOS) https://github.com/della-padula/Notissu della-padula/Notissu..
- Total
- Today
- Yesterday
- 애플워치
- CloudComputing
- Kotlin
- 알고리즘
- SwiftUI
- 함수형
- 코틀린
- Apple Watch
- Auto Layout
- retrofit
- databinding
- 오토레이아웃
- java
- Elliotable
- Reactive programming
- XCode
- watchos
- Rxjava
- Notissu
- android
- 상속
- 안드로이드
- apple
- Swift
- 스위프트
- 컬렉션
- C++
- 아이폰
- ios
- 함수형프로그래밍
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |