2019-2020 카카오에 최종 합격하였다. 2019년 10월부터 열심히 달려온 결과라고 생각한다. 약 4개월 간 코딩 테스트 - 서류 전형 - 1차 인터뷰 - 인턴십 (2개월) - 2차 전환 인터뷰 - 최종 합격 이라는 기나 긴 과정을 거쳐 정직원이 되어서 정말 뿌듯하고 내 자신에게 잘했다고 칭찬해주고 싶다. 이제 정말 카카오 크루로써 카카오를 위해 열심히 iOS를 개발할 수 있도록 스스로 꾸준히 노력해야할 것이다. 취업 준비생에서 취업자로 거듭나고 이제는 순탄한 졸업만 남은 상황이라 정말 기분이 좋다. 이 경험을 바탕으로 많은 사람들에게 좋은 기운을 주고 싶고 내가 얻은 노하우들은 서로서로 함께 공유하고 싶다.
드디어 100번째 포스트를 쓰게 되었습니다! 👏🏻👏🏻👏🏻 블로그를 시작한지 1년 반 정도가 된 것 같은데 이제서야 찍는 것 같기도 하고 본격적으로 글 쓰기 시작한 2019년 6월부터라고 생각하면 금방 100개를 쓴 것 같기도 하고 그렇습니다. 100번째 포스트는 제가 전에 배포했던 시간표 오픈 소스 라이브러리의 업데이트 소식을 가져왔습니다. 주된 새로 추가된 기능은 다음과 같습니다. - Long Pressed Gesture Recognizer를 부착하였습니다. 이제 일반 터치 뿐만 아니라 롱 터치도 처리할 수 있게 되었습니다.👏🏻👏🏻👏🏻 - Completion Handler 방식에서 Delegate Pattern 방식으로 변경하였습니다. TableView나 Collection View를 사용하는 것 처럼..
이번 포스트에서는 Swift에서의 Closure에 대해 살펴봅도록 하겠습니다. 클로저(Closure)는 코드에 전달되어 사용할 수 있는 독립적인 기능 블록입니다. Swift의 클로저는 C 및 Objective-C의 블록 및 다른 프로그래밍 언어의 람다(Lambda)와 유사합니다. 클로저(Closure)는 정의된 컨텍스트에서 상수(Constant) 및 변수 (Variable) 에 대한 참조를 캡처하고 저장할 수 있습니다. 이것을 상수(Constant) 와 변수(Variable) 를 닫는 것으로 알려져 있습니다. Swift는 이 캡쳐와 관련한 모든 메모리를 자동으로 처리합니다. 캡쳐의 개념에 대해서는 후반부에서 살펴보도록 하겠습니다. 함수에 도입된 전역 함수와 중첩 함수는 실제로 특수한 클로저입니다. 클로저..
이번 포스트에서는 Swift에서의 함수에 대해 알아보도록 하겠습니다. Swift에서 함수를 생성하는 방법은 다음과 같습니다. func 함수명(인자 이름: 타입) -> 리턴 타입 { (함수 본체) return (반환 값) } 정의한 함수를 호출하는 방법은 다음과 같습니다. func plus(num1: Int, num2: Int) -> Int { return num1 + num2 } print(plus(1, 2)) // 3 함수의 Parameter Value와 Return Value Parameter가 없는 함수 func sayHelloWorld() -> String { return "hello, world" } print(sayHelloWorld()) // Prints "hello, world" 복수의 P..
Apple 공식 문서에 따르면 Core Data는 Database가 아니라고 명시되어 있습니다. Core Data와 Database 모두 영속적인 저장소를 제공하는 방법이므로 구체적으로 어떤 차이점을 갖고 있는지는 명확하지 않습니다. 이번 포스트에서는 Core Data가 동작하는 방식을 살펴보면서 어떻게 Database와 다른지 살펴보도록 하겠습니다. 데이터베이스(DB)의 주된 기능 데이터베이스(DB)는 영속적이고 검색 가능한 테이블 형태의 구조로써 Column과 Row로 구성된 데이터 저장소라고 할 수 있을 것입니다. 이 저장소의 주된 목적은 Disk에 항상 최신의 데이터를 저장하는 것이며, 데이터를 불러오고 업데이트를 하는 것이 그 다음으로 중요한 목적일 것입니다. 이러한 주된 기능들을 훨씬 넘어서는..
가볍게 2020년 목표를 정리해봅시다. 1. 카카오 정직원 전환 성공 카카오 정직원 전환에 성공하는 것이 첫 번째 목표 (달성) 2. 순탄하게 숭실대학교 졸업을 한다. 3. 정직원 전환 성공 시 자취할 전세집을 마련한다. 4. Notissu 새로운 디자인을 적용하여 출시 5. Notissu 다양한 기능을 추가하여 업데이트하기(달성) 6. 공지사항 받아오는 부분을 Open Source로 만들어 배포하고 이를 활용하여 개발 (빌드 시간 단축 및 모듈화) 7. 서울대학교 공지사항 어플리케이션 개발 (진행) 8. 마스크 재고 확인 어플리케이션 개발 (달성예정) 9. 다른 개인 앱 추가 출시 10. YAPP 16기 성공적인 마무리 11. YAPP 17기 (시간적 여유가 된다면) 12. 진짜 취미 하나 만들어보기 ..
이번 포스트에서는 Swift 개발 시 고려할 수 있는 메모리 안정성에 대한 주제를 다뤄보도록 하겠습니다. Swift에서는 메모리 접근 충돌을 막기 위한 작업이 이루어집니다. 그렇기 때문에 Swift 개발자는 Memory Safety에 대해 크게 고려하지 않아도 개발할 수 있습니다. 하지만 Memory Access Conflict가 발생할 수 있는 상황을 이해하고 Memory Access Conflict를 방지할 수 있는 코드를 어떻게 작성할 수 있는지 이해하는 것은 중요합니다. Memory Access Conflict는 변수에 값을 쓰는 작업과 읽는 작업이 동시에 이루어질 경우 주로 발생합니다. var num1 = 1 var num2 = 2 print("num1 : \(num1), num2 : \(num..
이번 포스트에서는 Swift에서 제공하는 다양한 제어문에 대해 살펴보도록 하겠습니다. Swift에서는 while, if, guard, switch, for-in 등 다양한 제어문을 제공합니다. 1. White Swift에서는 while문과 repeat-while문 두 가지 종류의 while 문을 제공하고 있습니다. while 조건 { 코드 구문 } 실제 사용 예시는 아래와 같습니다. var score = 0 while true { score += 10 if score > 100 { print("while문을 종료합니다.") break } } Repeat-While Repeat - While 문은 다른 언어에서는 do-while이라고 불리는 것과 동일합니다. repeat { 실행 구문 } while 조건 ..
- Total
- Today
- Yesterday
- Kotlin
- java
- android
- 함수형프로그래밍
- 알고리즘
- 스위프트
- XCode
- Notissu
- 애플워치
- apple
- Rxjava
- 아이폰
- SwiftUI
- 안드로이드
- Elliotable
- 컬렉션
- 함수형
- databinding
- 코틀린
- retrofit
- 상속
- Apple Watch
- ios
- 오토레이아웃
- Auto Layout
- Swift
- CloudComputing
- C++
- Reactive programming
- watchos
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |