"> ');

전체 글 112

Buok 개인정보 처리방침

개인정보처리방침 북(buok)은(는) 「개인정보 보호법」 제30조에 따라 정부주체의 개인정보를 보호하고 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보 처리방침을 수립·공개합니다. ○ 이 개인정보처리방침은 2021년 6월 30부터 적용됩니다. 제1조(개인정보의 처리 목적) 북(buok) 은(는) 다음의 목적을 위하여 개인정보를 처리합니다. 처리하고 있는 개인정보는 다음의 목적 이외의 용도로는 이용되지 않으며 이용 목적이 변경되는 겨우에는 「개인정보 보호법」 제18조에 따라 별도의 동의를 받는 등 필요한 조치를 이행할 예정입니다. 1. 홈페이지 회원가입 및 관리 회원 가입의사 확인, 회원제 서비스 제공에 따른 본인 식별·인증, 회원자격 유지·관리 목적으로 개인정보를..

포트폴리오 2021.07.03

Mysteries of AutoLayout

이번 포스트에서는 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..

Frontend/iOS 2021.03.01

Auto Layout을 코드로 구현해봅시다

이번 포스트에서는 Auto Layout을 코드로 구현하는 방법에 대해 알아보고 Auto Layout을 유용하게 사용할 수 있는 라이브러리인 SnapKit을 사용하여 구현하는 방법에 대해 알아보도록 하겠습니다. 1. Storyboard에서 Auto Layout을 구현하는 방법과 Code로 구현하는 방법의 차이 우리가 처음 iOS 개발을 공부하면 대부분 예제가 Storyboard를 사용하여 View를 구성합니다. 직관적이고 간편하게 마우스 컨트롤을 통해 Auto Layout을 적용할 수 있다는 점이 매력적입니다. 하지만, 장점이 있다면 단점도 존재하는 법! Storyboard로 Auto Layout을 구현하는 방법이 갖는 단점에 대해 살펴보고 코드로 구현하는 방법과 어떤 차이가 있는지 알아보도록 하겠습니다...

Frontend/iOS 2021.02.01

2021년 목표

2021년을 코앞에 둔 이 시점에서 2021년 목표를 한 번 적어봅시다. 이제 진짜 20대 후반인데 큰 것을 이뤄보고 싶은 마음이 있지만 욕심내지 말고 차분하게 적어보도록 한다. 1. 진짜 취미 하나 만들어보기 정말 혼자서 즐겁게 할 수 있는 나만의 취미를 하나 만들어 보는 것이 올해 목표이다. 2020년에 이루지 못한 목표 2021년에는 꼭 이루고 싶다. 2. 정보보안기사 자격 취득 2019년 필기 합격하고 실기 1문제 차이로 떨어진 것이 너무 아쉬워 2021년에는 꼭 취득하고자 한다. 직장인이라 시간을 내는 것이 심적으로 쉽지 않지만 마음을 다잡고 이루도록 하겠다. 3. YAPP 18기 2021년에 활동이 이뤄질 지 잘 모르겠지만, 이뤄진다면 운영진이던, 일반 회원이던 18기 활동을 해볼 의향이 있다..

일상이야기 2020.12.29

2020년 회고

어느덧 2020년의 끝이 다가왔다. 코로나로 인해 굉장히 힘든 한 해 였지만 그래도 내가 처한 상황속에서 내가 할 수 있는 최선을 다한 것 같은 느낌이 들어 기분이 좋다. 회고를 하기 전에 2020년 목표를 다시 한 번 끌어서 적어보고 달성도를 체크해보자. 1. 카카오 정직원 전환 성공 카카오 정직원 전환에 성공하는 것이 첫 번째 목표 ==> 달성! 열심히 노력한 끝에 정직원 전환에 성공하여 현재까지 계속 업무를 이어나가고 있다. 2. 순탄하게 숭실대학교 졸업을 한다. ==> 달성! 코로나로 인한 온라인 수업 덕분에 더 순탄하게 졸업을 할 수 있었다. 3. 정직원 전환 성공 시 자취할 전세집을 마련한다. ==> 달성! 전세집은 아니지만 월세집을 마련하여 입주하였다. 4. Notissu 새로운 디자인을 적..

일상이야기 2020.12.29 (1)

[iOS] 안전한 데이터 저장, Keychain 사용하기

