PageSourceSearch

https://ohah.github.io/monthly-opensource/index.html

html ohah.github.io collected 2026-10-03 09:42:26 UTC 132,291 bytes, 55 lines download raw bytes

1<!doctype html>
2<html lang="en">
3  <head><meta charset="utf-8">
4<meta name="viewport" content="width=device-width, initial-scale=1">
5<title>월간 오픈소스 활동 - ohah</title>
6<script>{;const saved = localStorage.getItem('rspress-theme-appearance');const preferDark = window.matchMedia('(prefers-color-scheme: dark)').matches;const defaultTheme = 'auto';const theme = saved === 'light' || saved === 'dark' || saved === 'auto' ? saved : defaultTheme;const isDark = theme === 'auto' ? preferDark : theme === 'dark';document.documentElement.classList.toggle('dark', isDark);document.documentElement.classList.toggle('rp-dark', isDark);document.documentElement.style.colorScheme = isDark ? 'dark' : 'light';}</script>
6
7<link href="/static/css/styles.6afadd1d74.css" rel="stylesheet">
8<link rel="preload" href="/static/js/async/route-1c22031d4c09.18f4a82f0f.js" as="script">
9<script defer src="/static/js/styles.5db056e0eb.js"></script>
vendor: 1 bytes, line 9
9
10<script defer src="/static/js/lib-react.9e85229ab3.js"></script>
vendor: 1 bytes, line 10
10
11<script defer src="/static/js/lib-router.2637f090c7.js"></script>
vendor: 1 bytes, line 11
11
12<script defer src="/static/js/y.a594bfc419.js"></script>
vendor: 1 bytes, line 12
12
13<script defer src="/static/js/index.db369632c0.js"></script>
13
14<meta http-equiv="X-UA-Compatible" content="IE=edge">
15<meta name="generator" content="Rspress v2.0.22">
16<meta property="og:type" content="website">
17<meta property="og:title" content="월간 오픈소스 활동 - ohah">
18<meta name="description" content="매달 기여한 오픈소스 활동을 정리합니다.">
19<meta property="og:description" content="매달 기여한 오픈소스 활동을 정리합니다."></head>
20
21  <body>
22    <div id="__rspress_root"><header class="rp-nav"><div class="rp-nav__left"><div class="rp-nav__title"><a href="/" class="rp-nav__title__link rp-link"><span>ohah</span></a></div></div><div class="rp-nav__right"><button class="rp-search-button"><div class="rp-search-button__content"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="none" viewBox="0 0 20 21" class="rp-search-button__icon"><path fill="currentColor" d="M8.333 1.913A6.667 6.667 0 0 1 15 8.58c0 1.54-.525 2.957-1.402 4.085l4.49 4.492a.834.834 0 0 1-1.177 1.178l-4.491-4.49a6.64 6.64 0 0 1-4.087 1.402 6.667 6.667 0 0 1 0-13.334m0 1.667a5 5 0 1 0 0 10 5 5 0 0 0 0-10"></path></svg><span class="rp-search-button__word">Search</span></div><div class="rp-search-button__hotkey" style="opacity:0"><span></span><span>K</span></div></button><div class="rp-search-button--mobile"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="none" viewBox="0 0 20 21"><path fill="currentColor" d="M8.333 1.913A6.667 6.667 0 0 1 15 8.58c0 1.54-.525 2.957-1.402 4.085l4.49 4.492a.834.834 0 0 1-1.177 1.178l-4.491-4.49a6.64 6.64 0 0 1-4.087 1.402 6.667 6.667 0 0 1 0-13.334m0 1.667a5 5 0 1 0 0 10 5 5 0 0 0 0-10"></path></svg></div><ul class="rp-nav-menu rp-nav-menu--right"><li class="rp-nav-menu__item rp-nav-menu__item--active"><a href="/monthly-opensource/index.html" class="rp-nav-menu__item__container rp-link">월간 오픈소스</a></li><li class="rp-nav-menu__item"><a href="/reviews/index.html" class="rp-nav-menu__item__container rp-link">리뷰</a></li><li class="rp-nav-menu__item"><a href="/today-commit/index.html" class="rp-nav-menu__item__container rp-link">오늘의 커밋</a></li></ul><div class="rp-nav__others"><div class="rp-nav-menu__divider"></div><div class="rp-switch-appearance"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 24 24" class="rp-switch-appearance__icon rp-switch-appearance__icon--sun"><path fill="currentColor" d="m7.001 15.848-1.226 1.226a.58.58 0 0 0 0 .818.58.58 0 0 0 .818 0l1.226-1.226a.58.58 0 0 0 0-.818.58.58 0 0 0-.818 0m-.352-8.735a.584.584 0 0 0 .825-.825L6.237 5.051a.584.584 0 0 0-.825.825zM5.011 11.07h-1.75a.584.584 0 0 0 0 1.167h1.75c.324 0 .584-.26.584-.583a.585.585 0 0 0-.584-.584m7.003-5.835c.324 0 .584-.26.584-.584V2.9a.58.58 0 0 0-.584-.584.58.58 0 0 0-.583.583V4.65c0 .323.262.584.583.584m5.616 1.621 1.226-1.225a.58.58 0 0 0 0-.818.58.58 0 0 0-.818 0l-1.226 1.225a.58.58 0 0 0 0 .818.576.576 0 0 0 .818 0m3.138 4.214h-1.75a.58.58 0 0 0-.584.584c0 .324.26.584.583.584h1.751a.584.584 0 1 0 0-1.167m-3.389 5.124a.584.584 0 0 0-.825.825l1.238 1.238a.584.584 0 0 0 .825-.826zm-5.365-9.795a5.256 5.256 0 0 0-5.257 5.258 5.256 5.256 0 0 0 5.257 5.257 5.256 5.256 0 0 0 5.257-5.257 5.256 5.256 0 0 0-5.257-5.258m0 11.675a.58.58 0 0 0-.583.583v1.751a.582.582 0 1 0 1.167 0v-1.75a.584.584 0 0 0-.584-.584"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="19" height="19" fill="currentColor" viewBox="0 0 19 19" class="rp-switch-appearance__icon rp-switch-appearance__icon--moon"><path fill="currentColor" d="M9.166 0a9.2 9.2 0 0 1 1.857.188.834.834 0 0 1 .042 1.623 4.47 4.47 0 1 0 5.457 5.457l.048-.135a.834.834 0 0 1 1.575.177q.186.902.188 1.856A9.168 9.168 0 1 1 9.166 0"></path></svg></div><div class="rp-social-links"><a href="https://github.com/ohah" target="_blank" rel="noopener noreferrer" class="rp-social-links__item"><div class="rp-social-links__icon"><div class="rp-social-links__icon"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 24 24"><path fill="currentColor" d="M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></div></div></a><ul class="rp-hover-group rp-hover-group--hidden rp-hover-group--right"></ul></div></div><button aria-label="mobile hamburger" class="rp-nav-hamburger rp-nav-hamburger__sm"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" viewBox="0 0 21 21"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.667" d="M3.645 5.225h13.333M3.645 10.225h13.333M3.645 15.225h13.333"></path></svg></button><button aria-label="mobile hamburger" class="rp-nav-hamburger rp-nav-hamburger__md"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" fill="none" viewBox="0 0 21 21"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.667" d="M3.645 5.225h13.333M3.645 10.225h13.333M3.645 15.225h13.333"></path></svg><ul class="rp-hover-group rp-hover-group--hidden rp-hover-group--right"><div class="rp-nav-menu__others-mobile__container"><div class="rp-nav-hamburger__md__hover-group"><div class="rp-nav-screen-appearance"><div class="rp-nav-screen-appearance__left">Theme</div><div class="rp-nav-screen-appearance__right"></div></div><div class="rp-nav-screen-divider"></div><div class="rp-social-links"><a href="https://github.com/ohah" target="_blank" rel="noopener noreferrer" class="rp-social-links__item"><div class="rp-social-links__icon"><div class="rp-social-links__icon">
22<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 24 24"><path fill="currentColor" d="M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></div></div></a><ul class="rp-hover-group rp-hover-group--hidden rp-hover-group--right"></ul></div></div></div></ul></button></div></header><div class="rp-doc-layout__menu"><div class="rp-sidebar-menu"><button type="button" class="rp-sidebar-menu__left"><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M4 6h24v2H4zm0 18h24v2H4zm0-12h24v2H4zm0 6h24v2H4z"></path></svg><span>Menu</span></button><button type="button" class="rp-sidebar-menu__right"><span class="rp-sidebar-menu__right__text">ON THIS PAGE</span><svg width="14" height="14" class="rp-progress-circle"><circle cx="7" cy="7" r="6" stroke-linecap="round" fill="none" stroke="var(--rp-c-divider-light)" stroke-width="2"></circle><circle cx="7" cy="7" r="6" stroke-linecap="round" fill="none" stroke="var(--rp-c-brand)" stroke-width="2" stroke-dasharray="37.69911184307752" stroke-dashoffset="37.69911184307752" transform="rotate(-90 7 7)" style="transition:stroke-dashoffset 0.3s"></circle></svg><svg width="1em" height="1em" viewBox="0 0 32 32" class="rp-sidebar-menu__right__icon" style="transform:rotate(0deg);transition:transform 0.2s ease-out"><path fill="currentColor" d="M22 16 12 26l-1.4-1.4 8.6-8.6-8.6-8.6L12 6z"></path></svg></button></div></div><div class="rp-doc-layout__container"><aside class="rp-doc-layout__sidebar rp-scrollbar"><a href="/monthly-opensource/index.html" class="rp-sidebar-item rp-sidebar-item--active rp-link" style="padding-left:12px" data-depth="0"><div class="rp-sidebar-item__left"><span class="rp-doc">월간 오픈소스</span></div><div class="rp-sidebar-item__right"></div></a><div class="rp-sidebar-item rp-sidebar-group" style="padding-left:12px" data-depth="0"><div class="rp-sidebar-item__left"><span class="rp-doc">Hwpjs</span></div><div class="rp-sidebar-item__right"><div style="cursor:pointer;transition:transform 0.2s ease-out;transform:rotate(0deg)"><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M22 16 12 26l-1.4-1.4 8.6-8.6-8.6-8.6L12 6z"></path></svg></div></div></div><div style="display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.2s ease-out"><div style="overflow:hidden"><a href="/monthly-opensource/hwpjs/background.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">1. 개발 배경</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">25.12.05</span></div></a><a href="/monthly-opensource/hwpjs/tech-stack.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">2. 기술 스택</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">25.12.06</span></div></a><a href="/monthly-opensource/hwpjs/development.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3. 개발 과정</span></div><div class="rp-sidebar-item__right"></div></a><a href="/monthly-opensource/hwpjs/development-1.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-1. 구조 잡기</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">
2225.12.06</span></div></a><a href="/monthly-opensource/hwpjs/development-2.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-2. 코어 개발하기</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">25.12.10</span></div></a><a href="/monthly-opensource/hwpjs/development-3.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-3. 배포(NAPI-RS)</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.01.17</span></div></a><a href="/monthly-opensource/hwpjs/development-4.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-4. 배포(Craby)</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.01.17</span></div></a><a href="/monthly-opensource/hwpjs/development-5.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-5. 배포(WebAssembly)</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.01.18</span></div></a><a href="/monthly-opensource/hwpjs/development-6.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-6. HTML 뷰어 고도화</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.02.23</span></div></a><a href="/monthly-opensource/hwpjs/development-7.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-7. 테이블 렌더링 완성도 높이기</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.14</span></div></a><a href="/monthly-opensource/hwpjs/development-8.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-8. LineSeg 합성과 페이지네이션</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.15</span></div></a><a href="/monthly-opensource/hwpjs/development-9.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-9. Rust 를 접고 Zig 로 다시 쓰다</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.09.21</span></div></a><a href="/monthly-opensource/hwpjs/development-10.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-10. HWPX를 열고, 읽었다는 것을 검증하다</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.09.26</span></div></a></div></div><div class="rp-sidebar-item rp-sidebar-group" style="padding-left:12px" data-depth="0"><div class="rp-sidebar-item__left"><span class="rp-doc">크로미움</span></div><div class="rp-sidebar-item__right"><div style="cursor:pointer;transition:transform 0.2s ease-out;transform:rotate(0deg)"><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M22 16 12 26l-1.4-1.4 8.6-8.6-8.6-8.6L12 6z"></path></svg></div></div></div><div style="display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.2s ease-out"><div style="overflow:hidden"><a href="/monthly-opensource/chromium/background.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">1. 개발 배경</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">
2225.12.15</span></div></a><a href="/monthly-opensource/chromium/setup.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">2. 환경 설정</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">작성 예정</span></div></a><a href="/monthly-opensource/chromium/first-contribution.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3. 첫 번째 기여</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">작성 예정</span></div></a><a href="/monthly-opensource/chromium/code-review.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">4. 코드 리뷰 과정</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">작성 예정</span></div></a><a href="/monthly-opensource/chromium/merge.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">5. 머지 및 후기</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">작성 예정</span></div></a></div></div><div class="rp-sidebar-item rp-sidebar-group" style="padding-left:12px" data-depth="0"><div class="rp-sidebar-item__left"><span class="rp-doc">Craby</span></div><div class="rp-sidebar-item__right"><div style="cursor:pointer;transition:transform 0.2s ease-out;transform:rotate(0deg)"><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M22 16 12 26l-1.4-1.4 8.6-8.6-8.6-8.6L12 6z"></path></svg></div></div></div><div style="display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.2s ease-out"><div style="overflow:hidden"><a href="/monthly-opensource/craby/background.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">1. 개발 배경</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.01.18</span></div></a><a href="/monthly-opensource/craby/development.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">2. 기여 과정</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">25.11.15</span></div></a><a href="/monthly-opensource/craby/development-1.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">2-1. EventEmitter 기여</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">25.11.15</span></div></a><a href="/monthly-opensource/craby/development-2.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">2-2. codegen 페이로드 수정</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">25.11.24</span></div></a><a href="/monthly-opensource/craby/development-3.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">2-3. ArrayBuffer Vec 변환 버그 수정</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">25.12.21</span></div></a></div></div><div class="rp-sidebar-item rp-sidebar-group" style="padding-left:12px" data-depth="0"><div class="rp-sidebar-item__left"><span class="rp-doc">Chrome Remote Debugger</span></div><div class="rp-sidebar-item__right"><div style="cursor:pointer;transition:transform 0.2s ease-out;transform:rotate(0deg)"><svg width="1em" height="1em" viewBox="0 0 32 32">
22<path fill="currentColor" d="M22 16 12 26l-1.4-1.4 8.6-8.6-8.6-8.6L12 6z"></path></svg></div></div></div><div style="display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.2s ease-out"><div style="overflow:hidden"><a href="/monthly-opensource/crd/background.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">1. 개발 배경</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.02.03</span></div></a><a href="/monthly-opensource/crd/tech-stack.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">2. 기술 스택</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.02.14</span></div></a><a href="/monthly-opensource/crd/development.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3. 개발 과정</span></div><div class="rp-sidebar-item__right"></div></a><a href="/monthly-opensource/crd/development-1.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-1. CDP 클라이언트와 서버 구현</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">25.12.20</span></div></a><a href="/monthly-opensource/crd/development-2.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-2. DevTools 프론트엔드 연동</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">25.12.21</span></div></a><a href="/monthly-opensource/crd/development-3.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-3. 세션 리플레이 (rrweb)</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">25.12.23</span></div></a><a href="/monthly-opensource/crd/development-4.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-4. PostMessage와 iframe 모드</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">25.12.25</span></div></a><a href="/monthly-opensource/crd/development-5.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-5. NPM 배포와 init() API</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">25.12.27</span></div></a><a href="/monthly-opensource/crd/development-6.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-6. CSS 도메인과 Styles 탭</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">25.12.29</span></div></a><a href="/monthly-opensource/crd/development-7.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-7. 테스트와 코드 품질</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">25.12.30</span></div></a><a href="/monthly-opensource/crd/development-8.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-8. React Native Inspector</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.02.09</span></div></a><a href="/monthly-opensource/crd/development-9.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-9. 마무리와 회고</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.02.15</span></div></a></div></div><div class="rp-sidebar-item rp-sidebar-group" style="padding-left:12px" data-depth="0"><div class="rp-sidebar-item__left"><span class="rp-doc">Electron MCP Server</span></div><div class="rp-sidebar-item__right"><div style="cursor:pointer;transition:transform 0.2s ease-out;transform:rotate(0deg)"><svg width="1em" height="1em" viewBox="0 0 32 32">
22<path fill="currentColor" d="M22 16 12 26l-1.4-1.4 8.6-8.6-8.6-8.6L12 6z"></path></svg></div></div></div><div style="display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.2s ease-out"><div style="overflow:hidden"><a href="/monthly-opensource/electron-mcp-server/background.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">1. 개발 배경</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.02.02</span></div></a><a href="/monthly-opensource/electron-mcp-server/tech-stack.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">2. 기술 스택</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.02.03</span></div></a><a href="/monthly-opensource/electron-mcp-server/development.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3. 개발 과정</span></div><div class="rp-sidebar-item__right"></div></a><a href="/monthly-opensource/electron-mcp-server/development-1.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-1. CDP 연동과 MCP 서버</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.02.04</span></div></a><a href="/monthly-opensource/electron-mcp-server/development-2.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-2. 메인 프로세스 모니터링</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.02.05</span></div></a><a href="/monthly-opensource/electron-mcp-server/development-3.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-3. 토큰 최적화 대작전</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.05</span></div></a><a href="/monthly-opensource/electron-mcp-server/development-4.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-4. 객체 탐색과 연결 준비 다듬기</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.18</span></div></a></div></div><div class="rp-sidebar-item rp-sidebar-group" style="padding-left:12px" data-depth="0"><div class="rp-sidebar-item__left"><span class="rp-doc">React Native MCP</span></div><div class="rp-sidebar-item__right"><div style="cursor:pointer;transition:transform 0.2s ease-out;transform:rotate(0deg)"><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M22 16 12 26l-1.4-1.4 8.6-8.6-8.6-8.6L12 6z"></path></svg></div></div></div><div style="display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.2s ease-out"><div style="overflow:hidden"><a href="/monthly-opensource/react-native-mcp/background.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">1. 개발 배경</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.02.07</span></div></a><a href="/monthly-opensource/react-native-mcp/tech-stack.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">2. 기술 스택</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.02.19</span></div></a><a href="/monthly-opensource/react-native-mcp/development.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3. 개발 과정</span></div><div class="rp-sidebar-item__right"></div></a><a href="/monthly-opensource/react-native-mcp/development-1.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-1. 런타임 인젝션과 Fiber 트리</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.02.19</span></div></a><a href="/monthly-opensource/react-native-mcp/development-2.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-2. 48개 도구와 디바이스 제어</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.02.23</span></div></a><a href="/monthly-opensource/react-native-mcp/development-3.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-3. 토큰 최적화와 안정성</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.05</span></div></a><a href="/monthly-opensource/react-native-mcp/development-4.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-4. 연결 진단과 Snapshot·Refs CLI</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.21</span></div></a></div></div><div class="rp-sidebar-item rp-sidebar-group" style="padding-left:12px" data-depth="0"><div class="rp-sidebar-item__left"><span class="rp-doc">React WASM Table</span></div><div class="rp-sidebar-item__right"><div style="cursor:pointer;transition:transform 0.2s ease-out;transform:rotate(0deg)"><svg width="1em" height="1em" viewBox="0 0 32 32">
22<path fill="currentColor" d="M22 16 12 26l-1.4-1.4 8.6-8.6-8.6-8.6L12 6z"></path></svg></div></div></div><div style="display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.2s ease-out"><div style="overflow:hidden"><a href="/monthly-opensource/react-wasm-table/background.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">1. 개발 배경</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.02.24</span></div></a><a href="/monthly-opensource/react-wasm-table/tech-stack.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">2. 기술 스택</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.02.25</span></div></a><a href="/monthly-opensource/react-wasm-table/development.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3. 개발 과정</span></div><div class="rp-sidebar-item__right"></div></a><a href="/monthly-opensource/react-wasm-table/development-1.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-1. 아키텍처 설계와 WASM 코어</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.02.25</span></div></a><a href="/monthly-opensource/react-wasm-table/development-2.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-2. Canvas 렌더링과 제로카피</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.02.28</span></div></a><a href="/monthly-opensource/react-wasm-table/development-3.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-3. TanStack API 호환과 컴포넌트</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.05</span></div></a><a href="/monthly-opensource/react-wasm-table/development-4.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-4. 모바일 터치 수명과 배포 준비</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.10</span></div></a></div></div><div class="rp-sidebar-item rp-sidebar-group" style="padding-left:12px" data-depth="0"><div class="rp-sidebar-item__left"><span class="rp-doc">Cheolsu Proxy</span></div><div class="rp-sidebar-item__right"><div style="cursor:pointer;transition:transform 0.2s ease-out;transform:rotate(0deg)"><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M22 16 12 26l-1.4-1.4 8.6-8.6-8.6-8.6L12 6z"></path></svg></div></div></div><div style="display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.2s ease-out"><div style="overflow:hidden"><a href="/monthly-opensource/cheolsu-proxy/background.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">1. 개발 배경</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">25.08.14</span></div></a><a href="/monthly-opensource/cheolsu-proxy/tech-stack.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">2. 기술 스택</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.09.26</span></div></a><a href="/monthly-opensource/cheolsu-proxy/development.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3. 개발 과정</span></div><div class="rp-sidebar-item__right"></div></a><a href="/monthly-opensource/cheolsu-proxy/development-1.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-1. TLS와의 전쟁</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">
2225.10.14</span></div></a><a href="/monthly-opensource/cheolsu-proxy/development-2.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-2. 첫 기능들과 1차 위기</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">25.10.19</span></div></a><a href="/monthly-opensource/cheolsu-proxy/development-3.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-3. 부활: 환경 교체와 데몬</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.02.28</span></div></a><a href="/monthly-opensource/cheolsu-proxy/development-4.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-4. MCP 서버와 인터셉트 규칙</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.05</span></div></a><a href="/monthly-opensource/cheolsu-proxy/development-5.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-5. TUI와 스크립팅 엔진</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.07</span></div></a><a href="/monthly-opensource/cheolsu-proxy/development-6.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-6. 다크 테마와 시스템 트레이</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.08</span></div></a><a href="/monthly-opensource/cheolsu-proxy/development-7.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-7. 기능 폭탄의 날</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.09</span></div></a><a href="/monthly-opensource/cheolsu-proxy/development-8.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-8. 보안과 프로토콜 확장</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.10</span></div></a><a href="/monthly-opensource/cheolsu-proxy/development-9.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-9. 리팩토링과 v0.1.0</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.12</span></div></a><a href="/monthly-opensource/cheolsu-proxy/development-10.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-10. 릴리스 이후와 사내 활용</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.14</span></div></a><a href="/monthly-opensource/cheolsu-proxy/development-11.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-11. CLI 통합과 인증서 안정화</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.21</span></div></a><a href="/monthly-opensource/cheolsu-proxy/development-12.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-12. 출시 뒤의 안정성 점검</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.09.26</span></div></a></div></div><div class="rp-sidebar-item rp-sidebar-group" style="padding-left:12px" data-depth="0"><div class="rp-sidebar-item__left"><span class="rp-doc">ZNTC (구 ZTS · Zig TypeScript Transpiler)</span></div><div class="rp-sidebar-item__right"><div style="cursor:pointer;transition:transform 0.2s ease-out;transform:rotate(0deg)"><svg width="1em" height="1em" viewBox="0 0 32 32">
22<path fill="currentColor" d="M22 16 12 26l-1.4-1.4 8.6-8.6-8.6-8.6L12 6z"></path></svg></div></div></div><div style="display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.2s ease-out"><div style="overflow:hidden"><a href="/monthly-opensource/zts/background.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">1. 개발 배경과 동기</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.18</span></div></a><a href="/monthly-opensource/zts/tech-stack.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">2. 기술 스택과 설계 철학</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.18</span></div></a><a href="/monthly-opensource/zts/development.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3. 개발 과정</span></div><div class="rp-sidebar-item__right"></div></a><a href="/monthly-opensource/zts/development-1.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-1. Phase 1~2: 렉서와 파서</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.18</span></div></a><a href="/monthly-opensource/zts/development-2.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-2. Phase 3~5: 트랜스포머와 코드젠</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.18</span></div></a><a href="/monthly-opensource/zts/development-3.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-3. Test262 100% 달성기</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.20</span></div></a><a href="/monthly-opensource/zts/development-4.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-4. 번들러 Phase B1~B2</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.21</span></div></a><a href="/monthly-opensource/zts/development-5.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-5. Dev Server와 HMR</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.22</span></div></a><a href="/monthly-opensource/zts/development-6.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-6. 스모크 테스트와 실전 호환성</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.23</span></div></a><a href="/monthly-opensource/zts/development-7.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-7. 트랜스파일 적합성 9.5%→74.1%</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.24</span></div></a><a href="/monthly-opensource/zts/development-8.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-8. 워크플로우와 AI 협업 방식</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.26</span></div></a><a href="/monthly-opensource/zts/development-9.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-9. ES5 다운레벨링 완성과 번들러 고도화</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.04.07</span></div></a><a href="/monthly-opensource/zts/development-10.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-10. React Native 플랫폼과 4/7 시점 성능</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.04.07</span></div></a><a href="/monthly-opensource/zts/development-11.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-11. Metro 동등성 — RN HMR 재설계</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.04.10</span></div></a><a href="/monthly-opensource/zts/development-12.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-12. 호환성 겹층 — 워클렛·Stage 3 decorator·ESTree</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.04.14</span></div></a><a href="/monthly-opensource/zts/development-13.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-13. Metro 경계 확정과 근본 수정 원칙</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.04.18</span></div></a><a href="/monthly-opensource/zts/development-14.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-14. RFC 시리즈 — References·AST 재설계·HMR 프로파일</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.04.23</span></div></a><a href="/monthly-opensource/zts/development-15.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-15. &quot;프로덕션이라는 말&quot; — config·CJS DCE·styled/emotion 트랜스포머</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.04.30</span></div></a><a href="/monthly-opensource/zts/development-16.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-16. binding-lite·메모리 오염·패키지 분리, 그리고 이름이 바뀐 날</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.05.07</span></div></a><a href="/monthly-opensource/zts/development-17.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-17. 0.1.0을 향해 — 플러그인 통일·파일 분리·배포 파이프라인·Codex 회고</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.05.12</span></div></a><a href="/monthly-opensource/zts/development-18.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-18. minify 격차 추격과 Module Federation — 0.1.0은 아직 preview</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.05.19</span></div></a><a href="/monthly-opensource/zts/development-19.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-19. 0.1.0을 실제로 눌렀다 — 그리고 만든 것을 되돌리는 이틀</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.05.31</span></div></a><a href="/monthly-opensource/zts/development-20.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-20. &quot;1위가 하고싶어요&quot; — 위상 보존 HMR과 디스크 캐시, 0.1.2</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.06.30</span></div></a><a href="/monthly-opensource/zts/development-21.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-21. 이슈 큐를 따라가는 여름 — preserve-modules와 0.1.3·0.1.4</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.08.10</span></div></a><a href="/monthly-opensource/zts/development-22.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-22. 다운레벨링의 의미를 지키는 심볼 표</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.09.26</span></div></a></div></div><div class="rp-sidebar-item rp-sidebar-group" style="padding-left:12px" data-depth="0"><div class="rp-sidebar-item__left"><span class="rp-doc">Suji (멀티 백엔드 데스크톱 프레임워크)</span></div><div class="rp-sidebar-item__right"><div style="cursor:pointer;transition:transform 0.2s ease-out;transform:rotate(0deg)"><svg width="1em" height="1em" viewBox="0 0 32 32">
22<path fill="currentColor" d="M22 16 12 26l-1.4-1.4 8.6-8.6-8.6-8.6L12 6z"></path></svg></div></div></div><div style="display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.2s ease-out"><div style="overflow:hidden"><a href="/monthly-opensource/suji/background.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">1. 개발 배경</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.30</span></div></a><a href="/monthly-opensource/suji/tech-stack.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">2. 기술 스택과 구조</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.03.30</span></div></a><a href="/monthly-opensource/suji/development.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3. 개발 과정</span></div><div class="rp-sidebar-item__right"></div></a><a href="/monthly-opensource/suji/development-1.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-1. 일주일 만에 프레임워크 모양 갖추기</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.04.06</span></div></a><a href="/monthly-opensource/suji/development-2.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-2. Electron 패리티 — 창과 네이티브 API</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.05.02</span></div></a><a href="/monthly-opensource/suji/development-3.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-3. CEF를 떼어내고 모바일로</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.05.19</span></div></a><a href="/monthly-opensource/suji/development-4.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-4. 세 OS와 일곱 언어, 그리고 전수 감사</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.06.20</span></div></a></div></div><div class="rp-sidebar-item rp-sidebar-group" style="padding-left:12px" data-depth="0"><div class="rp-sidebar-item__left"><span class="rp-doc">Maru (Zig 네이티브 터미널)</span></div><div class="rp-sidebar-item__right"><div style="cursor:pointer;transition:transform 0.2s ease-out;transform:rotate(0deg)"><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M22 16 12 26l-1.4-1.4 8.6-8.6-8.6-8.6L12 6z"></path></svg></div></div></div><div style="display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.2s ease-out"><div style="overflow:hidden"><a href="/monthly-opensource/maru/background.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">1. 개발 배경</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.06.03</span></div></a><a href="/monthly-opensource/maru/tech-stack.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">2. 기술 스택과 규율</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">
2226.06.03</span></div></a><a href="/monthly-opensource/maru/development.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3. 개발 과정</span></div><div class="rp-sidebar-item__right"></div></a><a href="/monthly-opensource/maru/development-1.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-1. 빈 저장소에서 첫 글자까지</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.06.12</span></div></a><a href="/monthly-opensource/maru/development-2.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-2. 터미널다워지기</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.06.30</span></div></a><a href="/monthly-opensource/maru/development-3.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-3. 터미널 밖으로</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.07.16</span></div></a><a href="/monthly-opensource/maru/development-4.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-4. 파일 패널과 영속 세션</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.07.31</span></div></a><a href="/monthly-opensource/maru/development-5.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-5. 다시 뜯어고치기, 그리고 플랫폼 확장</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.08.17</span></div></a><a href="/monthly-opensource/maru/development-6.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-6. 원격으로, 그리고 밖으로</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.09.14</span></div></a><a href="/monthly-opensource/maru/development-7.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-7. 언어 서버가 붙는다</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.09.21</span></div></a><a href="/monthly-opensource/maru/development-8.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3-8. 다시 켜도 이어지는 작업</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.09.26</span></div></a></div></div><div class="rp-sidebar-item rp-sidebar-group" style="padding-left:12px" data-depth="0"><div class="rp-sidebar-item__left"><span class="rp-doc">@ohah/pdf (Zig wasm PDF 엔진)</span></div><div class="rp-sidebar-item__right"><div style="cursor:pointer;transition:transform 0.2s ease-out;transform:rotate(0deg)"><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M22 16 12 26l-1.4-1.4 8.6-8.6-8.6-8.6L12 6z"></path></svg></div></div></div><div style="display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.2s ease-out"><div style="overflow:hidden"><a href="/monthly-opensource/pdf/background.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">1. 개발 배경</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.08.30</span></div></a><a href="/monthly-opensource/pdf/tech-stack.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">2. 기술 스택</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.08.30</span></div></a><a href="/monthly-opensource/pdf/development.html" class="rp-sidebar-item rp-sidebar-item--group-item rp-link" style="padding-left:calc(12px * 1 + 12px)" data-depth="1"><div class="rp-sidebar-item__left"><span class="rp-doc">3. 개발 과정</span></div><div class="rp-sidebar-item__right"><span class="rp-badge rp-badge--info">26.09.26</span></div></a></div></div></aside><div class="rp-doc-layout__doc"><main class="rp-doc-layout__doc-container"><div class="rp-doc rspress-doc"><!--$--><h1 class="rp-toc-include" id="월간-오픈소스-활동"><a href="#월간-오픈소스-활동" class="rp-header-anchor rp-link" aria-hidden="true">
22#</a>월간 오픈소스 활동<!-- --> </h1>
23<p>매달 기여한 오픈소스 활동을 정리합니다.</p>
24<div class="rp-callout rp-callout--danger"><div class="rp-callout__title">Danger</div><div class="rp-callout__content"><p>
25개인 프로젝트인 경우 1달 이내에 최소 하나의 배포가 있거나</p><p>공개 오픈소스에 한달에 하나의 커밋 이상을 하지 않으면 해당 블로그는 폐기됩니다.</p></div></div>
26<h2 class="rp-toc-include" id="기여--릴리즈-타임라인"><a href="#기여--릴리즈-타임라인" class="rp-header-anchor rp-link" aria-hidden="true">#</a>기여 · 릴리즈 타임라인</h2>
27<h3 class="rp-toc-include" id="2025년-11월"><a href="#2025년-11월" class="rp-header-anchor rp-link" aria-hidden="true">#</a>2025년 11월</h3>
28<div class="rp-table-scroll-container rp-scrollbar"><table><thead><tr><th>날짜</th><th>프로젝트</th><th>활동</th></tr></thead><tbody><tr><td>11-02</td><td><a href="https://github.com/ohah/ime-composition-scroll" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/ime-composition-scroll</a></td><td>한글 IME 입력 시 스크롤 문제 재현 라이브러리 공개</td></tr><tr><td>11-05</td><td><a href="https://github.com/leegeunhyeok/craby" target="_blank" rel="noopener noreferrer" class="rp-link">leegeunhyeok/craby</a></td><td><a href="https://github.com/leegeunhyeok/craby/pull/46" target="_blank" rel="noopener noreferrer" class="rp-link">docs: fix typo #46</a> — merged (11-05)</td></tr><tr><td>11-15</td><td><a href="https://github.com/leegeunhyeok/craby" target="_blank" rel="noopener noreferrer" class="rp-link">leegeunhyeok/craby</a></td><td><a href="https://github.com/leegeunhyeok/craby/pull/67" target="_blank" rel="noopener noreferrer" class="rp-link">feat: Add EventEmitter support with onProgress and onError signals #67</a> — merged (11-23)</td></tr><tr><td>11-24</td><td><a href="https://github.com/leegeunhyeok/craby" target="_blank" rel="noopener noreferrer" class="rp-link">leegeunhyeok/craby</a></td><td><a href="https://github.com/leegeunhyeok/craby/pull/70" target="_blank" rel="noopener noreferrer" class="rp-link">fix(codegen): cxx_generator.rs fix payload extraction #70</a> — merged (11-26)</td></tr><tr><td>11-29</td><td><a href="https://github.com/ohah/hwpjs" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/hwpjs</a></td><td><a href="https://www.npmjs.com/package/@ohah/hwpjs" target="_blank" rel="noopener noreferrer" class="rp-link">@ohah/hwpjs 0.1.0-rc.1</a> NPM 배포 (11-29)</td></tr></tbody></table></div>
29<h3 class="rp-toc-include" id="2025년-12월"><a href="#2025년-12월" class="rp-header-anchor rp-link" aria-hidden="true">#</a>2025년 12월</h3>
30<div class="rp-table-scroll-container rp-scrollbar"><table><thead><tr><th>날짜</th><th>프로젝트</th><th>활동</th></tr></thead><tbody><tr><td>12-06</td><td><a href="https://github.com/ohah/hwpjs" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/hwpjs</a></td><td><a href="https://github.com/ohah/hwpjs/releases/tag/%40ohah/hwpjs%400.1.0-rc.3" target="_blank" rel="noopener noreferrer" class="rp-link">@ohah/hwpjs 0.1.0-rc.2, rc.3</a> NPM 배포 (12-06)</td></tr><tr><td>12-13</td><td><a href="https://github.com/ohah/executeJS" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/executeJS</a></td><td>Node.js 런타임 전환, 자동 다운로드, npm 패키지 자동 설치 — PR <a href="https://github.com/ohah/executeJS/pull/27" target="_blank" rel="noopener noreferrer" class="rp-link">#27</a>, <a href="https://github.com/ohah/executeJS/pull/28" target="_blank" rel="noopener noreferrer" class="rp-link">#28</a>, <a href="https://github.com/ohah/executeJS/pull/29" target="_blank" rel="noopener noreferrer" class="rp-link">#29</a> merged (12-12~13)</td></tr><tr><td>12-15</td><td><a href="https://github.com/oxc-project/website" target="_blank" rel="noopener noreferrer" class="rp-link">oxc-project/website</a></td><td><a href="https://github.com/oxc-project/website/pull/706" target="_blank" rel="noopener noreferrer" class="rp-link">docs(contribute): update VS Code extension debug build settings #706</a> — merged (12-16)</td></tr><tr><td>12-20</td><td><a href="https://github.com/ohah/chrome-remote-devtools" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/chrome-remote-devtools</a></td><td>프로젝트 시작 — 초기 설정, CDP 클라이언트/서버 구현, DevTools 프론트엔드 연동</td></tr><tr><td>12-21</td><td><a href="https://github.com/leegeunhyeok/craby" target="_blank" rel="noopener noreferrer" class="rp-link">leegeunhyeok/craby</a></td><td><a href="https://github.com/leegeunhyeok/craby/pull/78" target="_blank" rel="noopener noreferrer" class="rp-link">fix(codegen): fix Vec length bug in ArrayBuffer to Vec&lt;u8&gt; conversion #78</a> — merged (12-22)</td></tr><tr><td>12-27</td><td><a href="https://github.com/ohah/chrome-remote-devtools" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/chrome-remote-devtools</a></td><td><a href="https://github.com/ohah/chrome-remote-devtools/releases/tag/chrome-remote-devtools-client-v0.1.0-rc.1" target="_blank" rel="noopener noreferrer" class="rp-link">client v0.1.0-rc.1</a>, <a href="https://github.com/ohah/chrome-remote-devtools/releases/tag/chrome-remote-devtools-server-v0.1.0-rc.1" target="_blank" rel="noopener noreferrer" class="rp-link">server v0.1.0-rc.1</a> GitHub 릴리즈 (12-27)</td></tr></tbody></table></div>
31<h3 class="rp-toc-include" id="2026년-1월"><a href="#2026년-1월" class="rp-header-anchor rp-link" aria-hidden="true">
31#</a>2026년 1월</h3>
32<div class="rp-table-scroll-container rp-scrollbar"><table><thead><tr><th>날짜</th><th>프로젝트</th><th>활동</th></tr></thead><tbody><tr><td>01-17</td><td><a href="https://github.com/ohah/hwpjs" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/hwpjs</a></td><td><a href="https://github.com/ohah/hwpjs/releases/tag/%40ohah/hwpjs%400.1.0-rc.4" target="_blank" rel="noopener noreferrer" class="rp-link">@ohah/hwpjs 0.1.0-rc.4</a> NPM 배포 (01-17) — HTML 뷰어, 테이블 캡션, 페이지 번호 렌더링 추가</td></tr></tbody></table></div>
33<h3 class="rp-toc-include" id="2026년-2월"><a href="#2026년-2월" class="rp-header-anchor rp-link" aria-hidden="true">#</a>2026년 2월</h3>
34<div class="rp-table-scroll-container rp-scrollbar"><table><thead><tr><th>날짜</th><th>프로젝트</th><th>활동</th></tr></thead><tbody><tr><td>02-04</td><td><a href="https://github.com/ohah/electron-mcp-server" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/electron-mcp-server</a></td><td><a href="https://github.com/ohah/electron-mcp-server/releases/tag/v0.1.0-rc.2" target="_blank" rel="noopener noreferrer" class="rp-link">@ohah/electron-mcp-server 0.1.0-rc.1, rc.2</a> NPM 배포 (02-04)</td></tr><tr><td>02-05</td><td><a href="https://github.com/ohah/electron-mcp-server" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/electron-mcp-server</a></td><td><a href="https://github.com/ohah/electron-mcp-server/releases/tag/v0.1.0-rc.3" target="_blank" rel="noopener noreferrer" class="rp-link">@ohah/electron-mcp-server 0.1.0-rc.3</a> NPM 배포 (02-05)</td></tr><tr><td>02-09</td><td><a href="https://github.com/ohah/chrome-remote-devtools" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/chrome-remote-devtools</a></td><td><a href="https://github.com/ohah/chrome-remote-devtools/releases/tag/chrome-remote-devtools-rn-inspector-v0.1.0-rc.1" target="_blank" rel="noopener noreferrer" class="rp-link">rn-inspector v0.1.0-rc.1</a> 릴리즈 (02-09)</td></tr><tr><td>02-19</td><td><a href="https://github.com/ohah/react-native-mcp" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/react-native-mcp</a></td><td><a href="https://github.com/ohah/react-native-mcp/releases/tag/react-native-mcp-server-v0.1.0-rc.1" target="_blank" rel="noopener noreferrer" class="rp-link">@ohah/react-native-mcp-server 0.1.0-rc.1</a> NPM 배포 (02-19)</td></tr><tr><td>02-23</td><td><a href="https://github.com/ohah/react-native-mcp" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/react-native-mcp</a></td><td><a href="https://github.com/ohah/react-native-mcp/releases" target="_blank" rel="noopener noreferrer" class="rp-link">@ohah/react-native-mcp-server 0.1.0-rc.2~rc.6</a> NPM 배포 (02-23)</td></tr><tr><td>02-23</td><td><a href="https://github.com/ohah/hwpjs" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/hwpjs</a></td><td><a href="https://github.com/ohah/hwpjs/releases/tag/%40ohah/hwpjs%400.1.0-rc.5" target="_blank" rel="noopener noreferrer" class="rp-link">@ohah/hwpjs 0.1.0-rc.5</a> NPM 배포 (02-23)</td></tr><tr><td>02-24</td><td><a href="https://github.com/ohah/react-native-mcp" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/react-native-mcp</a></td><td><a href="https://github.com/ohah/react-native-mcp/releases" target="_blank" rel="noopener noreferrer" class="rp-link">@ohah/react-native-mcp-server 0.1.0-rc.7, rc.8</a> NPM 배포 (02-24)</td></tr><tr><td>02-26</td><td><a href="https://github.com/ohah/react-native-mcp" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/react-native-mcp</a></td><td><a href="https://github.com/ohah/react-native-mcp/releases/tag/react-native-mcp-server-v0.1.0-rc.9" target="_blank" rel="noopener noreferrer" class="rp-link">@ohah/react-native-mcp-server 0.1.0-rc.9</a> NPM 배포 (02-26)</td></tr></tbody></table></div>
35<h3 class="rp-toc-include" id="2026년-3월"><a href="#2026년-3월" class="rp-header-anchor rp-link" aria-hidden="true">#</a>2026년 3월</h3>
36<div class="rp-table-scroll-container rp-scrollbar"><table><thead><tr><th>
36날짜</th><th>프로젝트</th><th>활동</th></tr></thead><tbody><tr><td>03-01</td><td><a href="https://github.com/ohah/hwpjs" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/hwpjs</a></td><td><a href="https://github.com/ohah/hwpjs/releases/tag/%40ohah/hwpjs%400.1.0-rc.6" target="_blank" rel="noopener noreferrer" class="rp-link">@ohah/hwpjs 0.1.0-rc.6</a> NPM 배포 (03-01)</td></tr><tr><td>03-04</td><td><a href="https://github.com/ohah/hwpjs" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/hwpjs</a></td><td><a href="https://github.com/ohah/hwpjs/releases/tag/%40ohah/hwpjs%400.1.0-rc.7" target="_blank" rel="noopener noreferrer" class="rp-link">@ohah/hwpjs 0.1.0-rc.7</a> NPM 배포 (03-04)</td></tr><tr><td>03-05</td><td><a href="https://github.com/ohah/react-native-mcp" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/react-native-mcp</a></td><td><a href="https://github.com/ohah/react-native-mcp/releases/tag/react-native-mcp-server-v0.1.0-rc.10" target="_blank" rel="noopener noreferrer" class="rp-link">@ohah/react-native-mcp-server 0.1.0-rc.10</a> NPM 배포 (03-05)</td></tr><tr><td>03-05</td><td><a href="https://github.com/ohah/electron-mcp-server" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/electron-mcp-server</a></td><td><a href="https://github.com/ohah/electron-mcp-server/releases/tag/v0.1.0-rc.5" target="_blank" rel="noopener noreferrer" class="rp-link">@ohah/electron-mcp-server 0.1.0-rc.4, rc.5</a> NPM 배포 (03-05)</td></tr><tr><td>03-09</td><td><a href="https://github.com/ohah/react-wasm-table" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/react-wasm-table</a></td><td><a href="https://github.com/ohah/react-wasm-table/commit/e16d1dc6" target="_blank" rel="noopener noreferrer" class="rp-link">React effect 재실행 뒤에도 터치 상태 유지</a> — 모바일 스크롤 회귀 수정</td></tr><tr><td>03-13</td><td><a href="https://github.com/ohah/cheolsu-proxy" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/cheolsu-proxy</a></td><td><a href="https://github.com/ohah/cheolsu-proxy/releases/tag/v0.1.0" target="_blank" rel="noopener noreferrer" class="rp-link">cheolsu-proxy v0.1.0</a> — 첫 릴리즈 (03-13)</td></tr><tr><td>03-14</td><td><a href="https://github.com/ohah/hwpjs" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/hwpjs</a></td><td><a href="https://github.com/ohah/hwpjs/releases/tag/%40ohah/hwpjs%400.1.0-rc.8" target="_blank" rel="noopener noreferrer" class="rp-link">@ohah/hwpjs 0.1.0-rc.8</a> NPM 배포 (03-14) — 테이블 border 한컴 원본 일치, 중첩 테이블 지원</td></tr><tr><td>03-15</td><td><a href="https://github.com/ohah/hwpjs" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/hwpjs</a></td><td><a href="https://github.com/ohah/hwpjs/releases/tag/%40ohah/hwpjs%400.1.0-rc.10" target="_blank" rel="noopener noreferrer" class="rp-link">@ohah/hwpjs 0.1.0-rc.9, rc.10</a> NPM 배포 (03-15) — LineSeg 합성, 페이지네이션 개선</td></tr><tr><td>03-15</td><td><a href="https://github.com/ohah/react-native-mcp" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/react-native-mcp</a></td><td><a href="https://github.com/ohah/react-native-mcp/releases" target="_blank" rel="noopener noreferrer" class="rp-link">@ohah/react-native-mcp-server 0.1.0-rc.11, rc.12</a> NPM 배포 (03-15)</td></tr><tr><td>03-16</td><td><a href="https://github.com/ohah/react-native-mcp" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/react-native-mcp</a></td><td><a href="https://github.com/ohah/react-native-mcp/releases" target="_blank" rel="noopener noreferrer" class="rp-link">@ohah/react-native-mcp-server 0.1.0-rc.13, rc.14</a> NPM 배포 (03-16)</td></tr><tr><td>03-18</td><td><a href="https://github.com/ohah/electron-mcp-server" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/electron-mcp-server</a></td><td><a href="https://github.com/ohah/electron-mcp-server/releases/tag/v0.1.0-rc.6" target="_blank" rel="noopener noreferrer" class="rp-link">v0.1.0-rc.6</a> — CDP 객체 탐색 개선, 후속 포트 스캔 병렬화·캐시</td></tr><tr><td>03-19</td><td><a href="https://github.com/ohah/react-native-mcp" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/react-native-mcp</a></td><td>doctor 진단 확대, <a href="https://github.com/ohah/react-native-mcp/pull/122" target="_blank" rel="noopener noreferrer" class="rp-link">WebView 요소의 네이티브 탭 #122</a>, E2E 단계 재시도</td></tr><tr><td>03-21</td><td><a href="https://github.com/ohah/react-native-mcp" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/react-native-mcp</a></td><td><a href="https://github.com/ohah/react-native-mcp/pull/125" target="_blank" rel="noopener noreferrer" class="rp-link">rn-mcp CLI와 Snapshot·Refs #125</a> — 화면 스냅샷과 참조로 조작하는 명령행 경로</td></tr></tbody></table></div>
37<h3 class="rp-toc-include" id="2026년-4월"><a href="#2026년-4월" class="rp-header-anchor rp-link" aria-hidden="true">
37#</a>2026년 4월</h3>
38<div class="rp-table-scroll-container rp-scrollbar"><table><thead><tr><th>날짜</th><th>프로젝트</th><th>활동</th></tr></thead><tbody><tr><td>04-01</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td>Flow 파서 RN 실파일 50/50 통과 + JSX 런타임 3모드(automatic/classic/preserve) 지원</td></tr><tr><td>04-02</td><td><a href="https://github.com/ohah/suji" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/suji</a></td><td><a href="https://github.com/ohah/suji/releases/tag/libnode-v24.14.1" target="_blank" rel="noopener noreferrer" class="rp-link">libnode v24.14.1</a> GitHub 릴리즈 (04-02) — CEF + Node.js 백엔드 통합</td></tr><tr><td>04-02</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td>Flow match expression → if-else IIFE codegen + ES5 async/await state machine 직접 변환</td></tr><tr><td>04-03</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td><code>__esm</code> 래퍼 기반 WrapKind.esm + ES2022 private method 다운레벨링 + Hermes 검증 CI</td></tr><tr><td>04-04</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td>RN/Hermes 호환 — ES5 class IIFE 변환 + <code>__callSuper</code>/<code>Reflect.construct</code> 네이티브 extends</td></tr><tr><td>04-05</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td>JSX codegen → Transformer 패스 이전(Phase 1~2) + 번들 모드 automatic import injection</td></tr><tr><td>04-06</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td>block scoping 구현 + AST 통합(old/new → append-only) + tagged template / new.target ES5</td></tr><tr><td>04-07</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td>kangax compat-table ES5 다운레벨링 99% 달성 + SWC 비교 테스트 CI</td></tr><tr><td>04-08</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td>HMR react-refresh polyfill 플랫폼별 최적화 + bundler 200모듈 78.9ms 개선</td></tr><tr><td>04-09</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td>sourcemap line_offsets 중복 fix + HMR graph_changed 경로 SET 비교 + Metro 스타일 터미널 출력</td></tr><tr><td>04-10</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td>hashbang 다운레벨링 + ES2023 타겟 + <code>@zts/core</code> NAPI 전환 + <code>import.meta.glob</code> (Vite 호환)</td></tr><tr><td>04-11</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td>TC39 Stage 3 decorator 변환 + UMD/AMD external 의존성 + HTTPS dev server</td></tr><tr><td>04-12</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td>worklet auto-workletization + closure analysis shadowing fix + ES5 super() 순서 개선</td></tr><tr><td>04-13</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td>PluginState 구조 분리 + worklet Phase 6 완성 + RSC <code>&quot;use client&quot;</code> directive 보존</td></tr><tr><td>04-14</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td>TypeScript declaration 생성 + <code>#x in obj</code> Ergonomic Brand Check + RN preset ES5 매트릭스 확장</td></tr><tr><td>04-15</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td>bundler 심볼 테이블 / ImportBinding / ExportBinding 재설계 + Metro 호환 PR 30건 머지</td></tr><tr><td>04-16</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td>
38asset_registry 모듈 업데이트 + named re-export getter fix + onResolve disabled flag</td></tr><tr><td>04-17</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td>const enum 표현식 평가기 + private field compound assignment + optional chain private read</td></tr><tr><td>04-18</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td>tree_shaker BFS → fixpoint 통합 + tsconfig paths / baseUrl 지원 + minify_syntax 개선</td></tr><tr><td>04-19</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td>semantic analysis #1634 시리즈 — namespace tree-shaking / dead-scope gating / const promotion</td></tr><tr><td>04-20</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td>minify 집중 — unused expr simplify(#1650) / private field name mangle(#1632) / dead store elimination(#1644)</td></tr><tr><td>04-22</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td>HMR breakdown sub-phase + lazy sourcemap 인프라 + watcher-driven mtime cache</td></tr><tr><td>04-23</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td>#1779 ModuleGraph slice → Accessor 패턴 + #1579 require.context AST→codegen 4단계</td></tr><tr><td>04-24</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td>require.context 4단계 구현 완료 + 문서 사이트 Tauri 톤 리뉴얼</td></tr><tr><td>04-25</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td><a href="https://github.com/ohah/zts/pull/1885" target="_blank" rel="noopener noreferrer" class="rp-link">#1885</a> bundler 인프라 Phase 1~2 — Rollup 호환률 64% → 93%</td></tr><tr><td>04-26</td><td><a href="https://github.com/ohah/suji" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/suji</a></td><td>Phase 5 기능(Tray·Notification·전역 단축키·윈도우 생명주기·파일 시스템 코어 API) + Phase 7 IPC 보안 검증</td></tr><tr><td>04-27</td><td><a href="https://github.com/ohah/bungae" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/bungae</a></td><td>React Native codegen을 Babel 래퍼 대신 직접 적용하도록 전환</td></tr><tr><td>04-28</td><td><a href="https://github.com/ohah/suji" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/suji</a></td><td>Electron 호환 API 표면 확장 — window 라이프사이클 이벤트(ready-to-show·will-resize·show/hide 등)</td></tr><tr><td>04-28</td><td><a href="https://github.com/ohah/cheolsu-proxy" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/cheolsu-proxy</a></td><td><a href="https://github.com/ohah/cheolsu-proxy/commit/c9c7e30b" target="_blank" rel="noopener noreferrer" class="rp-link">TLS 자동 통과 보강</a> — 연속 실패·만료·차단 정책을 구분</td></tr><tr><td>04-29</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td>string enum reverse mapping 제거 + 순환 모듈 ESM live binding 보존 + let TDZ 보존</td></tr><tr><td>04-30</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td>CSS-in-JS 트랜스포머 — styled-components(withConfig·ssr·pure·namespace)와 emotion 지원 강화</td></tr><tr><td>04-30</td><td><a href="https://github.com/ohah/cheolsu-proxy" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/cheolsu-proxy</a></td><td><a href="https://github.com/ohah/cheolsu-proxy/releases/tag/v0.1.1" target="_blank" rel="noopener noreferrer" class="rp-link">cheolsu-proxy v0.1.1</a> 릴리즈 (04-30)</td></tr></tbody></table></div>
39<h3 class="rp-toc-include" id="2026년-5월"><a href="#2026년-5월" class="rp-header-anchor rp-link" aria-hidden="true">
39#</a>2026년 5월</h3>
40<div class="rp-table-scroll-container rp-scrollbar"><table><thead><tr><th>날짜</th><th>프로젝트</th><th>활동</th></tr></thead><tbody><tr><td>05-01</td><td><a href="https://github.com/warpdotdev/warp" target="_blank" rel="noopener noreferrer" class="rp-link">warpdotdev/warp</a></td><td><a href="https://github.com/warpdotdev/warp/pull/9713" target="_blank" rel="noopener noreferrer" class="rp-link">fix(ime): preserve Korean IME last syllable across commits #9713</a> — 제출(미머지)</td></tr><tr><td>05-04</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td>React Native 0.78~0.85 codegen 스냅샷 매트릭스 + <code>codegenNativeCommands → dispatchCommand</code> wrapper</td></tr><tr><td>05-05</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td><code>@zts/web</code>·<code>@zts/server</code> 패키지 분리 + Metro HMR 어댑터·RN 개발 서버 구현</td></tr><tr><td>05-06</td><td><a href="https://github.com/ohah/zts" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zts</a></td><td>번들러 청크별 lazy sourcemap emit + 모드 분기 헬퍼 통합</td></tr><tr><td>05-07</td><td><a href="https://github.com/ohah/zntc" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zntc</a></td><td><strong>프로젝트 이름 zts → zntc 변경</strong> + lazy getter 분석으로 트리셰이킹 −212KB, RN HMR 113ms → 89ms</td></tr><tr><td>05-10</td><td><a href="https://github.com/ohah/zntc" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zntc</a></td><td>NAPI 플랫폼 매트릭스 9종(darwin·linux gnu/musl·win32 x64/arm64/ia32) + npm publish 릴리즈 워크플로</td></tr><tr><td>05-12</td><td><a href="https://github.com/ohah/zntc" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zntc</a></td><td>resolver 캐시 16-way 샤딩으로 Mutex 경합 완화 + minify 공백·중괄호 제거</td></tr><tr><td>05-16</td><td><a href="https://github.com/ohah/agent-devtools" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/agent-devtools</a></td><td><a href="https://github.com/ohah/agent-devtools/releases/tag/v0.1.2" target="_blank" rel="noopener noreferrer" class="rp-link">v0.1.2</a>, <a href="https://github.com/ohah/agent-devtools/releases/tag/v0.1.3" target="_blank" rel="noopener noreferrer" class="rp-link">v0.1.3</a> 릴리즈 (05-16)</td></tr><tr><td>05-16</td><td><a href="https://github.com/ohah/zerolist" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zerolist</a></td><td><code>react-native-zerolist</code> — Zig 엔진 기반 zero-copy SIMD 리스트 저장소 공개</td></tr><tr><td>05-16</td><td><a href="https://github.com/ohah/suji" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/suji</a></td><td>CEF 무관 embed C ABI 분리(Phase 1+2) + iOS/Android 언어별 예제 정적 링크</td></tr><tr><td>05-18</td><td><a href="https://github.com/ohah/zntc" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zntc</a></td><td>Module Federation 확장 — named share scope 다중 interop, CSS assets manifest, strictVersion</td></tr><tr><td>05-21</td><td><a href="https://github.com/ohah/zntc" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zntc</a></td><td><a href="https://github.com/ohah/zntc/releases/tag/v0.1.1" target="_blank" rel="noopener noreferrer" class="rp-link">zntc v0.1.0, v0.1.1</a> 첫 릴리즈 + <a href="https://www.npmjs.com/package/@zntc/core" target="_blank" rel="noopener noreferrer" class="rp-link">@zntc/core</a> NPM 배포 (05-21, preview)</td></tr><tr><td>05-23</td><td><a href="https://github.com/ohah/zntc" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zntc</a></td><td>코드 스플리팅 지원 + <code>[dir]</code>/<code>[name]</code> 청크 이름 정책 + CSS chunk path 충돌 해결</td></tr><tr><td>05-24</td><td><a href="https://github.com/warpdotdev/warp" target="_blank" rel="noopener noreferrer" class="rp-link">warpdotdev/warp</a></td><td><a href="https://github.com/warpdotdev/warp/pull/11624" target="_blank" rel="noopener noreferrer" class="rp-link">fix(ime): preserve Korean IME composition through split-commit and Backspace #11624</a> — 제출(미머지)</td></tr><tr><td>05-25</td><td><a href="https://github.com/ohah/suji" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/suji</a></td><td>Windows·Linux 전면 지원 — 라이프사이클 이벤트, 클립보드/셸 API, 자동 업데이터, 크래시 리포터, 패키징</td></tr><tr><td>05-26</td><td><a href="https://github.com/ohah/zntc" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zntc</a></td><td>MCP app channel — stdio transport와 <code>zntc mcp</code> 서브커맨드, WS endpoint, RN MCP 런타임 클라이언트</td></tr><tr><td>05-27</td><td><a href="https://github.com/ohah/suji" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/suji</a></td><td>Linux GTK tray 백엔드 + plugin-log·store·http 등 플러그인군 추가</td></tr><tr><td>05-29</td><td><a href="https://github.com/ohah/zntc" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zntc</a></td><td>Zig 0.16 마이그레이션 완료 + <code>std.Io</code> 오버홀</td></tr><tr><td>05-31</td><td><a href="https://github.com/ohah/zntc" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zntc</a></td><td>lazy compilation — 동적 import 경계에서 멈추고 on-demand로 청크를 컴파일하는 인프라</td></tr></tbody></table></div>
41<h3 class="rp-toc-include" id="2026년-6월"><a href="#2026년-6월" class="rp-header-anchor rp-link" aria-hidden="true">
41#</a>2026년 6월</h3>
42<div class="rp-table-scroll-container rp-scrollbar"><table><thead><tr><th>날짜</th><th>프로젝트</th><th>활동</th></tr></thead><tbody><tr><td>06-01</td><td><a href="https://github.com/ohah/zntc" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zntc</a></td><td>dev+split lazy 모듈 cross-chunk hot-replace + 웹 네이티브 React Fast Refresh</td></tr><tr><td>06-02</td><td><a href="https://github.com/ohah/zntc" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zntc</a></td><td>재귀 AST walker를 반복 순회로 전환해 깊은 체인 스택 오버플로 제거 + 재유입 방지 CI tripwire</td></tr><tr><td>06-03</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td><strong>프로젝트 시작</strong> — Zig 기반 터미널 에뮬레이터. 클린룸 터미널 코어 정책, 헤드리스 E2E 스캐폴드, 성능 예산 하네스</td></tr><tr><td>06-05</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>PTY reader 생명주기(bounded 큐·self-pipe wake·kqueue NOTE_EXIT)와 렌더러 DrawList 계약</td></tr><tr><td>06-07</td><td><a href="https://github.com/ohah/zntc" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zntc</a></td><td><a href="https://github.com/ohah/zntc/releases/tag/v0.1.2" target="_blank" rel="noopener noreferrer" class="rp-link">zntc v0.1.2</a> 릴리즈 (06-07)</td></tr><tr><td>06-07</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>CoreText → Metal 글리프 파이프라인 완성 — 셰이퍼·rasterizer 분리, glyph atlas 샘플링 검증</td></tr><tr><td>06-09</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>스크롤백 뷰포트 + 리사이즈 시 랩 재계산</td></tr><tr><td>06-10</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>IME 조합 Phase 1~2 — 조합 중 커서·선택 표시, OSC 8 하이퍼링크, PTY 논블로킹화</td></tr><tr><td>06-12</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>Stage 8 멀티탭 분할 레이아웃 — 다중 탭 PTY, cmux식 세로 사이드바, OSC 133, SplitTree</td></tr><tr><td>06-13</td><td><a href="https://github.com/ohah/iris" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/iris</a></td><td><strong>프로젝트 시작</strong> — React Native 0.85/Hermes 관측 호환을 지키는 JS 런타임 실험(HBC 헤더 파싱, JSI 표면)</td></tr><tr><td>06-14</td><td><a href="https://github.com/ohah/cheolsu-proxy" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/cheolsu-proxy</a></td><td>입력·연결·스크립트 수명 점검 — <a href="https://github.com/ohah/cheolsu-proxy/commit/67a24381" target="_blank" rel="noopener noreferrer" class="rp-link">V8 무한 루프·메모리 폭주에서 데몬 보호</a>, 인증서·스트림·화면 오류 수정</td></tr><tr><td>06-16</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>kitty 그래픽 프로토콜 — Metal 렌더·텍스처 LRU 캐시·PNG 디코딩·chunked 전송</td></tr><tr><td>06-16</td><td><a href="https://github.com/ohah/cheolsu-proxy" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/cheolsu-proxy</a></td><td><a href="https://github.com/ohah/cheolsu-proxy/releases/tag/v0.1.2" target="_blank" rel="noopener noreferrer" class="rp-link">cheolsu-proxy v0.1.2</a> 릴리즈 (06-16)</td></tr><tr><td>06-17</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>합성 글리프 렌더 — box-drawing·block elements·Braille·powerline·Legacy Computing</td></tr><tr><td>06-19</td><td><a href="https://github.com/ohah/iris" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/iris</a></td><td>JSON payload 라운드트립 벌크 빠른 경로 + snapshot 문자열 복사 제거</td></tr><tr><td>06-21</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>스키마-주도 config 프레임워크(CS-1~4) + 스키마↔문서 doc-drift 가드</td></tr><tr><td>06-22</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>
42설정 GUI — HSV 색 picker, 폼 검색, 키보드 네비, 테마 프리셋</td></tr><tr><td>06-23</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>UAX#29 grapheme cluster 도입 — 한글 NFD 클러스터·이모지 ZWJ·키캡을 셀 모델에 통합</td></tr><tr><td>06-25</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>모디파이어 홀드 단축키 힌트 HUD(KH-0~6)</td></tr><tr><td>06-27</td><td><a href="https://github.com/ohah/iris" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/iris</a></td><td>인터프리터 성능 — 숫자 점프 단축, prototype 조회 생략, 전역 캐시 인덱스 읽기</td></tr><tr><td>06-28</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>인앱 업데이트 + universal(arm64+x86_64) dmg 빌드·릴리스 워크플로</td></tr><tr><td>06-29</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>개발자 폰트 3종(Fira Code·Cascadia Code·Hack) 번들 + 폰트 피커 GUI</td></tr></tbody></table></div>
43<h3 class="rp-toc-include" id="2026년-7월"><a href="#2026년-7월" class="rp-header-anchor rp-link" aria-hidden="true">#</a>2026년 7월</h3>
44<div class="rp-table-scroll-container rp-scrollbar"><table><thead><tr><th>날짜</th><th>프로젝트</th><th>활동</th></tr></thead><tbody><tr><td>07-02</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>앱 시작·생명주기 안정화 — 시작 실패 시 창 유지, exit-code 게이트, 셸 폴백</td></tr><tr><td>07-04</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>사이드바 워크스페이스 그룹(SG1~SG5) — 그룹 생성·접기·드래그 이동·중첩</td></tr><tr><td>07-06</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>그룹 고정(C2)과 그룹-로컬 pin(GL1~4)</td></tr><tr><td>07-07</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>관측성 — <code>MARU_TRACE</code> 라이브 레코딩·replay, 익명화 transform</td></tr><tr><td>07-09</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>웹 패널 Phase 4 — WKWebView pane 부착, 입력·IME responder 전이, 웹 Term 통합</td></tr><tr><td>07-10</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td><code>maru-app://</code> 신뢰 서빙 — realpath 기반 경로 샌드박스와 CSP를 순수 보안 코어로 분리</td></tr><tr><td>07-11</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>인앱 브라우저 — 주소창 back/forward/reload, ⌘←/→/R, <code>OverlayInput</code> 공유</td></tr><tr><td>07-12</td><td><a href="https://github.com/ohah/zntc" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zntc</a></td><td><a href="https://github.com/ohah/zntc/releases/tag/v0.1.3" target="_blank" rel="noopener noreferrer" class="rp-link">zntc v0.1.3</a> 릴리즈 (07-12)</td></tr><tr><td>07-12</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>에이전트 제어 프로토콜(5f) doc-first 설계 + EventBroker·OutboundQueue 구현</td></tr><tr><td>07-13</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td><code>maru browser</code> CLI — 소켓 클라이언트, 화면 캡처 chunk 스트리밍, PNG 출력</td></tr><tr><td>07-14</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>접근성 스냅샷 — ARIA 트리 read-only eval + ref 기반 click/type/scroll</td></tr><tr><td>07-15</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>브라우저 콘솔 캡처(page-world 주입 + <code>browser.console</code> pull) + bounded transfer 통일</td></tr><tr><td>07-17</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>파일 패널(전역 도크) FP1~FP6 — 도크 모델, web renderer·sanitizer, Markdown 편집</td></tr><tr><td>07-18</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>파일 패널 FP7~FP8 — 프로젝트 트리, 도크 분할 UI, 파일 생성·이름 변경·휴지통 삭제</td></tr><tr><td>07-19</td><td><a href="https://github.com/ohah/zntc" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zntc</a></td><td><a href="https://github.com/ohah/zntc/releases/tag/v0.1.4" target="_blank" rel="noopener noreferrer" class="rp-link">zntc v0.1.4</a> 릴리즈 (07-19)</td></tr><tr><td>07-20</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>Obsidian형 라이브 프리뷰 — CM6 투영, 표 상호작용, Mermaid 연결, 성능 게이트</td></tr><tr><td>07-21</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>영속 터미널 세션 호스트 P1~P3 — <code>TermRuntimeBackend</code> seam, MRSH wire codec</td></tr><tr><td>07-22</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td><code>session.keep-alive-after-quit</code> — 앱 종료 후에도 host-backed 터미널 detach 생존</td></tr><tr><td>07-24</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>host 무중단 live-upgrade(U0~U2) — staged preflight, handoff 권위, rollback 이미지</td></tr><tr><td>07-26</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>
44외부 터미널 public attach — 정책 파서, capability 협상, 권위 경계 봉인</td></tr><tr><td>07-28</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>FP16 — 파일 콘텐츠를 워크스페이스 Term으로 통합하고 도크를 탐색기 전용으로 축소</td></tr><tr><td>07-29</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>라이브 프리뷰 폐기 → 리치 편집 모드 도입, 콘텐츠 UI 스택을 React·Tailwind·shadcn으로 확정</td></tr><tr><td>07-31</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>코드 에디터·git diff surface Phase 0 설계 — Monaco 기각, CodeMirror 6 확정</td></tr></tbody></table></div>
45<h3 class="rp-toc-include" id="2026년-8월"><a href="#2026년-8월" class="rp-header-anchor rp-link" aria-hidden="true">#</a>2026년 8월</h3>
46<div class="rp-table-scroll-container rp-scrollbar"><table><thead><tr><th>날짜</th><th>프로젝트</th><th>활동</th></tr></thead><tbody><tr><td>08-01</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>세션 유실 세 경로 수정 + host 연결 실패 사유 관측화, 앱 업데이트 시 살아 있는 host 인계</td></tr><tr><td>08-02</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>세션 아카이브 UI — 카드 그룹화, 워크스페이스·검색 필터, 상세 탭, bounded 파싱</td></tr><tr><td>08-03</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>system UI chrome text shaper — 도크 텍스트를 시스템 UI 수준으로 rasterize</td></tr><tr><td>08-05</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>CIM 상호작용 소유권 이관 — divider·scrollbar·탭 드래그를 chrome 캡처 경로로</td></tr><tr><td>08-06</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td><code>ScrollArea</code> 추상화(SV1a~c) — 스크롤 좌표계·발행·clip을 <code>tree.build</code>가 소유</td></tr><tr><td>08-07</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>하단 상태표시줄(SB1~S3e) — git 브랜치·작업 경로, 알림 수·실행 중 에이전트 수</td></tr><tr><td>08-08</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>스크롤 이관 SV4·SV5 — 사이드바·알림 패널·커맨드 팔레트까지 확장</td></tr><tr><td>08-09</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>비대해진 <code>app_session</code>을 주제별 17개 파일로 분리(tab·term·input·dock·git·agent 등)</td></tr><tr><td>08-10</td><td><a href="https://github.com/ohah/zntc" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zntc</a></td><td><a href="https://github.com/ohah/zntc/pull/4627" target="_blank" rel="noopener noreferrer" class="rp-link">#4627</a> 다운레벨 ESM top-level await — 타겟 준수와 값 정확성 양립</td></tr><tr><td>08-11</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>계약 문서 전면 재편 — 계약·기록·계획 분리, 문서 링크·앵커·절 참조를 CI 게이트로 검사</td></tr><tr><td>08-12</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>cwd 축 통일 — 사이드바·에이전트 매핑·아카이브 범위를 소스 컨트롤과 같은 축으로 합류</td></tr><tr><td>08-13</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>편집기를 <code>SurfaceKind.editor</code>
46 Term으로 승격 — 파일을 편집기 Term으로 열어 렌더까지 연결</td></tr><tr><td>08-14</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>네이티브 diff 본문(N1.5) — 자체 differ, 나란한 비교 렌더, 불변식 무작위 검증</td></tr><tr><td>08-15</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td><a href="https://github.com/ohah/maru/pull/2205" target="_blank" rel="noopener noreferrer" class="rp-link">#2205</a> iOS·Android 모바일 라인 161커밋 main 합류(M0~M4) + Windows 플랫폼 계약 착수(W1.5·W2)</td></tr><tr><td>08-16</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>UI 국제화 착수(I3-0·I3a) — notice 97건 키 이전, <code>ui.language</code> 배선 + Windows ConPTY 백엔드(W4)·셸 통합 주입(W5)</td></tr><tr><td>08-17</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>i18n 사실상 완료(I3a 337/339·I5 CLI 영어화) + <strong>Windows 첫 터미널 화면</strong>(W7.1~W7.6 — D3D11·DirectWrite·입력·ConPTY) + 자체 SSH 클라이언트 착수(S0~S6b) + 모바일 제스처·터치를 코어로(G0~G5·R0~R3)</td></tr><tr><td>08-17</td><td><a href="https://github.com/ohah/cheolsu-proxy" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/cheolsu-proxy</a></td><td>tauri 계열 crate·npm 의존성 최신화 + nightly cargo build-dir 레이아웃 대응 — PR <a href="https://github.com/ohah/cheolsu-proxy/pull/376" target="_blank" rel="noopener noreferrer" class="rp-link">#376</a>, <a href="https://github.com/ohah/cheolsu-proxy/pull/377" target="_blank" rel="noopener noreferrer" class="rp-link">#377</a> merged (08-17)</td></tr><tr><td>08-18</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>자체 SSH 클라이언트 착수(S7~S9) — session 채널·흐름 제어·재키잉, 일회용 sshd 로 8MiB 왕복 검증, 상태기계를 C ABI 로 모바일에 공유</td></tr><tr><td>08-19</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>모바일 SSH — 기기에서 키 생성·Keystore 봉인·서버 지문 승인(S9b·S9c) + 텍스트 파일을 네이티브 편집기로 여는 것을 기본으로 전환</td></tr><tr><td>08-20</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>에이전트 훅 축 개시(AH1·AH2 — claude/codex settings 에 훅 설치) + 컨트롤 플레인 원격 축(S10, <code>maru control --stdio</code>) + Windows git 백엔드·소스 컨트롤 화면(W8.4)</td></tr><tr><td>08-22</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>터미널 코어를 wasm 으로 내어 <code>@maru/*</code> 브라우저 라이브러리 신설(packages, npm 미배포)</td></tr><tr><td>08-24</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>편집 버퍼를 persistent rope + delta 로 교체(§3.0·§3.3) + 훅을 턴 경계 트리거로(AT1·AT2)</td></tr><tr><td>08-27</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>편집기 편집 보조 — 괄호 자동 닫기·⌘/ 주석(언어 판정 신설)·한글 조합 표시(N3)·⌘Z</td></tr><tr><td>08-28</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>tree-sitter 구문 트리 1층(N4 §5.3) — 이튿날 grammar 18개·프레임 예산 파싱·구문 접힘으로 확장</td></tr><tr><td>08-29</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>원격 에이전트 상태 축(RA1~RA6, ssh 너머 배지) + 에이전트 이미지 갤러리(IG0~IG4) 착수</td></tr><tr><td>08-30</td><td><a href="https://github.com/ohah/pdf" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/pdf</a></td><td><strong>프로젝트 시작</strong> — 브라우저에서 PDF 를 읽고 그리고 고치는 Zig wasm 엔진(301KB), zntc 로 굽고 웹 워커에서 실행</td></tr><tr><td>08-31</td><td><a href="https://github.com/ohah/zntc" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zntc</a></td><td><a href="https://github.com/ohah/zntc/releases/tag/v0.1.6" target="_blank" rel="noopener noreferrer" class="rp-link">zntc v0.1.5, v0.1.6</a> 릴리즈 (08-31) — 한 줄 블록 주석 뒤 소스맵 밀림 수정, bun.lock 동기화 PR 화</td></tr><tr><td>08-31</td><td><a href="https://github.com/ohah/pdf" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/pdf</a></td><td>
46주석 층·이름 목적지·XMP·표준 14종 AFM 자간·URL 열기 진행률·Node.js 지원, 열기 34MB 기준 417ms → 120ms</td></tr></tbody></table></div>
47<h3 class="rp-toc-include" id="2026년-9월-91921"><a href="#2026년-9월-91921" class="rp-header-anchor rp-link" aria-hidden="true">#</a>2026년 9월 (9/1~9/21)</h3>
48<div class="rp-table-scroll-container rp-scrollbar"><table><thead><tr><th>날짜</th><th>프로젝트</th><th>활동</th></tr></thead><tbody><tr><td>09-01</td><td><a href="https://github.com/ohah/pdf" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/pdf</a></td><td>바닥 메모리 112MB → 38MB, 빽빽한 쪽 백지 결함·레거시 전수조사 5건</td></tr><tr><td>09-02</td><td><a href="https://github.com/ohah/pdf" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/pdf</a></td><td>ICC 색 프로파일(53/255 → 0.8), 문서 JavaScript 를 자체 해석기로 실행(관공서 양식), 동적 XFA, 프로그레시브 JPEG</td></tr><tr><td>09-02</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>소스 컨트롤이 원격 저장소의 워크트리를 그 기계에서 읽고 씀(RS5) + 폰 뷰포트로 세션 열 조정(S11-6)</td></tr><tr><td>09-05</td><td><a href="https://github.com/ohah/zerolist" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zerolist</a></td><td><a href="https://github.com/ohah/zerolist/pull/1" target="_blank" rel="noopener noreferrer" class="rp-link">perf: ZeroList 통합과 Android 배치 최적화 검증 #1</a> — open</td></tr><tr><td>09-05</td><td><a href="https://github.com/ohah/hwpjs" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/hwpjs</a></td><td><strong>Rust 를 <code>legacy/</code> 로 보관하고 Zig 워크스페이스로 재출발</strong> — CFB 모듈러 리더, hwp5 DocInfo·리소스 파싱</td></tr><tr><td>09-05</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>편집기 열/블록 선택(§3.2a)·다중 커서(§3.2b) + 원격 파일 트리 설계(RF1) + 테스트 인프라 — pty teardown 4,077ms → 15ms, 픽스처 189s → 2.7s</td></tr><tr><td>09-06</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>원격 파일 트리 v1(RF2b~RF6f — 실물 sshd 왕복, 원격 삭제·생성) + 모바일 접근성 서술자·스크린 리더(M9)</td></tr><tr><td>09-07</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>에이전트 활동 뷰(AV1~AV3) — 도구 호출 인덱스, 명령 종료 상태, 전문 열기</td></tr><tr><td>09-07</td><td><a href="https://github.com/ohah/hwpjs" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/hwpjs</a></td><td>XML·zlib·PNG(Adam7·ICC 태그) 검증 층 — 하루 59커밋</td></tr><tr><td>09-08</td><td><a href="https://github.com/ohah/hwpjs" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/hwpjs</a></td><td>ICC 역함수(rational XYZ·parametric preimage) + JPEG frame/scan·quantization·Huffman 파싱</td></tr><tr><td>09-09</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>앱 아이콘(앰버 커서, 세 플랫폼 M11b) + kitty <code>report_events</code>·relative placement·OSC 99 + 모바일 첫 실행 키 생성(M16)</td></tr><tr><td>09-09</td><td><a href="https://github.com/ohah/hwpjs" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/hwpjs</a></td><td>자체 JPEG 디코더 — 엔트로피·Huffman·프로그레시브·IDCT, BMP RLE, V5 ICC</td></tr><tr><td>09-10</td><td><a href="https://github.com/ohah/zntc" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zntc</a></td><td><a href="https://github.com/ohah/zntc/releases/tag/v0.1.7" target="_blank" rel="noopener noreferrer" class="rp-link">zntc v0.1.7</a> 릴리즈 (09-10)</td></tr><tr><td>09-10</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>활동 뷰가 JSON·chunk 껍데기를 벗겨 갇힌 출력 191.5MB 회수(§2.2~§2.4) + 편집기 줄별 폭 캐시 30.3ms → 1.29ms</td></tr><tr><td>09-11</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>PR 80건 — 모바일 재접속·keepalive(M3c)·M12 마감, kitty·OSC·키보드 인코더 방어선 전수 스윕, 편집기 폭 캐시 생존</td></tr><tr><td>09-12</td><td><a href="https://github.com/ohah/hwpjs" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/hwpjs</a></td><td>hwp5 차트 파싱 — cell slot·type 선언·dual string·series v2·axis 경계</td></tr><tr><td>09-13</td><td><a href="https://github.com/ohah/hwpjs" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/hwpjs</a></td><td>hwp5 차트 <strong>편집</strong> — grid string·series label 일괄 typed edit, BinData 원자적 교체, raw deflate 인코딩</td></tr><tr><td>09-13</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>소스 컨트롤 원격 히스토리(RS7 — 벽은 «우리가 만든 토큰») + 편집기 충돌 마커 인식(S2)</td></tr><tr><td>09-14</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>터미널 <code>[Image #N]</code> 마커 Cmd+클릭 프리뷰·원격 전송 후 프리뷰(P3) + 충돌 파일 병합 모드 편집기(S3b-1)</td></tr><tr><td>09-14</td><td><a href="https://github.com/ohah/hwpjs" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/hwpjs</a></td><td>EMF 레코드 파싱·WMF 검증 — 열흘 만에 Zig 파일 1,325개</td></tr><tr><td>09-14</td><td><a href="https://github.com/ohah/pdf" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/pdf</a></td><td>파일 묶음(포트폴리오) 지원, 반복 열기 메모리 회귀 테스트</td></tr><tr><td>09-15</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>성능 진단 하루 — 락 기아 폭포 11~20Hz → 55Hz, CoreText run 캐시 19.5 → 56Hz, host CPU 50% → 14%, 코어 락 점유 −60%</td></tr><tr><td>09-16</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>편집기 미니맵(N5)·진단 층(§5.4 — tree-sitter 구문 오류가 첫 출처) + 병합 편집기 마감(S3b~S6)</td></tr><tr><td>09-17</td><td><a href="https://github.com/ohah/zntc" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zntc</a></td><td><a href="https://github.com/ohah/zntc/releases/tag/v0.1.8" target="_blank" rel="noopener noreferrer" class="rp-link">zntc v0.1.8</a> 릴리즈 (09-17) — import 포맷 인지 방출, ESM-wrap 이중 선언, alias 배선</td></tr><tr><td>09-17</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td><strong>LSP 착수</strong> — seam 1단(transport·수명·신뢰 프롬프트·publishDiagnostics) + 호버 박스(§8.2a·b)</td></tr><tr><td>09-18</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>LSP — 정의로 이동·시그니처 힌트·문서 포맷(§8.2c~e)</td></tr><tr><td>09-19</td><td><a href="https://github.com/ohah/zntc" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zntc</a></td><td><a href="https://github.com/ohah/zntc/releases/tag/v0.1.9" target="_blank" rel="noopener noreferrer" class="rp-link">zntc v0.1.9</a> 릴리즈 (09-19) — package.json <code>&quot;type&quot;:&quot;module&quot;</code>·<code>&quot;module&quot;</code> CJS interop 판정</td></tr><tr><td>09-19</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>LSP — 이름 바꾸기·code action·자동완성(§8.2g) + kitty 전송 매체 t=f/t=t/t=s + 훅이 셸 구간을 닫음(AT3b)</td></tr><tr><td>09-20</td><td><a href="https://github.com/ohah/pdf" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/pdf</a></td><td><strong><a href="https://github.com/ohah/pdf/releases/tag/v0.1.0" target="_blank" rel="noopener noreferrer" class="rp-link">@ohah/pdf v0.1.0</a> 첫 NPM 출시</strong> (09-20) — Zig wasm 321KB, 읽기·그리기·양식·주석·서명·암호·병합·XFA, 바닐라·React·Vue·Svelte</td></tr><tr><td>09-20</td><td><a href="https://github.com/ohah/hwpjs" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/hwpjs</a></td><td>EMF world transform·clip·fill + EMF+ rectangle·lines·draw string·images·container — 하루 39커밋</td></tr><tr><td>09-21</td><td><a href="https://github.com/ohah/pdf" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/pdf</a></td><td><strong><a href="https://github.com/ohah/pdf/releases/tag/v0.2.0" target="_blank" rel="noopener noreferrer" class="rp-link">@ohah/pdf v0.2.0</a></strong> (09-21) — PDF → Markdown/JSON(<code>pdf.markdown</code>·<code>pdf.blocks</code>), 태그 PDF 구조 나무, 괘선 없는 표, 정답 벤치 115/115</td></tr><tr><td>09-21</td><td><a href="https://github.com/ohah/zntc" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zntc</a></td><td><a href="https://github.com/ohah/zntc/releases/tag/v0.1.10" target="_blank" rel="noopener noreferrer" class="rp-link">zntc v0.1.10</a> 릴리즈 (09-21) — dev 서버 CSS 결함 일곱(#4660·#4671~#4683)</td></tr><tr><td>09-21</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>LSP 열두 조각 완성(접힘 3층·didSave·참조 피커·구현/타입 정의) + <code>build.zig</code> 21,352 → 8,835줄 + 원격 tmux pane 훅 슬롯(RA7·RA8)</td></tr><tr><td>09-21</td><td><a href="https://github.com/ohah/hwpjs" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/hwpjs</a></td><td>EMF 레코드 wire 분류·Path 기하 조립, hwp5 가 EMF+ world transform 을 replay</td></tr></tbody></table></div>
49<h3 class="rp-toc-include" id="2026년-9월-하순-922926"><a href="#2026년-9월-하순-922926" class="rp-header-anchor rp-link" aria-hidden="true">
49#</a>2026년 9월 하순 (9/22~9/26)</h3>
50<p>아래 추가 기록은 한국 시간 기준이다. Maru는 <code>main</code> 병합일, Hwpjs·ZNTC·PDF는 <code>main</code> 커밋일을 따른다. 9월 26일은 확인 시점까지의 기록이며, ZNTC의 이번 변경은 아직 최신 배포판 v0.1.10에 포함되지 않았다.</p>
51<div class="rp-table-scroll-container rp-scrollbar"><table><thead><tr><th>날짜</th><th>프로젝트</th><th>활동</th></tr></thead><tbody><tr><td>09-22</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td><a href="https://github.com/ohah/maru/pull/3858" target="_blank" rel="noopener noreferrer" class="rp-link">미저장 문서 백업 #3858</a>, SSH 문서 저장·턴 목록 영속화·LSP 인레이 힌트, <a href="https://github.com/ohah/maru/pull/3857" target="_blank" rel="noopener noreferrer" class="rp-link">테마 변경 통지 #3857</a>·idle host 재연결</td></tr><tr><td>09-22</td><td><a href="https://github.com/ohah/hwpjs" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/hwpjs</a></td><td>EMF+ 장치 좌표 변환과 <a href="https://github.com/ohah/hwpjs/commit/1f62228e" target="_blank" rel="noopener noreferrer" class="rp-link">곡선 평가·분할</a> — 렌더링 전 기하 처리</td></tr><tr><td>09-22</td><td><a href="https://github.com/ohah/pdf" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/pdf</a></td><td><strong>v0.2.1·<a href="https://github.com/ohah/pdf/commit/2a817c78" target="_blank" rel="noopener noreferrer" class="rp-link">v0.2.2</a></strong> — 실문서 100편의 텍스트·그리기 대조에서 나온 결함과 퍼저가 찾은 입력 처리 결함 수정</td></tr><tr><td>09-22</td><td><a href="https://github.com/ohah/zntc" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zntc</a></td><td>async generator·클래스 필드 타겟 판정, <a href="https://github.com/ohah/zntc/commit/4127fcac" target="_blank" rel="noopener noreferrer" class="rp-link">위임 반환값 보존</a>, ES5 interop 문법 수정</td></tr><tr><td>09-23</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>미저장·이름 없는 문서 복원, <a href="https://github.com/ohah/maru/pull/3894" target="_blank" rel="noopener noreferrer" class="rp-link">재부팅 뒤 로컬 에이전트 대화 재개 #3894</a>, 구조 기반 선택 확장, <a href="https://github.com/ohah/maru/pull/3883" target="_blank" rel="noopener noreferrer" class="rp-link">분할 pane의 kitty 이미지 #3883</a></td></tr><tr><td>09-23</td><td><a href="https://github.com/ohah/hwpjs" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/hwpjs</a></td><td><strong><a href="https://github.com/ohah/hwpjs/commit/a2c213a9" target="_blank" rel="noopener noreferrer" class="rp-link">HWPX ZIP 읽기</a></strong>와 manifest·리소스·차트 관계 검사 — Zig 코어 검사 계층</td></tr><tr><td>09-23</td><td><a href="https://github.com/ohah/zntc" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zntc</a></td><td><a href="https://github.com/ohah/zntc/commit/33a7378c" target="_blank" rel="noopener noreferrer" class="rp-link">iterator 조기 종료</a>, 객체 메서드의 <code>super</code>, <code>using</code> 다운레벨 변환 수정</td></tr><tr><td>09-24</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>sticky scroll·현재 줄·짝 괄호 강조, <a href="https://github.com/ohah/maru/pull/3918" target="_blank" rel="noopener noreferrer" class="rp-link">보이지 않는 탭의 불필요한 전체 렌더링 제거 #3918</a></td></tr><tr><td>09-24</td><td><a href="https://github.com/ohah/hwpjs" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/hwpjs</a></td><td><a href="https://github.com/ohah/hwpjs/commit/bdecc435" target="_blank" rel="noopener noreferrer" class="rp-link">HWPX 본문 이벤트</a>, XML·패키지 무결성, 조건부 분기와 표 격자 검사</td></tr><tr><td>09-24</td><td><a href="https://github.com/ohah/zntc" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zntc</a></td><td><a href="https://github.com/ohah/zntc/commit/3aed812c" target="_blank" rel="noopener noreferrer" class="rp-link">Node 실행 결과 대조</a>로 다운레벨 변환 검증, 생성된 사용자 식별자의 심볼 누락 검사</td></tr><tr><td>09-25</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>들여쓰기 안내선, <a href="https://github.com/ohah/maru/pull/3946" target="_blank" rel="noopener noreferrer" class="rp-link">중첩 괄호 색 #3946</a>, 공백·탭 표시, <a href="https://github.com/ohah/maru/pull/3941" target="_blank" rel="noopener noreferrer" class="rp-link">다중 커서 중복 입력 #3941</a>·줄바꿈 행 이동·탭 복원 결함 수정</td></tr><tr><td>09-25</td><td><a href="https://github.com/ohah/hwpjs" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/hwpjs</a></td><td><a href="https://github.com/ohah/hwpjs/commit/1ed714ad" target="_blank" rel="noopener noreferrer" class="rp-link">HWPX 바탕쪽·표</a>, 구역 설정과 이미지 참조·형식 검사</td></tr><tr><td>09-25</td><td><a href="https://github.com/ohah/zntc" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zntc</a></td><td>ES5 블록 이름 변경을 심볼 표로 옮기고 <a href="https://github.com/ohah/zntc/commit/24e2acb8" target="_blank" rel="noopener noreferrer" class="rp-link">문자열 이름 스택 제거</a></td></tr><tr><td>09-26</td><td><a href="https://github.com/ohah/maru" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/maru</a></td><td>괄호 이동, 비교·병합 뷰 줄 번호 저장소 수정, <a href="https://github.com/ohah/maru/pull/3960" target="_blank" rel="noopener noreferrer" class="rp-link">죽은 원격 tmux pane의 이벤트 오귀속 차단 #3960</a></td></tr><tr><td>09-26</td><td><a href="https://github.com/ohah/hwpjs" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/hwpjs</a></td><td>JPEG·PNG 픽셀 검사, 본문·바탕쪽 텍스트 스냅샷 대조, <a href="https://github.com/ohah/hwpjs/commit/6383b4dd" target="_blank" rel="noopener noreferrer" class="rp-link">수식 script 검사</a></td></tr><tr><td>09-26</td><td><a href="https://github.com/ohah/zntc" target="_blank" rel="noopener noreferrer" class="rp-link">ohah/zntc</a></td><td>변환 중 심볼 편집, 스코프 소유자와 <a href="https://github.com/ohah/zntc/commit/80042462" target="_blank" rel="noopener noreferrer" class="rp-link">복사된 참조의 원래 노드 추적</a></td></tr></tbody></table></div>
52<p>구현 범위와 검증 조건은 <a href="/monthly-opensource/maru/development-8.html" class="rp-link">Maru 3-8</a>, <a href="/monthly-opensource/hwpjs/development-10.html" class="rp-link">Hwpjs 3-10</a>, <a href="/monthly-opensource/zts/development-22.html" class="rp-link">ZNTC 3-22</a>, <a href="/monthly-opensource/pdf/development.html" class="rp-link">PDF 개발 과정</a>에 정리했다.</p><!--/$--></div><footer class="rp-doc-footer"><div class="rp-doc-footer__edit"></div><div class="rp-doc-footer__divider"></div><div class="rp-prev-next-page"><div class="rp-prev-next-page__placeholder"></div><a href="/monthly-opensource/hwpjs/background.html" class="rp-prev-next-page__item rp-prev-next-page__next rp-link"><span class="rp-prev-next-page__item__desc">Next page</span><span class="rp-prev-next-page__item__title"><span>1. 개발 배경</span><svg width="1em" height="1em" viewBox="0 0 32 32" class="rp-prev-next-page__icon">
52<path fill="currentColor" d="M22 16 12 26l-1.4-1.4 8.6-8.6-8.6-8.6L12 6z"></path></svg></span></a></div></footer></main></div><aside class="rp-doc-layout__outline rp-scrollbar"><div class="rp-outline"><div class="rp-outline__title">ON THIS PAGE<svg width="14" height="14" class="rp-progress-circle"><circle cx="7" cy="7" r="6" stroke-linecap="round" fill="none" stroke="var(--rp-c-divider-light)" stroke-width="2"></circle><circle cx="7" cy="7" r="6" stroke-linecap="round" fill="none" stroke="var(--rp-c-brand)" stroke-width="2" stroke-dasharray="37.69911184307752" stroke-dashoffset="37.69911184307752" transform="rotate(-90 7 7)" style="transition:stroke-dashoffset 0.3s"></circle></svg></div><nav class="rp-outline__toc rp-scrollbar"><a href="#기여--릴리즈-타임라인" class="rp-toc-item rp-link" title="기여 · 릴리즈 타임라인" style="padding-left:0" data-depth="0"><span class="rp-toc-item__text rp-doc">기여 · 릴리즈 타임라인</span></a><a href="#2025년-11월" class="rp-toc-item rp-link" title="2025년 11월" style="padding-left:12px" data-depth="1"><span class="rp-toc-item__text rp-doc">2025년 11월</span></a><a href="#2025년-12월" class="rp-toc-item rp-link" title="2025년 12월" style="padding-left:12px" data-depth="1"><span class="rp-toc-item__text rp-doc">2025년 12월</span></a><a href="#2026년-1월" class="rp-toc-item rp-link" title="2026년 1월" style="padding-left:12px" data-depth="1"><span class="rp-toc-item__text rp-doc">2026년 1월</span></a><a href="#2026년-2월" class="rp-toc-item rp-link" title="2026년 2월" style="padding-left:12px" data-depth="1"><span class="rp-toc-item__text rp-doc">2026년 2월</span></a><a href="#2026년-3월" class="rp-toc-item rp-link" title="2026년 3월" style="padding-left:12px" data-depth="1"><span class="rp-toc-item__text rp-doc">2026년 3월</span></a><a href="#2026년-4월" class="rp-toc-item rp-link" title="2026년 4월" style="padding-left:12px" data-depth="1"><span class="rp-toc-item__text rp-doc">2026년 4월</span></a><a href="#2026년-5월" class="rp-toc-item rp-link" title="2026년 5월" style="padding-left:12px" data-depth="1"><span class="rp-toc-item__text rp-doc">2026년 5월</span></a><a href="#2026년-6월" class="rp-toc-item rp-link" title="2026년 6월" style="padding-left:12px" data-depth="1"><span class="rp-toc-item__text rp-doc">2026년 6월</span></a><a href="#2026년-7월" class="rp-toc-item rp-link" title="2026년 7월" style="padding-left:12px" data-depth="1"><span class="rp-toc-item__text rp-doc">2026년 7월</span></a><a href="#2026년-8월" class="rp-toc-item rp-link" title="2026년 8월" style="padding-left:12px" data-depth="1"><span class="rp-toc-item__text rp-doc">2026년 8월</span></a><a href="#2026년-9월-91921" class="rp-toc-item rp-link" title="2026년 9월 (9/1~9/21)" style="padding-left:12px" data-depth="1"><span class="rp-toc-item__text rp-doc">2026년 9월 (9/1~9/21)</span></a><a href="#2026년-9월-하순-922926" class="rp-toc-item rp-link" title="2026년 9월 하순 (9/22~9/26)" style="padding-left:12px" data-depth="1"><span class="rp-toc-item__text rp-doc">2026년 9월 하순 (9/22~9/26)</span></a></nav><div class="rp-outline__divider"></div><div class="rp-outline__bottom"></div></div></aside></div></div>
53    <div id="__rspress_modal_container"></div>
54  </body>
55</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.