/
https://42jerrykim.github.io/ _index.md
repo로 수백 개 AOSP 저장소를 관리하는 법부터 Soong/Kati가 Android.bp를 ninja 빌드 그래프로 변환하는 과정, lunch 타겟 선택 기준, ccache로 반복 빌드 시간을 단축하는 실전 방법까지 다룬다.
NDK가 Java/Kotlin 코드에 네이티브 C/C++ 라이브러리를 통합하는 구조와 JNI 브리지의 참조 관리 원리, CMake·ndk-build 빌드 시스템과 ABI 선택 기준, JNI 호출 오버헤드의 원인과 최소화 전략을 실전 코드로 정리한다.
SurfaceFlinger의 컴포지션 구조, Codec2/MediaCodec 인코딩 파이프라인, Camera2/CameraX 스택, 오디오 HAL 경로를 이론과 실전 코드로 설명하는 안드로이드 그래픽·미디어 프레임워크 심화 가이드.
NNAPI에서 LiteRT로 이어지는 안드로이드 온디바이스 AI 추론 스택을 정리하고, NPU/GPU 델리게이트 가속과 모델 양자화 원리, Google AI Edge 플랫폼 구성, 온디바이스 처리의 프라이버시 이점과 한계를 코드와 함께 설명한다.
Skia 렌더링 구조, Hardware Composer의 오버레이 합성, GPU 타일 기반 렌더링 파이프라인, OpenGL ES와 Vulkan의 역할 차이를 이론과 AOSP 예제로 정리해 안드로이드 그래픽 스택을 설계 수준까지 이해한다.
CTS·VTS·GTS 인증 전략과 Trade Federation 기반 회귀 테스트 체계, 상용화 전 QA 체크리스트를 다루며, 17개 챕터에 걸쳐 쌓은 부트로더·커널·HAL·그래픽 역량이 하나의 출하 가능한 안드로이드 제품으로 수렴하는 과정을 정리한다.
나쁜 코드가 낳는 기술 부채와 개발 속도 저하를 짚고, Stroustrup·Booch 등 소프트웨어 거장들의 정의로 Clean Code의 본질과 프로그래머의 전문가 윤리를 설명한다. 23개 챕터로 구성된 시리즈 전체 커리큘럼도 함께 소개한다.
학생 성적 처리 코드를 예제로 나쁜 코드의 다섯 가지 증상(매직 넘버, 모호한 이름, 다중 책임 함수 등)을 진단하고 단계적으로 리팩토링하는 실습을 진행한다. 01장에서 배운 Clean Code 판단 기준을 실제 코드에 적용해 보는 연습이다.
변수·함수·클래스 이름이 왜 코드의 첫 번째 문서 역할을 하는지 설명하고, 그릇된 정보 피하기·발음 가능성·검색 가능성·헝가리안 표기법 지양 등 구체적 네이밍 원칙을 실전 예제와 판단 기준·비판적 시각으로 상세히 다룬다.
한 글자 변수와 줄임말로 뒤덮인 주문 처리 코드를 03장의 네이밍 원칙에 따라 단계적으로 리팩토링하며, 이름 변경만으로 코드 이해 속도가 얼마나 달라지는지 Before/After 표와 코드 리뷰 우선순위 기준으로 직접 확인하는 실습이다.