부스트코스(https://www.boostcourse.org/mo326)를 수강하면서 추가적으로 알고 싶은 내용을 정리하기로 했다. 처음으로 정리한 내용은 앱시닝(App Thining)과 에셋 카탈로그(Asset Catalog)에 관한 내용이다. 앱시닝(App Thining) 앱 스토어에서 애플리케이션을 다운 받을 때 디바이스의 특성에 맞게 설치되도록 하는 설치 최적화 기술 최소한의 용량과 빠른 다운로드를 제공 슬라이싱(slicing) 앱이 지원하는 여러 디바이스/운영체제에 대해 각각의 애플리케이션 번들을 생성하고 설치하려는 디바이스에 적합한 번들을 전달하는 기술 앱 스토어에서 디바이스 특성에 따라 다양한 버전의 조각을 생성하고 사용자에 맞는 조각을 다운받게 함 Assets Catalog 사용 비트코드(..
졸업작품을 진행하면서 파이어베이스의 스토리지를 사용하기로 해서 좀 더 사용법을 익히기로 하였다 사용법을 익히기 위해 토이프로젝트를 하나 진행하려고 한다 프로젝트의 내용은 스토리지에 이미지를 20장 정도 넣어두고 커스텀테이블뷰, 스토리지, NSCache, UserDefault 와 비동기 처리를 사용해 볼것이다 순서는 스토리지 -> 커스텀테이블뷰 -> NSCache -> UserDefault -> 비동기처리 가 되지않을까 싶다 pod 'Firebase/Storage' pod파일에 위의 Storage를 추가해준다 그런다음엔 AppDelegate에 아래의 configure()를 작성 물론 앞으로 작성할 소스파일에는 Firebase 헤더가 전부 들어간다 func application(_ application: U..
처음에 배울때부터 코드로 배우기도 했고 오래된(?) 맥북이다 보니 스토리보드를 쓰는게 불편해서 코드로만 작업을 해왔다 그러다 보니 필요한 코드를 평소 메모장에 적어두었는데 그것 보단 블로그에 올려두는게 좋을거 같아 올려두기로 했다 func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { guard let windowScene = (scene as? UIWindowScene) else { return } self.window = UIWindow(frame: UIScreen.main.bounds) self.window?.windowScene = ..
파이어베이스 URLSession NSChach UserDefault Alamofire
옵셔널이란? 값이 있을 수도, 없을 수도 있음을 나타내는 표현 변수 또는 상수의 값이 nil 일 수도 있다는 것을 의미 var name1: Optional //명확한 옵셔널 표현 var name2: String? //축약한 옵셔널 표현 옵셔널추출 강제추출(forced unwrapping) 간단하지만 런타임 오류가 발생할 수 있기 때문에 가장 위험한 방법 옵셔널 값 뒤에 !를 붙여주면 강제추출 됨 값이 nil이 안 들어간다고 확신을 할 경우 사용할 수 있지만 사용하지 않는 것이 공부하는데 도움이 될 것 같다 var name: String? = "Name" name = nil print(name!) //런타임 에러 발생 옵셔널 바인딩 옵셔널에 값이 있는지 확인할 때 사용 옵셔널에 값이 있다면 옵셔널에서 추출..
paradigm : 한 시대의 사람들의 견해나 사고를 근본적으로 규정하고 있는 인식의 체계 또는, 사물에 대한 이론적인 틀이나 체계 프로그래밍 패러다임 : 프로그래머에게 프로그래밍의 관점을 갖게 해 주고, 결정하는 역할을 함 객체 지향 프로그래밍 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 패러다임 강한 응집력(Strong Cohesion)과 약한 결합력(Weak Coupling)을 지향 강한 응집력 : 클래스에 하나의 문제 해결을 위한 데이터를 모아 놓은 데이터형을 사용함으로써 응집력을 강화 약한 결합력 : 클래스간에 독립적으로 디자인함으로써 결합력을 약화 특징 자료 추상화 : 불필요한 정보는 숨기고 중요한 정보만을 표현함으..
백준 10989번 문제 사이트 : https://www.acmicpc.net/problem/10989 #include #include #include #include using namespace std; #define Max 10002 int Array[Max]; int main(void) { int input; scanf("%d", &input); for (int i = 0; i < input; i++) { int number; scanf("%d", &number); Array[number]++; } for (int i = 1; i < Max; i++) { for (int l = 0; l < Array[i]; l++) { printf("%d\n", i); } } return 0; }
백준 2750번 문제 사이트 : https://www.acmicpc.net/problem/2750 #include #include #include #include using namespace std; int Array[Max]; int main(void) { int input; scanf("%d", &input); for (int i = 0; i < input; i++) { scanf("%d", &Array[i]); } sort(Array, Array + input); for (int i = 0; i < input; i++) { printf("%d\n", Array[i]); } return 0; }
- Total
- Today
- Yesterday
- 부스트코스
- apple
- 싱글톤
- MVC
- ios
- 디자인패턴
- 오토레이아웃
- Swift
- HIG
- Human Interface Guidelines
- 분할정복
- 백준
- Human Interface Guideline
- HumanInterfaceGuidelines
- Firebase
- 알고리즘
- DP
- storage
- 온라인저지
- UIView
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |