<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title><![CDATA[김준하 | 프론트엔드 중심 풀스택 개발자]]></title>
    <link>https://kimjunha.vercel.app/blog</link>
    <description><![CDATA[성능 최적화, 인터랙션, 확장 가능한 아키텍처를 고민하는 김준하의 포트폴리오와 기술 블로그입니다.]]></description>
    <language>ko-KR</language>
    <lastBuildDate>Fri, 07 Aug 2026 11:18:23 GMT</lastBuildDate>
    <atom:link href="https://kimjunha.vercel.app/rss.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title><![CDATA[dnd-kit useSortable이 React.memo로 막히지 않는 이유와 렌더링 경계 분리]]></title>
      <link>https://kimjunha.vercel.app/blog/dnd-kit-rendering-boundary-optimization</link>
      <guid isPermaLink="true">https://kimjunha.vercel.app/blog/dnd-kit-rendering-boundary-optimization</guid>
      <description><![CDATA[dnd-kit의 useSortable이 Context를 구독하는 구조를 따라가며 React.memo가 실패한 이유를 확인하고, Render Props와 컴포넌트 분리로 렌더링 경계를 나누는 방법을 정리합니다.]]></description>
      <pubDate>Sun, 26 Jul 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[React / Performance]]></category>
    </item>
    <item>
      <title><![CDATA[웹사이트 렌더링 전략의 변천사: JSP부터 SPA, SSR, CSR, 하이브리드까지]]></title>
      <link>https://kimjunha.vercel.app/blog/web-rendering-evolution</link>
      <guid isPermaLink="true">https://kimjunha.vercel.app/blog/web-rendering-evolution</guid>
      <description><![CDATA[JSP와 서버 템플릿부터 SPA·CSR, SSR·SSG·ISR, React Server Components와 부분 사전 렌더링까지 웹사이트 렌더링 전략이 어떻게 변해왔는지 요청 흐름과 선택 기준으로 정리합니다.]]></description>
      <pubDate>Thu, 23 Jul 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Web Architecture / Rendering]]></category>
    </item>
    <item>
      <title><![CDATA[Redis 자료구조 완벽 가이드: String부터 Stream까지, 어떤 구조를 선택할까?]]></title>
      <link>https://kimjunha.vercel.app/blog/redis-data-structures-deep-dive</link>
      <guid isPermaLink="true">https://kimjunha.vercel.app/blog/redis-data-structures-deep-dive</guid>
      <description><![CDATA[Redis의 String, Hash, List, Set, Sorted Set, Stream과 Bitmap·HyperLogLog·Geospatial·JSON을 명령어, 시간복잡도, 메모리, 실무 선택 기준으로 정리합니다.]]></description>
      <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Redis / Data Structures]]></category>
    </item>
    <item>
      <title><![CDATA[수신자 선택 목록을 Redis Draft로 관리한 이유]]></title>
      <link>https://kimjunha.vercel.app/blog/redis-draft-hybrid-pagination</link>
      <guid isPermaLink="true">https://kimjunha.vercel.app/blog/redis-draft-hybrid-pagination</guid>
      <description><![CDATA[스마트 메시징 시스템에서 여러 검색 결과를 오가며 선택한 수신자를 Redis Draft로 관리하고, Oracle과 하이브리드 페이징으로 조회한 구조를 정리했습니다.]]></description>
      <pubDate>Sun, 19 Jul 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Spring Boot / Redis]]></category>
    </item>
  </channel>
</rss>