<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>전다훈 개발 블로그</title>
<link>https://blog.dahoon06.com</link>
<description>프론트엔드 개발자 전다훈의 실무 아카이빙과 개발·일상 블로그</description>
<language>ko</language>
<lastBuildDate>Mon, 12 Oct 2026 07:19:01 GMT</lastBuildDate>
<atom:link href="https://blog.dahoon06.com/rss.xml" rel="self" type="application/rss+xml"/>
<item><title>Next.js App Router 상태 관리 — 네 가지 경계와 값의 수명</title><link>https://blog.dahoon06.com/posts/nextjs-app-router-state</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/nextjs-app-router-state</guid><description>App Router가 만드는 모듈 스코프·직렬화·하이드레이션·네비게이션 네 경계를 기준으로 상태를 어디에 둘지 정리한다.</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate><category>💻 Frontend</category><category>Nextjs</category><category>React</category><category>React-Query</category><category>ServerSide</category></item>
<item><title>HTTP OPTIONS와 CORS Preflight 심층 리서치</title><link>https://blog.dahoon06.com/posts/http-options-cors-preflight</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/http-options-cors-preflight</guid><description>OPTIONS 메서드와 CORS preflight를 스펙·브라우저 구현·실측으로 검증한 기술 노트</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate><category>스터디</category><category>Development</category><category>Fetch</category><category>Server</category></item>
<item><title>CSR 클라이언트 서명키란</title><link>https://blog.dahoon06.com/posts/csr-client-signing-key</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/csr-client-signing-key</guid><description>CSR 클라이언트 서명키란</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate><category>🤖 Computer Science</category></item>
<item><title>Parallel Routes + Intercepting Routes</title><link>https://blog.dahoon06.com/posts/parallel-routes-intercepting-routes</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/parallel-routes-intercepting-routes</guid><description>사이드프로젝트</description><pubDate>Thu, 04 Jun 2026 00:00:00 GMT</pubDate><category>💻 Frontend</category><category>Nextjs</category></item>
<item><title>AI Agent 환경 구성 (모노레포 기준)</title><link>https://blog.dahoon06.com/archiving/monorepo-ai-agent-architecture</link><guid isPermaLink="true">https://blog.dahoon06.com/archiving/monorepo-ai-agent-architecture</guid><description>모노레포 환경에서의 claude code 최적화</description><pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate><category>cluade code</category><category>monorepo</category></item>
<item><title>테이블 인덱스 재 설계</title><link>https://blog.dahoon06.com/archiving/mysql-table-indexing</link><guid isPermaLink="true">https://blog.dahoon06.com/archiving/mysql-table-indexing</guid><description>대용량 테이블 인덱스 재 설계</description><pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate><category>MySQL</category><category>indexing</category></item>
<item><title>프론트 성능 최적화 작업 진행 로그</title><link>https://blog.dahoon06.com/archiving/ichart-lighthouse</link><guid isPermaLink="true">https://blog.dahoon06.com/archiving/ichart-lighthouse</guid><description>아이차트 성능 지표 개선하기</description><pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate><category>frontend</category><category>iChart</category><category>lighthouse</category></item>
<item><title>레거시 PHP 서비스에 NestJS를 점진적으로 도입하며 겪은 것들</title><link>https://blog.dahoon06.com/archiving/nestjs-api-server-design-cicd</link><guid isPermaLink="true">https://blog.dahoon06.com/archiving/nestjs-api-server-design-cicd</guid><description>레거시 PHP 서비스에 NestJS를 점진적으로 도입하며 겪은 것들</description><pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate><category>backend</category><category>NestJS</category><category>CI/CD</category><category>backend</category><category>monorepo</category><category>TypeORM</category><category>Blue-Green Deployment</category></item>
<item><title>5개월 플랜이 5일로 줄어든 AWS 마이그레이션 회고</title><link>https://blog.dahoon06.com/posts/daily-log-3</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/daily-log-3</guid><description>서버 이전, 그리고 야근</description><pubDate>Sat, 14 Feb 2026 00:00:00 GMT</pubDate><category>😎 일상</category><category>Daily</category></item>
<item><title>배치 돌리다가 개발 DB 다운됨</title><link>https://blog.dahoon06.com/archiving/mysql-index-batch-optimization</link><guid isPermaLink="true">https://blog.dahoon06.com/archiving/mysql-index-batch-optimization</guid><description>배치 돌리다가 개발 DB 다운됨</description><pubDate>Tue, 10 Feb 2026 00:00:00 GMT</pubDate><category>backend</category><category>MySQL</category><category>indexing</category><category>PHP</category></item>
<item><title>레디스 서버 이전</title><link>https://blog.dahoon06.com/posts/redis-server-migration</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/redis-server-migration</guid><description>EC2에 레디스 서버 설치하기</description><pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate><category>Development</category><category>EC2</category><category>Development</category><category>Redis</category></item>
<item><title>깃랩 서버 이전 (On-Premise → EC2)</title><link>https://blog.dahoon06.com/posts/gitlab-server-migration</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/gitlab-server-migration</guid><description>결국엔 깃허브로</description><pubDate>Tue, 20 Jan 2026 00:00:00 GMT</pubDate><category>Development</category><category>Development</category><category>Server</category><category>gitlab</category></item>
<item><title>Nextjs 실행 컨텍스트</title><link>https://blog.dahoon06.com/posts/nextjs-server</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/nextjs-server</guid><description>Nextjs 실행 컨텍스트</description><pubDate>Tue, 06 Jan 2026 00:00:00 GMT</pubDate><category>Development</category><category>Nextjs</category></item>
<item><title>10년 된 PHP 커뮤니티 파일 스토리지, R2로 옮긴 여덟 달 회고</title><link>https://blog.dahoon06.com/archiving/legacy-file-storage-to-r2</link><guid isPermaLink="true">https://blog.dahoon06.com/archiving/legacy-file-storage-to-r2</guid><description>FTP 기반 레거시 이미지 서버를 Cloudflare R2 + CDN으로 옮긴 과정을 정리했다. presigned URL로 서명 키를 API 서버 한 곳에 모으고, 게시글 본문 등 옛 경로가 박힌 곳을 DB 수정 없이 조회 시점 치환으로 풀어낸 이야기, 그리고 삭제·캐시 퍼지와 마이그레이션 중 만난 함정들을 다룬다.</description><pubDate>Fri, 02 Jan 2026 00:00:00 GMT</pubDate><category>infra</category><category>Cloudflare R2</category><category>스토리지</category><category>PHP</category><category>CDN</category><category>migration</category></item>
<item><title>React-Native WebView 개발 준비</title><link>https://blog.dahoon06.com/posts/react-native-webview</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/react-native-webview</guid><description>레거시 코드 걷어내기</description><pubDate>Tue, 21 Oct 2025 00:00:00 GMT</pubDate><category>Development</category><category>Development</category></item>
<item><title>SQLD 준비</title><link>https://blog.dahoon06.com/posts/sqld-certification-preparation</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/sqld-certification-preparation</guid><description>공부하자</description><pubDate>Mon, 20 Oct 2025 00:00:00 GMT</pubDate><category>😎 일상</category><category>SQLD</category><category>Daily</category><category>SQL</category></item>
<item><title>ChunkLoadError: Loading chunk 4166 failed.</title><link>https://blog.dahoon06.com/posts/nextjs-chunk-load-error</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/nextjs-chunk-load-error</guid><description>ChunkLoadError: Loading chunk 4166 failed.</description><pubDate>Wed, 08 Oct 2025 00:00:00 GMT</pubDate><category>Development</category><category>Nextjs</category><category>Development</category><category>issue</category></item>
<item><title>컨테이너 배포 꼬임</title><link>https://blog.dahoon06.com/posts/docker-comopse-force-recreate</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/docker-comopse-force-recreate</guid><description>컨테이너 배포 꼬임</description><pubDate>Fri, 26 Sep 2025 00:00:00 GMT</pubDate><category>Development</category><category>Development</category><category>Docker</category><category>issue</category></item>
<item><title>instiz/core package 테스트 코드 도입</title><link>https://blog.dahoon06.com/posts/introducing-core-package-test-code</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/introducing-core-package-test-code</guid><description>jest</description><pubDate>Wed, 24 Sep 2025 00:00:00 GMT</pubDate><category>Development</category><category>Development</category><category>Jest</category></item>
<item><title>테스트가 아니라 규칙을 만든 이야기 - 324개 E2E로 레거시와 신규를 묶어놓기</title><link>https://blog.dahoon06.com/archiving/e2e-legacy-compat-testing</link><guid isPermaLink="true">https://blog.dahoon06.com/archiving/e2e-legacy-compat-testing</guid><description>PHP 레거시와 Next.js 리뉴얼이 같은 쿠키를 읽는다는 걸 사람이 아니라 시스템으로 증명하기 위해 E2E 테스트 스위트를 처음부터 설계한 이야기. 53개 라우트, 324개 테스트를 프로젝트 단위로 쪼개 안정성을 확보하고, 그 테스트를 PR 머지 차단 CI 게이트로 묶은 과정을 다룬다.</description><pubDate>Wed, 24 Sep 2025 00:00:00 GMT</pubDate><category>infra</category><category>nextjs</category><category>PHP</category><category>FSD</category><category>E2E</category><category>Playwright</category><category>CI</category></item>
<item><title>Cloudflare + Nginx 배포</title><link>https://blog.dahoon06.com/posts/delpoy-cloudflare-nginx</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/delpoy-cloudflare-nginx</guid><description>nextjs docker cloudflare</description><pubDate>Wed, 17 Sep 2025 00:00:00 GMT</pubDate><category>Development</category><category>Development</category></item>
<item><title>고민 지점 모아보기</title><link>https://blog.dahoon06.com/posts/frontend</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/frontend</guid><description>개발하면서 고민했던 부분 일단 그냥 모아봐</description><pubDate>Fri, 05 Sep 2025 00:00:00 GMT</pubDate><category>Development</category><category>Development</category></item>
<item><title>custom-fetcher</title><link>https://blog.dahoon06.com/posts/custom-fetcher</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/custom-fetcher</guid><description>custom fetcher</description><pubDate>Mon, 25 Aug 2025 00:00:00 GMT</pubDate><category>Development</category><category>Development</category></item>
<item><title>댓글, 신고 테이블 설계</title><link>https://blog.dahoon06.com/posts/comment-report-schema</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/comment-report-schema</guid><description>댓글, 신고 테이블 설계</description><pubDate>Sun, 17 Aug 2025 00:00:00 GMT</pubDate><category>Development</category><category>dev log</category></item>
<item><title>백오피스 개발</title><link>https://blog.dahoon06.com/posts/back-office-develop</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/back-office-develop</guid><description>추후 인스티즈도 통합 </description><pubDate>Sat, 16 Aug 2025 00:00:00 GMT</pubDate><category>Development</category><category>Development</category></item>
<item><title>tailwind layer </title><link>https://blog.dahoon06.com/posts/tailwind-layer</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/tailwind-layer</guid><description>layer 체크</description><pubDate>Fri, 15 Aug 2025 00:00:00 GMT</pubDate><category>Development</category><category>Development</category></item>
<item><title>아이차트 개발 서버가 구글 SEO에 노출된 문제 해결 과정</title><link>https://blog.dahoon06.com/posts/dev-server-seo-block</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/dev-server-seo-block</guid><description>아이차트 개발 서버가 구글 SEO에 노출된 문제 해결 과정</description><pubDate>Wed, 13 Aug 2025 00:00:00 GMT</pubDate><category>Development</category></item>
<item><title>도커 빌드 실패</title><link>https://blog.dahoon06.com/posts/docker-build-failed</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/docker-build-failed</guid><description>삽질</description><pubDate>Mon, 11 Aug 2025 00:00:00 GMT</pubDate><category>Development</category><category>issue</category></item>
<item><title>장고 로컬 실행 안됨 - host 문제</title><link>https://blog.dahoon06.com/posts/django-local-host</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/django-local-host</guid><description>장고 로컬 실행 안됨 - host 문제</description><pubDate>Mon, 11 Aug 2025 00:00:00 GMT</pubDate><category>Development</category><category>issue</category></item>
<item><title>추상화</title><link>https://blog.dahoon06.com/posts/abstract</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/abstract</guid><description>컴포넌트 추상화</description><pubDate>Wed, 30 Jul 2025 00:00:00 GMT</pubDate><category>Development</category><category>Development</category></item>
<item><title>프론트엔드 아키텍처</title><link>https://blog.dahoon06.com/posts/clean-architecture-or-fsd-architecture</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/clean-architecture-or-fsd-architecture</guid><description>프론트엔드 아키텍처</description><pubDate>Sun, 20 Jul 2025 00:00:00 GMT</pubDate><category>💻 Frontend</category><category>Development</category></item>
<item><title>레거시와 리뉴얼 로그인 연동</title><link>https://blog.dahoon06.com/archiving/session-bridge-php-jwt</link><guid isPermaLink="true">https://blog.dahoon06.com/archiving/session-bridge-php-jwt</guid><description>PHP 레거시와 신규 Next.js/NestJS가 공존하는 동안 로그인 상태가 서로 어긋나는 문제를, NestJS가 PHP와 같은 포맷으로 세션을 함께 기록하는 방식으로 풀었던 과정을 정리했다.</description><pubDate>Wed, 07 May 2025 00:00:00 GMT</pubDate><category>backend</category><category>PHP</category><category>nextjs</category><category>migration</category></item>
<item><title>폴링 데몬 22개 걷어내고 Redis Stream 처음 만져봤다</title><link>https://blog.dahoon06.com/archiving/redis-streams-migration</link><guid isPermaLink="true">https://blog.dahoon06.com/archiving/redis-streams-migration</guid><description>10년 넘은 커뮤니티 서비스의 키워드 알림 기능을 DB 폴링 데몬 22개 구조에서 Redis Streams 컨슈머 그룹 기반으로 재설계한 회고. 컨슈머 그룹과 PEL, MAXLEN, TTL 등에서 실제로 겪은 함정들과, 알림 지연을 3초대에서 50ms 미만으로 줄인 과정을 정리했다.</description><pubDate>Thu, 20 Mar 2025 00:00:00 GMT</pubDate><category>backend</category><category>Redis Streams</category><category>메시지큐</category></item>
<item><title>아이콘 4,843개 중 실제로 쓰는 건 200개도 안 됐다</title><link>https://blog.dahoon06.com/archiving/fontawesome-icon-subset-pipeline</link><guid isPermaLink="true">https://blog.dahoon06.com/archiving/fontawesome-icon-subset-pipeline</guid><description>Font Awesome 아이콘 폰트 전체를 그대로 번들에 넣고 있었는데, 실제 사용하는 아이콘은 200개도 안 된다는 걸 알고 서브셋 빌드 파이프라인을 직접 만든 이야기. 정규식 CSS 파싱이 왜 위험한지, 런타임에 조립되는 아이콘 이름을 어떻게 정적으로 추적했는지, 줄인 폰트도 로드 순서 때문에 왜 여전히 느렸는지를 반말 회고체로 정리했다.</description><pubDate>Wed, 19 Feb 2025 00:00:00 GMT</pubDate><category>frontend</category><category>monorepo</category><category>nextjs</category><category>lighthouse</category></item>
<item><title>새로운 시작</title><link>https://blog.dahoon06.com/posts/daily-log-2</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/daily-log-2</guid><description>byebye PMI.. Hello Instiz!!</description><pubDate>Thu, 19 Dec 2024 00:00:00 GMT</pubDate><category>😎 일상</category><category>Daily</category></item>
<item><title>npm 만들어서 팀에 기여하기</title><link>https://blog.dahoon06.com/posts/npm-만들기-2</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/npm-만들기-2</guid><description>env-manager</description><pubDate>Fri, 25 Oct 2024 00:00:00 GMT</pubDate><category>Development</category><category>Development</category></item>
<item><title>사내 npm 만들기 </title><link>https://blog.dahoon06.com/posts/npm-만들기</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/npm-만들기</guid><description>env-manager</description><pubDate>Thu, 24 Oct 2024 00:00:00 GMT</pubDate><category>Development</category><category>Development</category></item>
<item><title> couldn&apos;t get current server API group list</title><link>https://blog.dahoon06.com/posts/error-debugging</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/error-debugging</guid><description> couldn&apos;t get current server API group list</description><pubDate>Fri, 16 Aug 2024 00:00:00 GMT</pubDate><category>Development</category><category>Development</category><category>Kube</category><category>K8S</category><category>Kubernates</category></item>
<item><title>역시는 역시였던 하루</title><link>https://blog.dahoon06.com/posts/daily-log-1</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/daily-log-1</guid><description>오늘도 어김없이 기획팀과의 대화</description><pubDate>Fri, 02 Aug 2024 00:00:00 GMT</pubDate><category>😎 일상</category><category>Daily</category></item>
<item><title>Next.js can&apos;t recognize the exported config field in route &quot;/src/middleware&quot;:</title><link>https://blog.dahoon06.com/posts/nextjs-cant-recognize-the-exported-config-field-in-route</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/nextjs-cant-recognize-the-exported-config-field-in-route</guid><description>Next.js can&apos;t recognize the exported config field in route &quot;/src/middleware&quot;:</description><pubDate>Tue, 30 Jul 2024 00:00:00 GMT</pubDate><category>Development</category><category>Nextjs</category></item>
<item><title>HTTP Module</title><link>https://blog.dahoon06.com/posts/http-module</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/http-module</guid><description>토큰을 보내고 싶어요</description><pubDate>Thu, 25 Jul 2024 00:00:00 GMT</pubDate><category>Development</category><category>Development</category><category>NestJS</category><category>모노레포</category></item>
<item><title>Hydration</title><link>https://blog.dahoon06.com/posts/hydration-mismatch</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/hydration-mismatch</guid><description>Hydration</description><pubDate>Fri, 19 Jul 2024 00:00:00 GMT</pubDate><category>Development</category><category>Development</category></item>
<item><title>유니서베이 로그인</title><link>https://blog.dahoon06.com/posts/unisurvey-login-flow</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/unisurvey-login-flow</guid><description>유니서베이 로그인</description><pubDate>Thu, 18 Jul 2024 00:00:00 GMT</pubDate><category>Development</category><category>Development</category></item>
<item><title>무심코 사용한 mongodb exec(), lean()</title><link>https://blog.dahoon06.com/posts/mongo-exec-lean</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/mongo-exec-lean</guid><description>무심코 사용한 mongodb exec(), lean()</description><pubDate>Wed, 17 Jul 2024 00:00:00 GMT</pubDate><category>Development</category><category>Development</category><category>mongoDB</category></item>
<item><title>로컬 환경에서 Docker Container로 서버 띄우기</title><link>https://blog.dahoon06.com/posts/local-docker-container</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/local-docker-container</guid><description>도커로 개발 환경 구축하기</description><pubDate>Wed, 17 Jul 2024 00:00:00 GMT</pubDate><category>Development</category><category>Daily</category><category>Docker</category></item>
<item><title>next middleware</title><link>https://blog.dahoon06.com/posts/nextjs-middleware</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/nextjs-middleware</guid><description>💡 오늘의 키워드</description><pubDate>Tue, 16 Jul 2024 00:00:00 GMT</pubDate><category>Development</category><category>Development</category><category>Nextjs</category></item>
<item><title>유니서베이 nextjs로 마이그레이션 시작</title><link>https://blog.dahoon06.com/posts/unisurvey-migration-with-nextjs</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/unisurvey-migration-with-nextjs</guid><description>설렘 - 프로젝트 구조 작업</description><pubDate>Mon, 15 Jul 2024 00:00:00 GMT</pubDate><category>😎 일상</category><category>모노레포</category><category>TurboRepo</category><category>Development</category><category>Nextjs</category><category>Vue</category></item>
<item><title>공통 패키지 관련 이슈 모음</title><link>https://blog.dahoon06.com/posts/common-packages</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/common-packages</guid><description>공통 패키지 관련 이슈 모음</description><pubDate>Fri, 12 Jul 2024 00:00:00 GMT</pubDate><category>😎 일상</category><category>Development</category><category>모노레포</category><category>Trouble shooting</category></item>
<item><title>Jest를 활용한 함수 테스트 (with NestJS)</title><link>https://blog.dahoon06.com/posts/jest-with-nestjs</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/jest-with-nestjs</guid><description>함수 테스트</description><pubDate>Sat, 01 Jun 2024 00:00:00 GMT</pubDate><category>Development</category><category>Jest</category><category>NestJS</category></item>
<item><title>모노레포 전환기 (FE: React, BE: NestJS)</title><link>https://blog.dahoon06.com/posts/fe-be-monorepo-통합</link><guid isPermaLink="true">https://blog.dahoon06.com/posts/fe-be-monorepo-통합</guid><description>프론트와 백엔드 간 파일 공유</description><pubDate>Thu, 02 May 2024 00:00:00 GMT</pubDate><category>Development</category><category>TurboRepo</category><category>React</category><category>NestJS</category><category>모노레포</category></item>
</channel>
</rss>