이번 포스트에서는 Keychain을 사용하여 안전하게 데이터를 저장하고 불러오는 방법에 대해 살펴보고자 합니다. Keychain은 디바이스 안에 암호화된 데이터 저장 공간을 의미합니다. 사용자는 암호화된 공간에 데이터를 안전하게 보관할 수 있습니다. Keychain에 저장할 수 있는 데이터는 다양한 데이터가 포함될 수 있습니다. 사용자 계정 정보를 비롯하여 결제 지불 정보, 사용자 개인 정보 등 민감한 데이터를 모두 저장할 수 있습니다. 현재까지 Keychain 영역이 외부 침입자에 의해 뚫렸다는 소식이 없었을 만큼 안전한 공간입니다. Keychain Service는 Keychain Service API를 통해 데이터를 암호화할 후 Keychain에 저장하게 됩니다. 아래 그림을 살펴보면 이해에 도움이 ..

Frontend/iOS 2020.08.17

[Objective-C] 하부 C언어 기능 - 블록

이번 포스트에서는 Objective-C에서 제공하는 하부 C언어 기능 중 블록에 대해 살펴보도록 하겠습니다. 블록은 Apple이 추가한 것으로 표준 ANSI C 정의에는 포함되지 않았습니다. 블록은 함수와 유사하게 생겼으며 동작 방식도 함수와 유사합니다. 또한 함수와 마찬가지로 Parameter를 넘겨줄 수도 있습니다. 다만, 함수와 다른 점은 블록은 함수나 메소드 안에서 정의할 수도 있고, 자신과 동일한 범위에 있다면, 블록 바깥에서 정의된 변수에도 접근이 가능합니다. 하지만 일반적으로 이러한 변수에 접근은 가능하지만 값을 변경할 수는 없습니다. 만약 이 값을 변경하고 싶다면 __block(block 앞에 _가 2번) 을 사용하면 블록 내에서 이런 변수의 값을 변경할 수 있게 됩니다. 블록은 함수와 메..

[iOS] Swift UI Group, View 속성 사용해보기

이번 포스트에서는 Swift UI에서 제공하는 기본적인 View 속성과 Container의 자식 View 개수 제한을 해결해보는 내용에 대해 살펴보도록 하겠습니다. Swift UI View Stack Swift UI는 VStack, HStack, ZStack이라는 3가지 Stack Layout View를 제공하고 있습니다. VStack은 수직으로 View를 배치하는 레이아웃이며 HStack은 View를 가로로 배치하는 레이아웃, ZStack은 View를 중첩이 되도록 배치하는 레이아웃을 의미합니다. 예를 들어, 다음과 같이 VStack에 3개의 Text가 있다면 세로로 3개의 View가 배치되는 것입니다. struct ContentView: View { var body: some View { VStack..

Frontend/iOS 2020.03.28

[iOS] Swift UI 시작하기

이번 포스트에서는 Apple에서 새로 발표한 Swift UI에 대해 살펴보도록 하겠습니다. Apple 공식 문서에 써있는 Swift UI 소개 글귀를 발췌하였습니다. SwiftUI는 Swift의 성능을 바탕으로 모든 Apple 플랫폼에서 사용자 인터페이스를 구축할 수 있는 혁신적이고 간소화된 방법입니다. 단 하나의 도구 구성 및 API를 통해 모든 Apple 기기에서 사용할 수 있는 사용자 인터페이스를 구축합니다. 읽기 쉽고 작성하기 편한 선언적 Swift 구문을 통해 SwiftUI는 새로운 Xcode 디자인 도구와 매끄럽게 연동되면서 코드와 디자인이 완벽하게 동기화되도록 합니다. 또한 유동적 글자 크기 조절, 다크 모드, 현지화 및 손쉬운 사용을 자동 지원하므로 SwiftUI 코딩 첫 줄부터 가장 강력..

Frontend/iOS 2020.03.28

[Swift] Codable을 사용하여 JSON Encode/Decode 하기

이번 포스트에서는 Swift에서 제공하는 Codable을 사용하여 JSON을 Encode하고 Decode하도록 하겠습니다. Codable은 Swift 4.x부터 지원하는 Protocol입니다. 공식 문서에 따르면 Codable은 A type that can convert itself into and out of an external representation." 자기 자신을 외부 표현으로 변환(Encode)하거나 외부 표현으로부터 변환(Decode)할 수 있는 타입이라고 합니다. 즉, Codable은 Encodable과 Decodable을 합친 것인데, 각각 정의를 살펴보면 아래와 같습니다. typealias Codable = Decodable & Encodable Codable은 Protocol 이기 ..