-기본기란?
알아야할 최소한의 전공지식
DB + OS + Network + Algorithm + Data Structures
이것들을 연결지어서 생각할 줄 알아야한다.
네트워크 프로그래밍 추천서적
UNIX Network Programming
Network
Level 1: 키워드
-키워드의 시작
Android Developers 유튜브 채널
Google IO, Android Dev Summit
안드로이드 모든 키워드의 발생지!
Android Weekly
Level 2: 안드로이드 입문
Android Developer 사이트에 다 나와있다!
정리하면
Android Developer
Android Developer Medium
Android Developer Blog
Google Sample, Code Lab
CodePath Android Cliffnotes
에 가보자!
-4대 컴포넌트
Activities, Services, Broadcast receivers, Content providers
-Jetpack
Fragment, ConstrainLayout, ViewPager, RecyclerView
-Inflater
-View
-View 기반으로 이해하기
Tools - Layout Inspector
Level3: 비동기
Thread
Executor
CompletableFuture(java 8, sdk>=24)
AsyncTask
Loader
WorkManager
Rx
Coroutine
서적추천: 자바 병렬프로그래밍, Efficient Android Threading
Level4: 성능최적화
안드로이드 개발자옵션 Profile GPU rendering 켜보기
Main Thread -> Worker Thread
UI 업데이트가 순차적으로 진행될 수 있도록 조절
CPU -> GPU
GPU에 안 그려도 되는 부분을 알려준다
#ViewHierarchy #DoubleLayoutTaxation #Async #Overdraw #AnimationProperty #Cache
#Clipping #ObjectPool #HardwareAcceleration #VSYNC
책: 안드로이드 앱 성능 최적화
Level5: 프레임워크
Android Open Source Project 공식페이지
Configure - Runtime
#.class #.dex #Dalvik #ART #D8 #AOT #JIT
컴파일러 관련 내용
Develop - Graphics
#SurfaceView #TextureView #BufferQueue #SurfaceFlinger, #Surface #Canvas #SurfaceHolder
화면 렌더링 관련 내용
Develop - Architecture
#HAL #Context #Parcel #BinderIPC #SystemServices #MediaServer #SystemServer
IPC 관련 내용
책: 인사이드 안드로이드 (오래된 책)
Level6: 언어
책 고를 때
Effective ~
Modern ~
~ in Action
O'REILLY
객체지향 프로그래밍 책 - 클린 소프트웨어, 실용주의 디자인 패턴
객체지향 프로그래밍 5대 원칙
1. 단일 책임 원칙 SRP
2. 개방 폐쇄 원칙 OCP
3. 리스코프 치환 원칙 LSP
4. 인터페이스 분리 원칙 ISP
5. 의존관계 역전 원칙 DIP
디자인패턴 사이트 - Source Making
함수형 프로그래밍 책 - 함수형 사고
Level7: Best Practice
책
Clean Code
Refactoring
Clean Architecture
좋은코드란?
높은 응집도 낮은 결합도
캡슐화가 잘 돼있다
가독성이 좋다
변경하기 쉽다
테스트를 작성하기 쉽다
낮은 의존성
우선, 이것이라도 하자
함수는 한가지 일만한다
SRP: 클래스는 한가지 책임만 가진다
상속 대신 구성
0 댓글