RESTful API를 사용하여 HTTP 통신하기
Cloud Firestore에 Data를 Create, Read - (1)
Cloud Firestore에 Data를 Create, Read - (2)
Firebase의 Storage 사용량을 줄여보자!
Custom View에서 init?(coder: NSCoder) 생성자 메서드를 왜 써줘야 하는가 (with. Storyboard, XIB/NIB)
중복되는 Subscriber를 해결하기
viewDidLayoutSubviews()로 뷰의 제약조건을 안전하게 설정하기 (with. SafeAreaInsets)
Embedded Web View 환경에서 구글 로그인 구현하기(?)
UICollectionView UI 구성이 깨지는 문제 해결
ReactorKit 알아보기 + Counter 앱 만들기
struct vs class 알아보기 (via 'The Swift Programming Language')
copy-on-write 알아보기
[WWDC21] Meet async/await in Swift로 알아보는 Swift Concurrency (+ Vapor Framework로 직접 REST API를 만들어 네트워크 통신 구현해보기)
Swift의 Array 인스턴스가 어떻게 생성되고 메모리 공간에 할당되는가
자동 참조 카운팅 알아보기 (via 'The Swift Programming Language')
'The Swift Programming Language (한국어)'에 기여하다!
weak vs unowned (via Side Table)
항상 공식 문서나 소스코드 등을 직접 보고 판단할 수 있는 능력을 기르자!
학습이 아닌 '습.학'을 하자!
PART1 - Roy Fielding의 논문을 통해 알아보는 REST (via. Roy Fielding 作 - Architectural Styles and the Design of Network-based Software Architectures)
PART 2 - RESTful API란 무엇인가
지난 2달 간의 회고 (5월 ~ 7월)
Swift Concurrency와 Combine에 대하여
Design Patterns와 Architecture로 알아보는 MVC, MVP, MVVM
인생 첫 커피챗 도전!
SwiftRISE 후기
동시성과 병렬성
Scheduler의 subscribe(on:)과 observe(on:)으로 Observable의 실행과 관찰 시점 이해하기
제네릭 프로토콜
위 코드에서 doSomething2() 함수는 아래와 같은 컴파일 에러가 발생한다. ProtocolType1과 ProtocolType2는 둘 다 associatedtype 키워드를 사용한 프로토콜로, 이는 프로토콜을 제네릭하게 작동하게 할 수 있게 한다. 즉, 제네릭 프로토콜이 되어 타입이 구체화되기 전까지는 Item 타입이 어떤 것인지 알 수 없다....
Swift 제네릭