Skip to content

seungchan2/TIL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 

Repository files navigation

심야아요 배너

딱 한 가지만 지킨다. 평일 중 매일 1가지의 TIL을 기록하고 자정이 되면 그 내용을 공유한다.

iOS

Protocol -> BaseView
BottomSheet + PanGesture
@UIApplicationMain @main

Self-Sizing CollectionView (동적 width) [1 / 2]
Self-Sizing CollectionView (동적 width) [2 / 2]

Array의 index out of range 방지
String Extension
APIKey 숨기기
모듈화 개념 Library vs Framework

UITest

UITest [1 / 3]
UITest [2 / 3]
UITest [3 / 3]

Realm

Realm vs CoreData ⭐️
Realm 사용해보기 ⭐️

Swift

final 키워드의 성능적 이점 (Static Dispatch, DynamicDispatch) [1 / 2] ⭐️
final 키워드의 성능적 이점 (실제 코드 예시) [2 / 2]

계산 프로퍼티 getter, setter
저장 프로퍼티 lazy
타입 프로퍼티 static
속성 프로퍼티 willSet, didSet

인스턴스 메서드
타입 메서드 class, static
서브스크립트 subscript

is 연산자
as 연산자
타입과 다형성

Generic
joined

UserDefaults에 대한 개인적인 생각
UserDefaults 그리고 PropertyListDecode

고차함수
기본 문법

ThreadSafeArray 🆕

클래스와 구조체

클래스와 구조체는 언제 사용해야 할까? + 차이점 ⭐️
클래스와 구조체를 사용하는 이유 ⭐️
클래스 초기화 init

ARC

ARC ⭐️
강한 참조, 약한 참조, 미소유 참조 ⭐️
순환 참조를 확인하는 방법 ⭐️

GCD

동시성 프로그래밍의 문제점 (Thread-safe / 교착상태) ⭐️
UI를 MainThread에서 업데이트 하는 이유
Blocking vs Non-Blocking / Sync vs Async ⭐️
GCD 예시 (DipsatchQueue.main.sync) ⭐️

RxSwift

Observables
초콜릿 앱 만들기
RxSwift + MVVM (Input, Output)
PHPhotoLibrary 권한 설정
combineLatest + UIImage

RxSwift ++

Obeservable와 Observer
DisposeBag
BehaviorSubject, PublishSubject 차이
UI에서 Relay를 주로 사용하는 이유
Cold Obseverable Hot Observerable
Combining Operator [1/2] (Prefixing and concatenating)
Combining Operator [2/2] (Triggers)
extension Reactive where Base
drive vs bind vs subscribe
Relay, Signal, Drive

CS

HTTP, HTTPS, Socket ⭐️
OOP의 특징 ⭐️
DI, DIP

Architecture

MVVM + URLSession
MVVM 데이터 전달
MVC -> MVVM 리팩토링

Clean Architecture[1 / 3]
Clean Architecture[2 / 3]

Trouble Shooting

단순 데이터 전달에서의 UserDefaults

About

10월 26일 나의 세상이 무너졌다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published