일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 카카오맵클론
- UIKit
- ReactorKit UnitTest
- ARC
- SWIFT
- firestore
- TDD
- 프로그래머스
- Safari Inspector
- Di
- Bubble Search
- Swift디자인패턴
- RxSwift
- 반응형프레임워크
- algorithm
- 시험에자주나오는것만
- IOS
- AutoLayout
- firebase
- 앱의생명주기
- Swift코딩테스트
- iOS앱 디버깅
- ios면접
- mrc
- 코딩테스트입문
- RC
- alamofire
- hackerrank
- HackersRank
- unittest
- Today
- Total
목록전체 글 (93)
샘성의 iOS 개발 일지
1. 정답 : UIApplication 싱글톤 객체가 생성된다. 2. UIApplication 객체 역할 : 앱 실행주기 관리 - 앱 실행 >> UIApplication이 앱 초기화하고 앱 객체 생성함 사용자의 이벤트(터치 이벤트, 제스처 이벤트, 가속도 및 기타 센서 이벤트 등)을 처리하여 적절한 View나 객체에 전달 상태 변화 관리 - 앱이 Background로 갔을 때나 앱이 다시 Foreground로 돌아왔을 때 전화가 오면 이를 대응하고 처리함 알림 처리 - 로컬 및 원격 알림과 관련된 작업을 처리함 (알림이 오면 사용자한테 해당 알림 표시하기 등) 3. 앱의 생명주기 (Life cycle) 하단 포스팅 참고 상태 변화에 따라 다른 동작을 처리하기 위한 앱델리게이트 메서드들을 설명하시오. iO..
1. App thinning 이란? 앱이 디바이스에 설치될 때, 앱스토어와 운영체제가 설치하는 기기의 특성에 맞게 앱이 설치되도록 하는 설치 최적화 기술 2. App thinning 장점 최소한의 디스크 사용, 빠른 다운로드 속도 제공 3. App thinning 구성 3-1. 슬라이싱 (Slicing) 앱은 실행 가능한 코드와 다양한 리소스로 구성되어있다. 개발자가 다양한 art work와 리소스를 가진 범용 앱을 앱스토어에 업로드하면, 앱스토어에서 알아서 해당 앱을 다운받는 유저의 디바이스에 적절한 리소스를 조합하여 별도의 IPA(애플 앱 파일)를 만들어주는 기술. 개발자는 앱을 잘 제작하기만 하면 된다. 앱스토어가 다운받는 유저의 기기에 맞게 알아서 슬라이싱하여 개발자가 제작한 IPA파일 중 적절한..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/sYKaI/btsit0aLiG5/Ywtb1peaXzuk4xJdt0z4C0/img.png)
1. 정답 데이터 베이스 2. 사용해본 데이터베이스 2-1. UserDefaults 유저에게 기본으로 제공되는 싱글톤 페턴으로 설계된 데이터베이스. Key-Value 쌍으로 데이터를 저장한다. 따라서 하나의 키에 하나의 값만 저장되기에 사용자 기본 설정, 단일 데이터 저장에 적합하다. Linky 앱 제작할 때 사용해보았다. Share Extension상에서 Realm을 사용할 수 없어 기본적으로 제공되는 UserDefaults에 공유된 URL을 [String] 타입의 값으로 저장 후, 앱이 In-Active 상태에 들어왔을 때 UserDefaults에서 해당 데이터를 Realm으로 전달 + 해당 키값 초기화 하는 방식으로 사용한 경험이 있다. 2-2. Realm 무료 오픈소스로 제공되는 모바일에 최적화된..
1. 함수형 프로그래밍 1-1. 함수형 프로그래밍이란? 대입문을 사용하지 않은 프로그래밍이며, 순수함수를 조합하여 문제를 해결하는 방식이다. 함수형 프로그래밍은 깔끔하고 유지보수가 쉬운 소프트웨어를 만들기 위해 함수를 최상의 효과로 사용하는 것이다. 1-2 함수형 프로그래밍의 특징 함수형 프로그래밍은 과정(Process)보다 결과(Result)에 관심이 많다. 무엇(What)이 실행될 지를 강조한다. 데이터를 함수 밖에서 변형하지 않는다. (사이드이펙트를 줄이고, 함수가 어떤 영향을 주는지 추론하기 쉬워짐) 함수형 프로그래밍은 문제를 함수로 분해(Decompose)한다. (각자 맡은 부분만 수행하도록) 함수형 프로그래밍은 수학적 함수의 개념에 기반한다. 함수를 일급객체 취급한다. (아규먼트가 될 수 있음..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bbsLLf/btsic5DPwjT/X0TZNyl7FRHDwfPhCRs9f0/img.png)
QoS란? Quality of Service의 약자로, 작업에 대한 중요도에 따라 다른 퀄리티의 서비스를 사용하도록 여러 종류가 있다. Global DispatchQueue 의 QoS 종류 (중요도 높은 순서 우선으로 정렬) User-Interactive: 사용자와 상호작용하는 것과 관련된 작업에 사용. UI 업데이트, 이벤트 처리처럼 사용자 경험에 직접적으로 관련있는 경우 해당 QoS를 사용한다. (중요도 1위) User-Initiated: 사용자가 직접 요청한 작업에 대한 QoS. 인터넷 검색, 파일 찾기 등, 사용자에게 즉각적인 응답을 줘야하지만 1순위보다는 우선순위가 떨어진다 (중요도 2위) Default: 개발자가 QoS를 따로 지정하지 않았을 때, 기본적으로 설정되는 QoS이다. (중요도 3위..
In-Active 상태란? In-Active는 Active 상태를 감싸고 있는 영역이다. 따라서 Not Running 상태의 앱이 Foreground에 들어설 때, 반대로 화면을 점유하고 있던 앱이 Background에 들어설 때 거쳐가는 관문과 같은 영역이다. In-Active 상태를 거치게 되는 과정 1. 대기열에 존재하지 않은 앱을 실행하면 앱은 Foreground에 들어서게 된다. (Not Running -> Foreground) 1-1. Foreground에 들어갈때 In-Active 상태를 거치고 Active 상태에 들어선다. 2. 반대로, 사용하고 있는 앱을 홈화면에 넣으면 앱은 Background에 들어서게 된다. (Foreground -> Background) 2-1. Background..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bFpuvh/btsia0o5dJK/uDLXqh45MxzSGHFkDWD4Qk/img.png)
참고 문서: GitHub - apple/swift-evolution: This maintains proposals for changes and user-visible enhancements to the Swift Programming Lang This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - GitHub - apple/swift-evolution: This maintains proposals for changes and user-visible enhance... github.com @main 이란? @main은 Swift 5.3부터 Implement 된 어트리뷰트로, 프..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dxDk45/btsh9B4hzqw/TIdqLjlhkyoS5of9VaSlU1/img.gif)
목표 : 지도 위에 현재 위치에서 선택한 장소로 가는 자동차 경로 그리기 배경 : Alamofire pod install 된 상태, 카카오맵 SDK 설치 된 상태, map View 세팅 된 상태 (REST API 키 발급받은 상태) 1. 요청 파라미터 확인하기 카카오모빌리티 디벨로퍼스 카카오모빌리티 디벨로퍼스 developers.kakaomobility.com 카카오맵을 클론하는 것이기에 경로를 받아오는 API까지... 카카오에서 제공하는 API를 사용할 것이다 ...! 우선, 호스트와 Auth, content Type은 하단과 같다. HOST: https://apis-navi.kakaomobility.com/v1/directions Authorization : KakaoAK ${REST_API_KEY}..