Skip to content

매일매일 학습하여 커밋을 남겨보자!

Notifications You must be signed in to change notification settings

JasonLee0223/TIL

Repository files navigation

TIL

매일매일 학습하여 커밋을 남겨보자!

Git

Subject Link Explain
Git Commit Commit message style

API Design Guidelines

🪧 Agenda

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 ✏️ 영어 변수명을 잘 지어보자

🗂️ iOS

📗 UIKit

Section Title Subject Link Explain
App and environment UIKit 설명, App and Environment
App Structure Managing your app's life cycle ViewController Life-Cycle

📕 User Interface

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

📕 User interactions

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

🗂️ Core Graphics

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

ETC

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

🗂️ Swift

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

🔥 OOP(Object Oriented Programming)

🪧 Table of Contents

Commonly used protocols in Swift

🗂️ Foundation

📕 Fundamentals

Section Subject Explain
Collections NSCache 메모리 캐시 방법

📕 Networking - URL Loading System

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

📕 Low-Level Utilities - Process and Threads

Section Subject Explain
RunLoop Scheduling
RunLoop
Timer
Threads and Locking
Process vs Thread 프로세스와 스레드의 차이
Async vs sync 비동기와 동기의 차이
Serial vs Concurrent 단일 스레드와 다중 스레드(동시성) 차이
Operations
OperationQueue
Operation

📕 Dispatch

📗 Design-Pattern

📕 TDD (Test Driven Development)

📗 Project - Setting

App 배포와 출시

About

매일매일 학습하여 커밋을 남겨보자!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published