"Android 개발은 더 이상 자유도가 아니라 예측 가능성과 유지보수를 우선한다."들어가며Android 개발자라면 한 번쯤 이런 혼란을 겪어봤을 것이다."MVP가 맞아? MVVM이 맞아?""LiveData 써야 해? Flow로 가야 해?""XML은 죽은 거야?"이 질문들에 답하려면, Google이 언제, 무슨 말을 했는지를 정확히 알아야 한다.요약이 아니라, 공식 석상·문서·키노트에서 던진 메시지 전부를 시간순으로 정리했다.0️⃣ 2008–2016: 아키텍처는 관심 없음공식 스탠스"Android는 유연하다. 개발 방식은 자유다."실제 의미이 시기 Google은 플랫폼 제공자에 머물렀다.Activity / Fragment API만 제공생명주기 관리 ❌상태 관리 ❌아키텍처 가이드 ❌앱 구조? 그건 개발자가..
들어가며Compose로 개발하면서 "Activity 라이프사이클 아직도 알아야 해?" 라는 의문이 들었다. 결론부터 말하면 알아야 하는데, 생각보다 적게 알아도 된다.React 개발자 관점에서 정리해봤다.Activity 라이프사이클 기본onCreate → onStart → onResume → [실행 중] → onPause → onStop → onDestroy콜백 상태 메모리onCreate생성됨할당onStart화면에 보임유지onResume상호작용 가능유지onPause일부 가려짐유지onStop완전히 안 보임유지onDestroy죽음해제상황별 호출 정리상황 호출다이얼로그 뜸onPause홈 버튼 / 다른 앱 전환 / 백버튼onPause → onStop화면 회전 / 다크모드 전환onDestroy → onCreate..
들어가며: 4개의 레이어를 분리해서 보자안드로이드 역사를 이야기할 때 흔히 하는 실수가 있다. UI, 비동기, 아키텍처, DI를 뒤섞어서 설명하는 것이다. 이 4가지는 서로 다른 관심사이고, 각각 독립적으로 진화해왔다.┌─────────────────────────────────────────────────────────┐│ 1. UI 렌더링 방식 ││ 어떻게 화면을 그릴 것인가 │├─────────────────────────────────────────────────────────┤│ 2. 비동기 처리 ..
서버 배포 기술은 지난 수십 년간 극적으로 발전해왔습니다. 물리 서버에 직접 설치하던 시대에서 가상화를 거쳐 컨테이너까지, 이 여정을 따라가다 보면 도커가 왜 등장했고 어떤 문제를 해결하는지 자연스럽게 이해할 수 있습니다.1. 베어메탈: 말 그대로 생 컴퓨터.베어메탈(Bare Metal)이란 하드웨어 위에 운영체제를 직접 설치하고, 그 위에서 애플리케이션을 실행하는 가장 전통적인 방식입니다. "베어메탈"이라는 이름은 말 그대로 "벌거벗은 금속", 즉 아무것도 없는 하드웨어 그 자체를 의미합니다.┌─────────────────────────────┐│ Application │├─────────────────────────────┤│ Operating System ..