PageSourceSearch

https://www.joinc.co.kr/about/

html joinc.co.kr collected 2026-10-02 07:14:39 UTC 42,781 bytes, 676 lines download raw bytes

1<!DOCTYPE html>
2<html lang="ko">
3<head>
4  <meta charset="UTF-8">
5  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6  <title>AI Info</title>
7  
8  
9  <link rel="stylesheet" as="style" crossorigin href="https://cdn.jsdelivr.net/gh/orioncactus/[email protected]/dist/web/static/pretendard.min.css" />
10  
11  
12  
12<script src="https://cdn.tailwindcss.com"></script>
12
13  
13<script>
14    tailwind.config = {
15      darkMode: 'class',
16      theme: {
17        extend: {
18          fontFamily: {
19            sans: ['Pretendard', '-apple-system', 'BlinkMacSystemFont', 'system-ui', 'Roboto', 'sans-serif'],
20          },
21          colors: {
22            brand: {
23              50: '#eff6ff',
24              500: '#3b82f6',
25              600: '#2563eb',
26              700: '#1d4ed8',
27            }
28          }
29        }
30      }
31    }
32  </script>
32
33
34  
35  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism.min.css" />
36
37  
38  
38<script src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"></script>
38
39
40  
41  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css" />
42  
42<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.js"></script>
42
43  
43<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/contrib/auto-render.min.js"></script>
43
44
45  
46  <link rel="stylesheet" href="/assets/style.css" />
47
48  
49  
50  <style>
51    :root {
52      
53      --color-border-subtle: #e2e8f0;
54      
55      --color-danger: #b91c1c;
56      
57      --color-info: #0369a1;
58      
59      --color-link: #1d4ed8;
60      
61      --color-neutral: #ffffff;
62      
63      --color-on-neutral: #0f172a;
64      
65      --color-primary: #1d4ed8;
66      
67      --color-primary-hover: #1e40af;
68      
69      --color-success: #15803d;
70      
71      --color-surface: #ffffff;
72      
73      --color-surface-elevated: #f1f5f9;
74      
75      --color-text-body: #334155;
76      
77      --color-text-muted: #64748b;
78      
79      --color-text-primary: #0f172a;
80      
81      --color-warning: #b45309;
82      
83      
84      --rounded-full: 9999px;
85      
86      --rounded-lg: 12px;
87      
88      --rounded-md: 8px;
89      
90      --rounded-sm: 4px;
91      
92      
93      --spacing-lg: 24px;
94      
95      --spacing-md: 16px;
96      
97      --spacing-sm: 8px;
98      
99      --spacing-xl: 32px;
100      
101      --spacing-xs: 4px;
102      
103    }
104  </style>
105  
106
107  
108</head>
109<body class="bg-slate-50 text-slate-900 min-h-screen flex flex-col font-sans antialiased selection:bg-blue-600 selection:text-white">
110  
111  
112  <header class="sticky top-0 z-40 w-full border-b border-slate-200 bg-white/80 backdrop-blur-md">
113    <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 h-16 flex items-center justify-between">
114      <div class="flex items-center gap-4">
115        <a href="/" class="flex items-center gap-2 group">
116          <div class="w-9 h-9 rounded-lg bg-blue-600 flex items-center justify-center text-white font-bold text-lg shadow-md shadow-blue-500/20 group-hover:scale-105 transition-transform">
117            AI
118          </div>
119          <div class="flex flex-col">
120            <span class="text-lg font-bold tracking-tight text-slate-900 group-hover:text-blue-600 transition-colors">
121              AI Info
122            </span>
123            <span class="text-xs text-slate-500 hidden sm:inline">
124              Enterprise AI &amp; Software Engineering Tech Blog
125            </span>
126          </div>
127        </a>
128      </div>
129
130      <nav class="flex items-center gap-2">
131        <a href="/about/" class="px-3.5 py-1.5 text-sm font-medium transition-colors bg-blue-50 text-blue-700 border border-blue-200 rounded-lg font-semibold">
132          About
133        </a>
134      </nav>
135    </div>
136  </header>
137
138  
139  <div class="flex-1 max-w-7xl w-full mx-auto px-4 sm:px-6 lg:px-8 py-8">
140    
141<div class="max-w-5xl mx-auto py-4 space-y-12">
142
143  
144  <section class="relative overflow-hidden rounded-3xl bg-gradient-to-b from-white via-slate-50 to-slate-100 border border-slate-200 p-8 sm:p-10 shadow-xl backdrop-blur-sm dark:from-slate-900/90 dark:via-slate-900/60 dark:to-slate-950/80 dark:border-slate-800">
145    <div class="absolute -top-24 -right-24 w-96 h-96 bg-blue-600/10 rounded-full blur-3xl pointer-events-none"></div>
146    <div class="absolute -bottom-24 -left-24 w-96 h-96 bg-indigo-600/10 rounded-full blur-3xl pointer-events-none"></div>
147
148    <div class="relative z-10 space-y-6">
149      
150      <div class="flex flex-wrap items-center gap-2">
151        <span class="px-3 py-1 text-xs font-semibold rounded-full bg-blue-50 text-blue-700 border border-blue-200 dark:bg-blue-500/10 dark:text-blue-400 dark:border-blue-500/30">
152          Technical Head of Product
153        </span>
154        <span class="px-3 py-1 text-xs font-semibold rounded-full bg-indigo-50 text-indigo-700 border border-indigo-200 dark:bg-indigo-500/10 dark:text-indigo-400 dark:border-indigo-500/30">
155          AI Solutions Architect
156        </span>
157        <span class="px-3 py-1 text-xs font-semibold rounded-full bg-emerald-50 text-emerald-700 border border-emerald-200 font-mono dark:bg-emerald-500/10 dark:text-emerald-400 dark:border-emerald-500/30">
158          25+ Years Experience
159        </span>
160      </div>
161
162      
163      <div>
164        <h1 class="text-3xl sm:text-5xl font-extrabold text-slate-900 tracking-tight leading-tight dark:text-white">
165          윤상배 <span class="text-xl sm:text-2xl font-medium text-slate-500 ml-2 dark:text-slate-400">Yun Sangbae</span>
166        </h1>
167        <p class="text-sm sm:text-base text-slate-600 mt-2 font-mono dark:text-slate-400">
168          AXP Lead &middot; AI Agent Orchestrator &middot; Cloud/DevOps Architect &middot; Hands-on Prototyper
169        </p>
170      </div>
171
172      
173      <div class="relative rounded-2xl bg-white/90 border-l-4 border-blue-600 p-5 sm:p-6 text-slate-800 text-sm sm:text-base leading-relaxed font-medium shadow-sm dark:bg-slate-950/70 dark:border-blue-500 dark:text-slate-200">
174        &ldquo;25년+ 소프트웨어 엔지니어링 및 클라우드/DevOps 깊이를 바탕으로, AI 튜터/에이전트 오케스트레이션 기반의 초개인화 학습 경험 플랫폼(AXP) 비전을 0 to 1 프로덕트로 뚫어내고, 1인 초고속 Hands-on 프로토타이핑ë
174¶€í„° 10인+ 기술 조직 리딩 및 B2B AX 비즈니스 연계까지 총괄하는 Technical Head of Product입니다.&rdquo;
175      </div>
176
177      
178      <div class="flex flex-wrap items-center gap-3 pt-2">
179        <a href="mailto:[email protected]" class="inline-flex items-center gap-2 px-4 py-2 text-xs font-semibold rounded-xl bg-white hover:bg-slate-50 text-slate-700 border border-slate-200 shadow-sm transition-colors dark:bg-slate-800 dark:hover:bg-slate-700 dark:text-slate-200 dark:border-slate-700">
180          <svg class="w-4 h-4 text-blue-600 dark:text-blue-400" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"/></svg>
181          [email protected]
182        </a>
183        <a href="https://github.com/joincdream" target="_blank" rel="noopener noreferrer" class="inline-flex items-center gap-2 px-4 py-2 text-xs font-semibold rounded-xl bg-white hover:bg-slate-50 text-slate-700 border border-slate-200 shadow-sm transition-colors dark:bg-slate-800 dark:hover:bg-slate-700 dark:text-slate-200 dark:border-slate-700">
184          <svg class="w-4 h-4 text-slate-700 dark:text-slate-300" fill="currentColor" viewBox="0 0 24 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.53 1.032 1.53 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z"/></svg>
185          GitHub
186        </a>
187        <a href="https://linkedin.com/in/yundream" target="_blank" rel="noopener noreferrer" class="inline-flex items-center gap-2 px-4 py-2 text-xs font-semibold rounded-xl bg-white hover:bg-slate-50 text-slate-700 border border-slate-200 shadow-sm transition-colors dark:bg-slate-800 dark:hover:bg-slate-700 dark:text-slate-200 dark:border-slate-700">
188          <svg class="w-4 h-4 text-blue-600 dark:text-blue-400" fill="currentColor" viewBox="0 0 24 24"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"/></svg>
189          LinkedIn
190        </a>
191        <a href="https://www.joinc.co.kr" target="_blank" rel="noopener noreferrer" class="inline-flex items-center gap-2 px-4 py-2 text-xs font-semibold rounded-xl bg-blue-50 hover:bg-blue-100 text-blue-700 border border-blue-200 transition-colors dark:bg-blue-950/80 dark:hover:bg-blue-900 dark:text-blue-300 dark:border-blue-800/60">
192          Tech Blog
193        </a>
194      </div>
195    </div>
196  </section>
197
198  
199  <section class="grid grid-cols-2 lg:grid-cols-4 gap-4">
200    <div class="bg-white border border-slate-200 rounded-2xl p-5 shadow-sm dark:bg-slate-900/60 dark:border-slate-800/80">
201      <div class="text-3xl sm:text-4xl font-extrabold text-blue-600 font-mono tracking-tight dark:text-blue-400">25+</div>
202      <div class="text-sm font-semibold text-slate-900 mt-1 dark:text-slate-200">Years Engineering</div>
203      <div class="text-xs text-slate-500 mt-1 leading-snug dark:text-slate-400">C/C++, 클라우드/DevOps부터 최신 생성형 AI 에이전트까지</div>
204    </div>
205    <div class="bg-white border border-slate-200 rounded-2xl p-5 shadow-sm dark:bg-slate-900/60 dark:border-slate-800/80">
206      <div class="text-3xl sm:text-4xl font-extrabold text-indigo-600 font-mono tracking-tight dark:text-indigo-400">0 to 1</div>
207      <div class="text-sm font-semibold text-slate-900 mt-1 dark:text-slate-200">AXP Product Lead</div>
208      <div class="text-xs text-slate-500 mt-1 leading-snug dark:text-slate-400">AI 튜터 & 에이전트 오케스트레이션 기반 학습 경험 설계</div>
209    </div>
210    <div class="bg-white border border-slate-200 rounded-2xl p-5 shadow-sm dark:bg-slate-900/60 dark:border-slate-800/80">
211      <div class="text-3xl sm:text-4xl font-extrabold text-emerald-600 font-mono tracking-tight dark:text-emerald-400">10+</div>
212      <div class="text-sm font-semibold text-slate-900 mt-1 dark:text-slate-200">Team Leadership</div>
213      <div class="text-xs text-slate-500 mt-1 leading-snug dark:text-slate-400">1인에서 7인 AI 조직 빌딩 및 10인+ 개발실/DevOps 총괄</div>
214    </div>
215    <div class="bg-white border border-slate-200 rounded-2xl p-5 shadow-sm dark:bg-slate-900/60 dark:border-slate-800/80">
216      <div class="text-3xl sm:text-4xl font-extrabold text-amber-600 font-mono tracking-tight dark:text-amber-400">CES Award</div>
217      <div class="text-sm font-semibold text-slate-900 mt-1 dark:text-slate-200">Global Recognition</div>
218      <div class="text-xs text-slate-500 mt-1 leading-snug dark:text-slate-400">LG 홈챗 대화형 스마트홈 글로벌 Choice Award 2개 부문 수상</div>
219    </div>
220  </section>
221
222  
223  <section class="space-y-4">
224    <h2 class="text-xl font-bold text-slate-900 tracking-tight flex items-center gap-2 dark:text-white">
225      <span class="text-blue-600 dark:text-blue-400">💡</span> Professional Summary
226    </h2>
227    <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
228      <div class="bg-white border border-slate-200 rounded-2xl p-6 space-y-2 shadow-sm dark:bg-slate-900/50 dark:border-slate-800/80">
229        <h3 class="text-base font-bold text-slate-900 flex items-center gap-2 dark:text-white">
230          <span class="w-2 h-2 rounded-full bg-blue-600 dark:bg-blue-500"></span>
231          AXP 0 to 1 총괄 & 초개인화 학습 경험 설계
232        </h3>
233        <p class="text-xs sm:text-sm text-slate-600 leading-relaxed dark:text-slate-300">
234          단순 LMS를 넘어 멀티 AI 에이전트 오케스트레이션 및 유저 학습 데이터 분석 엔진을 제품에 이식하여 "사람들이 배우는 방식을 재설계"합니다. 요구사항 정의와 사용자 여정(User Journey) 설계부터 AI 파이프라인 구축, 유저 로그 분석 기반의 몰입/성장 피드백 룹(Feedback Loop) 설계를 총괄합니다.
235        </p>
236      </div>
237
238      <div class="bg-white border border-slate-200 rounded-2xl p-6 space-y-2 shadow-sm dark:bg-slate-900/50 dark:border-slate-800/80">
239        <h3 class="text-base font-bold text-slate-900 flex items-center gap-2 dark:text-white">
240          <span class="w-2 h-2 rounded-full bg-indigo-600 dark:bg-indigo-500"></span>
241          1인 AI 초고속 Hands-on 프로토타이핑
242        </h3>
243        <p class="text-xs sm:text-sm text-slate-600 leading-relaxed dark:text-slate-300">
244          오픈소스 <strong>HarnessHub</strong> 프로젝트를 통해 SDLC 기반 에이전트 제어 및 Visual Workflow DAG 대시보드(Go/Vue 3/TypeScript/Docker)를 1인 프로토타이핑으로 0 to 1 직접 구현하며 AI 툴 기반의 압도적인 딜리버리 역량을 증명했습니다.
245        </p>
246      </div>
247
248      <div class="bg-white border border-slate-200 rounded-2xl p-6 space-y-2 shadow-sm dark:bg-slate-900/50 dark:border-slate-800/80">
249        <h3 class="text-base font-bold text-slate-900 flex items-center gap-2 dark:text-white">
250          <span class="w-2 h-2 rounded-full bg-emerald-600 dark:bg-emerald-500"></span>
251          생성형 AI 솔루션 PO & 10인+ 기술 조직 리딩
252        </h3>
253        <p class="text-xs sm:text-sm text-slate-600 leading-relaxed dark:text-slate-300">
254          CloIT에서 1인으로 시작해 7인 규모의 AI 전담 조직을 직접 빌딩하고, 미디어 생성 플랫폼의 PO이자 메인 아키텍트로 Artifact Centric Workflow 중심의 풀스택 구현과 릴리즈를 완수했습니다. 미디움 개발실장, 한화생명 PM을 포함해 10인 이상 조직 관리 역량을 갖추고 있습니다.
255        </p>
256      </div>
257
258      <div class="bg-white border border-slate-200 rounded-2xl p-6 space-y-2 shadow-sm dark:bg-slate-900/50 dark:border-slate-800/80">
259        <h3 class="text-base font-bold text-slate-900 flex items-center gap-2 dark:text-white">
260          <span class="w-2 h-2 rounded-full bg-amber-600 dark:bg-amber-500"></span>
261          경영진 연계 B2B AX 비즈니스 추진 & 기술-사업 통섭
262        </h3>
263        <p class="text-xs sm:text-sm text-slate-600 leading-relaxed dark:text-slate-300">
264          수십 건의 대기업/기관(한화생명, 퍼시스, 국민연금 등) Presales 및 PoC를 주도하여 비즈니스 가치를 정량적 ROI로 입증했습니다. 경영진의 AXP 비즈니스 모델(BM)을 개발진이 이해할 수 있는 현실적 기술 로드맵으로 제품화합니다.
265        </p>
266      </div>
267    </div>
268  </section>
269
270  
271  <section class="space-y-4">
272    <h2 class="text-xl font-bold text-slate-900 tracking-tight flex items-center gap-2 dark:text-white">
273      <span class="text-indigo-600 dark:text-indigo-400">🛠️</span> Core Competencies
274    </h2>
275    <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
276      
277      
278      <div class="bg-white border border-slate-200 rounded-2xl p-5 space-y-3 shadow-sm dark:bg-slate-900/50 dark:border-slate-800/80">
279        <h3 class="text-sm font-semibold text-slate-900 uppercase tracking-wider flex items-center justify-between dark:text-slate-200">
280          <span>Product &amp; AI Architecture</span>
281          <span class="text-xs text-blue-600 font-mono dark:text-blue-400">0 to 1 PO</span>
282        </h3>
283        <div class="flex flex-wrap gap-1.5">
284          <span class="px-2.5 py-1 text-xs rounded-lg bg-blue-50 text-blue-700 border border-blue-200 dark:bg-blue-950/60 dark:text-blue-300 dark:border-blue-800/40">AXP 비전 수립</span>
285          <span class="px-2.5 py-1 text-xs rounded-lg bg-blue-50 text-blue-700 border border-blue-200 dark:bg-blue-950/60 dark:text-blue-300 dark:border-blue-800/40">User Journey 설계</span>
286          <span class="px-2.5 py-1 text-xs rounded-lg bg-blue-50 text-blue-700 border border-blue-200 dark:bg-blue-950/60 dark:text-blue-300 dark:border-blue-800/40">AI Agent Orchestration</span>
287          <span class="px-2.5 py-1 text-xs rounded-lg bg-blue-50 text-blue-700 border border-blue-200 dark:bg-blue-950/60 dark:text-blue-300 dark:border-blue-800/40">RAG 하이브리드 색인</span>
288          <span class="px-2.5 py-1 text-xs rounded-lg bg-blue-50 text-blue-700 border border-blue-200 dark:bg-blue-950/60 dark:text-blue-300 dark:border-blue-800/40">Knowledge Graph</span>
289          <span class="px-2.5 py-1 text-xs rounded-lg bg-blue-50 text-blue-700 border border-blue-200 dark:bg-blue-950/60 dark:text-blue-300 dark:border-blue-800/40">Artifact Centric UI/UX</span>
290        </div>
291      </div>
292
293      
294      <div class="bg-white border border-slate-200 rounded-2xl p-5 space-y-3 shadow-sm dark:bg-slate-900/50 dark:border-slate-800/80">
295        <h3 class="text-sm font-semibold text-slate-900 uppercase tracking-wider flex items-center justify-between dark:text-slate-200">
296          <span>Tech Stack &amp; Hands-on</span>
297          <span class="text-xs text-indigo-600 font-mono dark:text-indigo-400">Full-Stack</span>
298        </h3>
299        <div class="flex flex-wrap gap-1.5">
300          <span class="px-2.5 py-1 text-xs rounded-lg bg-indigo-50 text-indigo-700 border border-indigo-200 dark:bg-indigo-950/60 dark:text-indigo-300 dark:border-indigo-800/40">Go (Golang)</span>
301          <span class="px-2.5 py-1 text-xs rounded-lg bg-indigo-50 text-indigo-700 border border-indigo-200 dark:bg-indigo-950/60 dark:text-indigo-300 dark:border-indigo-800/40">Python</span>
302          <span class="px-2.5 py-1 text-xs rounded-lg bg-indigo-50 text-indigo-700 border border-indigo-200 dark:bg-indigo-950/60 dark:text-indigo-300 dark:border-indigo-800/40">TypeScript</span>
303          <span class="px-2.5 py-1 text-xs rounded-lg bg-indigo-50 text-indigo-700 border border-indigo-200 dark:bg-indigo-950/60 dark:text-indigo-300 dark:border-indigo-800/40">React / Next.js</span>
304          <span class="px-2.5 py-1 text-xs rounded-lg bg-indigo-50 text-indigo-700 border border-indigo-200 dark:bg-indigo-950/60 dark:text-indigo-300 dark:border-indigo-800/40">FastAPI</span>
305          <span class="px-2.5 py-1 text-xs rounded-lg bg-indigo-50 text-indigo-700 border border-indigo-200 dark:bg-indigo-950/60 dark:text-indigo-300 dark:border-indigo-800/40">OpenAPI 3.0</span>
306          <span class="px-2.5 py-1 text-xs rounded-lg bg-indigo-50 text-indigo-700 border border-indigo-200 dark:bg-indigo-950/60 dark:text-indigo-300 dark:border-indigo-800/40">Tailwind CSS</span>
307        </div>
308      </div>
309
310      
311      <div class="bg-white border border-slate-200 rounded-2xl p-5 space-y-3 shadow-sm dark:bg-slate-900/50 dark:border-slate-800/80">
312        <h3 class="text-sm font-semibold text-slate-900 uppercase tracking-wider flex items-center justify-between dark:text-slate-200">
313          <span>Cloud &amp; MLOps / DevOps</span>
314          <span class="text-xs text-emerald-600 font-mono dark:text-emerald-400">Infrastructure</span>
315        </h3>
316        <div class="flex flex-wrap gap-1.5">
317          <span class="px-2.5 py-1 text-xs rounded-lg bg-emerald-50 text-emerald-700 border border-emerald-200 dark:bg-emerald-950/60 dark:text-emerald-300 dark:border-emerald-800/40">AWS</span>
318          <span class="px-2.5 py-1 text-xs rounded-lg bg-emerald-50 text-emerald-700 border border-emerald-200 dark:bg-emerald-950/60 dark:text-emerald-300 dark:border-emerald-800/40">GCP</span>
319          <span class="px-2.5 py-1 text-xs rounded-lg bg-emerald-50 text-emerald-700 border border-emerald-200 dark:bg-emerald-950/60 dark:text-emerald-300 dark:border-emerald-800/40">Docker</span>
320          <span class="px-2.5 py-1 text-xs rounded-lg bg-emerald-50 text-emerald-700 border border-emerald-200 dark:bg-emerald-950/60 dark:text-emerald-300 dark:border-emerald-800/40">Kubernetes</span>
321          <span class="px-2.5 py-1 text-xs rounded-lg bg-emerald-50 text-emerald-700 border border-emerald-200 dark:bg-emerald-950/60 dark:text-emerald-300 dark:border-emerald-800/40">Terraform (IaC)</span>
322          <span class="px-2.5 py-1 text-xs rounded-lg bg-emerald-50 text-emerald-700 border border-emerald-200 dark:bg-emerald-950/60 dark:text-emerald-300 dark:border-emerald-800/40">GitHub Actions</span>
323          <span class="px-2.5 py-1 text-xs rounded-lg bg-emerald-50 text-emerald-700 border border-emerald-200 dark:bg-emerald-950/60 dark:text-emerald-300 dark:border-emerald-800/40">Prometheus/Grafana</span>
324        </div>
325      </div>
326
327      
328      <div class="bg-white border border-slate-200 rounded-2xl p-5 space-y-3 shadow-sm dark:bg-slate-900/50 dark:border-slate-800/80">
329        <h3 class="text-sm font-semibold text-slate-900 uppercase tracking-wider flex items-center justify-between dark:text-slate-200">
330          <span>Data, Analytics &amp; Leadership</span>
331          <span class="text-xs text-amber-600 font-mono dark:text-amber-400">Impact</span>
332        </h3>
333        <div class="flex flex-wrap gap-1.5">
334          <span class="px-2.5 py-1 text-xs rounded-lg bg-amber-50 text-amber-700 border border-amber-200 dark:bg-amber-950/60 dark:text-amber-300 dark:border-amber-800/40">PostgreSQL / pgvector</span>
335          <span class="px-2.5 py-1 text-xs rounded-lg bg-amber-50 text-amber-700 border border-amber-200 dark:bg-amber-950/60 dark:text-amber-300 dark:border-amber-800/40">Elasticsearch</span>
336          <span class="px-2.5 py-1 text-xs rounded-lg bg-amber-50 text-amber-700 border border-amber-200 dark:bg-amber-950/60 dark:text-amber-300 dark:border-amber-800/40">Kafka / ETL</span>
337          <span class="px-2.5 py-1 text-xs rounded-lg bg-amber-50 text-amber-700 border border-amber-200 dark:bg-amber-950/60 dark:text-amber-300 dark:border-amber-800/40">10인+ 조직 리딩</span>
338          <span class="px-2.5 py-1 text-xs rounded-lg bg-amber-50 text-amber-700 border border-amber-200 dark:bg-amber-950/60 dark:text-amber-300 dark:border-amber-800/40">B2B Presales / PoC</span>
339          <span class="px-2.5 py-1 text-xs rounded-lg bg-amber-50 text-amber-700 border border-amber-200 dark:bg-amber-950/60 dark:text-amber-300 dark:border-amber-800/40">SAFe Agile</span>
340        </div>
341      </div>
342
343    </div>
344  </section>
345
346  
347  <section class="bg-gradient-to-r from-blue-50/60 via-white to-indigo-50/60 border border-blue-200 rounded-3xl p-6 sm:p-8 shadow-sm space-y-4 dark:from-slate-900/90 dark:via-blue-950/30 dark:to-slate-900/90 dark:border-blue-500/30">
348    <div class="flex flex-col sm:flex-row sm:items-center justify-between gap-3 pb-3 border-b border-slate-200 dark:border-slate-800">
349      <div>
350        <span class="text-xs font-semibold text-blue-600 uppercase tracking-wider dark:text-blue-400">Featured Open-Source Project</span>
351        <h3 class="text-2xl font-extrabold text-slate-900 tracking-tight mt-1 dark:text-white">
352          HarnessHub &amp; create-harness-app
353        </h3>
354      </div>
355      <a href="https://github.com/joincdream/harness-hub" target="_blank" rel="noopener noreferrer" class="inline-flex items-center gap-2 px-4 py-2 text-xs font-bold rounded-xl bg-blue-600 hover:bg-blue-500 text-white shadow-md shadow-blue-500/20 transition-all self-start sm:self-auto">
356        <span>GitHub Repository</span> &rarr;
357      </a>
358    </div>
359
360    <p class="text-xs sm:text-sm text-slate-600 leading-relaxed dark:text-slate-300">
361      AI 에이전트의 비결정성(Non-determinism)과 기술 부채를 통제하기 위한 선언적 SDLC 청사진 배포 레지스트리 및 CLI/웹 컨트롤 타워입니다. AI 코딩 도구를 프로덕션 수준의 안전한 가드레일 안에 가두는 아키텍처를 0 to 1 직접 설계·구현했습니다.
362    </p>
363
364    <div class="grid grid-cols-1 sm:grid-cols-3 gap-3 pt-2 text-xs text-slate-600 dar
364k:text-slate-300">
365      <div class="bg-white rounded-xl p-3 border border-slate-200 shadow-xs dark:bg-slate-900/80 dark:border-slate-800">
366        <strong class="text-slate-900 block mb-1 dark:text-white">📊 DAG Visualizer</strong>
367        Artifact 기반 실행 단계 및 학습/개발 워크플로우 시각화
368      </div>
369      <div class="bg-white rounded-xl p-3 border border-slate-200 shadow-xs dark:bg-slate-900/80 dark:border-slate-800">
370        <strong class="text-slate-900 block mb-1 dark:text-white">⚡ Go Native Full-Stack</strong>
371        Go REST API + Vue 3/TS 대시보드 1인 초고속 프로토타이핑
372      </div>
373      <div class="bg-white rounded-xl p-3 border border-slate-200 shadow-xs dark:bg-slate-900/80 dark:border-slate-800">
374        <strong class="text-slate-900 block mb-1 dark:text-white">📦 CLI Starter Kit</strong>
375        create-harness-app 통한 안전한 AI 협업 청사진 배포
376      </div>
377    </div>
378  </section>
379
380  
381  <section class="space-y-6">
382    <h2 class="text-xl font-bold text-slate-900 tracking-tight flex items-center gap-2 dark:text-white">
383      <span class="text-emerald-600 dark:text-emerald-400">💼</span> Professional Experience
384    </h2>
385
386    <div class="relative border-l-2 border-slate-200 ml-4 sm:ml-6 pl-6 sm:pl-8 space-y-10 dark:border-slate-800">
387
388      
389      <div class="relative group">
390        <div class="absolute -left-[31px] sm:-left-[39px] top-1.5 w-4 h-4 rounded-full bg-blue-600 border-4 border-slate-50 group-hover:scale-125 transition-transform shadow-md shadow-blue-500/50 dark:bg-blue-500 dark:border-slate-950"></div>
391        <div class="flex flex-wrap items-center justify-between gap-2 mb-1">
392          <h3 class="text-lg font-bold text-slate-900 dark:text-white">CloIT (클로잇)</h3>
393          <span class="px-2.5 py-0.5 text-xs font-semibold rounded-full bg-blue-50 text-blue-700 border border-blue-200 font-mono dark:bg-blue-500/10 dark:text-blue-400 dark:border-blue-500/30">
394            2024
395          </span>
396        </div>
397        <div class="text-xs font-medium text-slate-500 mb-3 dark:text-slate-400">
398          Generative AI Solutions Architect / Tech Lead (AI 서비스 팀장)
399        </div>
400        <ul class="text-xs sm:text-sm text-slate-600 space-y-2 list-disc list-outside ml-4 leading-relaxed dark:text-slate-300">
401          <li><strong>AI 전담 조직 빌딩 &amp; PM</strong>: 1인으로 시작해 7인 규모 전담 조직 구축, 페르소나 분석부터 프로덕션 배포까지 엔드투엔드 총괄.</li>
402          <li><strong>마케팅 영상/이미지 생성 플랫폼 (PO)</strong>: Artifact Centric Workflow 중심 UI/UX 및 백엔드(FastAPI/Go) API 직접 설계·개발.</li>
403          <li><strong>퍼시스 AI DAM 시스템 구축 (Production)</strong>: VLM 기반 SKU 자동 라벨링 및 유사도 검색으로 디지털 자산 관리 자동화.</li>
404          <li><strong>국내 제약·바이오 지주사 RAG 구축</strong>: 하이브리드 색인(Hybrid Indexing) 및 임베딩 튜닝으로 정보 탐색 정확도 90% 이상 극대화.</li>
405          <li><strong>온톨로지 지식 그래프(Knowledge Graph) PoC 리딩</strong>: 국민연금 투자 분석 및 건설 규제 대응 RAG 아키텍처 설계.</li>
406          <li><strong>수십 건의 B2B AI Presales &amp; PoC</strong>: 10여 건 이상의 엔터프라이즈 과제 아키텍처 총괄 및 1개월 내 고속 딜리버리.</li>
407        </ul>
408      </div>
409
410      
411      <div class="relative group">
412        <div class="absolute -left-[31px] sm:-left-[39px] top-1.5 w-4 h-4 rounded-full bg-slate-300 border-4 border-slate-50 group-hover:scale-125 transition-transform dark:bg-slate-700 dark:border-slate-950"></div>
413        <div class="flex flex-wrap items-center justify-between gap-2 mb-1">
414          <h3 class="text-lg font-bold text-slate-900 dark:text-white">Amazon Web Services (AWS)</h3>
415          <span class="px-2.5 py-0.5 text-xs font-semibold rounded-full bg-slate-100 text-slate-600 border border-slate-200 font-mono dark:bg-slate-800 dark:text-slate-400 dark:border-slate-700">
416            2023
417          </span>
418        </div>
419        <div class="text-xs font-medium text-slate-500 mb-2 dark:text-slate-400">Technical Account Manager (TAM)</div>
420        <p class="text-xs sm:text-sm text-slate-600 leading-relaxed dark:text-slate-300">
421          대형 엔터프라이즈 고객 대상 AWS 웰-아키텍티드 프레임워크 기반 기술 자문 제공 및 C-Level-실무 엔지니어 간 클라우드 전환 기술 병목 해결.
422        </p>
423      </div>
424
425      
426      <div class="relative group">
427        <div class="absolute -left-[31px] sm:-left-[39px] top-1.5 w-4 h-4 rounded-full bg-slate-300 border-4 border-slate-50 group-hover:scale-125 transition-transform dark:bg-slate-700 dark:border-slate-950"></div>
428        <div class="flex flex-wrap items-center justify-between gap-2 mb-1">
429          <h3 class="text-lg font-bold text-slate-900 dark:text-white">Medium (미디움)</h3>
430          <span class="px-2.5 py-0.5 text-xs font-semibold rounded-full bg-slate-100 text-slate-600 border border-slate-200 font-mono dark:bg-slate-800 dark:text-slate-400 dark:border-slate-700">
431            2022
432          </span>
433        </div>
434        <div class="text-xs font-medium text-slate-500 mb-2 dark:text-slate-400">개발실장 &amp; DevOps 팀장</div>
435        <p class="text-xs sm:text-sm text-slate-600 leading-relaxed dark:text-slate-300">
436          Hyperledger BESU 기반 Token Mainnet 및 DEX 분산 인프라 아키텍처링, 토크노믹스 분석/설계 및 CI/CD 구축.
437        </p>
438      </div>
439
440      
441      <div class="relative group">
442        <div class="absolute -left-[31px] sm:-left-[39px] top-1.5 w-4 h-4 rounded-full bg-slate-300 border-4 border-slate-50 group-hover:scale-125 transition-transform dark:bg-slate-700 dark:border-slate-950"></div>
443        <div class="flex flex-wrap items-center justify-between gap-2 mb-1">
444          <h3 class="text-lg font-bold text-slate-900 dark:text-white">한화생명</h3>
445          <span class="px-2.5 py-0.5 text-xs font-semibold rounded-full bg-slate-100 text-slate-600 border border-slate-200 font-mono dark:bg-slate-800 dark:text-slate-400 dark:border-slate-700">
446            2019
447          </span>
448        </div>
449        <div class="text-xs font-medium text-slate-500 mb-2 dark:text-slate-400">프로젝트 관리 (PM) &amp; DevOps 팀장</div>
450        <p class="text-xs sm:text-sm text-slate-600 leading-relaxed dark:text-slate-300">
451          금융권 망분리 인프라 기반 블록체인 Stable Coin 시스템 구축 총괄 및 SAFe Agile 기반 기획/개발 관리.
452        </p>
453      </div>
454
455      
456      <div class="relative group">
457        <div class="absolute -left-[31px] sm:-left-[39px] top-1.5 w-4 h-4 rounded-full bg-slate-300 border-4 border-slate-50 group-hover:scale-125 transition-transform dark:bg-slate-700 dark:border-slate-950"></div>
458        <div class="flex flex-wrap items-center justify-between gap-2 mb-1">
459          <h3 class="text-lg font-bold text-slate-900 dark:text-white">NaverLabs (네이버랩스)</h3>
460          <span class="px-2.5 py-0.5 text-xs font-semibold rounded-full bg-slate-100 text-slate-600 border border-slate-200 font-mono dark:bg-slate-800 dark:text-slate-400 dark:border-slate-700">
461            2016
462          </span>
463        </div>
464        <div class="text-xs font-medium text-slate-500 mb-2 dark:text-slate-400">클라우드 아키텍트 / SW 엔지니어 / PM</div>
465        <p class="text-xs sm:text-sm text-slate-600 leading-relaxed dark:text-slate-300">
466          Go 기반 자율주행 차량 OBD 분산 데이터 수집 백엔드(Kafka/Phoenix) 및 AWS EMR 기반 40억 건 처리 실내측위 WPS 시스템 개발.
467        </p>
468      </div>
469
470      
471      <div class="relative group">
472        <div class="absolute -left-[31px] sm:-left-[39px] top-1.5 w-4 h-4 rounded-full bg-slate-300 border-4 border-slate-50 group-hover:scale-125 transition-transform dark:bg-slate-700 dark:border-slate-950"></div>
473        <div class="flex flex-wrap items-center justify-between gap-2 mb-1">
474          <h3 class="text-lg font-bold text-slate-900 dark:text-white">주식회사 구름 (goorm)</h3>
475          <span class="px-2.5 py-0.5 text-xs font-semibold rounded-full bg-slate-100 text-slate-600 border border-slate-200 font-mono dark:bg-slate-800 dark:text-slate-400 dark:border-slate-700">
476            2015
477          </span>
478        </div>
479        <div class="text-xs font-medium text-slate-500 mb-2 dark:text-slate-400">소프트웨어 엔지니어 / 클라우드 아키텍트</div>
480        <p class="text-xs sm:text-sm text-slate-600 leading-relaxed dark:text-slate-300">
481          온라인 코딩 평가 및 클라우드 IDE 핵심 Container Orchestration 시스템 개발 (온디맨드 인프라로 에듀테크 비용 대폭 절감).
482        </p>
483      </div>
484
485      
486      <div class="relative group">
487        <div class="absolute -left-[31px] sm:-left-[39px] top-1.5 w-4 h-4 rounded-full bg-slate-300 border-4 border-slate-50 group-hover:scale-125 transition-transform dark:bg-slate-700 dark:border-slate-950"></div>
488        <div class="flex flex-wrap items-center justify-between gap-2 mb-1">
489          <h3 class="text-lg font-bold text-slate-900 dark:text-white">LG 전자</h3>
490          <span class="px-2.5 py-0.5 text-xs font-semibold rounded-full bg-slate-100 text-slate-600 border border-slate-200 font-mono dark:bg-slate-800 dark:text-slate-400 dark:border-slate-700">
491            2013
492          </span>
493        </div>
494        <div class="text-xs font-medium text-slate-500 mb-2 dark:text-slate-400">소프트웨어 엔지니어 / 클라우드 아키텍트</div>
495        <p class="text-xs sm:text-sm text-slate-600 leading-relaxed dark:text-slate-300">
496          LINE 연동 대화형 홈 IoT 서비스 'LG 홈챗' 0 to 1 기획, Ruby 백엔드 프로토타이핑 및 클라우드 아키텍처 주도 (<strong>2014 CES 스마트홈 Choice Award 2개 부문 수상</strong>).
497        </p>
498      </div>
499
500      
501      <div class="relative group pt-2">
502        <div class="absolute -left-[31px] sm:-left-[39px] top-3.5 w-3 h-3 rounded-full bg-slate-300 border-2 border-slate-50 dark:bg-slate-800 dark:border-slate-700"></div>
503        <h4 class="text-sm font-semibold text-slate-600 mb-2 dark:text-slate-400">이전 엔지니어링 경력 (2013년 이전)</h4>
504        <div class="text-xs text-slate-500 space-y-1 leading-relaxed">
505          <p><strong>KT Cloudware</strong> (2011~2013) &middot; 클라우드 아키텍트 (Private Cloud 가상화 인프라)</p>
506          <p><strong>오픈마루 스튜디오 (NCSoft)</strong> (2007~2010) &middot; SW 엔지니어 / QA (품질 모니터링 및 24Hz 음악 검색)</p>
507          <p><strong>OnNET (온넷)</strong> (2006~2007) &middot; 검색엔진 개발자 (Lucene 검색 알고리즘 튜닝)</p>
508          <p><strong>Coconut (안랩 코코넛)</strong> (2001~2005) &middot; SW 엔지니어 (대용량 로그 수집 및 C/C++ 보안 에이전트)</p>
509          <p><strong>리눅스 인터네셔널</strong> (2000~2001) &middot; SW 엔지니어 (C/C++ 메일 처리 백엔드)</p>
510        </div>
511      </div>
512
513    </div>
514  </section>
515
516  
517  <section class="space-y-4 pt-4 border-t border-slate-200 dark:border-slate-800">
518    <h2 class="text-xl font-bold text-slate-900 tracking-tight flex items-center gap-2 dark:text-white">
519      <span class="text-amber-600 dark:text-amber-400">🎓</span> Education &amp; Honors
520    </h2>
521    <div class="grid grid-cols-1 sm:grid-cols-2 gap-4 text-xs sm:text-sm text-slate-600 dark:text-slate-300">
522      <div class="bg-white border border-slate-200 rounded-xl p-4 space-y-1 shadow-sm dark:bg-slate-900/40 dark:border-slate-800">
523        <div class="font-bold text-slate-900 dark:text-white">조선대학교</div>
524        <div class="text-xs text-slate-500 dark:text-slate-400">원자력공학과 학사 졸업 (1992 ~ 2000)</div>
525      </div>
526      <div class="bg-white border border-slate-200 rounded-xl p-4 space-y-1 shadow-sm dark:bg-slate-900/40 dark:border-slate-800">
527        <div class="font-bold text-slate-900 dark:text-white">SAFe Software Engineer 인증</div>
528        <div class="text-xs text-slate-500 dark:text-slate-400">Scaled Agile Framework (2021)</div>
529      </div>
530      <div class="bg-white border border-slate-200 rounded-xl p-4 space-y-1 shadow-sm dark:bg-slate-900/40 dark:border-slate-800">
531        <div class="font-bold text-slate-900 dark:text-white">CES 스마트홈 Choice Award 2개 부문 수상</div>
532        <div class="text-xs text-slate-500 dark:text-slate-400">LG 홈챗 서비스 아키텍처 주도 (2014)</div>
533      </div>
534      <div class="bg-white border border-slate-200 rounded-xl p-4 space-y-1 shadow-sm dark:bg-slate-900/40 dark:border-slate-800">
535        <div class="font-bold text-slate-900 dark:text-white">국제 학술 논문 게재 (IEICE)</div>
536        <div class="text-xs text-slate-500 dark:text-slate-400">&ldquo;Hexagonal Platform Architecture Implementation for IoT Devices and Services&rdquo; (2018)</div>
537      </div>
538    </div>
539  </section>
540
541</div>
542
543  </div>
544
545  
546  <footer class="border-t border-slate-200 bg-white py-8 mt-auto">
547    <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 flex flex-col sm:flex-row items-center justify-between gap-4 text-xs text-slate-500">
548      <p>© 2026 joinc.co.kr. All rights reserved.</p>
549      <p class="text-slate-400">Built with Static GitOps Engine &amp; Hosted on GitHub Pages</p>
550    </div>
551  </footer>
552
553  
554  <div id="mermaid-modal" class="fixed inset-0 z-50 hidden bg-slate-900/50 backdrop-blur-sm p-2 sm:p-4 md:p-6 flex items-center justify-center">
555    <div class="relative w-full h-full max-w-[98vw] max-h-[96vh] bg-white border border-slate-200 rounded-2xl p-4 sm:p-6 shadow-2xl flex flex-col">
556      <div class="flex items-center justify-between pb-3 sm:pb-4 border-b border-slate-200">
557        <div class="flex items-center gap-2">
558          <span class="inline-block w-2.5 h-2.5 rounded-full bg-blue-600 animate-pulse"></span>
559          <span class="text-sm font-semibold text-slate-800">다이어그램 전체 화면 확대</span>
560        </div>
561        <button id="modal-close-btn" class="px-3.5 py-1.5 text-xs sm:text-sm bg-slate-100 hover:bg-slate-200 text-slate-700 rounded-lg transition-colors border border-slate-200 font-medium flex items-center gap-1.5">
562          <span>닫기</span>
563          <kbd class="px-1.5 py-0.5 text-[10px] bg-white border border-slate-300 rounded text-slate-500">ESC</kbd>
564        </button>
565      </div>
566      <div id="modal-body" class="flex-1 overflow-auto flex items-center justify-center p-2 sm:p-6 bg-slate-50 rounded-xl">
567        
568      </div>
569    </div>
570  </div>
571
572  
573  
573<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/prism.min.js"></script>
573
574  
574<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/autoloader/prism-autoloader.min.js"></script>
574
575  
575<script>
576    
577    mermaid.initialize({
578      startOnLoad: false,
579      theme: 'default',
580      themeVariables: {
581        fontFamily: 'Pretendard, sans-serif',
582        fontSize: '13px',
583      }
584    });
585
586    document.addEventListener("DOMContentLoaded", async () => {
587      const rawBlocks = document.querySelectorAll(".mermaid-raw");
588      for (let i = 0; i < rawBlocks.length; i++) {
589        const rawEl = rawBlocks[i];
590        const container = rawEl.closest(".mermaid-container");
591        const code = rawEl.textContent.trim();
592        const id = "mermaid-svg-" + i;
593        try {
594          const { svg } = await mermaid.render(id, code);
595          const svgWrapper = document.createElement("div");
596          svgWrapper.className = "cursor-zoom-in w-full flex justify-center py-2";
597          svgWrapper.innerHTML = svg;
598          
599          
600          svgWrapper.addEventListener("click", () => {
601            openMermaidModal(svg);
602          });
603
604          container.appendChild(svgWrapper);
605        } catch (err) {
606          console.error("Mermaid render error:", err);
607          container.innerHTML = `<pre class="text-xs text-rose-600 p-4">${err.message}</pre>`;
608        }
609      }
610    });
611
612    
613    const modal = document.getElementById("mermaid-modal");
614    const modalBody = document.getElementById("modal-body");
615    const closeBtn = document.getElementById("modal-close-btn");
616
617    function openMermaidModal(svgHtml) {
618      modalBody.innerHTML = svgHtml;
619      const svg = modalBody.querySelector("svg");
620      if (svg) {
621        svg.removeAttribute("width");
622        svg.removeAttribute("height");
623        svg.style.width = "100%";
624        svg.style.maxWidth = "100%";
625        svg.style.maxHeight = "80vh";
626        svg.style.height = "auto";
627        svg.style.display = "block";
628        svg.style.margin = "auto";
629      }
630      modal.classList.remove("hidden");
631      document.body.classList.add("overflow-hidden");
632    }
633
634    function closeMermaidModal() {
635      modal.classList.add("hidden");
636      modalBody.innerHTML = "";
637      document.body.classList.remove("overflow-hidden");
638    }
639
640    if (closeBtn) closeBtn.addEventListener("click", closeMermaidModal);
641    if (modal) {
642      modal.addEventListener("click", (e) => {
643        if (e.target === modal) closeMermaidModal();
644      });
645    }
646    document.addEventListener("keydown", (e) => {
647      if (e.key === "Escape" && modal && !modal.classList.contains("hidden")) {
648        closeMermaidModal();
649      }
650    });
651
652    
653    function initKaTeX() {
654      if (typeof renderMathInElement === "function") {
655        renderMathInElement(document.body, {
656          delimiters: [
657            { left: "$$", right: "$$", display: true },
658            { left: "$", right: "$", display: false },
659            { left: "\\(", right: "\\)", display: false },
660            { left: "\\[", right: "\\]", display: true }
661          ],
662          ignoredTags: ["script", "noscript", "style", "textarea", "pre", "code"],
663          ignoredClasses: ["mermaid-raw", "mermaid-container"],
664          throwOnError: false
665        });
666      }
667    }
668
669    if (document.readyState === "loading") {
670      document.addEventListener("DOMContentLoaded", initKaTeX);
671    } else {
672      initKaTeX();
673    }
674  </script>
674
675</body>
676</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.