Neph's Blog

「Neph의 iOS 공부일지」

[#3] 데이터베이스 시스템

데이터베이스 시스템의 정의 데이터베이스 시스템 데이터베이스에 데이터를 저장하고, 이를 관리하여 조직에 필요한 정보를 생성해주는 시스템 용어 정리 데이터베이스 데이터를 저장해두는 곳 데이터베이스 관리 시스템(DBMS) 데이터가 일관되고 무결한 상태로 유지되도록 관리하는 역할을 ...

[#2] 데이터베이스 관리 시스템

데이터베이스 관리 시스템의 등장 배경 파일 시스템 데이터를 파일로 관리하기 위해 파일을 생성/삭제/수정/검색하는 기능을 제공하는 소프트웨어 응용 프로그램마다 필요한 데이터를 별도의 파일로 관리함 여러 사용자/프로그램이 공유하지 않음 파일 시스템의 문제점 같은 내용의 데이터가 여러 파일에 중복 저장된다 (데이터 중복성) ...

[#1] 데이터베이스 기본 개념

데이터베이스의 필요성 데이터와 정보 데이터 현실 세계에서 단순히 관찰하거나 측정하여 수집한 사실이나 값 정보 의사 결정에 유용하게 활용될 수 있도록 데이터를 처리한 결과물 정보처리 데이터에서 정보를 추출하는 과정, 방법 주문 내역 데이터를 통해 제품별 총 판매액, 분기별 총 판매액과 같은 정보를 추출할 수 있다. 이러한 정보는 판매...

[Core] HTTPMethod.swift, Notification.swift 분석

HTTPMethod HTTPMethod는 구조체로 이루어져있다. RawRepresentable, Equatable, Hashable을 채택하고 있으며 rawValue가 String 타입이기 때문에 HTTPMethod를 String 요구자리에 가져다 써도 문제가 없다. Hashable의 경우 Set<HTTPMethod>를 사용하는 부분이...

[Core] HTTPHeaders.swift 분석

HTTPHeaders HTTPHeaders는 struct HTTPHeaders는 struct 타입이다. 내부에서 reference 타입을 다루지 않기 때문에 ARC로 인한 성능저하를 우려하지 않아도 된다. HTTP header를 담고 있는 배열이 있다. 1 private var headers: [HTTPHeader] = [] headers라...

[Core] AFError.swift 분석

AFError Alamofire의 Error들은 AFError.swift라는 하나의 파일 내에서 관리된다. 가장 큰 틀인 AFError(enum type) 안에 여러 enum, struct가 nested되어있다. AFError - Nested Enum - Case 구조로 이루어져있으며 Nested Enum에서 어떤 작업이 실패했는지를, Case에서...

왜 UI작업은 main thread에서 해야할까?

UIKit은 Nonatomic UIKit이 만약 atomic이었다면 thread safe를 보장해주는 block 메커니즘이 필요하다. 이는 성능의 저하를 야기하게 된다. 게다가 UIKit은 거대한 프레임워크이기 때문에 thread safe하게 디자인하는 것은 현실적으로 불가능하다. 불가능함을 설명하는 몇가지 상황들 만약 뷰의 속성을 비동기적...

UIApplicationMain은 뭐하는 함수일까?

UIApplication UIApplication의 singleton instance는 앱의 시작시에 생성된다. 이 instance를 제작하는 함수가 바로 UIApplicationMain 함수이다. 이 외에도 App Delegate의 제작과 event cycle의 설정을 담당하는 역할을 가진다. UIApplicationMain 1 2 3 4 fu...

App thining

App Thinning이란? 앱을 특정 디바이스에 설치할 때 굳이 들어가지 않아도 되는 파일들을 생략하고 그 디바이스에 맞게 설치하는 최적화 기술을 App Thinning이라고 한다. 앞의 문장에서 알 수 있듯 하나의 앱은 아래와 같이 여러가지 파일들이 섞여있다. App Slicing 꼭 필요한 것만을 다운 받는 과정을 App Slicing이...

UIApplicationDelegate 메서드

AppDelegate이란? UIApplicationDelegate의 subclass로 기본 생성되는 AppDelegate는 앱 전반적으로 공유하게 될 자원, 동작을 관리하는 역할을 수행한다. UIApplication의 Delegate이라는 이름에 맞게 앱의 기능들 중 일부를 대신하여 처리해준다. App Delegate 객체가 담당하는 일들 ...