PageSourceSearch

https://teddygood.github.io/projects

html teddygood.github.io collected 2026-10-03 10:03:54 UTC 23,978 bytes, 30 lines download raw bytes

1<!doctype html>
2<html lang="ko-KR" dir="ltr" class="plugin-blog plugin-id-projects" data-has-hydrated="false">
3<head>
4<meta charset="UTF-8">
5<meta name="generator" content="Docusaurus v3.9.2">
6<title data-rh="true">Projects @ Chanho Lee</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://teddygood.github.io/projects"><meta data-rh="true" property="og:locale" content="ko_KR"><meta data-rh="true" property="og:locale:alternate" content="en"><meta data-rh="true" name="docusaurus_locale" content="ko"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="ko"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" property="og:title" content="Projects @ Chanho Lee"><meta data-rh="true" name="description" content="A showcase of Chanho Lee&#x27;s projects"><meta data-rh="true" property="og:description" content="A showcase of Chanho Lee&#x27;s projects"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://teddygood.github.io/projects"><link data-rh="true" rel="alternate" href="https://teddygood.github.io/projects" hreflang="ko-KR"><link data-rh="true" rel="alternate" href="https://teddygood.github.io/en/projects" hreflang="en"><link data-rh="true" rel="alternate" href="https://teddygood.github.io/projects" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://3GO7VFCZS7-dsn.algolia.net" crossorigin="anonymous"><link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Chanho Lee RSS Feed">
7<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Chanho Lee Atom Feed">
8
9<link rel="preconnect" href="https://www.google-analytics.com">
10<link rel="preconnect" href="https://www.googletagmanager.com">
vendor: 64 bytes, lines 10-11
10
11<script async src="https://www.googletagmanager.com/gtag/js?id=
11G-EFT0SBFJCH
vendor: 12 bytes, line 11
11"></script>
12<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-EFT0SBFJCH",{})</script>
12
13
14
15
16<link rel="search" type="application/opensearchdescription+xml" title="Chanho Lee" href="/opensearch.xml">
17<link rel="alternate" type="application/rss+xml" href="/projects/rss.xml" title="Chanho Lee Projects RSS Feed">
18<link rel="alternate" type="application/atom+xml" href="/projects/atom.xml" title="Chanho Lee Projects Atom Feed">
19<link rel="alternate" type="application/json" href="/projects/feed.json" title="Chanho Lee Projects JSON Feed">
20<link rel="stylesheet" href="/katex/katex.min.css"><link rel="stylesheet" href="/assets/css/styles.f39f6a14.css">
21<script src="/assets/js/runtime~main.aa2f76ad.js" defer="defer"></script>
vendor: 1 bytes, line 21
21
22<script src="/assets/js/main.f2895bc6.js" defer="defer"></script>
22
23</head>
24<body class="navigation-with-keyboard">
25<svg style="display: none;"><defs>
26<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
27</defs></svg>
28<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script>
28<div id="__docusaurus"><div role="region" aria-label="본문으로 건너뛰기"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">본문으로 건너뛰기</a></div><nav aria-label="메인" class="theme-layout-navbar navbar navbar--fixed-top"><div class="navbar__inner"><div class="theme-layout-navbar-left navbar__items"><button aria-label="사이드바 펼치거나 접기" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo-new.png" alt="My Site Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo-new.png" alt="My Site Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">Chanho Lee</b></a><a class="navbar__item navbar__link" href="/wiki/introduction">Wiki</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/projects">Projects</a><a class="navbar__item navbar__link" href="/blog/archive">Blog</a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link"><svg viewBox="0 0 24 24" width="20" height="20" aria-hidden="true" class="iconLanguage_nlXk"><path fill="currentColor" d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path></svg>한국어</a><ul class="dropdown__menu"><li><a href="/projects" target="_self" rel="noopener noreferrer" class="dropdown__link dropdown__link--active" lang="ko-KR">한국어</a></li><li><a href="/en/projects" target="_self" rel="noopener noreferrer" class="dropdown__link" lang="en">English</a></li></ul></div><a href="https://github.com/teddygood" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link header-github-link" aria-label="GitHub repository"></a><a href="https://www.linkedin.com/in/teddygood/" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link header-linkedin-link" aria-label="LinkedIn Account"></a><a href="https://x.com/chanholxx" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link header-x-link" aria-label="X Account"></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="system mode" aria-label="어두운 모드와 밝은 모드 전환하기 (현재 system mode)"><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP darkToggleIcon_
28wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_g3eP systemToggleIcon_QzmC"><path fill="currentColor" d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="검색 (Meta+k)" aria-keyshortcuts="Meta+k"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 24 24" aria-hidden="true"><circle cx="11" cy="11" r="8" stroke="currentColor" fill="none" stroke-width="1.4"></circle><path d="m21 21-4.3-4.3" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">검색</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_z2l0"><main class="container margin-vert--lg"><div style="max-width:1200px;margin:0 auto"><div class="margin-bottom--lg" style="display:flex;gap:1.5rem;border-bottom:1px solid var(--ifm-color-emphasis-200);padding-bottom:0.5rem"><button style="background:none;border:none;border-bottom:2px solid var(--ifm-color-primary);padding:0.5rem 0;cursor:pointer;font-size:1rem;font-weight:bold;color:var(--ifm-color-primary);transition:all 0.2s">All</button><button style="background:none;border:none;border-bottom:2px solid transparent;padding:0.5rem 0;cursor:pointer;font-size:1rem;font-weight:normal;color:var(--ifm-color-emphasis-700);transition:all 0.2s">Team Project</button><button style="background:none;border:none;border-bottom:2px solid transparent;padding:0.5rem 0;cursor:pointer;font-size:1rem;font-weight:normal;color:var(--ifm-color-emphasis-700);transition:all 0.2s">Kaggle Competition</button><button style="background:none;border:none;border-bottom:2px solid transparent;padding:0.5rem 0;cursor:pointer;font-size:1rem;font-weight:normal;color:var(--ifm-color-emphasis-700);transition:all 0.2s">Open Source</button><button style="background:none;border:none;border-bottom:2px solid transparent;padding:0.5rem 0;cursor:pointer;font-size:1rem;font-weight:normal;color:var(--ifm-color-emphasis-700);transition:all 0.2s">Personal Project</button><button style="background:none;border:none;border-bottom:2px solid transparent;padding:0.5rem 0;cursor:pointer;font-size:1rem;font-weight:normal;color:var(--ifm-color-emphasis-700);transition:all 0.2s">Work Project</button></div><div class="row"><div class="col col--4 margin-bottom--xl"><div class="margin-bottom--lg"><a style="display:block;margin-bottom:1rem" href="/projects/doc-to-rag-benchmark"><img src="/img/projects/doc-to-rag-benchmark/experience/experience-01-expanded.png" alt="Doc-to-RAG Benchmark" style="object-fit:contain;width:100%;height:220px;border-radius:8px;border:1px solid var(--ifm-color-emphasis-200)"></a><a style="text-decoration:none;color:inherit" href="/projects/doc-to-rag-benchmark"><h3 style="margin-bottom:0.5rem;font-size:1.25rem;font-weight:bold">Doc-to-RAG Benchmark</h3></a><p style="margin-bottom:0.75rem;color:var(--ifm-color-emphasis-700);font-size:0.95rem">Doc-to-Text에서 평가 가능한 RAG 데이터까지 | Meta Llama Academy 워크숍에서 진행한 PDF 기반 Doc-to-RAG Benchmark 구축 프로젝트 회고</p><div style="display:flex;gap:0.5rem;flex-wrap:wrap"><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">LangGraph</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">Upstage API</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">Solar Pro 2</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">Llama 3.2</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">PDF Parsing</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">QLoRA</span></div></div></div><div class="col col--4 margin-bottom--xl"><div class="margin-bottom--lg"><a style="display:block;margin-bottom:1rem" href="/projects/nano-vllm"><img src="/img/projects/nano-vllm/nano-vllm-github-card.png" alt="nano-vllm" style="object-fit:contain;width:100%;height:220px;border-radius:8px;border:1px solid var(--ifm-color-emphasis-200)"></a><a style="text-decoration:none;color:inherit" href="/projects/nano-vllm"><h3 style="margin-bottom:0.5rem;font-size:1.25rem;font-weight:bold">nano-vllm</h3></a><p style="margin-bottom:0.75rem;color:var(--ifm-color-emphasis-700);font-size:0.95rem">AER Labs에서 4명이 함께 진행한 C++ 기반 교육용 LLM inference engine 프로젝트로, continuous batching scheduler와 GPU benchmark 문서화를 구현한 팀 프로젝트</p><div style="display:flex;gap:0.5rem;flex-wrap:wrap"><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">C++</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">LLM Serving</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">Scheduling</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">Benchmarking</span></div></div></div><div class="col col--4 margin-bottom--xl"><div class="margin-bottom--lg"><a style="display:block;margin-bottom:1rem" href="/projects/optiver-kaggle"><img src="/img/projects/optiver-kaggle/optiver-kaggle-header-aspect-v2.png" alt="Optiver &quot;Trading at the Close&quot; 대회" style="object-fit:contain;width:100%;height:220px;border-radius:8px;border:1px solid var(--ifm-color-emphasis-200)"></a><a style="text-decoration:none;color:inherit" href="/projects/optiver-kaggle"><h3 style="margin-bottom:0.5rem;font-size:1.25rem;font-weight:bold">Optiver &quot;Trading at the Close&quot; 대회</h3></a><p style="margin-bottom:0.75rem;color:var(--ifm-color-emphasis-700);font-size:0.95rem">Kaggle Optiver - Trading at the Close 대회 (Top 30%)</p><div style="display:flex;gap:0.5rem;flex-wrap:wrap"><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">Python</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">LightGBM</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">Numba</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">Pandas</span></div></div></div><div class="col col--4 margin-bottom--xl"><div class="margin-bottom--lg"><a style="display:block;margin-bottom:1rem" href="/projects/pyodide"><img src="/img/projects/pyodide/logo-pyodide-repositioned.png" alt="Pyodide" style="object-fit:contain;width:100%;height:220px;border-radius:8px;border:1px solid var(--ifm-color-emphasis-200)"></a><a style="text-decoration:none;color:inherit" href="/projects/pyodide"><h3 style="margin-bottom:0.5rem;font-size:1.25rem;font-weight:bold">Pyodide</h3></a><p style="margin-bottom:0.75rem;color:var(--ifm-color-emphasis-700);font-size:0.95rem">Pyodide 빌드 시스템 개선과 WASM SIMD 최적화 기여</p><div style="display:flex;gap:0.5rem;flex-wrap:wrap"><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">Python</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">WebAssembly</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">C++</span></div></div></div><div class="col col--4 margin-bottom--xl"><div class="margin-bottom--lg"><a style="display:block;margin-bottom:1rem" href="/projects/recs-behavior-platform"><img src="/img/projects/recs-behavior-platform/architecture.png" alt="RecSys 행동 이벤트 플랫폼" style="object-fit:contain;width:100%;height:220px;border-radius:8px;border:1px solid var(--ifm-color-emphasis-200)"></a><a style="text-decoration:none;color:inherit" href="/projects/recs-behavior-platform"><h3 style="margin-bottom:0.5rem;font-size:1.25rem;font-weight:bold">RecSys 행동 이벤트 플랫폼</h3></a><p style="margin-bottom:0.75rem;color:var(--ifm-color-emphasis-700);font-size:0.95rem">Synerise RecSys 2025 행동 로그를 Java, Kafka, Flink, Elasticsearch 기반 event-to-feature pipeline으로 재해석한 백엔드 프로젝트</p><div style="display:flex;gap:0.5rem;flex-wrap:wrap"><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">Java</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">Python</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">Kafka</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">Flink</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">Elasticsearch</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">
28Docker</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">Kubernetes</span></div></div></div><div class="col col--4 margin-bottom--xl"><div class="margin-bottom--lg"><a style="display:block;margin-bottom:1rem" href="/projects/serverless-code-review"><img src="/img/projects/serverless-code-review/architecture.png" alt="LLM PR Reviewer" style="object-fit:contain;width:100%;height:220px;border-radius:8px;border:1px solid var(--ifm-color-emphasis-200)"></a><a style="text-decoration:none;color:inherit" href="/projects/serverless-code-review"><h3 style="margin-bottom:0.5rem;font-size:1.25rem;font-weight:bold">LLM PR Reviewer</h3></a><p style="margin-bottom:0.75rem;color:var(--ifm-color-emphasis-700);font-size:0.95rem">GitHub PR diff를 수집하고 Amazon Bedrock으로 리뷰 코멘트를 생성하는 서버리스 PR 리뷰 워크플로</p><div style="display:flex;gap:0.5rem;flex-wrap:wrap"><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">AWS Lambda</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">API Gateway</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">DynamoDB</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">DynamoDB Streams</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">EventBridge</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">SNS</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">Amazon S3</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">Amazon Bedrock Knowledge Bases</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">Amazon OpenSearch Serverless</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">Amazon Bedrock</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">Anthropic Claude 3.5 Sonnet v2</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">GitHub API</span></div></div></div><div class="col col--4 margin-bottom--xl"><div class="margin-bottom--lg"><a style="display:block;margin-bottom:1rem" href="/projects/wasm-bindgen-float16array"><img src="/img/projects/wasm-bindgen-float16array/wasm-bindgen-github-card.png" alt="wasm-bindgen Float16Array 기여" style="object-fit:contain;width:100%;height:220px;border-radius:8px;border:1px solid var(--ifm-color-emphasis-200)"></a><a style="text-decoration:none;color:inherit" href="/projects/wasm-bindgen-float16array"><h3 style="margin-bottom:0.5rem;font-size:1.25rem;font-weight:bold">wasm-bindgen Float16Array 기여</h3></a><p style="margin-bottom:0.75rem;color:var(--ifm-color-emphasis-700);font-size:0.95rem">js-sys에 Float16Array와 DataView float16 지원을 추가하며 Rust stable 제약 아래 public API 경계를 정리한 오픈소스 기여</p><div style="display:flex;gap:0.5rem;flex-wrap:wrap"><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">Rust</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">WebAssembly</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">JavaScript</span><span style="background-color:var(--ifm-color-emphasis-200);color:var(--ifm-color-emphasis-800);border-radius:4px;padding:0.2rem 0.5rem;font-size:0.8rem">js-sys</span></div></div></div></div></div></main></div></div>
29</body>
30</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.