[ios] Keychain으로 안전하게 데이터 저장하기 안녕하세요. 오늘은 비밀번호를 포함한 사용자의 민감한 정보를 Keychain을 통해 안전하게 저장하는 방법을 알아보도록 하겠습니다. 기존의 포스팅들에서 데이터를 저장하기 위해 저는 UserDefaults를 사용했습니다. 하지만 UserDefaults는 단순한 데이터를 저장하는데는 문제가 없지만 민감한 비밀번호나, 인증서같은 정보들, 혹은 사용자가 생각하기에 본인만의 민감한 정보들을 저장하기에는 안전하지 않습니다. 그러므로 오늘은 Keychain이 무엇인지와 간단한 사용법을 알아보도록 하겠습니다. Keychain이란? 민감한 데이터들을 안전하게 저장하는 것은 굉장히 복잡한 암호화 절차를 필요로 합니다. 하지만 이러한 알고리즘을 개발자들이 일일히 작성하..
[ios] 이미지에 tintColor 적용하기 안녕하세요. 오늘은 이미지 TintColor를 적용해보려 합니다. 제가 왜 이미지에 TintColor를 적용시키게 되었냐면 제가 진행중인 프로젝트에서 받아온 아이콘을 이미지로 사용하는데 프로젝트 전체적인 색에 맞추어 아이콘의 색도 바꿔주어야 했기 때문에 그 방법에 대해 알아보고 기록하고자 이렇게 포스팅을 합니다. 그럼 본격적으로 시작해보도록 하겠습니다. TintColor? 우선 TintColor가 무엇인지 알아보겠습니다. TintColor는 시각적으로 화면 상의 어떤 요소가 현재 활성화되었는지를 보여주는 요소입니다. 예를 들어 NavigationBar의 아이템의 Refresh 버튼이나 Back 버튼을 누르면 단순히 눌리기만 하는 것이 아니라 눌렀을 때는 흰색..
어플리케이션을 제작할 때 가끔 현재 날짜를 받아와야 할 경우가 있습니다. 오늘은 이렇게 현재 날짜를 받아오는 방법을 간단히 알아보는 시간을 갖도록 하겠습니다. 기본 Date 객체를 생성하면 현재 날짜와 시간을 받아올 수 있습니다. 실제로 이 date 변수를 출력해보면 다음과 같습ㄴ다. "Jan 1, 2018 at 9:03 PM" 원하는 형태의 포맷의 날짜로 바꿔줍니다. 월(Month) : MM 분(Minute) : mm 해당 포맷을 문자열로 반환합니다. 그리고 가끔 API를 사용하다보면 날짜와 시간을 유닉스 기준 시간으로 제공해주는 곳이 있습니다. 이러한 경우도 Date 를 활용해 원하는 값을 추출할 수 있습니다. 마무리 오늘은 이렇게 간단하게 Date 를 활용해 날짜와 시간을 추출하는 방법에 대해 알아..
[Swift] String 안녕하세요. 오늘은 Swift의 타입 중 하나인 String에 대해 간단히 알아보는 시간을 갖도록 하겠습니다. 제가 String을 포스팅하게 된 이유는 굳이 공부할 필요 없다고 생각하여 사용하다가 여러 크고 작은 문제에 부딛혀 이렇게 제대로 공부를 하고 기록을 하고자 포스팅을 하게 되었습니다. 이번 포스팅에서는 기본 String부터 조금 더 심화된 부분까지 다뤄보도록 하겠습니다. 그럼 바로 시작해보도록 하겠습니다 Basic Swift의 String에서는 + 연산이 가능합니다. Swift4에서는 """ 과 """ 사이에 여러 줄을 넣을 수 있습니다. 기본적으로 Swift에서 String은 값 타입입니다. (String은 Struct입니다.) 기본적으로 String에는 내장된 메소..
Codable을 이용한 데이터 저장 안녕하세요. 지난 포스팅에서는 사용자 정의 타입을 저장하고 불러오기 위해 저정하고 불러오기 전 NSCoding과 NSKeyed(Un)Archiver를 이용해 아카이빙/언아카이빙을 하는 방법을 알아보았습니다. [ios] NSCoding과 NSKeyed(Un)Archiver를 이용한 데이터 저장 하지만 포스팅의 마지막에도 언급했듯이 모든 프로퍼티에 대해 인코딩과 디코딩을 설정해주어야 하기 때문에 프로퍼티가 많아지게 되면 상당히 번거로운 작업이 될 수 있다는 단점을 언급했습니다. 오늘은 이러한 번거로운 점을 보완하기 위해 Swift4에 새로 등장한 Codable이란 프로토콜에 대해 간단히 알아보고 사용해보는 시간을 갖도록 하겠습니다. Codable Codable은 Encod..
NSCoding + NSKeyed(Un)Archiver 안녕하세요. 오늘은 데이터를 디바이스에 영구적으로 저장하는 방법, 그중에서도 String, Int, Float과 같은 기본 데이터 타입이 아닌 클래스의 인스턴스와 같은 사용자 정의 데이터 타입을 저장하는 방법을 알아보도록 하겠습니다. 이 포스팅을 들어가기 앞서 제가 작성한 UserDefaults를 활용한 데이터 저장법을 먼저 보고 오시면 포스팅을 읽는데 도움이 되실 것 같습니다. UserDefaults를 이용한 데이터 저장 저는 이번 예제에서 해야 할 일들의 목록인 "ToDo List" 을 기록하는 간단한 어플리케이션을 만들며 진행하도록 하겠습니다. 그럼 바로 시작해보도록 하겠습니다 NSCoding UserDefaults를 이용해 바로 저장하던 기본..
스토리보드 없이 CRUD - Remove 안녕하세요. 오늘은 지난 포스팅에서 다루었던 Update에 이어 Remove를 구현해보도록 하겠습니다. 늘 시작에 앞서 말씀드리지만 이전 포스팅을 읽고 오셔야 코드의 전체적인 흐름을 파악하시는데 도움이 되실 겁니다. 그리고 이번 Remove를 구현하는 포스팅에서는 NotificationCenter를 사용할 것이기 때문에 이에 대한 기본적인 사항을 숙지하시고 시작해주시기 바랍니다. 참고로 NotificationCenter에 관해 작성한 포스팅도 있으니 참고하시기 바랍니다. [ios] NotificationCenter 그럼 바로 시작해보도록 하겠습니다. 1. Remove 버튼 먼저 가장 기본적으로 데이터를 삭제할 때 사용할 버튼을 하나 만들어야 합니다. 그리고 이 삭..
.스토리보드 없이 CRUD - Update 안녕하세요. 오늘은 CRUD 중 하나인 데이터를 수정하는 Update를 구현해보는 시간을 갖도록 하겠습니다.역시 이전 CRUD 포스팅들을 읽고 오셔야 코드의 흐름과 의미를 파악하실 수 있으니 다음의 포스팅들을 먼저 읽고 오시는 것을 추천드립니다. 스토리보드 없이 CRUD - Setting 스토리보드 없이 CRUD - List 스토리보드 없이 CRUD - Create Update를 구현하기 위해 저는 Create를 구현할 때 사용했던 EditFriendViewController 를 사용할 것입니다. 그리고 다음의 절차를 통해 코드를 작성해나가도록 할 것입니다. tableView(_:didSelectRowAt:) 구현 Update를 위한 editFriend 클로저 ..
- Total
- Today
- Yesterday
- 프로토콜
- 백준
- 스위프트
- 아이폰
- Swift
- CRUD
- 부스트코스
- 알고리즘
- auto layout
- boostcourse
- Operating System
- IOS
- Algorithm
- segue
- 오토레이아웃
- oauth2.0
- Xcode
- UIControl
- storyboard
- edwith
- nodejs
- 클로저
- 테이블뷰
- UIResponder
- notificationcenter
- Codable
- TableView
- 운영체제
- iPhone
- Protocol
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |