인기 글
글 9개
작은 React 프로젝트에서 FSD를 그대로 쓰지 않기로 했다
Vite + TanStack Router로 사내 관리 도구를 스캐폴드하며 FSD를 네 레이어로 깎았습니다. 파일 기반 라우팅이 폴더 구조를 먼저 정하는 문제, 그리고 그 경계를 ESLint로 강제하려다 두 번 조용히 실패한 기록입니다.
인바운드와 아웃바운드, 도대체 누구 기준일까?
같은 트래픽이 기준점에 따라 인바운드도 아웃바운드도 됩니다. 기준은 방화벽 룰이 붙은 장비이고, stateful 방화벽의 connection tracking이 응답 트래픽을 통과시키는 방식까지 정리했습니다.
NestJS 이메일 인증을 구현하다가 SMTP 포트까지 파고들었다
회원가입 이메일 인증 흐름을 짜면서 SMTP를 처음부터 정리했습니다. SMTP가 실제로 주고받는 명령, 포트 25/587/465가 나뉘는 이유, nodemailer와 Resend의 관계까지.
SQL vs NoSQL보다 PostgreSQL을 먼저 본 이유
대부분의 서비스는 PostgreSQL 하나로 시작합니다. 관계형과 비관계형이 각각 무엇을 포기하고 무엇을 얻는지, 그래서 언제 기본값을 벗어나는지를 의사결정 기준으로 정리했습니다.
Antigravity 2.0 업데이트 후 agy 명령이 IDE를 안 여는 이유
Antigravity 2.0 이후 agy . 을 실행하면 에디터 대신 CLI가 켜집니다. 명령어가 CLI와 IDE로 분리된 것이 원인이고, 원래대로 에디터를 여는 방법까지 정리했습니다.
React.lazy를 썼는데 왜 다른 페이지까지 로딩될까?
배럴 index.ts의 page re-export, manualChunks의 의미별 묶음, 한국어 웹폰트 dynamic-subset. lazy가 안 먹는 세 가지를 직접 측정하며 걷어낸 기록입니다.
git pull이 안 될 때 — fetch/pull 차이와 divergent branches 해결
fetch와 pull이 무엇을 다르게 하는지, fast-forward가 무슨 뜻인지, 브랜치가 갈라졌을 때 merge와 rebase 중 무엇을 고르는지 정리했습니다.
블로그 조회수 하나 넣는데 DB까지 필요할까?
Hits, Upstash Redis, Supabase를 놓고 비교했습니다. 카운터 하나만 보면 Upstash가 맞지만, 댓글과 글별 조회수까지 붙일 계획이라 Supabase를 골랐습니다.
Next.js MDX 블로그를 만들면서 버린 것과 고른 것들
Contentlayer가 유지보수 중단이라 Velite로 갈아탔습니다. MDX 파이프라인 구성, FSD 폴더 구조, 테마 첫 페인트까지 만들면서 결정한 것들을 정리했습니다.
9 / 9