매일매일 학습하여 커밋을 남겨보자!
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 |