
  <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
      <title>GW.dev</title>
      <link>https://github.com/GitHubGW/blog</link>
      <description>GW.dev&#39;s Blog</description>
      <language>ko-kr</language>
      <managingEditor>kowonp@gmail.com (GW)</managingEditor>
      <webMaster>kowonp@gmail.com (GW)</webMaster>
      <lastBuildDate>Wed, 21 Oct 2026 00:00:00 GMT</lastBuildDate>
      <atom:link href="https://github.com/GitHubGW/feed.xml" rel="self" type="application/rss+xml"/>
      
  <item>
    <guid>https://github.com/GitHubGW/blog/claude-code-guide</guid>
    <title>Claude Code 아키텍처와 내부 동작 원리 및 실전 활용법</title>
    <link>https://github.com/GitHubGW/blog/claude-code-guide</link>
    <description>Claude Code의 아키텍처와 내부 동작 원리를 살펴보고, 핵심 기능부터 프로젝트 설정과 실전에서의 효과적인 활용 방법까지 정리합니다.</description>
    <pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate>
    <author>kowonp@gmail.com (GW)</author>
    <category>ai</category>
  </item>

  <item>
    <guid>https://github.com/GitHubGW/blog/shadcn-carousel-external-store</guid>
    <title>shadcn/ui Carousel의 상태 관리 구조를 외부 상태 구독으로 전환하기</title>
    <link>https://github.com/GitHubGW/blog/shadcn-carousel-external-store</link>
    <description>shadcn/ui Carousel에서 발생한 ESLint 오류 원인을 분석하고, Embla의 상태를 useSyncExternalStore로 구독하도록 개선한 과정을 정리합니다.</description>
    <pubDate>Tue, 08 Sep 2026 00:00:00 GMT</pubDate>
    <author>kowonp@gmail.com (GW)</author>
    <category>react</category><category>open-source</category>
  </item>

  <item>
    <guid>https://github.com/GitHubGW/blog/nextjs-seo-considerations-part2</guid>
    <title>Next.js에서 SEO를 설계하며 고려한 것들 - Part 2</title>
    <link>https://github.com/GitHubGW/blog/nextjs-seo-considerations-part2</link>
    <description>Sitemap과 robots.txt를 중심으로 URL 발견과 크롤링을 관리하고, Next.js의 환경별 SEO 정책과 검색 노출을 검증하는 방법을 살펴봅니다.</description>
    <pubDate>Sat, 29 Aug 2026 00:00:00 GMT</pubDate>
    <author>kowonp@gmail.com (GW)</author>
    <category>frontend</category><category>nextjs</category>
  </item>

  <item>
    <guid>https://github.com/GitHubGW/blog/nextjs-seo-considerations-part1</guid>
    <title>Next.js에서 SEO를 설계하며 고려한 것들 - Part 1</title>
    <link>https://github.com/GitHubGW/blog/nextjs-seo-considerations-part1</link>
    <description>검색 엔진의 동작 원리부터 렌더링 전략, Metadata, Canonical, JSON-LD까지 Next.js SEO의 핵심 요소를 살펴봅니다.</description>
    <pubDate>Sun, 16 Aug 2026 00:00:00 GMT</pubDate>
    <author>kowonp@gmail.com (GW)</author>
    <category>frontend</category><category>nextjs</category>
  </item>

  <item>
    <guid>https://github.com/GitHubGW/blog/handling-heic-images-in-ios-webview</guid>
    <title>iOS 이미지 업로드 문제를 해결하며 알아본 HEIC 처리</title>
    <link>https://github.com/GitHubGW/blog/handling-heic-images-in-ios-webview</link>
    <description>iOS WebView의 HEIC 이미지 업로드 문제를 해결하며 이미지 변환, EXIF Orientation, Canvas 재인코딩과 모듈 로딩 최적화를 살펴봅니다.</description>
    <pubDate>Sun, 05 Jul 2026 00:00:00 GMT</pubDate>
    <author>kowonp@gmail.com (GW)</author>
    <category>mobile</category><category>webview</category>
  </item>

  <item>
    <guid>https://github.com/GitHubGW/blog/webview-to-multiplatform</guid>
    <title>WebView 서비스를 PC 웹으로 확장하며 멀티플랫폼 구조 설계하기</title>
    <link>https://github.com/GitHubGW/blog/webview-to-multiplatform</link>
    <description>WebView 중심으로 동작하던 서비스를 PC 웹으로 확장하면서 플랫폼마다 달랐던 Native Bridge, 인증, 위치 정보, 라우팅을 공통 인터페이스로 분리하고 구버전 앱의 호환성까지 대응한 과정을 정리합니다.</description>
    <pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate>
    <author>kowonp@gmail.com (GW)</author>
    <category>mobile</category><category>webview</category>
  </item>

  <item>
    <guid>https://github.com/GitHubGW/blog/optimizing-monorepo-tasks-with-turborepo</guid>
    <title>Turborepo로 모노레포 작업 구조와 빌드 최적화하기</title>
    <link>https://github.com/GitHubGW/blog/optimizing-monorepo-tasks-with-turborepo</link>
    <description>여러 앱과 공통 패키지가 존재하는 모노레포에서 Turborepo의 Task Graph와 캐시를 활용해 작업 실행 구조를 설계하고 반복 작업을 줄이는 과정을 살펴봅니다.</description>
    <pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate>
    <author>kowonp@gmail.com (GW)</author>
    <category>frontend</category><category>turborepo</category>
  </item>

  <item>
    <guid>https://github.com/GitHubGW/blog/building-reusable-ui-architecture</guid>
    <title>여러 서비스에서 재사용할 수 있는 UI 아키텍처 설계하기</title>
    <link>https://github.com/GitHubGW/blog/building-reusable-ui-architecture</link>
    <description>공통 UI를 패키지로 분리하고 Subpath Exports, Radix UI, CVA를 활용해 재사용 가능한 UI 아키텍처를 설계한 과정을 정리합니다.</description>
    <pubDate>Sun, 10 May 2026 00:00:00 GMT</pubDate>
    <author>kowonp@gmail.com (GW)</author>
    <category>frontend</category><category>css</category>
  </item>

  <item>
    <guid>https://github.com/GitHubGW/blog/migrating-nextjs-12-to-14</guid>
    <title>운영 중인 Next.js를 12에서 14로 단계적으로 마이그레이션하기</title>
    <link>https://github.com/GitHubGW/blog/migrating-nextjs-12-to-14</link>
    <description>운영 중인 Next.js 서비스의 메이저 버전을 단계적으로 업그레이드하며 확인한 변경 사항과 의존성, 마이그레이션 전략을 정리합니다.</description>
    <pubDate>Thu, 23 Apr 2026 00:00:00 GMT</pubDate>
    <author>kowonp@gmail.com (GW)</author>
    <category>nextjs</category>
  </item>

  <item>
    <guid>https://github.com/GitHubGW/blog/sentry-frontend-error-tracking</guid>
    <title>Sentry로 프론트엔드 운영 오류 추적하기</title>
    <link>https://github.com/GitHubGW/blog/sentry-frontend-error-tracking</link>
    <description>Sentry를 활용해 클라이언트와 서버 오류를 수집하고, 불필요한 오류를 필터링하며, 디버깅 정보와 Source Map을 통해 운영 오류의 원인을 추적하는 과정을 정리합니다.</description>
    <pubDate>Mon, 02 Mar 2026 00:00:00 GMT</pubDate>
    <author>kowonp@gmail.com (GW)</author>
    <category>frontend</category><category>sentry</category>
  </item>

  <item>
    <guid>https://github.com/GitHubGW/blog/how-to-design-react-query-cache-for-infinite-scroll</guid>
    <title>TanStack Query로 무한 스크롤과 서버 상태를 어떻게 관리할까?</title>
    <link>https://github.com/GitHubGW/blog/how-to-design-react-query-cache-for-infinite-scroll</link>
    <description>TanStack Query(구 React Query)로 무한 스크롤을 구현하며 서버 상태 캐싱, 캐시 수명 관리, 낙관적 업데이트, 렌더링 최적화를 고민한 과정을 정리합니다.</description>
    <pubDate>Sat, 14 Feb 2026 00:00:00 GMT</pubDate>
    <author>kowonp@gmail.com (GW)</author>
    <category>tanstack-query</category>
  </item>

  <item>
    <guid>https://github.com/GitHubGW/blog/migrating-styled-components-to-emotion</guid>
    <title>styled-components에서 Emotion으로 점진적으로 마이그레이션하기</title>
    <link>https://github.com/GitHubGW/blog/migrating-styled-components-to-emotion</link>
    <description>styled-components에서 Emotion으로 점진적으로 마이그레이션하며 스타일링 구조 개선과 React Server Components 시대의 CSS-in-JS까지 살펴봅니다.</description>
    <pubDate>Wed, 21 Jan 2026 00:00:00 GMT</pubDate>
    <author>kowonp@gmail.com (GW)</author>
    <category>css</category>
  </item>

  <item>
    <guid>https://github.com/GitHubGW/blog/tanstack-query-vs-zustand-state-management</guid>
    <title>TanStack Query와 Zustand의 역할을 어떻게 나눌까?</title>
    <link>https://github.com/GitHubGW/blog/tanstack-query-vs-zustand-state-management</link>
    <description>TanStack Query(구 React Query)와 Zustand는 모두 상태를 관리하는 라이브러리입니다. 그렇다면 둘은 무엇이 다르고, 실무에서는 왜 함께 사용할까요?</description>
    <pubDate>Sun, 28 Dec 2025 00:00:00 GMT</pubDate>
    <author>kowonp@gmail.com (GW)</author>
    <category>tanstack-query</category><category>zustand</category>
  </item>

  <item>
    <guid>https://github.com/GitHubGW/blog/optimize-large-lists-in-react</guid>
    <title>React에서 큰 리스트를 효율적으로 렌더링하는 방법</title>
    <link>https://github.com/GitHubGW/blog/optimize-large-lists-in-react</link>
    <description>React에서 수천 개의 리스트를 렌더링할 때 발생하는 성능 문제와 Virtualization을 활용해 효율적으로 렌더링하는 방법을 알아봅니다.</description>
    <pubDate>Mon, 17 Nov 2025 00:00:00 GMT</pubDate>
    <author>kowonp@gmail.com (GW)</author>
    <category>react</category>
  </item>

  <item>
    <guid>https://github.com/GitHubGW/blog/when-to-use-react-use-effect</guid>
    <title>useEffect는 언제 사용해야 하고 언제 사용하지 말아야 할까?</title>
    <link>https://github.com/GitHubGW/blog/when-to-use-react-use-effect</link>
    <description>useEffect가 필요한 기준을 외부 시스템과의 동기화 관점에서 살펴보고, 계산 가능한 값이나 사용자 이벤트에 Effect를 사용하면 안 되는 이유를 알아봅니다.</description>
    <pubDate>Sat, 04 Oct 2025 00:00:00 GMT</pubDate>
    <author>kowonp@gmail.com (GW)</author>
    <category>react</category>
  </item>

  <item>
    <guid>https://github.com/GitHubGW/blog/why-react-fiber-was-created</guid>
    <title>React Fiber는 왜 만들어졌을까?</title>
    <link>https://github.com/GitHubGW/blog/why-react-fiber-was-created</link>
    <description>React Fiber는 React 16에서 새롭게 도입된 렌더링 엔진입니다. React는 왜 기존 구조를 버리고 Fiber를 만들었을까요?</description>
    <pubDate>Sun, 21 Sep 2025 00:00:00 GMT</pubDate>
    <author>kowonp@gmail.com (GW)</author>
    <category>react</category>
  </item>

  <item>
    <guid>https://github.com/GitHubGW/blog/understanding-react-render-and-commit</guid>
    <title>React의 Render와 Commit 단계 이해하기</title>
    <link>https://github.com/GitHubGW/blog/understanding-react-render-and-commit</link>
    <description>React는 state가 변경되면 어떤 과정을 거쳐 화면을 업데이트할까요? Render와 Commit 단계의 역할과 차이를 알아봅니다.</description>
    <pubDate>Tue, 12 Aug 2025 00:00:00 GMT</pubDate>
    <author>kowonp@gmail.com (GW)</author>
    <category>react</category>
  </item>

  <item>
    <guid>https://github.com/GitHubGW/blog/how-javascript-garbage-collection-works</guid>
    <title>JavaScript 가비지 컬렉션의 동작 원리</title>
    <link>https://github.com/GitHubGW/blog/how-javascript-garbage-collection-works</link>
    <description>JavaScript는 사용하지 않는 메모리를 어떻게 찾아 해제할까요? 가비지 컬렉션의 동작 원리와 메모리 누수가 발생하는 이유를 함께 알아봅니다.</description>
    <pubDate>Sun, 20 Jul 2025 00:00:00 GMT</pubDate>
    <author>kowonp@gmail.com (GW)</author>
    <category>javascript</category>
  </item>

  <item>
    <guid>https://github.com/GitHubGW/blog/how-javascript-prototype-chain-works</guid>
    <title>프로토타입 체인의 동작 원리</title>
    <link>https://github.com/GitHubGW/blog/how-javascript-prototype-chain-works</link>
    <description>JavaScript는 객체에서 프로퍼티를 어떻게 찾을까요? 프로토타입과 프로토타입 체인의 동작 원리를 알아봅니다.</description>
    <pubDate>Thu, 05 Jun 2025 00:00:00 GMT</pubDate>
    <author>kowonp@gmail.com (GW)</author>
    <category>javascript</category>
  </item>

  <item>
    <guid>https://github.com/GitHubGW/blog/how-javascript-this-works</guid>
    <title>this는 어떤 규칙으로 결정될까?</title>
    <link>https://github.com/GitHubGW/blog/how-javascript-this-works</link>
    <description>this가 함수를 선언한 위치가 아니라 호출한 방식에 따라 결정되는 이유와 다양한 호출 방식에서 this가 어떻게 달라지는지 알아봅니다.</description>
    <pubDate>Sun, 18 May 2025 00:00:00 GMT</pubDate>
    <author>kowonp@gmail.com (GW)</author>
    <category>javascript</category>
  </item>

  <item>
    <guid>https://github.com/GitHubGW/blog/how-does-closure-remember-variables</guid>
    <title>클로저는 함수가 종료된 후에도 어떻게 변수를 기억할까?</title>
    <link>https://github.com/GitHubGW/blog/how-does-closure-remember-variables</link>
    <description>클로저의 기본 개념부터 렉시컬 스코프와 렉시컬 환경, 함수가 종료된 후에도 변수가 유지되는 이유와 활용 방법까지 살펴봅니다.</description>
    <pubDate>Mon, 07 Apr 2025 00:00:00 GMT</pubDate>
    <author>kowonp@gmail.com (GW)</author>
    <category>javascript</category>
  </item>

  <item>
    <guid>https://github.com/GitHubGW/blog/how-lexical-environment-works</guid>
    <title>렉시컬 환경은 변수와 함수를 어떻게 기억할까?</title>
    <link>https://github.com/GitHubGW/blog/how-lexical-environment-works</link>
    <description>JavaScript는 변수와 함수를 어디에 저장하고 어떻게 찾을까요? 렉시컬 환경과 스코프 체인의 동작 원리를 알아봅니다.</description>
    <pubDate>Mon, 10 Mar 2025 00:00:00 GMT</pubDate>
    <author>kowonp@gmail.com (GW)</author>
    <category>javascript</category>
  </item>

  <item>
    <guid>https://github.com/GitHubGW/blog/how-javascript-hoisting-works</guid>
    <title>호이스팅은 정말 선언을 위로 끌어올리는 걸까?</title>
    <link>https://github.com/GitHubGW/blog/how-javascript-hoisting-works</link>
    <description>호이스팅이 코드를 위로 이동시키는 현상인지 살펴보고, var·let·const와 함수 선언문이 코드 실행 전에 어떻게 처리되는지 알아봅니다.</description>
    <pubDate>Tue, 04 Feb 2025 00:00:00 GMT</pubDate>
    <author>kowonp@gmail.com (GW)</author>
    <category>javascript</category>
  </item>

  <item>
    <guid>https://github.com/GitHubGW/blog/how-javascript-executes-code</guid>
    <title>JavaScript는 코드를 어떻게 실행할까?</title>
    <link>https://github.com/GitHubGW/blog/how-javascript-executes-code</link>
    <description>JavaScript는 코드를 어떤 순서로 실행할까요? 실행 컨텍스트와 콜 스택을 중심으로 JavaScript 엔진의 실행 과정을 알아봅니다.</description>
    <pubDate>Wed, 15 Jan 2025 00:00:00 GMT</pubDate>
    <author>kowonp@gmail.com (GW)</author>
    <category>javascript</category>
  </item>

  <item>
    <guid>https://github.com/GitHubGW/blog/imperative-vs-declarative-programming</guid>
    <title>명령형 프로그래밍과 선언형 프로그래밍, 무엇이 다를까?</title>
    <link>https://github.com/GitHubGW/blog/imperative-vs-declarative-programming</link>
    <description>명령형과 선언형 프로그래밍의 차이를 How와 What 관점에서 살펴보고, JavaScript와 React 예제를 통해 추상화와 트레이드오프를 정리합니다.</description>
    <pubDate>Sun, 22 Dec 2024 00:00:00 GMT</pubDate>
    <author>kowonp@gmail.com (GW)</author>
    <category>programming</category>
  </item>

    </channel>
  </rss>
