/TIL

CS, Swift, Java, C++, 개발 관련 공부한 내용 정리

TIL

CS

Data Structure & Algorithm

개념

Map, Set, List의 차이
균형 검색 트리란
AVL 트리와 수선
Hash Table(해시테이블)의 개념, 해시 함수와 충돌의 해결

Graph란 무엇일까?
BFS(너비 우선 탐색)
DFS(깊이 우선 탐색)

Swift 알고리즘

Swift에서 Queue 구현하기

Network

Ch1 - Delay, loss, throughput in networks, Protocol layers, service models, Networks under attack: security, Internet history
Ch2 - 네트워크의 원리 및 Application Layer
Ch2 - Web과 HTTP
Ch2 - Cookies & Web Caching

Computre Architecture

Database

OS

Backend

OAuth2.0이란?

Design Pattern

브릿지 패턴(Bridge Pattern)
퍼사드 패턴(Facade Pattern)
플라이웨이트 패턴(Flyweight Pattern)
프록시 패턴(Proxy Pattern)
어댑터 패턴(Adapter Pattern)

iOS

문법

[Swift 객체지향] 1 - 클래스와 구조체의 생성, 초기화, 소멸
[Swift 객체지향] 2 - 구조체와 클래스의 차이점
Optional type Closure와 @escaping
Error Handing(오류처리), try-throw와 do-catch, rethrow, defer

개념

NSObject란 무엇일까?
AppDelegate의 역할
Notification Center
iOS에서 사용할 수 있는 로컬 Database (1편 - SQLite, CoreData, Realm 비교하기)

구현

Compositional Layout으로 당근마켓 판매글 상세보기 뷰 구현하기
Compositional Layout에서 pageControl 사용하기 + remakeConstraints
Local Notification을 이용하여 유저에게 알림 보내기
Remote Notification & APNs
FCM을 이용한 Push Notification 구현
FirebaseAuth를 통해 OAuth 2.0 소셜로그인 기능 구현하기

Testing / Deployment

FireBase Remote Config
A/B Test
iOS 앱의 버전관리

CI / CD

Fastlane + Github Actions로 CI/CD 파이프라인 구축하기 (1편 - CI/CD란 무엇일까?)
Fatslane + Github Actions로 CI/CD 파이프라인 구축하기 (2편 - Github Actions 살펴보기)
Fatslane + Github Actions로 CI/CD 파이프라인 구축하기 (3편 - fastlane으로 TestFlight에 앱 업로드하기)
Fastlane + Github Actions로 CI/CD 파이프라인 구축하기 (4편 - fastlane match로 인증서와 profile을 git 저장소에 관리하기)

Architecture

Closure를 이용한 MVVM 구현(With SearchController, Throttle)
Coordinator Pattern 기본! With RayWanderlich Tutorial!

FrameWork

SwiftUI

Network / 서버통신

URLSession(1) - 개념 모아보기(URLSession, URLSessionConfiguration, URLSessionTask)
Alamofire를 Moya처럼 사용해보자! By Router Pattern (1편 - Foundation Setting)
Alamofire를 Moya처럼 사용해보자! By Router Pattern (2편 - Services, Routers 구현)
Alamofire를 Moya처럼 사용해보자! By Router Pattern (3편 - body, queryBody, requestPlain, Multipart 구현)
Alamofire를 Moya처럼 사용해보자! By Router Pattern (4편 - EventLogger로 통신 결과 확인하기)

Library

RxSwift

RxSwift 기본 1편 : Observable, Observer, Subject

NaverMaps

Naver Maps API를 이용하여 지도 앱 제작하기 (1편 - Naver Maps API의 특징 및 프로젝트에 import하기)

Trouble Shooting

Has compile command for Swift source files