본문 바로가기
전체 1608
1512
Frontend7분 읽기
useActionState — React 19 폼 상태와 서버 액션을 한 훅으로
React 19의 useActionState 훅으로 폼 액션 실행·결과 상태·pending을 한 번에 관리하는 법. useFormState와의 차이, 서버 액션 연동, 흔한 함정까지 실전 정리.
#React 19#useActionState#서버 액션
2026.08.20
1511
Etc6분 읽기
epoch 시계 vs 단조 시계(monotonic) — 시간 측정엔 뭘 써야 하나
epoch 시계는 몇 시냐를, 단조 시계는 얼마나 흘렀냐를 잽니다. 벽시계가 거꾸로 가 타임아웃이 음수가 되는 버그, 두 시계의 용도 구분과 실전 함정을 정리했습니다.
#시간#monotonic#단조시계
2026.08.20
1510
Infra6분 읽기
DNS TTL과 캐싱 — 'DNS 전파'의 진짜 정체
DNS 전파가 느리다는 통념의 실체는 TTL 캐시 만료입니다. 계층별 캐시 구조, 마이그레이션 전 TTL 조정, 네거티브 캐싱까지 실무 관점으로 풀었습니다.
#DNS#TTL#캐싱
2026.08.20
1509
Backend6분 읽기
Graceful Shutdown — 배포할 때마다 뜨는 502를 없애는 법
배포 때마다 502가 튀는 진짜 이유는 프로세스를 그냥 죽여서입니다. readiness 전환부터 드레이닝 대기까지 올바른 종료 순서를 코드와 쿠버네티스 설정으로 정리했습니다.
#graceful shutdown#우아한 종료#커넥션 드레이닝
2026.08.20
1508
AI7분 읽기
컨텍스트 엔지니어링 — 프롬프트가 아니라 컨텍스트를 설계하는 법
프롬프트 문장이 아니라 컨텍스트 윈도우에 무엇을·얼마나·어떤 순서로 넣을지 설계하는 컨텍스트 엔지니어링. 토큰 예산 함수, 롤링 요약, 캐시 정렬까지 실전 정리.
#컨텍스트 엔지니어링#context engineering#LLM
2026.08.20
1507
Frontend5분 읽기
ResizeObserver — 요소 크기 변화를 감지하는 실전 패턴
window.resize로는 못 잡는 개별 요소의 크기 변화를 ResizeObserver로 감지합니다. borderBoxSize 사용법, 악명 높은 loop 에러 회피, 컨테이너 기준 반응형 실전 패턴까지 정리했습니다.
#JavaScript#ResizeObserver#반응형
2026.08.20
1506
AI5분 읽기
LLM 양자화 — GPTQ·AWQ·GGUF, INT4가 뭘 버리고 뭘 지키나
가중치를 4비트로 줄여도 왜 멀쩡한지, GPTQ·AWQ·GGUF의 차이와 Q4_K_M 같은 이름 읽는 법, 품질과 크기의 스위트스폿까지 정리한 로컬 LLM 양자화 가이드.
#양자화#GPTQ#AWQ
2026.08.19
1505
Etc6분 읽기
ANSI 이스케이프 코드 — 터미널에 색과 커서를 다루는 법
ls의 색깔, 진행 막대, 스피너는 모두 ANSI 이스케이프 코드로 동작합니다. CSI·SGR 색 코드, 커서 제어, 리셋·파이프·폭 계산 함정까지 원리부터 실전까지 정리했습니다.
#ANSI#이스케이프 코드#터미널
2026.08.19
1504
Database6분 읽기
prepared statement 플랜 캐시 — generic vs custom plan
빠르라고 넣은 prepared statement가 오히려 느려지는 이유. generic vs custom plan의 저울질, 편중 데이터의 함정, plan_cache_mode와 PgBouncer 조합까지.
#PostgreSQL#prepared statement#plan cache
2026.08.19
1503
Infra6분 읽기
NUMA와 hugepages — 메모리 지역성 튜닝의 기본
멀티소켓 서버의 NUMA 원격 접근과 hugepages의 TLB 최적화, THP의 지연 스파이크 함정까지. 언제 손대고 언제 두어야 하는지 실전 기준으로 설명합니다.
#NUMA#hugepages#메모리
2026.08.19
1502
Backend5분 읽기
2단계 커밋(2PC) — 분산 트랜잭션의 원자성과 그 대가
여러 시스템에 걸친 트랜잭션을 전부 커밋 아니면 전부 롤백으로 만드는 2PC의 원리와 치명적 블로킹 문제, 그리고 사가·아웃박스 같은 현대적 대안을 비교합니다.
#2단계 커밋#two-phase commit#2PC
2026.08.19
1501
Frontend5분 읽기
AbortSignal.timeout() · any() — fetch 취소를 한 줄로
fetch 타임아웃에 더는 setTimeout·clearTimeout이 필요 없습니다. AbortSignal.timeout()과 any()로 취소 로직을 한 줄로 줄이고 타임아웃과 사용자 취소를 구분하는 최신 패턴을 소개합니다.
#JavaScript#AbortSignal#AbortController
2026.08.19