본문 바로가기
전체 1608
1320
Backend2분 읽기
Node.js 메모리 누수 찾기 — 힙 스냅샷 실전
시간이 지날수록 메모리가 계속 오른다면 누수다. 전역 캐시·이벤트 리스너·클로저가 단골 범인. 힙 스냅샷 비교로 추적.
#Node.js#Memory#Performance
2026.06.11
1319
Backend2분 읽기
JWT vs 세션, 인증 방식 선택과 흔한 보안 실수
JWT가 항상 정답은 아니다. 무상태 확장성 vs 즉시 무효화의 트레이드오프, 그리고 토큰 저장 위치 같은 보안 실수 정리.
#JWT#Session#Auth
2026.06.10
1318
Backend2분 읽기
API 페이지네이션, offset과 cursor 중 무엇을
offset/limit은 구현이 쉽지만 뒤로 갈수록 느리고 데이터가 밀린다. 무한 스크롤·대용량엔 cursor 기반이 정답.
#API#Pagination#Database
2026.06.10
1317
Backend3분 읽기
Express에서 async 에러가 안 잡힐 때 — 핸들링 패턴
async 라우트에서 throw한 에러가 서버를 죽이거나 응답이 멈춘다. try/catch 래퍼나 express-async 패턴으로 중앙 처리.
#Express#Node.js#ErrorHandling
2026.06.10
1316
Backend3분 읽기
Node.js EADDRINUSE, 포트가 이미 사용 중일 때
"address already in use :3000" 에러 해결. 점유 프로세스 찾아 종료, 우아한 종료(graceful shutdown)로 재발 방지.
#Node.js#Port#Process
2026.06.09
1315
Frontend2분 읽기
React 상태관리, Context·Zustand·Redux 언제 무엇을
전역 상태가 필요하다고 무조건 Redux는 아니다. 규모·갱신 빈도·팀 규약 기준으로 Context, Zustand, Redux를 가른다.
#React#StateManagement#Zustand
2026.06.09
1314
Frontend3분 읽기
Tailwind 클래스가 안 먹힐 때 체크리스트
content 경로 누락, 동적 클래스 문자열 조합, 빌드 캐시. Tailwind가 클래스를 못 찾아 purge하는 흔한 원인들.
#Tailwind#CSS#Build
2026.06.09
1313
Frontend2분 읽기
localStorage vs cookie vs sessionStorage, 뭘 써야 하나
토큰·설정·임시값을 어디 둘지 헷갈릴 때. 수명·용량·서버 전송·보안(XSS/CSRF) 기준으로 선택한다.
#WebStorage#Cookie#Security
2026.06.08
1312
Frontend2분 읽기
CORS 에러, 프론트엔드 잘못이 아니다 — 원인과 해결
CORS 에러는 브라우저가 띄우지만 해결은 서버에서 한다. 프록시·프리플라이트·credentials 설정까지 원인별 정리.
#CORS#HTTP#Browser
2026.06.08
1311
Frontend2분 읽기
debounce와 throttle, 검색 입력엔 무엇을 써야 하나
둘 다 호출 빈도를 줄이지만 목적이 다르다. 검색 자동완성은 debounce, 스크롤·리사이즈는 throttle. 차이와 구현.
#JavaScript#Debounce#Throttle
2026.06.08
1310
Frontend2분 읽기
CSS z-index가 안 먹히는 진짜 이유 — stacking context
z-index 9999를 줘도 안 올라오는 건 부모가 만든 쌓임 맥락(stacking context)에 갇혀서다. transform·opacity·position이 맥락을 만든다.
#CSS#z-index#StackingContext
2026.06.07
1309
Frontend2분 읽기
next/image를 쓰면 정말 빨라지나? img 태그와 비교
next/image는 자동 리사이즈·포맷 변환·lazy·CLS 방지를 준다. 하지만 외부 도메인·정적 export·단순 아이콘엔 오히려 부담일 수 있다.
#Next.js#Image#Performance
2026.06.07