issues
search
iOS-Children-Study
/
Growth-Study
성장로드맵 체크포인트 기반 스터디 레포입니다.
1
stars
0
forks
source link
중간정리
#12
Open
JooYoung1121
opened
1 year ago
JooYoung1121
commented
1 year ago
회고 -> 추가 의견 환영합니다.
할때마다 그래도 건져가는게 많아서 좋았다.
color space나 auto layout 등 대충 개념으로만 알던 것들을 명확히 정리해서 좋았고, 실제로 스터디 이후 현업에서 곧바로 쓰여서 좋았다.
건의사항
일단 현재 시간 그대로 진행하는 것 괜찮은 거 같긴 하지만 추가 의견도 좋습니다.
개선방향
스터디 내용과 별개로 본인 업무함에 있어서 신기했던 내용이나 해결했던 내용 공유하는건 어떻게 생각하시는지
너무 기본적인 내용들은 개인 선택의 따라 넘어가고 추가 내용 또는 공유했으면 하는 내용을 발표하는것도 좋다고 생각
swift는 좀 더 깊이있게 진행했으면 하지만 추가 의견도 가능합니다.
80%정도는 문단대로, 20%정도는 자유롭게 발표도 좋겠다.
실제로도 좀 봅시당
다음부터 나갈 진도 정리
김주영(8월 9일)
Swift
함수, 반복문, 조건문 등의 기본 문법을 숙지했다.
구조체와 클래스의 차이를 인지하고 있다.
예) value type, reference type
예) shallow copy, deep copy
inheritance와 extension 등 기능을 확장하는 방법의 용도와 차이를 숙지하고 있다.
designate initializer와 convenience initializer의 차이를 안다.
protocol과 generic 등을 이용한 기능 확장과 코드 재사용의 개념을 이해하고 있다.
예) Abstraction, delegation, template method
허규영(9월 20일)
Objective-C
property와 변수의 차이점을 설명할 수 있다.
property 속성인 assign, strong, weak, copy의 차이점을 설명할 수 있다.
@synthesize를 적절히 사용할 수 있다.
@dynamic을 적절히 사용할 수 있다.
block의 특징과 사용법을 설명할 수 있다.
selector 문법을 설명하고 활용할 수 있다.
Xcode
xib(nib: 닙)과 스토리보드의 차이와 동작 원리를 알고 있다.
디버깅을 위한 break point의 원리를 알고 있다
console을 통한 backtrace와 stack의 메모리 접근 및 데이터 확인 방법을 알고 있다.
visual debugger를 사용해 view와 memory를 조사할 수 있다.
Instruments를 사용한 성능 개선 방법을 알고 있다(메모리 누수, Time Profiler 등).
URLSession , HTTP/HTTPS
HTTP와 HTTPS의 연결 방식의 차이와 효과를 알고 있다.
RESTful API를 연동할 수 있다(GET, POST, PUT, DELETE 등).
GET과 POST의 차이를 알고 있다.
HTTP status code에 대해 알고 있다.
여러 개의 파일을 POST로 한 번에 업로드하는 방법을 알고 있다.
HTTP를 통해서 서버에서 데이터를 받아올 때 필요한 timeout을 설명할 수 있다.
HTTP 캐시에 관여하는 헤더의 종류와 각각의 의미를 알고 있다.
URLSession을 이용한 로딩 방식을 이해하고 있다. 예) request, upload task, download task 등
URLRequest를 이용해서 timeout, header, method 등을 설정할 수 있다.
ATS 설정 방법을 알고 있다.
데이터 처리
앱 내에서 다뤄지는 파일 디렉터리와 각 디렉터리의 용도를 알고 있다.
예) Document, Library (Application Support, Caches), Tmp 등
NSCache를 설정해 캐시가 특정 크기 이상 커지지 않도록 구현할 수 있다.
캐시의 작동 방식을 응용해 Custom Cache를 구현할 수 있다.
예) LRU Cache
UserDefaults의 특징을 이해하고, Codable을 사용해서 커스텀 클래스를 저장, 로드해서 사용할 수 있다.
plist의 특성을 알고, 저장 타입을 나열할 수 있다.
plist와 UserDefaults database 간의 차이를 알고 있다.
CoreData와 SQLite의 차이를 알고 있다.
서로 다른 앱과의 데이터 공유 방법을 알고 있다.
예) app group과 keychain 등의 사용 방법
앱에 저장이 필요할 때 keychain과 UserDefaults의 사용을 구분할 수 있다.
비동기 처리 / 동시성 제어
GCD , NSOperation / NSOperationQueue
GCD의 우선 순위와 main/global queue의 차이를 알고 있다.
예) UI 조작 및 File I/O 등의 사례에 따라
DispatchQueue의 sync와 async의 동작 차이를 설명할 수 있다.
DispatchQueue를 사용하는 경우와 스레드를 직접 사용하는 경우의 차이를 설명할 수 있다.
QoS(priority)의 기능을 알고 있다.
DispatchQueue의 sync 또는 async block 내에서 Timer를 사용하는 방법을 알고 있다.
Combine
merge, zip, combineLatest의 차이를 설명할 수 있다.
combineLatest many를 구현할 수 있다.
flatMap으로 비동기 작업을 직렬화할 수 있다.
flatMapLatest를 구현할 수 있다.
subscribe(on:)과 receive(on:)의 차이를 설명할 수 있다.
Async / Await -> 해도되고 안해도됨
kimhyebeen
commented
1 year ago
저는 스터디 일단 한 텀 쉬겠습니다..ㅎㅎ 중간중간 모여서 노는 건 참여할게요!!
회고 -> 추가 의견 환영합니다.
건의사항
개선방향
다음부터 나갈 진도 정리
김주영(8월 9일)
Swift
예) Abstraction, delegation, template method
허규영(9월 20일)
Objective-C
selector 문법을 설명하고 활용할 수 있다.
Xcode
URLSession , HTTP/HTTPS
데이터 처리
비동기 처리 / 동시성 제어
GCD , NSOperation / NSOperationQueue
Combine
Async / Await -> 해도되고 안해도됨