방문이 드문 블로그의 핵심 웹 지표를 직접 수집하기
공용 관측 인프라에 맞춰 만든 핵심 웹 지표 수집 구성을 개인 블로그로 옮기기. 방문이 드물어 비어 있던 대시보드와 일반 브라우저에 맞지 않던 수집 시점을 고치며 찾은 조회 누락의 원인, 닷새치 데이터로 판단할 수 있는 범위
공용 관측 인프라에 맞춰 만든 핵심 웹 지표 수집 구성을 개인 블로그로 옮기기. 방문이 드물어 비어 있던 대시보드와 일반 브라우저에 맞지 않던 수집 시점을 고치며 찾은 조회 누락의 원인, 닷새치 데이터로 판단할 수 있는 범위
앱 웹뷰에서 측정한 핵심 웹 지표를 공용 관측 인프라로 보낼 때 일부 값이 누락되는 문제. 웹뷰의 이탈 이벤트부터 tail sampling, 누적 변환, Tempo 조회까지 재현 환경에서 확인하고, 수집 코드를 바꿔 해결할 수 있는 범위 가늠해보기
사용자가 준 URL을 서버가 대신 열어 줄 때의 SSRF 방어. 화이트리스트 우회 여섯 가지와 이를 막는 방어 원칙 다섯 가지를 Node에서 직접 실행하며 찾은 함정들: 손으로 푼 IPv4-mapped 주소의 16진 표기 우회, 호스트가 IP 리터럴이면 호출되지 않는 undici의 lookup 훅
원인이 다른 실패 다섯 종류가 섞여 있는 링크 미리보기 서버의 "에러율 10%". 런타임 선택이 실제로 영향을 주는 네 가지 지점, User-Agent와 인코딩 처리로 에러율 낮추기, CP949 확장 문자를 에러 없이 다른 글자로 바꾸는 Node 내장 TextDecoder, 캐시 히트율에서 역산해 200만 건 시뮬레이션으로 검증한 "P95 1초 미만" 목표
트래픽을 12배로 올렸을 때 새 파드가 첫 요청을 받기까지 걸린 31.5초와, 그중 HPA가 부하를 알아채는 데 쓴 22.5초. 배포 직후 5분 동안 오토스케일러가 반응하지 못하는 조건, 스케일 다운이 계단식으로 내려오는 이유, 메모리 기준 HPA가 Node 앱에 맞지 않는 이유, KEDA로 미리 확장하는 방법
"use cache" 한 줄이 만드는 빌드 타임 변환, 캐시 키 직렬화, ResumeDataCache, cacheHandler, 그리고 Cache Components까지
벤치마크가 말해주는 불편한 진실
vinext가 던진 질문은?
Edge Middleware 야 잘 살고 있니?
"use server" 한 줄 뒤에서 무슨 일이 벌어지고 있는가?
집필 중인 Node.js Deep Dive의 5.2장(vm 모듈의 함정) 일부를 미리 공개합니다.
많관부22
JSON.parse()가 버거워할 때 살아남는 법
CVE-2025-55182, CVE-2025-55184, CVE-2025-55183 그리고 Next.js의 숨겨진 React
내 돈
늘 새로워 짜릿해 새로운게 또 나왔어
V8 가비지 컬렉션의 세대별 구조, 힙 메모리 제한 조정, 그리고 메모리 누수를 진단하는 실용적인 방법을 정리합니다.
이번 달 포스팅이 더디네요... 반성합니다.
이벤트 루프는 4개의 큐, 그리고 2개의 중간 큐가 있습니다.
비동기로 불타는 금요일