yceffort
20 POSTS

Backend 1

  • ◆ Core Web Vitals 직접 수집하기 · 4편
    #web-performance#devops#debugging

    방문이 드문 블로그의 핵심 웹 지표를 직접 수집하기

    공용 관측 인프라에 맞춰 만든 핵심 웹 지표 수집 구성을 개인 블로그로 옮기기. 방문이 드물어 비어 있던 대시보드와 일반 브라우저에 맞지 않던 수집 시점을 고치며 찾은 조회 누락의 원인, 닷새치 데이터로 판단할 수 있는 범위

    56분
  • ◆ Core Web Vitals 직접 수집하기 · 3편
    #web-performance#devops#debugging

    앱 웹뷰의 핵심 웹 지표를 공용 관측 인프라로 보내기

    앱 웹뷰에서 측정한 핵심 웹 지표를 공용 관측 인프라로 보낼 때 일부 값이 누락되는 문제. 웹뷰의 이탈 이벤트부터 tail sampling, 누적 변환, Tempo 조회까지 재현 환경에서 확인하고, 수집 코드를 바꿔 해결할 수 있는 범위 가늠해보기

    수정 58분
  • ◆ OG 스크래핑 서버 설계 노트 · 2편
    #security#nodejs#backend

    OG 스크래핑 서버를 Node.js로 짓는다면 (2): SSRF는 어떻게 뚫리는가

    사용자가 준 URL을 서버가 대신 열어 줄 때의 SSRF 방어. 화이트리스트 우회 여섯 가지와 이를 막는 방어 원칙 다섯 가지를 Node에서 직접 실행하며 찾은 함정들: 손으로 푼 IPv4-mapped 주소의 16진 표기 우회, 호스트가 IP 리터럴이면 호출되지 않는 undici의 lookup 훅

    수정 39분
  • ◆ OG 스크래핑 서버 설계 노트 · 1편
    #web-scraping#backend#nodejs

    OG 스크래핑 서버를 Node.js로 짓는다면 (1): 런타임 선택부터 에러율과 지연까지

    원인이 다른 실패 다섯 종류가 섞여 있는 링크 미리보기 서버의 "에러율 10%". 런타임 선택이 실제로 영향을 주는 네 가지 지점, User-Agent와 인코딩 처리로 에러율 낮추기, CP949 확장 문자를 에러 없이 다른 글자로 바꾸는 Node 내장 TextDecoder, 캐시 히트율에서 역산해 200만 건 시뮬레이션으로 검증한 "P95 1초 미만" 목표

    수정 53분
  • ◆ 프론트엔드 개발자가 알아야 할 쿠버네티스 · 5편
    #kubernetes#devops#web-performance

    오토스케일링은 자동이지만 즉시가 아니다: HPA의 시간을 구간별로 실측한 기록

    트래픽을 12배로 올렸을 때 새 파드가 첫 요청을 받기까지 걸린 31.5초와, 그중 HPA가 부하를 알아채는 데 쓴 22.5초. 배포 직후 5분 동안 오토스케일러가 반응하지 못하는 조건, 스케일 다운이 계단식으로 내려오는 이유, 메모리 기준 HPA가 Node 앱에 맞지 않는 이유, KEDA로 미리 확장하는 방법

    수정 40분
  • ◆ 디렉티브 딥다이브 · 3편
    #react#nextjs#caching

    'use cache' 디렉티브 딥다이브: 캐시 경계의 끝까지

    "use cache" 한 줄이 만드는 빌드 타임 변환, 캐시 키 직렬화, ResumeDataCache, cacheHandler, 그리고 Cache Components까지

    수정 65분
  • ◆ Next.js의 현주소 · 4편
    #nextjs#web-performance#react

    Next.js의 성능은 충분히 빠른가

    벤치마크가 말해주는 불편한 진실

    수정 42분
  • ◆ Next.js의 현주소 · 2편
    #nextjs#serverless#oss

    Cloudflare가 Next.js를 다시 만든 이유

    vinext가 던진 질문은?

    39분
  • ◆ Next.js의 현주소 · 1편
    #nextjs#serverless#backend

    Next.js Edge Runtime의 흥망성쇠

    Edge Middleware 야 잘 살고 있니?

    25분
  • ◆ 디렉티브 딥다이브 · 2편
    #react#nextjs#networking

    React 서버 함수 딥다이브: "use server"의 끝까지

    "use server" 한 줄 뒤에서 무슨 일이 벌어지고 있는가?

    수정 42분
  • #nodejs#security#javascript

    Node.js vm 모듈의 함정: 샌드박스가 아닌 이유

    집필 중인 Node.js Deep Dive의 5.2장(vm 모듈의 함정) 일부를 미리 공개합니다.

    25분
  • #nodejs#book#backend

    Node.js Deep Dive (가제) 베타 리더를 모십니다.

    많관부22

    수정 5분
  • #web-performance#memory#async

    거대한 JSON 응답을 효율적으로 처리하는 방법

    JSON.parse()가 버거워할 때 살아남는 법

    수정 29분
  • #security#nextjs#react

    React 취약점인데 왜 Next.js를 업그레이드해야 하지?

    CVE-2025-55182, CVE-2025-55184, CVE-2025-55183 그리고 Next.js의 숨겨진 React

    수정 30분
  • #blogging#devops#pwa

    [블로그] PWA 임시 중지

    내 돈

    3분
  • #nextjs#design-patterns#react

    Remix nextjs와 비교하면서 살펴보기

    늘 새로워 짜릿해 새로운게 또 나왔어

    수정 16분
  • #memory#nodejs#v8

    Node.js의 메모리 제한과 누수 추적 가이드

    V8 가비지 컬렉션의 세대별 구조, 힙 메모리 제한 조정, 그리고 메모리 누수를 진단하는 실용적인 방법을 정리합니다.

    수정 11분
  • #nextjs#backend#networking

    nextjs 서버사이드에서 absolute url 가져오기

    이번 달 포스팅이 더디네요... 반성합니다.

    수정 4분
  • #nodejs#async#javascript

    Nodejs의 이벤트 루프 살펴보기

    이벤트 루프는 4개의 큐, 그리고 2개의 중간 큐가 있습니다.

    수정 11분
  • #nodejs#async#backend

    비동기 리소스 (async resources)와 비동기 훅 (async hooks) 이해하기

    비동기로 불타는 금요일

    수정 15분