TECH NOTES
기술노트
현장에서 검증된 개발 지식을 기록합니다.
156015591558155715561555155415531552155115501549
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 붙이는 법, 상황별로 언제 무엇을 써야 하는지까지 실무 관점에서 정리했다.
Backend
분산 락 제대로 쓰기 — Redis Redlock의 함정과 안전한 대안
단일 Redis SET NX PX부터 Redlock 논쟁(Kleppmann), 펜싱 토큰, ZooKeeper/etcd까지. 분산 락이 언제 안전하고 언제 데이터를 깨뜨리는지, 그리고 애초에 락이 필요 없는 경우를 실무 기준으로 정리한다.
Database
벡터 DB 고르기 — pgvector·Pinecone·Qdrant·Milvus 운영 부담과 비용으로 비교
pgvector, Pinecone, Qdrant, Milvus를 운영 부담·비용·메타데이터 필터링·확장성 기준으로 비교한다. 수백만 벡터까지는 pgvector로 충분한 이유와, 언제 전용 벡터 DB로 넘어가야 하는지 실무 관점에서 정리했다.
AI
프롬프트 인젝션 방어 — LLM 앱을 진짜로 지키는 실전 레이어
프롬프트 인젝션은 완벽 차단이 불가능하다. 그래서 모델을 신뢰 못 할 사용자처럼 다뤄야 한다. 직접·간접 인젝션의 차이부터 데이터/명령 분리, 권한 최소화, 도구 호출 승인, 출력 검증까지 실제 공격 시나리오로 푸는 LLM 앱 보안 실전 가이드.
AI
LLM 평가(Eval) 파이프라인 만들기 — 회귀 없이 프롬프트·모델 배포하기
골든셋·LLM-as-judge·오프라인/온라인 평가·CI 회귀 게이트로 LLM 평가 파이프라인을 만드는 방법을 정리했다. 프롬프트나 모델을 바꿔도 회귀를 배포 전에 잡아내는 실전 코드와, 실무에서 데인 함정까지 담았다.
AI
파인튜닝 vs RAG vs 프롬프트 엔지니어링 — 언제 무엇을 선택하나
파인튜닝, RAG, 프롬프트 엔지니어링을 비용·데이터·최신성·정확도 네 축으로 비교한다. 어떤 상황에서 무엇을 골라야 하는지 의사결정 플로우와 셋을 섞는 하이브리드 전략, 그리고 내가 직접 데인 실제 실패 사례와 교훈까지 정리했다.
AI
구조화 출력·함수 호출로 LLM 신뢰성 높이기 — JSON 스키마 강제와 재시도 실전
LLM이 뱉는 JSON을 파싱하다 새벽에 터진 적 있다면 이 글이 답이다. JSON 스키마 강제(strict)와 tool/function calling으로 형식을 보장하고, 파싱 실패 재시도와 의미 검증까지 실전 코드로 정리했다.