내 Next.js 앱은 어떻게 파드가 되는가: 컨테이너와 파드를 직접 열어본 기록
같은 Next.js 앱인데 이미지 하나는 1.72GB, 하나는 208MB였다. 사라진 1.5GB를 레이어에서 역추적하고, 컨테이너가 격리된 프로세스라는 것을 PID와 cgroup 파일로 직접 확인한다. 프론트엔드 개발자를 위한 쿠버네티스 시리즈의 두 번째 편이다.
같은 Next.js 앱인데 이미지 하나는 1.72GB, 하나는 208MB였다. 사라진 1.5GB를 레이어에서 역추적하고, 컨테이너가 격리된 프로세스라는 것을 PID와 cgroup 파일로 직접 확인한다. 프론트엔드 개발자를 위한 쿠버네티스 시리즈의 두 번째 편이다.
SSR을 운영하는 프론트엔드 개발자가 마주치는 쿠버네티스 용어와 구조를 실무 흐름 순서로 정리했다. 클러스터의 전체 구조부터 배포, 파드의 상태와 자원, 트래픽 경로, 오토스케일링까지. 시리즈의 첫 편이자 이후 편들의 참조 지도다.
같은 워크로드에 GC 튜닝 플래그 한 줄을 붙였더니 peak RSS가 201MB에서 593MB로 뛰었다. 살아있는 데이터는 그대로였다. 왜 그게 당연한 결과인지 V8 New Space를 직접 측정해 역추적하고, 프론트엔드 개발자가 Node.js 파드를 사이징하는 세 축을 정리한다.
층은 왜 쌓였고, 왜 서버로 돌아왔고, 에이전트 이후에도 스택이 남는 이유는 무엇인가. 그리고 스택이 이기는 것과 그 스택을 아는 사람의 가치는 왜 별개인가
React cache() 함수의 모든 이상한 규칙은 30여 줄짜리 구현에서 직접 따라 나온다. dispatcher, getCacheForType, WeakMap/Map 트리를 소스 레벨로 따라가며 요청 단위 메모이제이션의 동작을 끝까지 본다.
좋은 패키지는 기능뿐 아니라 의존성, 버전업, 호환성, 릴리즈 정책까지 사용자 친화적이어야 한다.
코드 리뷰가 놓치는 bundle 비용, PR에 어떻게 띄울 것인가.
"use cache" 한 줄이 만드는 빌드 타임 변환, 캐시 키 직렬화, ResumeDataCache, cacheHandler, 그리고 Cache Components까지
"use client" 한 줄이 만드는 모듈 경계, 빌드 타임 변환, Flight 직렬화, 그리고 성능까지
기술 우위보다 강한 전환 비용
"use server" 한 줄 뒤에서 무슨 일이 벌어지고 있는가?
무한 스크롤이 UX, 성능, 접근성, 그리고 법률의 관점에서 어떻게 재평가되고 있는지 살펴본다
React Compiler가 코드를 어떻게 분석하고, 무엇을 만들어내는지 파이프라인부터 결과물까지 깊이 파헤쳐본다.
AI 코딩 도구가 바꾸는 건 개발자가 아니라, 개발자가 하던 일의 형태다.
수백 개의 요소를 효율적으로 관찰하면서 메모리 누수도 방지하는 방법
나도 해볼까.. 라는 생각이 든다면 바로 지금 연락주세요!!
🤔
AI가 UI 개발을 대체할 것이라는 리더십의 환상과 프론트엔드 기술에 대한 오해, 그리고 AI 시대에도 변하지 않을 프론트엔드의 본질적인 가치
AI 도입과 리더십의 기대가 맞물려 변화하는 프론트엔드 개발 환경의 주요 과제들을 진단하고, 개발자들이 이에 현실적으로 대응하며 역할을 정립해 나갈 방향을 모색합니다.
AI와 B2B 환경에서도 프론트엔드는 비즈니스 가치와 직결되는 사용자 경험의 핵심이며, 그 중요성과 역할은 변하지 않기에 끊임없이 가치를 증명하고 발전해야 합니다.