매일매일 학습하여 커밋을 남겨보자!
| Subject | Link | Explain |
|---|---|---|
| Git Commit | Commit message style |
| Section | Subject | Explain |
|---|---|---|
| 📕 Fundamentals | Fundamentals | 핵심개념 |
| 📗 Naming | Promote Clear Usage | 명확하게 사용하기 |
| Strive for Fluent Usage | 자연스러운 사용을 위해 노력하기 | |
| Use Terminology Well | 적절한 기술 용어 사용하기 | |
| 📘 Conventions | General Conventions | 일반 규칙 |
| Parameters | 매개변수 | |
| Argument Labels | 전달인자 레이블 | |
| 📙 Special Instructions | Special Instructions | 특별 지침들 |
| 📖 Article | ✏️ Bool 변수 이름 제대로 짓기 위한 최소한의 영문법 | |
| ✏️ 자연의 코드 | ||
| 🎬 Video | ✏️ 영어 변수명을 잘 지어보자 |
| Section | Title | Subject Link | Explain |
|---|---|---|---|
| App and environment | UIKit 설명, App and Environment | ||
| App Structure | Managing your app's life cycle | ViewController Life-Cycle |
| Section | Title | Subject Link | Explain |
|---|---|---|---|
| Views and controls | View fundamentals | UIView | |
| Configuring the bounds and frame rectangles | var frame vs var bounds | ||
| var bounds | Same as above | ||
| Container Views | CollectionViews | Organize in Notion | |
| TableViews | |||
| UIStackView | |||
| UIScrollView | |||
| Content Views | UIImageView | ||
| Controls | UIButton | ||
| UIButton.Configuration | |||
| UISlider | |||
| UIStepper | |||
| Text Views | UILabel | ||
| Search Field | |||
| Bars | |||
| Content Viewer | |||
| Private Click Measurement (PCM) | |||
| SwiftUI | |||
| View controllers | |||
| View layout | |||
| Animation and haptics | |||
| Windows and screens | Windows | ||
| Scenes | |||
| Popovers | |||
| Alerts | |||
| Screens | UIScreen |
| Section | Title | Subject Link | Explain |
|---|---|---|---|
| Touches, presses, and gestures | Using responders and respoder chain to handle events | ||
| UIResponder | |||
| UIEvent | |||
| UITouch | |||
| UIPress | |||
| Standard gestures | Handling UIKit gestures | ||
| UILongPressGestureRecognizer | |||
| UIPanGestureRecognizer | |||
| UIPinchGestureRecognizer | |||
| UIScreenEdgePanGestureRecognzier | |||
| UISwipeGestureRecognizer | |||
| UITapGestureRecognizer | |||
| Custom gestures | |||
| UIGestureRecognizer | |||
| UIGestureRecognizerDelegate | |||
| Menus and shortcus | |||
| UIAction | |||
| Drags and drop | |||
| Pointer interactions | |||
| Focus-based navigation | |||
| Menus and shortcuts | |||
| Drag and drop | |||
| Pointer interactions | |||
| Pencil interactions | |||
| Focus-based navigation | |||
| Accessibility for UIKit |
| Section | Title | Subject Link | Explain |
|---|---|---|---|
| Geometric Data Types | CGPoint, CGSize, CGRect | ||
| CGSize | Same as above | ||
| CGRect | Same as above | ||
| 2D Drawing | |||
| Colors and Fonts | |||
| CGColor | |||
| CGFont |
| Section | Title | Subject Link | Explain |
|---|---|---|---|
| File System Basics | |||
| Sandbox 정책과 Files 앱 | |||
| Logs | Essentials | ||
| Log Messages | Logger & OS_Log | ||
| VC간의 데이터 전송방법 | |||
| Delegate | |||
| magnitude & abs() | 절대값 구하기 | ||
| pow() & sqrt() | 제곱, 제곱근 구하기 | ||
| Storyboard | |||
| 3 ways to change the screen |
| Section | Title | Subject Link | Explain |
|---|---|---|---|
| 01 | 데이터 타입 고급 | typealias | |
| Tuple | |||
| Collection Types | Array | ||
| Dictionary | |||
| Set | |||
| Enumerations | |||
| Operator | |||
| Control Flow | |||
| Functions | |||
| Optional | |||
| 02 | Object Oriented Programming with Swift | 🔥 Struct & Class | |
| 🔥Choosing Between Structures and Class | |||
| Property & Method | |||
| Initialization | |||
| Access Control | |||
| 03 | functional programming with Swift | 🔥 Closure | |
| Optional Chaining | |||
| Early-exit | |||
| Higher-order function | |||
| Monad | |||
| 04 | Extension | Subscript | |
| 🔥 Inheritance | |||
| Type Casting | |||
| 🔥 Protocol | |||
| Extension | |||
| 🔥 Generic | |||
| 🔥 Protocol Default Implimentations | |||
| 05 | Swift High | Nested Type | |
| Pattern | |||
| Where | |||
| 🔥 ARC | |||
| 🔥 Error Handling | |||
| Memory Safe | |||
| etc | ~= Operator | ||
| zip | |||
| readLine() | |||
| 🔥 @escaping Closure | |||
| 🔥 CompletionHandler | |||
| Handling Decimal Point | |||
| First-Class Citizen | |||
| 🔥 MetaType | |||
| ObjectIdentifier | |||
| LocalizedError | |||
| Result | |||
| 🔥 CoW(Copy on Write) | |||
| KVO(Key-Value Observing) | Data Binding |
- Equatable
- Comparable
- Hashable
- Sendable -> 추후 정리 예정
- CaseIterable
| Section | Subject | Explain |
|---|---|---|
| Collections | NSCache | 메모리 캐시 방법 |
| Section | Subject | Explain |
|---|---|---|
| Essential | Fetching Website Data into Memory | URLSession에서 데이터 작업을 생성하여 데이터를 메모리로 직접 수신한다. |
| URLSession | 관련된 네트워크 데이터 전송 작업 그룹을 조정하는 개체 | |
| URLSessionTask | ||
| URLSessionConfiguration | ||
| Request and Response | URLRequest | |
| MutableURLRequest | ||
| URLResponse | ||
| HTTPURLResponse | ||
| Cookies Storage |
HTTPCookie | |
| HTTPCookieStorage | ||
| Cache | URLCache | 인메모리 & 온디스크 방식 Cache |
| CacheURLRequest | ||
| Errors | URLError | |
| Protocol Support | URLProtocol | |
| Authentication & Credentials |
URLProtectionSpace | |
| URLCredential | ||
| URLCredentialStorage | ||
| URLAuthenticationChallenge |
| Section | Subject | Explain |
|---|---|---|
| RunLoop Scheduling | ||
| RunLoop | ||
| Timer | ||
| Threads and Locking | ||
| Process vs Thread | 프로세스와 스레드의 차이 | |
| Async vs sync | 비동기와 동기의 차이 | |
| Serial vs Concurrent | 단일 스레드와 다중 스레드(동시성) 차이 | |
| Operations | ||
| OperationQueue | ||
| Operation |