TECH NOTES
기술노트
현장에서 검증된 개발 지식을 기록합니다.
156615651564156315621561156015591558155715561555
Database
CDC와 Debezium — DB 변경을 실시간 파이프라인으로 흘려보내기
폴링 대신 트랜잭션 로그(WAL)를 읽어 DB 변경을 실시간으로 캡처하는 CDC. Debezium과 Kafka Connect로 캐시 무효화·검색 인덱스 동기화·아웃박스 패턴을 구현하고 스키마 변경까지 다루는 실전 가이드.
Database
PostgreSQL 인덱스 완전정복 — B-tree·GIN·GiST·BRIN 언제 어떻게 쓰나
PostgreSQL 인덱스 총정리. B-tree·GIN·GiST·BRIN을 언제 쓰는지, 복합 인덱스 컬럼 순서 정하는 법, 부분·표현식·커버링 인덱스, EXPLAIN으로 실제 타는지 확인하는 법과 인덱스가 안 타는 흔한 이유까지 실무 기준으로 정리했다.
Frontend
아일랜드 아키텍처와 부분 하이드레이션 — Astro·Qwik으로 자바스크립트 줄이기
하이드레이션은 왜 비싼가. 아일랜드 아키텍처와 Qwik의 resumability, Astro의 client:* 지시자로 자바스크립트를 줄이는 법, 그리고 언제 SPA를 그냥 쓰는 게 더 나은지까지 실무 경험으로 정리했습니다.
Frontend
TanStack Query로 서버 상태 관리 — 캐싱·무효화·낙관적 업데이트 실전 패턴
TanStack Query로 서버 상태를 다루는 실전 패턴 정리. 서버 vs 클라이언트 상태 구분, staleTime/gcTime 차이, queryKey 설계, invalidation, 낙관적 업데이트, 프리페치, 흔한 실수까지 코드로 설명합니다.
Frontend
INP 최적화 실전 — FID를 대체한 코어 웹 바이탈, 롱태스크를 쪼개 200ms 벽 넘기
FID를 대체한 INP(Interaction to Next Paint) 실전 최적화 가이드. 롱태스크 쪼개기, scheduler.yield(), React transition, LCP·CLS 동반 개선, RUM 측정과 340→170ms 실전 사례까지 정리했다.
Frontend
CSS 컨테이너 쿼리와 :has() — 미디어쿼리로는 못 풀던 반응형을 컴포넌트 단위로
뷰포트 미디어쿼리의 한계를 @container 컨테이너 쿼리와 :has() 부모 선택자로 넘어서는 실전 패턴을 정리했다. 컴포넌트 단위 반응형을 실현하는 실제 CSS 코드, cqi 단위, 마이그레이션 함정, 2025년 브라우저 지원까지 한 번에 다룬다.
Frontend
시그널(Signals) 완벽 정리 — React·Solid·Svelte 5·Angular가 반응성을 다시 짠 이유
시그널(signal·computed·effect)은 값이 바뀐 곳만 세밀하게 다시 실행하는 반응성 모델이다. 가상DOM과 뭐가 다른지, Solid·Svelte 5 룬·Angular·React가 같은 이름으로 어떻게 다르게 구현했는지 실전 코드로 비교한다.
Infra
OpenTelemetry 실전 — 트레이스·메트릭·로그를 하나로 묶는 벤더 중립 관측성
OpenTelemetry로 트레이스·메트릭·로그를 하나의 표준으로 계측하는 실전 가이드. 자동/수동 계측, W3C 컨텍스트 전파, 스팬 설계, head/tail 샘플링, Collector, 그리고 메트릭 카디널리티 함정까지 정리했다.
Backend
gRPC vs REST vs GraphQL — 2026 API 프로토콜 선택 가이드
gRPC·REST·GraphQL을 성능·스키마·스트리밍·브라우저·오버페칭·툴링으로 3자 비교. 내부/외부 API별로 언제 무엇을 골라야 하는지 결정 기준까지 정리했다.
Backend
레이트 리미팅 알고리즘 — 토큰 버킷·슬라이딩 윈도우 구현과 분산 환경에서의 정확도
고정/슬라이딩 윈도우, 토큰·리키 버킷을 언제 쓰고 어떻게 구현하나. Redis Lua로 read-modify-write 경쟁을 없애 원자성을 지키고, 429·Retry-After를 제대로 내려주며, 분산 노드에서 정확도를 잃지 않는 실전 방법을 코드로 정리한다.
Backend
아웃박스 패턴(Transactional Outbox) — 이중 쓰기 문제와 신뢰성 있는 이벤트 발행
DB 저장과 이벤트 발행을 나눴다가 한쪽이 실패하는 이중 쓰기 문제를 아웃박스 패턴으로 해결하는 법. outbox 테이블 스키마, 폴링 릴레이 vs CDC, at-least-once와 멱등 소비까지 실전 코드로 정리한다.
AI
로컬 LLM 서빙 — Ollama·vLLM·llama.cpp 비교와 운영 기준
로컬 LLM 서빙 도구 Ollama·vLLM·llama.cpp를 처리량·연속 배칭·양자화·GPU 메모리 기준으로 비교한다. KV 캐시 계산법, OpenAI 호환 API 붙이는 법, 상황별로 언제 무엇을 써야 하는지까지 실무 관점에서 정리했다.