<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>수영장 (Sooyoung Archive)</title>
    <link>https://sooyoung.pe.kr</link>
    <description>아이디어를 만난 수영, 마음껏 헤엄치는 공간. 이번캠(MyCamp) 등 1인 개발 프로젝트와 기술 블로그</description>
    <language>ko-kr</language>
    <lastBuildDate>Mon, 07 Sep 2026 18:59:31 GMT</lastBuildDate>
    <atom:link href="https://sooyoung.pe.kr/feed.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Next.js App Router에서 구글 서치 콘솔 &apos;적절한 표준 태그가 포함된 대체 페이지&apos; 해결기</title>
      <link>https://sooyoung.pe.kr/post/nextjs-app-router-canonical-tag-search-console-fix</link>
      <guid>https://sooyoung.pe.kr/post/nextjs-app-router-canonical-tag-search-console-fix</guid>
      <pubDate>Mon, 07 Sep 2026 08:09:59 GMT</pubDate>
      <description>Next.js App Router의 메타데이터 상속 구조로 인해 모든 블로그 포스트의 canonical URL이 홈으로 고정되어 검색 색인에서 누락되던 문제를 self-referencing canonical과 한글 슬러그 인코딩으로 해결한 실전 트러블슈팅 기록.</description>
    </item>
    <item>
      <title>Next.js 16과 Tailwind CSS에서 다크/라이트 테마 깜빡임(FOUC) 없이 구현하기</title>
      <link>https://sooyoung.pe.kr/post/nextjs-16-tailwind-dark-mode-without-fouc</link>
      <guid>https://sooyoung.pe.kr/post/nextjs-16-tailwind-dark-mode-without-fouc</guid>
      <pubDate>Fri, 04 Sep 2026 00:50:15 GMT</pubDate>
      <description>Next.js 16 App Router 환경에서 localStorage 기반 다크 모드 전환 시 발생하는 첫 화면 깜빡임(FOUC) 문제를 인라인 스크립트와 CSS 변수로 깔끔하게 해결한 과정.</description>
    </item>
    <item>
      <title>React 마크다운 렌더러에 스마트 목차(TOC)와 스크롤 스파이(Scroll-Spy) 적용기</title>
      <link>https://sooyoung.pe.kr/post/react-markdown-smart-toc-and-scroll-spy-implementation</link>
      <guid>https://sooyoung.pe.kr/post/react-markdown-smart-toc-and-scroll-spy-implementation</guid>
      <pubDate>Fri, 04 Sep 2026 00:50:15 GMT</pubDate>
      <description>긴 기술 블로그 아티클을 읽기 편하게 만들기 위해 마크다운 헤딩(#, ##)을 자동 추출하여 동적 목차(TOC)를 생성하고 IntersectionObserver로 실시간 스크롤 스파이를 구현한 경험.</description>
    </item>
    <item>
      <title>캠핑인스타 만들기 5편: &apos;이번캠(MyCamp)&apos; 리브랜딩과 Capacitor로 Apple App Store 심사 통과한 이야기</title>
      <link>https://sooyoung.pe.kr/post/%EC%BA%A0%ED%95%91%EC%9D%B8%EC%8A%A4%ED%83%80-%EB%A7%8C%EB%93%A4%EA%B8%B0-5%ED%8E%B8-%EC%9D%B4%EB%B2%88%EC%BA%A0mycamp-%EB%A6%AC%EB%B8%8C%EB%9E%9C%EB%94%A9%EA%B3%BC-capacitor%EB%A1%9C-apple-app-store-%EC%8B%AC%EC%82%AC-%ED%86%B5%EA%B3%BC%ED%95%9C-%EC%9D%B4%EC%95%BC%EA%B8%B0</link>
      <guid>https://sooyoung.pe.kr/post/%EC%BA%A0%ED%95%91%EC%9D%B8%EC%8A%A4%ED%83%80-%EB%A7%8C%EB%93%A4%EA%B8%B0-5%ED%8E%B8-%EC%9D%B4%EB%B2%88%EC%BA%A0mycamp-%EB%A6%AC%EB%B8%8C%EB%9E%9C%EB%94%A9%EA%B3%BC-capacitor%EB%A1%9C-apple-app-store-%EC%8B%AC%EC%82%AC-%ED%86%B5%EA%B3%BC%ED%95%9C-%EC%9D%B4%EC%95%BC%EA%B8%B0</guid>
      <pubDate>Wed, 26 Aug 2026 09:22:54 GMT</pubDate>
      <description>캠핑인스타를 &apos;이번캠(MyCamp)&apos;으로 리브랜딩하고, Capacitor를 활용해 Next.js 웹 서비스를 Apple App Store(iOS)에 공식 출시하며 겪은 심사 통과와 트러블슈팅 기록.</description>
    </item>
    <item>
      <title>vercel.app 도메인의 한계와 개인 도메인(.pe.kr) 도입기 (feat. 구글 서치 콘솔 색인 문제 해결)</title>
      <link>https://sooyoung.pe.kr/post/vercelapp-%EB%8F%84%EB%A9%94%EC%9D%B8%EC%9D%98-%ED%95%9C%EA%B3%84%EC%99%80-%EA%B0%9C%EC%9D%B8-%EB%8F%84%EB%A9%94%EC%9D%B8pekr-%EB%8F%84%EC%9E%85%EA%B8%B0-feat-%EA%B5%AC%EA%B8%80-%EC%84%9C%EC%B9%98-%EC%BD%98%EC%86%94-%EC%83%89%EC%9D%B8-%EB%AC%B8%EC%A0%9C-%ED%95%B4%EA%B2%B0</link>
      <guid>https://sooyoung.pe.kr/post/vercelapp-%EB%8F%84%EB%A9%94%EC%9D%B8%EC%9D%98-%ED%95%9C%EA%B3%84%EC%99%80-%EA%B0%9C%EC%9D%B8-%EB%8F%84%EB%A9%94%EC%9D%B8pekr-%EB%8F%84%EC%9E%85%EA%B8%B0-feat-%EA%B5%AC%EA%B8%80-%EC%84%9C%EC%B9%98-%EC%BD%98%EC%86%94-%EC%83%89%EC%9D%B8-%EB%AC%B8%EC%A0%9C-%ED%95%B4%EA%B2%B0</guid>
      <pubDate>Fri, 10 Jul 2026 07:43:14 GMT</pubDate>
      <description>&quot;Vercel 무료 도메인(vercel.app)으로 구글 서치 콘솔에 사이트맵을 제출하며 겪은 무한 &apos;가져올 수 없음&apos; 에러와 &apos;할당량 초과&apos; 문제. 이를 개인 도메인(.pe.kr) 구매로 단 1초 만에 해결한 삽질기를 공유합니다.&quot;</description>
    </item>
    <item>
      <title>그림톡 만들기 3편: &apos;한 번 답하는 앱&apos;에서 &apos;계속 대화하는 친구&apos;로 바꾸기</title>
      <link>https://sooyoung.pe.kr/post/%EC%B9%9C%EA%B5%AC</link>
      <guid>https://sooyoung.pe.kr/post/%EC%B9%9C%EA%B5%AC</guid>
      <pubDate>Mon, 30 Mar 2026 11:49:01 GMT</pubDate>
      <description>그림톡에서 단발성 응답을 넘어 대화가 계속 이어지는 소셜 인터랙션과 프롬프트 엔지니어링 과정을 정리한 개발 일지.</description>
    </item>
    <item>
      <title>그림톡 만들기 2편: 결과 화면을 &apos;정보 화면&apos;에서 &apos;첫 만남 장면&apos;으로 바꾸기</title>
      <link>https://sooyoung.pe.kr/post/first-meeting</link>
      <guid>https://sooyoung.pe.kr/post/first-meeting</guid>
      <pubDate>Fri, 27 Mar 2026 05:42:50 GMT</pubDate>
      <description>그림톡 결과 화면을 정보 카드가 아니라 첫 만남 장면처럼 느껴지도록 다시 설계하고 사용자 경험을 개선한 과정을 정리한 개발 일지.</description>
    </item>
    <item>
      <title>그림톡 만들기 1편: 아이의 그림이 말을 걸기까지 (MVP 기획과 프로토타입)</title>
      <link>https://sooyoung.pe.kr/post/%EB%82%B4-%EC%BA%90%EB%A6%AD%ED%84%B0%EC%99%80-%EB%8C%80%ED%99%94%ED%95%98%EA%B8%B0</link>
      <guid>https://sooyoung.pe.kr/post/%EB%82%B4-%EC%BA%90%EB%A6%AD%ED%84%B0%EC%99%80-%EB%8C%80%ED%99%94%ED%95%98%EA%B8%B0</guid>
      <pubDate>Thu, 26 Mar 2026 09:01:51 GMT</pubDate>
      <description>아이의 그림을 기반으로 소통하는 인터랙션 서비스 그림톡(GrimTalk)의 초기 기획과 프로토타입 구현 과정.</description>
    </item>
    <item>
      <title>삼문판결 만들기 5편: 계속할지 멈출지, 프로젝트 피벗과 중단 기준</title>
      <link>https://sooyoung.pe.kr/post/%EA%B3%84%EC%86%8D%ED%95%A0%EC%A7%80-%EB%A9%88%EC%B6%9C%EC%A7%80-%ED%8C%90%EC%A0%95-%EA%B8%B0%EC%A4%80%EC%9D%84-%EB%A8%BC%EC%A0%80-%EC%A0%95%ED%96%88%EB%8B%A4</link>
      <guid>https://sooyoung.pe.kr/post/%EA%B3%84%EC%86%8D%ED%95%A0%EC%A7%80-%EB%A9%88%EC%B6%9C%EC%A7%80-%ED%8C%90%EC%A0%95-%EA%B8%B0%EC%A4%80%EC%9D%84-%EB%A8%BC%EC%A0%80-%EC%A0%95%ED%96%88%EB%8B%A4</guid>
      <pubDate>Sat, 21 Mar 2026 06:00:43 GMT</pubDate>
      <description>애정에 휘둘리지 않고 데이터와 기준에 따라 사이드 프로젝트의 지속 여부를 냉정하게 결정한 회고.</description>
    </item>
    <item>
      <title>삼문판결 만들기 4편: 감이 아니라 숫자로 보는 운영 지표</title>
      <link>https://sooyoung.pe.kr/post/%EA%B0%90%EC%9D%B4-%EC%95%84%EB%8B%88%EB%9D%BC-%EC%88%AB%EC%9E%90%EB%A1%9C-%EB%B3%B4%EB%8A%94-%EC%9A%B4%EC%98%81-%EC%A7%80%ED%91%9C</link>
      <guid>https://sooyoung.pe.kr/post/%EA%B0%90%EC%9D%B4-%EC%95%84%EB%8B%88%EB%9D%BC-%EC%88%AB%EC%9E%90%EB%A1%9C-%EB%B3%B4%EB%8A%94-%EC%9A%B4%EC%98%81-%EC%A7%80%ED%91%9C</guid>
      <pubDate>Sat, 21 Mar 2026 05:55:16 GMT</pubDate>
      <description>직관에 의존하지 않고 Google Analytics와 이벤트를 통해 서비스 반응을 측정하고 분석한 경험.</description>
    </item>
    <item>
      <title>삼문판결 만들기 3편: 재심(appeal)을 기능이 아니라 장치로 설계한 이유</title>
      <link>https://sooyoung.pe.kr/post/%EC%9E%AC%EC%8B%ACappeal%EC%9D%84-%EA%B8%B0%EB%8A%A5%EC%9D%B4-%EC%95%84%EB%8B%88%EB%9D%BC-%EC%9E%A5%EC%B9%98%EB%A1%9C-%EC%84%A4%EA%B3%84%ED%95%9C-%EC%9D%B4%EC%9C%A0</link>
      <guid>https://sooyoung.pe.kr/post/%EC%9E%AC%EC%8B%ACappeal%EC%9D%84-%EA%B8%B0%EB%8A%A5%EC%9D%B4-%EC%95%84%EB%8B%88%EB%9D%BC-%EC%9E%A5%EC%B9%98%EB%A1%9C-%EC%84%A4%EA%B3%84%ED%95%9C-%EC%9D%B4%EC%9C%A0</guid>
      <pubDate>Wed, 11 Mar 2026 12:47:24 GMT</pubDate>
      <description>단호한 판결 경험 속에서 유저의 재참여와 몰입을 유도하기 위한 재심 장치 설계 이야기.</description>
    </item>
    <item>
      <title>삼문판결 만들기 2편: 만든 다음부터가 진짜 시작이었다</title>
      <link>https://sooyoung.pe.kr/post/%EC%82%BC%EB%AC%B8%ED%8C%90%EA%B2%B0-%EB%A7%8C%EB%93%A4%EA%B8%B0-%EC%9D%B4%EC%95%BC%EA%B8%B0-2</link>
      <guid>https://sooyoung.pe.kr/post/%EC%82%BC%EB%AC%B8%ED%8C%90%EA%B2%B0-%EB%A7%8C%EB%93%A4%EA%B8%B0-%EC%9D%B4%EC%95%BC%EA%B8%B0-2</guid>
      <pubDate>Tue, 10 Mar 2026 11:57:41 GMT</pubDate>
      <description>MVP 런칭 후 실제 유저들의 피드백을 수집하며 직면한 문제와 인터페이스 개선 과정.</description>
    </item>
    <item>
      <title>개인 블로그 만들기부터 AdSense 수익화까지: 완벽 가이드</title>
      <link>https://sooyoung.pe.kr/post/%EA%B0%9C%EC%9D%B8-%EB%B8%94%EB%A1%9C%EA%B7%B8-%EB%A7%8C%EB%93%A4%EA%B8%B0%EB%B6%80%ED%84%B0-adsense-%EC%88%98%EC%9D%B5%ED%99%94%EA%B9%8C%EC%A7%80-%EC%99%84%EB%B2%BD-%EA%B0%80%EC%9D%B4%EB%93%9C</link>
      <guid>https://sooyoung.pe.kr/post/%EA%B0%9C%EC%9D%B8-%EB%B8%94%EB%A1%9C%EA%B7%B8-%EB%A7%8C%EB%93%A4%EA%B8%B0%EB%B6%80%ED%84%B0-adsense-%EC%88%98%EC%9D%B5%ED%99%94%EA%B9%8C%EC%A7%80-%EC%99%84%EB%B2%BD-%EA%B0%80%EC%9D%B4%EB%93%9C</guid>
      <pubDate>Mon, 09 Mar 2026 09:18:20 GMT</pubDate>
      <description>Next.js와 Supabase로 만든 개인 블로그를 배포하고 AdSense 수익화까지 연결한 전체 흐름을 정리한 가이드.</description>
    </item>
    <item>
      <title>캠핑인스타 만들기 4편</title>
      <link>https://sooyoung.pe.kr/post/%EC%BA%A0%ED%95%91%EC%9D%B8%EC%8A%A4%ED%83%80-%EB%A7%8C%EB%93%A4%EA%B8%B0-4%ED%8E%B8</link>
      <guid>https://sooyoung.pe.kr/post/%EC%BA%A0%ED%95%91%EC%9D%B8%EC%8A%A4%ED%83%80-%EB%A7%8C%EB%93%A4%EA%B8%B0-4%ED%8E%B8</guid>
      <pubDate>Tue, 03 Mar 2026 13:00:02 GMT</pubDate>
      <description>OG 이미지 구현 과정에서 겪은 삽질과 Supabase 연동 이슈를 정리한 캠핑인스타 개발 기록.</description>
    </item>
    <item>
      <title>삼문판결 만들기 1편: &apos;좋은 말&apos; 대신 &apos;판결문&apos;을 선택한 이유</title>
      <link>https://sooyoung.pe.kr/post/%EC%82%BC%EB%AC%B8%ED%8C%90%EA%B2%B0-%EB%A7%8C%EB%93%A4%EA%B8%B0-%EC%B2%AB%EB%B2%88%EC%A7%B8-%EC%9D%B4%EC%95%BC%EA%B8%B0-1</link>
      <guid>https://sooyoung.pe.kr/post/%EC%82%BC%EB%AC%B8%ED%8C%90%EA%B2%B0-%EB%A7%8C%EB%93%A4%EA%B8%B0-%EC%B2%AB%EB%B2%88%EC%A7%B8-%EC%9D%B4%EC%95%BC%EA%B8%B0-1</guid>
      <pubDate>Tue, 24 Feb 2026 11:50:14 GMT</pubDate>
      <description>아이디어를 검증하기 위해 위트 있는 3문장 판결문 콘셉트로 MVP를 빠르게 기획하고 구현한 이야기.</description>
    </item>
    <item>
      <title>캠핑 인스타 만들기 3편</title>
      <link>https://sooyoung.pe.kr/post/%EC%BA%A0%ED%95%91-%EC%9D%B8%EC%8A%A4%ED%83%80-%EB%A7%8C%EB%93%A4%EA%B8%B0-3%ED%8E%B8</link>
      <guid>https://sooyoung.pe.kr/post/%EC%BA%A0%ED%95%91-%EC%9D%B8%EC%8A%A4%ED%83%80-%EB%A7%8C%EB%93%A4%EA%B8%B0-3%ED%8E%B8</guid>
      <pubDate>Thu, 12 Feb 2026 12:51:07 GMT</pubDate>
      <description>캠핑 로그 앱을 인스타그램 스타일의 소셜 앱으로 리팩토링하며 겪은 UI 개선과 트러블슈팅 기록.</description>
    </item>
    <item>
      <title>캠핑인스타 만들기 2편</title>
      <link>https://sooyoung.pe.kr/post/%EC%BA%A0%ED%95%91%EC%9D%B8%EC%8A%A4%ED%83%80-%EB%A7%8C%EB%93%A4%EA%B8%B0-2%ED%8E%B8</link>
      <guid>https://sooyoung.pe.kr/post/%EC%BA%A0%ED%95%91%EC%9D%B8%EC%8A%A4%ED%83%80-%EB%A7%8C%EB%93%A4%EA%B8%B0-2%ED%8E%B8</guid>
      <pubDate>Thu, 12 Feb 2026 06:23:08 GMT</pubDate>
      <description>게시글 삭제, 권한 처리, 이미지 정리까지 포함해 캠핑인스타의 기본 CRUD 경험을 다듬은 작업 기록.</description>
    </item>
    <item>
      <title>캠핑인스타 만들기 첫편</title>
      <link>https://sooyoung.pe.kr/post/%EC%BA%A0%ED%95%91%EC%9D%B8%EC%8A%A4%ED%83%80-%EB%A7%8C%EB%93%A4%EA%B8%B0-%EC%B2%AB%ED%8E%B8</link>
      <guid>https://sooyoung.pe.kr/post/%EC%BA%A0%ED%95%91%EC%9D%B8%EC%8A%A4%ED%83%80-%EB%A7%8C%EB%93%A4%EA%B8%B0-%EC%B2%AB%ED%8E%B8</guid>
      <pubDate>Tue, 10 Feb 2026 09:06:56 GMT</pubDate>
      <description>Next.js, 관광공사 API, 카카오 로그인으로 캠핑 로그 서비스를 만들기 시작한 첫 개발 기록.</description>
    </item>
    <item>
      <title>admin-starter-kit 만들기 (2)</title>
      <link>https://sooyoung.pe.kr/post/admin-starter-kit-%EB%A7%8C%EB%93%A4%EA%B8%B0-2</link>
      <guid>https://sooyoung.pe.kr/post/admin-starter-kit-%EB%A7%8C%EB%93%A4%EA%B8%B0-2</guid>
      <pubDate>Wed, 04 Feb 2026 12:12:07 GMT</pubDate>
      <description>Next.js 16 환경에서 i18n 구현과 Hydration 에러를 해결하며 어드민 스타터킷을 다듬은 기록.</description>
    </item>
    <item>
      <title>admin-starter-kit 만들기 (1)</title>
      <link>https://sooyoung.pe.kr/post/admin-starter-kit-%EB%A7%8C%EB%93%A4%EA%B8%B0-1</link>
      <guid>https://sooyoung.pe.kr/post/admin-starter-kit-%EB%A7%8C%EB%93%A4%EA%B8%B0-1</guid>
      <pubDate>Tue, 03 Feb 2026 12:04:39 GMT</pubDate>
      <description>어드민 스타터킷 프로젝트의 초기 세팅과 Supabase 연동 중 만난 에러를 정리한 첫 번째 개발 로그.</description>
    </item>
    <item>
      <title>Next.js 기술 블로그를 Vercel로 무료 배포하고 운영 환경 구축한 후기</title>
      <link>https://sooyoung.pe.kr/post/%EB%B8%94%EB%A1%9C%EA%B7%B8-%EB%B0%B0%ED%8F%AC</link>
      <guid>https://sooyoung.pe.kr/post/%EB%B8%94%EB%A1%9C%EA%B7%B8-%EB%B0%B0%ED%8F%AC</guid>
      <pubDate>Tue, 03 Feb 2026 11:09:48 GMT</pubDate>
      <description>Next.js로 개발한 개인 블로그를 Vercel에 무료로 배포하고 실제 서비스처럼 운영하기 시작한 과정 정리.</description>
    </item>
    <item>
      <title>sooyoung archive 제작기</title>
      <link>https://sooyoung.pe.kr/post/sooyoung-archive-%EC%A0%9C%EC%9E%91%EA%B8%B0</link>
      <guid>https://sooyoung.pe.kr/post/sooyoung-archive-%EC%A0%9C%EC%9E%91%EA%B8%B0</guid>
      <pubDate>Mon, 02 Feb 2026 11:49:23 GMT</pubDate>
      <description>Next.js와 Supabase로 나만의 개발 아카이브 블로그를 직접 만들게 된 계기와 전체 구축 과정을 담은 글.</description>
    </item>
  </channel>
</rss>