TECH NOTES
기술노트
현장에서 검증된 개발 지식을 기록합니다.
565554535251504948474645
Backend
API 페이지네이션, offset과 cursor 중 무엇을
offset/limit은 구현이 쉽지만 뒤로 갈수록 느리고 데이터가 밀린다. 무한 스크롤·대용량엔 cursor 기반이 정답.
Frontend
debounce와 throttle, 검색 입력엔 무엇을 써야 하나
둘 다 호출 빈도를 줄이지만 목적이 다르다. 검색 자동완성은 debounce, 스크롤·리사이즈는 throttle. 차이와 구현.
Frontend
next/image를 쓰면 정말 빨라지나? img 태그와 비교
next/image는 자동 리사이즈·포맷 변환·lazy·CLS 방지를 준다. 하지만 외부 도메인·정적 export·단순 아이콘엔 오히려 부담일 수 있다.
Frontend
무한 스크롤, IntersectionObserver로 깔끔하게 구현
scroll 이벤트 + offset 계산은 성능도 나쁘고 버그도 많다. IntersectionObserver로 sentinel을 감시하는 방식이 표준이다.
Frontend
React.memo, useMemo, useCallback 언제 쓰고 언제 안 쓰나
세 가지 메모이제이션은 "비싼 계산"이나 "memo된 자식에 넘기는 참조"에만 의미가 있다. 무지성 남발은 오히려 느려진다. 판단 기준 정리.
Frontend
Qwik 2.0 resumability — 1년 운영 후 정직한 평가
Qwik 2.0 production 1년. resumability(hydration 부재)의 진가와 한계. 마케팅 사이트 vs 대시보드 적합도, 이직 시 인력 채용 문제.
Frontend
Astro 5.5 server islands — 동적 컴포넌트 정착 6주
Astro 5.5의 server islands로 부분 SSR 패턴 정착. 정적 사이트에 로그인·장바구니 같은 동적 영역만 서버 렌더링. TTFB -42%.
Infra
Vercel Fluid Compute — production 6주 실측, 콜드 스타트 -82% 비용 -34%
Vercel Fluid Compute GA 6주 운영. 콜드 스타트 평균 920ms → 168ms, 함수당 비용 -34%. concurrency·streaming·재사용 패턴 정리.
Infra
Sentry 25 Trace Explorer — 트레이스 분석 워크플로 6가지
Sentry 25의 Trace Explorer + Insights로 분산 트레이스 분석. 사내 정착한 6개 워크플로 + 알람 패턴.
Frontend
Next.js 17 PPR 정착 — Partial Prerendering 6개월 운영기
Next 17 PPR을 트래픽 3M PV/월 사이트에 6개월 운영. TTFB -42%, CDN 비용 -31%, Suspense 경계 설계 노하우.
Backend
Bun 2.0 프로덕션 도입 6개월 — Node에서 옮기며 본 7가지
소규모 API 12개 Bun 2.0로 이전한 6개월. 콜드 스타트 -68%, 메모리 -41%, 호환성 문제와 monorepo 함정.
DB
PostgreSQL 18 Beta — skip scan + io_uring 실측 6배
PG18 Beta의 multi-column index skip scan과 io_uring async I/O. 12억 row 테이블 실측 6.2배 빨라진 쿼리 4가지.