<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Kihyun Ryu</title>
    <link>https://khryu.dev</link>
    <description>웹 개발 분야의 다양한 주제를 글로 다룹니다.</description>
    <language>ko</language>
    <lastBuildDate>Mon, 31 Aug 2026 12:11:42 GMT</lastBuildDate>
    <atom:link href="https://khryu.dev/feed.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title><![CDATA[4단계: TrueSkill 베이지안 레이팅 (체스의 Elo나 Glicko-2 대신 왜 TrueSkill일까?)]]></title>
      <link>https://khryu.dev/writing/Data/trueskill-bayesian-rating</link>
      <guid isPermaLink="true">https://khryu.dev/writing/Data/trueskill-bayesian-rating</guid>
      <description><![CDATA[쇼트트랙의 다자간 순위 경쟁을 모델링하기 위한 TrueSkill 베이지안 레이팅 엔진과 18,425경기 백테스트 검증 결과를 다룹니다.]]></description>
      <pubDate>Sat, 29 Aug 2026 18:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[3단계: 공백 복귀율과 Stop Rule (선수가 1년 동안 대회에 안 나오면 은퇴일까, 휴식일까?)]]></title>
      <link>https://khryu.dev/writing/Data/gap-return-rates-and-stop-rule</link>
      <guid isPermaLink="true">https://khryu.dev/writing/Data/gap-return-rates-and-stop-rule</guid>
      <description><![CDATA[대한체육회 20년 출전 데이터 전수조사를 통해 1시즌 공백 시 복귀율(10.72%)과 수학적 Stop Rule(n=1)을 수립한 의사결정 과정을 다룹니다.]]></description>
      <pubDate>Sat, 29 Aug 2026 15:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[2단계: 코호트 생존분석과 잔존율 (초등학생 때 1등 하던 아이들은 나중에 어떻게 될까?)]]></title>
      <link>https://khryu.dev/writing/Data/cohort-survival-analysis</link>
      <guid isPermaLink="true">https://khryu.dev/writing/Data/cohort-survival-analysis</guid>
      <description><![CDATA[20년 추적 데이터를 바탕으로 초등 유망주의 성적 밴드별 중·고·대학 생존 확률과 좌측 절단(Left-truncation) 보정 기법을 다룹니다.]]></description>
      <pubDate>Sat, 29 Aug 2026 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[1단계: 백분위수와 K-익명성 (이 기록은 전국에서 상위 몇 %일까?)]]></title>
      <link>https://khryu.dev/writing/Data/percentile-and-k-anonymity</link>
      <guid isPermaLink="true">https://khryu.dev/writing/Data/percentile-and-k-anonymity</guid>
      <description><![CDATA[쇼트트랙 기록의 상대평가를 위한 백분위수 산출과 선수 신원 보호를 위한 K-익명성(k >= 10) 적용 원리를 다룹니다.]]></description>
      <pubDate>Sat, 29 Aug 2026 09:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[React 리렌더링 범위는 어떻게 결정될까]]></title>
      <link>https://khryu.dev/writing/Frontend/react-rerender-scope</link>
      <guid isPermaLink="true">https://khryu.dev/writing/Frontend/react-rerender-scope</guid>
      <description><![CDATA[setState 호출 시 React가 컴포넌트 트리를 순회하며 리렌더링을 건너뛰는(Bailout) 내부 메커니즘과 상태 위치에 따른 렌더링 최적화 원리를 다룹니다.]]></description>
      <pubDate>Wed, 19 Aug 2026 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[GitHub Pages의 Enforce HTTPS 동작 원리와 4계층 네트워크]]></title>
      <link>https://khryu.dev/writing/Computer-Science/github-pages-enforce-https</link>
      <guid isPermaLink="true">https://khryu.dev/writing/Computer-Science/github-pages-enforce-https</guid>
      <description><![CDATA[GitHub Pages의 Enforce HTTPS 설정 시 DNS, TCP, TLS 인증서 자동 발급, 301 리다이렉트가 맞물려 동작하는 4단계 네트워크 흐름을 살펴봅니다.]]></description>
      <pubDate>Sat, 15 Aug 2026 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[왜 React는 함수형 컴포넌트를 중심으로 흘러갔을까]]></title>
      <link>https://khryu.dev/writing/Frontend/why-functional-components</link>
      <guid isPermaLink="true">https://khryu.dev/writing/Frontend/why-functional-components</guid>
      <description><![CDATA[React가 클래스형 컴포넌트에서 함수형 컴포넌트로 전환된 이유를 상태 보존 메커니즘과 Fast Refresh 관점에서 살펴봅니다.]]></description>
      <pubDate>Mon, 06 Apr 2026 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[선언형 오버레이의 의미와 React의 모달 관리 패턴]]></title>
      <link>https://khryu.dev/writing/Frontend/declarative-overlay</link>
      <guid isPermaLink="true">https://khryu.dev/writing/Frontend/declarative-overlay</guid>
      <description><![CDATA[토스의 useOverlay(overlay-kit)가 말하는 '선언형'의 의미를 추상화 관점에서 분석하고, React에서 모달을 관리하는 세 가지 패턴의 장단점과 선택 기준을 살펴봅니다.]]></description>
      <pubDate>Sun, 15 Mar 2026 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA["use client"와 Hydration Mismatch의 동작 원리]]></title>
      <link>https://khryu.dev/writing/Frontend/nextjs-hydration-mismatch</link>
      <guid isPermaLink="true">https://khryu.dev/writing/Frontend/nextjs-hydration-mismatch</guid>
      <description><![CDATA[Next.js에서 "use client" 지시어의 실제 의미와 Client Component가 서버에서 실행되는 이유, Hydration Mismatch의 발생 원인과 해결 패턴을 살펴봅니다.]]></description>
      <pubDate>Tue, 10 Mar 2026 12:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[React 훅은 왜 조건부로 호출할 수 없을까]]></title>
      <link>https://khryu.dev/writing/Frontend/react-hooks-%EC%A1%B0%EA%B1%B4%EB%B6%80-%ED%98%B8%EC%B6%9C</link>
      <guid isPermaLink="true">https://khryu.dev/writing/Frontend/react-hooks-%EC%A1%B0%EA%B1%B4%EB%B6%80-%ED%98%B8%EC%B6%9C</guid>
      <description><![CDATA[React가 훅에 Key를 넘기는 대신 호출 순서 기반의 연결 리스트를 선택한 이유와, 조건부 훅 호출이 상태를 망가뜨리는 내부 원리를 살펴봅니다.]]></description>
      <pubDate>Sat, 14 Feb 2026 23:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>