PageSourceSearch

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

html joinc.co.kr collected 2026-10-02 07:14:37 UTC 54,333 bytes, 1,154 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 text-slate-600 hover:text-slate-900 hover:bg-slate-100 rounded-lg">
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="flex flex-col lg:flex-row gap-8">
142  
143  <aside class="w-full lg:w-64 flex-shrink-0">
144    <div class="sticky top-24">
145      <div class="mb-6 flex items-center h-8">
146        <h2 class="text-xs font-bold text-slate-500 uppercase tracking-wider">
147          카테고리
148        </h2>
149      </div>
150      <div class="bg-white border border-slate-200 rounded-xl p-4 shadow-sm">
151        <nav class="space-y-1.5">
152          <a href="/" class="flex items-center justify-between px-3 py-2 rounded-lg text-sm font-medium transition-colors bg-blue-50 text-blue-700 border border-blue-200 font-semibold">
153            <span>전체 포스트</span>
154            <span class="px-2 py-0.5 text-xs rounded-full bg-slate-100 text-slate-600 font-mono">
155              13
156            </span>
157          </a>
158
159          
160          <a href="/category/agentic-ai/" class="flex items-center justify-between px-3 py-2 rounded-lg text-sm font-medium transition-colors text-slate-600 hover:bg-slate-100 hover:text-slate-900">
161            <span class="truncate">Agentic AI</span>
162            <span class="px-2 py-0.5 text-xs rounded-full bg-slate-100 text-slate-600 font-mono">
163              2
164            </span>
165          </a>
166          
167          <a href="/category/computer-vision/" class="flex items-center justify-between px-3 py-2 rounded-lg text-sm font-medium transition-colors text-slate-600 hover:bg-slate-100 hover:text-slate-900">
168            <span class="truncate">Computer Vision</span>
169            <span class="px-2 py-0.5 text-xs rounded-full bg-slate-100 text-slate-600 font-mono">
170              1
171            </span>
172          </a>
173          
174          <a href="/category/harness-engineering/" class="flex items-center justify-between px-3 py-2 rounded-lg text-sm font-medium transition-colors text-slate-600 hover:bg-slate-100 hover:text-slate-900">
175            <span class="truncate">Harness Engineering</span>
176            <span class="px-2 py-0.5 text-xs rounded-full bg-slate-100 text-slate-600 font-mono">
177              3
178            </span>
179          </a>
180          
181          <a href="/category/market-trends/" class="flex items-center justify-between px-3 py-2 rounded-lg text-sm font-medium transition-colors text-slate-600 hover:bg-slate-100 hover:text-slate-900">
182            <span class="truncate">Market Trends</span>
183            <span class="px-2 py-0.5 text-xs rounded-full bg-slate-100 text-slate-600 font-mono">
184              4
185            </span>
186          </a>
187          
188          <a href="/category/security/" class="flex items-center justify-between px-3 py-2 rounded-lg text-sm font-medium transition-colors text-slate-600 hover:bg-slate-100 hover:text-slate-900">
189            <span class="truncate">Security</span>
190            <span class="px-2 py-0.5 text-xs rounded-full bg-slate-100 text-slate-600 font-mono">
191              1
192            </span>
193          </a>
194          
195          <a href="/category/software-engineering/" class="flex items-center justify-between px-3 py-2 rounded-lg text-sm font-medium transition-colors text-slate-600 hover:bg-slate-100 hover:text-slate-900">
196            <span class="truncate">Software Engineering</span>
197            <span class="px-2 py-0.5 text-xs rounded-full bg-slate-100 text-slate-600 font-mono">
198              1
199            </span>
200          </a>
201          
202          <a href="/category/system-design/" class="flex items-center justify-between px-3 py-2 rounded-lg text-sm font-medium transition-colors text-slate-600 hover:bg-slate-100 hover:text-slate-900">
203            <span class="truncate">System Design</span>
204            <span class="px-2 py-0.5 text-xs rounded-full bg-slate-100 text-slate-600 font-mono">
205              1
206            </span>
207          </a>
208          
209        </nav>
210      </div>
211    </div>
212  </aside>
213
214  
215  <main class="flex-1">
216    <div class="mb-6 flex items-center justify-between h-8">
217      <h1 class="text-2xl font-bold text-slate-900 tracking-tight">
218        전체 포스트
219      </h1>
220      <span class="text-xs text-slate-500 font-medium">
221        총 13편
222      </span>
223    </div>
224
225    
226      <div class="flex flex-col gap-5">
227        
228        <article class="bg-white border border-slate-200 hover:border-blue-400 rounded-xl overflow-hidden shadow-sm hover:shadow-md transition-all hover:-translate-y-0.5 group">
229          <div class="p-6 flex flex-col justify-between">
230            <div>
231              <div class="flex items-center justify-between gap-2 mb-3">
232                <div class="flex items-center gap-2">
233                  <a href="/category/market%20trends/" class="inline-block px-2.5 py-0.5 text-xs font-semibold rounded-md bg-blue-50 text-blue-700 border border-blue-200 hover:bg-blue-100 transition-colors">
234                    Market Trends
235                  </a>
236                  
237                </div>
238                <span class="text-xs text-slate-400 font-mono">
239                  41 분 소요
240                </span>
241              </div>
242
243              <h2 class="text-xl font-bold text-slate-900 group-hover:text-blue-600 transition-colors mb-2 leading-snug">
244                <a href="/posts/ai-market-trends-h2/">
245                  새 모델은 반값인데 왜 개발팀은 멈춰 섰을까? 2026년 9월 하반기(9/15~9/30), AI 생태계를 뒤흔든 세 가지 현실 충돌
246                </a>
247              </h2>
248
249              <p class="text-sm text-slate-600 line-clamp-2 mb-4 leading-relaxed">
250                
251                  주력 모델 반값 인하 경쟁의 이면, 자율 에이전트 격리 환경 이탈 사고와 인공초지능 규제 논쟁, 그리고 데이터센터를 멈춰 세운 전력망 병목까지. 모델 스케일링에 대한 환상이 걷히고 엔터프라이즈가 마주한 AI 경제학의 냉정한 현실과 실전 아키텍처 전략을 짚어봅니다.
252                
253              </p>
254            </div>
255
256            <div class="pt-4 border-t border-slate-100 flex items-center justify-between">
257              <div class="flex items-center gap-1.5 flex-wrap">
258                
259                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
260                  #Generative AI
261                </span>
262                
263                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
264                  #Market Trends
265                </span>
266                
267                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
268                  #LLM Ops
269                </span>
270                
271                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
272                  #Enterprise Architecture
273                </span>
274                
275                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
276                  #AI Safety
277                </span>
278                
279              </div>
280
281              <div class="flex items-center gap-3 text-xs text-slate-400">
282                <span>2026-09-29</span>
283                <span>&bull;</span>
284                <a href="/posts/ai-market-trends-h2/" class="text-blue-600 hover:text-blue-700 font-medium inline-flex items-center gap-1 group-hover:translate-x-0.5 transition-transform">
285                  자세히 읽기 &rarr;
286                </a>
287              </div>
288            </div>
289          </div>
290        </article>
291        
292        <article class="bg-white border border-slate-200 hover:border-blue-400 rounded-xl overflow-hidden shadow-sm hover:shadow-md transition-all hover:-translate-y-0.5 group">
293          <div class="p-6 flex flex-col justify-between">
294            <div>
295              <div class="flex items-center justify-between gap-2 mb-3">
296                <div class="flex items-center gap-2">
297                  <a href="/category/software%20engineering/" class="inline-block px-2.5 py-0.5 text-xs font-semibold rounded-md bg-blue-50 text-blue-700 border border-blue-200 hover:bg-blue-100 transition-colors">
298                    Software Engineering
299                  </a>
300                  
301                </div>
302                <span class="text-xs text-slate-400 font-mono">
303                  49 분 소요
304                </span>
305              </div>
306
307              <h2 class="text-xl font-bold text-slate-900 group-hover:text-blue-600 transition-colors mb-2 leading-snug">
308                <a href="/posts/redefining-ai-coding-agent-autonomy/">
309                  코딩 에이전트의 자율성을 다시 묻다: $0.95^{10}$의 오류 누적과 통제 인프라의 재설계
310                </a>
311              </h2>
312
313              <p class="text-sm text-slate-600 line-clamp-2 mb-4 leading-relaxed">
314                
315                  에이전트 자율성에 대한 마케팅적 수사와 소프트웨어 공학 현실 간의 간극을 복리 에러($0.95^{10}$) 모델로 분석하고, 개발자의 검증 비용을 줄여 에이전트를 프로덕션 자산으로 안착시키기 위한 통제 인프라(Harness) 설계 원칙을 제시합니다.
316                
317              </p>
318            </div>
319
320            <div class="pt-4 border-t border-slate-100 flex items-center justify-between">
321              <div class="flex items-center gap-1.5 flex-wrap">
322                
323                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
324                  #Generative AI
325                </span>
326                
327                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
328                  #Agentic Workflow
329                </span>
330                
331                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
332                  #Software Engineering
333                </span>
334                
335                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
336                  #Developer Experience
337                </span>
338                
339              </div>
340
341              <div class="flex items-center gap-3 text-xs text-slate-400">
342                <span>2026-09-26</span>
343                <span>&bull;</span>
344                <a href="/posts/redefining-ai-coding-agent-autonomy/" class="text-blue-600 hover:text-blue-700 font-medium inline-flex items-center gap-1 group-hover:translate-x-0.5 transition-transform">
345                  자세히 읽기 &rarr;
346                </a>
347              </div>
348            </div>
349          </div>
350        </article>
351        
352        <article class="bg-white border border-slate-200 hover:border-blue-400 rounded-xl overflow-hidden shadow-sm hover:shadow-md transition-all hover:-translate-y-0.5 group">
353          <div class="p-6 flex flex-col justify-between">
354            <div>
355              <div class="flex items-center justify-between gap-2 mb-3">
356                <div class="flex items-center gap-2">
357                  <a href="/category/harness%20engineering/" class="inline-block px-2.5 py-0.5 text-xs font-semibold rounded-md bg-blue-50 text-blue-700 border border-blue-200 hover:bg-blue-100 transition-colors">
358                    Harness Engineering
359                  </a>
360                  
361                </div>
362                <span class="text-xs text-slate-400 font-mono">
363                  41 분 소요
364                </span>
365              </div>
366
367              <h2 class="text-xl font-bold text-slate-900 group-hover:text-blue-600 transition-colors mb-2 leading-snug">
368                <a href="/posts/spec-driven-ai-harness/">
369                  AI를 진짜 동료로 만드는 법: 스펙 드리븐 하네스 엔지니어링과 Google OKF
370                </a>
371              </h2>
372
373              <p class="text-sm text-slate-600 line-clamp-2 mb-4 leading-relaxed">
374                
375                  자연어 프롬프트 중심의 바이브 코딩이 낳는 디버깅 핑퐁과 환각을 극복하기 위해, Obsidian 기반 스펙 인덱스(Google OKF)와 터미널 에이전트를 결합하여 프로덕션 안정성을 확보하는 스펙 드리븐 하네스 엔지니어링 실전 아키텍처를 제시합니다.
376                
377              </p>
378            </div>
379
380            <div class="pt-4 border-t border-slate-100 flex items-center justify-between">
381              <div class="flex items-center gap-1.5 flex-wrap">
382                
383                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
384                  #Generative AI
385                </span>
386                
387                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
388                  #Harness Engineering
389                </span>
390                
391                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
392                  #Agentic Workflow
393                </span>
394                
395                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
396                  #System Design
397                </span>
398                
399                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
400                  #LLM Ops
401                </span>
402                
403              </div>
404
405              <div class="flex items-center gap-3 text-xs text-slate-400">
406                <span>2026-09-14</span>
407                <span>&bull;</span>
408                <a href="/posts/spec-driven-ai-harness/" class="text-blue-600 hover:text-blue-700 font-medium inline-flex items-center gap-1 group-hover:translate-x-0.5 transition-transform">
409                  자세히 읽기 &rarr;
410                </a>
411              </div>
412            </div>
413          </div>
414        </article>
415        
416        <article class="bg-white border border-slate-200 hover:border-blue-400 rounded-xl overflow-hidden shadow-sm hover:shadow-md transition-all hover:-translate-y-0.5 group">
417          <div class="p-6 flex flex-col justify-between">
418            <div>
419              <div class="flex items-center justify-between gap-2 mb-3">
420                <div class="flex items-center gap-2">
421                  <a href="/category/market%20trends/" class="inline-block px-2.5 py-0.5 text-xs font-semibold rounded-md bg-blue-50 text-blue-700 border border-blue-200 hover:bg-blue-100 transition-colors">
422                    Market Trends
423                  </a>
424                  
425                </div>
426                <span class="text-xs text-slate-400 font-mono">
427                  55 분 소요
428                </span>
429              </div>
430
431              <h2 class="text-xl font-bold text-slate-900 group-hover:text-blue-600 transition-colors mb-2 leading-snug">
432                <a href="/posts/ai-physical-infrastructure-and-energy-bottleneck/">
433                  AI 산업의 불편한 진실: Part 2 - 물리적 인프라의 벽과 데이터센터 전력·수자원 위기, 그리고 엔터프라이즈 그린 AI 전략
434                </a>
435              </h2>
436
437              <p class="text-sm text-slate-600 line-clamp-2 mb-4 leading-relaxed">
438                
439                  가상 세계의 지능 혁신 이면에 도사린 데이터센터 전력망 포화, 계통 연계 큐의 5~7년 지체, 냉각수 증발과 주민 반대 등 물리적 인프라의 병목을 데이터 기반으로 심층 분석합니다. 원전 PPA와 SMR 확보에 나선 빅테크의 에너지 전략과 국내 154kV 송전망 갈등을 짚고, 기업이 즉시 도입해야 할 서버리스 하이브리드 라우팅 및 FP8 양자화 기반 그린 AI 엔지니어링 해법을 제시합니다.
440                
441              </p>
442            </div>
443
444            <div class="pt-4 border-t border-slate-100 flex items-center justify-between">
445              <div class="flex items-center gap-1.5 flex-wrap">
446                
447                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
448                  #Generative AI
449                </span>
450                
451                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
452                  #Market Trends
453                </span>
454                
455                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
456                  #LLM Ops
457                </span>
458                
459                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
460                  #System Design
461                </span>
462                
463              </div>
464
465              <div class="flex items-center gap-3 text-xs text-slate-400">
466                <span>2026-09-05</span>
467                <span>&bull;</span>
468                <a href="/posts/ai-physical-infrastructure-and-energy-bottleneck/" class="text-blue-600 hover:text-blue-700 font-medium inline-flex items-center gap-1 group-hover:translate-x-0.5 transition-transform">
469                  자세히 읽기 &rarr;
470                </a>
471              </div>
472            </div>
473          </div>
474        </article>
475        
476        <article class="bg-white border border-slate-200 hover:border-blue-400 rounded-xl overflow-hidden shadow-sm hover:shadow-md transition-all hover:-translate-y-0.5 group">
477          <div class="p-6 flex flex-col justify-between">
478            <div>
479              <div class="flex items-center justify-between gap-2 mb-3">
480                <div class="flex items-center gap-2">
481                  <a href="/category/market%20trends/" class="inline-block px-2.5 py-0.5 text-xs font-semibold rounded-md bg-blue-50 text-blue-700 border border-blue-200 hover:bg-blue-100 transition-colors">
482                    Market Trends
483                  </a>
484                  
485                </div>
486                <span class="text-xs text-slate-400 font-mono">
487                  34 분 소요
488                </span>
489              </div>
490
491              <h2 class="text-xl font-bold text-slate-900 group-hover:text-blue-600 transition-colors mb-2 leading-snug">
492                <a href="/posts/ai-economic-reality-and-enterprise-strategy/">
493                  AI 산업의 불편한 진실: Part 1 - 천문학적 CapEx 거품과 엔터프라이즈의 실리적 생존 전략
494                </a>
495              </h2>
496
497              <p class="text-sm text-slate-600 line-clamp-2 mb-4 leading-relaxed">
498                
499                  빅테크의 천문학적인 GPU CapEx 투자와 $6,000억 매출 갭, 자금 순환 거래가 빚어낸 AI 산업의 경제적 거품과 한계를 데이터 기반으로 심층 분석합니다. 기업이 거품 붕괴와 PoC 실패 위기를 넘어 실질적인 ROI를 달성하기 위해 필요한 프롬프트 캐싱, 하이브리드 SLM 라우팅, 단위 경제성(Unit Economics) 중심의 엔터프라이즈 실리 생
499존 아키텍처와 구체적 엔지니어링 전략을 제시합니다.
500                
501              </p>
502            </div>
503
504            <div class="pt-4 border-t border-slate-100 flex items-center justify-between">
505              <div class="flex items-center gap-1.5 flex-wrap">
506                
507                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
508                  #Generative AI
509                </span>
510                
511                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
512                  #Market Trends
513                </span>
514                
515                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
516                  #LLM Ops
517                </span>
518                
519                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
520                  #System Design
521                </span>
522                
523              </div>
524
525              <div class="flex items-center gap-3 text-xs text-slate-400">
526                <span>2026-08-17</span>
527                <span>&bull;</span>
528                <a href="/posts/ai-economic-reality-and-enterprise-strategy/" class="text-blue-600 hover:text-blue-700 font-medium inline-flex items-center gap-1 group-hover:translate-x-0.5 transition-transform">
529                  자세히 읽기 &rarr;
530                </a>
531              </div>
532            </div>
533          </div>
534        </article>
535        
536        <article class="bg-white border border-slate-200 hover:border-blue-400 rounded-xl overflow-hidden shadow-sm hover:shadow-md transition-all hover:-translate-y-0.5 group">
537          <div class="p-6 flex flex-col justify-between">
538            <div>
539              <div class="flex items-center justify-between gap-2 mb-3">
540                <div class="flex items-center gap-2">
541                  <a href="/category/system%20design/" class="inline-block px-2.5 py-0.5 text-xs font-semibold rounded-md bg-blue-50 text-blue-700 border border-blue-200 hover:bg-blue-100 transition-colors">
542                    System Design
543                  </a>
544                  
545                </div>
546                <span class="text-xs text-slate-400 font-mono">
547                  49 분 소요
548                </span>
549              </div>
550
551              <h2 class="text-xl font-bold text-slate-900 group-hover:text-blue-600 transition-colors mb-2 leading-snug">
552                <a href="/posts/mcp-gateway-deep-dive/">
553                  MCP Gateway 딥다이브: 엔터프라이즈 AI 에이전트 도구 통합과 가드레일 아키텍처
554                </a>
555              </h2>
556
557              <p class="text-sm text-slate-600 line-clamp-2 mb-4 leading-relaxed">
558                
559                  수십 개의 에이전트와 마이크로서비스가 결합하는 엔터프라이즈 환경에서 도구 호출 보안 파편화와 비용 폭증을 방지하기 위한 2계층 보안, 헤더 기반 L7 라우팅, FinOps 서킷 브레이커 중심의 MCP Gateway 아키텍처와 Go PoC 구현을 심층 분석합니다.
560                
561              </p>
562            </div>
563
564            <div class="pt-4 border-t border-slate-100 flex items-center justify-between">
565              <div class="flex items-center gap-1.5 flex-wrap">
566                
567                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
568                  #Generative AI
569                </span>
570                
571                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
572                  #Agentic Workflow
573                </span>
574                
575                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
576                  #System Design
577                </span>
578                
579                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
580                  #LLM Ops
581                </span>
582                
583                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
584                  #GoLang
585                </span>
586                
587              </div>
588
589              <div class="flex items-center gap-3 text-xs text-slate-400">
590                <span>2026-08-08</span>
591                <span>&bull;</span>
592                <a href="/posts/mcp-gateway-deep-dive/" class="text-blue-600 hover:text-blue-700 font-medium inline-flex items-center gap-1 group-hover:translate-x-0.5 transition-transform">
593                  자세히 읽기 &rarr;
594                </a>
595              </div>
596            </div>
597          </div>
598        </article>
599        
600        <article class="bg-white border border-slate-200 hover:border-blue-400 rounded-xl overflow-hidden shadow-sm hover:shadow-md transition-all hover:-translate-y-0.5 group">
601          <div class="p-6 flex flex-col justify-between">
602            <div>
603              <div class="flex items-center justify-between gap-2 mb-3">
604                <div class="flex items-center gap-2">
605                  <a href="/category/harness%20engineering/" class="inline-block px-2.5 py-0.5 text-xs font-semibold rounded-md bg-blue-50 text-blue-700 border border-blue-200 hover:bg-blue-100 transition-colors">
606                    Harness Engineering
607                  </a>
608                  
609                </div>
610                <span class="text-xs text-slate-400 font-mono">
611                  40 분 소요
612                </span>
613              </div>
614
615              <h2 class="text-xl font-bold text-slate-900 group-hover:text-blue-600 transition-colors mb-2 leading-snug">
616                <a href="/posts/sdlc-harness-engineering-part1-discovery/">
617                  [SDLC 하네스 엔지니어링] 1부: AI 코딩 전 What &amp; Why 정의하기 (하네스 개요 및 Product Discovery)
618                </a>
619              </h2>
620
621              <p class="text-sm text-slate-600 line-clamp-2 mb-4 leading-relaxed">
622                
623                  생성형 AI 시대에 무분별한 코드 작성으로 인한 기술 부채를 방지하기 위해, AI 코딩 전 비즈니스 가치와 경계 조건을 명세화하고 통제하는 하네스 엔지니어링 개요와 Product Discovery 실전 워크플로우를 다룹니다.
624                
625              </p>
626            </div>
627
628            <div class="pt-4 border-t border-slate-100 flex items-center justify-between">
629              <div class="flex items-center gap-1.5 flex-wrap">
630                
631                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
632                  #Generative AI
633                </span>
634                
635                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
636                  #Harness Engineering
637                </span>
638                
639                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
640                  #Agentic Workflow
641                </span>
642                
643                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
644                  #LLM Ops
645                </span>
646                
647                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
648                  #System Design
649                </span>
650                
651              </div>
652
653              <div class="flex items-center gap-3 text-xs text-slate-400">
654                <span>2026-08-06</span>
655                <span>&bull;</span>
656                <a href="/posts/sdlc-harness-engineering-part1-discovery/" class="text-blue-600 hover:text-blue-700 font-medium inline-flex items-center gap-1 group-hover:translate-x-0.5 transition-transform">
657                  자세히 읽기 &rarr;
658                </a>
659              </div>
660            </div>
661          </div>
662        </article>
663        
664        <article class="bg-white border border-slate-200 hover:border-blue-400 rounded-xl overflow-hidden shadow-sm hover:shadow-md transition-all hover:-translate-y-0.5 group">
665          <div class="p-6 flex flex-col justify-between">
666            <div>
667              <div class="flex items-center justify-between gap-2 mb-3">
668                <div class="flex items-center gap-2">
669                  <a href="/category/market%20trends/" class="inline-block px-2.5 py-0.5 text-xs font-semibold rounded-md bg-blue-50 text-blue-700 border border-blue-200 hover:bg-blue-100 transition-colors">
670                    Market Trends
671                  </a>
672                  
673                </div>
674                <span class="text-xs text-slate-400 font-mono">
675                  9 분 소요
676                </span>
677              </div>
678
679              <h2 class="text-xl font-bold text-slate-900 group-hover:text-blue-600 transition-colors mb-2 leading-snug">
680                <a href="/posts/market-trends/">
681                  2026년 7월 하순~8월 초 AI 트렌드: 에이전틱 AI 오케스트레이션과 엔터프라이즈 AX의 실용적 안착
682                </a>
683              </h2>
684
685              <p class="text-sm text-slate-600 line-clamp-2 mb-4 leading-relaxed">
686                
687                  에이전틱 AI 오케스트레이션의 무인화 한계 극복, 인간 승인(HITL) 제어 레이어의 안착, 보안 격리 온디바이스 SLM 전환, 그리고 단위 경제성 중심의 비용 최적화 아키텍처 등 최신 엔터프라이즈 AX 시장 동향을 정리합니다.
688                
689              </p>
690            </div>
691
692            <div class="pt-4 border-t border-slate-100 flex items-center justify-between">
693              <div class="flex items-center gap-1.5 flex-wrap">
694                
695                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
696                  #Generative AI
697                </span>
698                
699                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
700                  #LLM Ops
701                </span>
702                
703                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
704                  #Market Trends
705                </span>
706                
707              </div>
708
709              <div class="flex items-center gap-3 text-xs text-slate-400">
710                <span>2026-08-05</span>
711                <span>&bull;</span>
712                <a href="/posts/market-trends/" class="text-blue-600 hover:text-blue-700 font-medium inline-flex items-center gap-1 group-hover:translate-x-0.5 transition-transform">
713                  자세히 읽기 &rarr;
714                </a>
715              </div>
716            </div>
717          </div>
718        </article>
719        
720        <article class="bg-white border border-slate-200 hover:border-blue-400 rounded-xl overflow-hidden shadow-sm hover:shadow-md transition-all hover:-translate-y-0.5 group">
721          <div class="p-6 flex flex-col justify-between">
722            <div>
723              <div class="flex items-center justify-between gap-2 mb-3">
724                <div class="flex items-center gap-2">
725                  <a href="/category/agentic%20ai/" class="inline-block px-2.5 py-0.5 text-xs font-semibold rounded-md bg-blue-50 text-blue-700 border border-blue-200 hover:bg-blue-100 transition-colors">
726                    Agentic AI
727                  </a>
728                  
729                </div>
730                <span class="text-xs text-slate-400 font-mono">
731                  32 분 소요
732                </span>
733              </div>
734
735              <h2 class="text-xl font-bold text-slate-900 group-hover:text-blue-600 transition-colors mb-2 leading-snug">
736                <a href="/posts/artifact-centric-agent-workflow/">
737                  GitLab CI/CD 파이프라인 사상으로 설계하는 Agentic AI: YAML 선언과 Job 단위 Artifact를 통한 비결정성 통제
738                </a>
739              </h2>
740
741              <p class="text-sm text-slate-600 line-clamp-2 mb-4 leading-relaxed">
742                
743                  블랙박스형 대화 세션 공유 방식의 복리 에러를 방지하기 위해 GitLab CI/CD 파이프라인 사상을 차용하여, YAML 선언적 명세와 Job 단위 물리적 산출물(Artifact) 기반으로 비결정성을 제어하는 아키텍처를 제안합니다.
744                
745              </p>
746            </div>
747
748            <div class="pt-4 border-t border-slate-100 flex items-center justify-between">
749              <div class="flex items-center gap-1.5 flex-wrap">
750                
751                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
752                  #Generative AI
753                </span>
754                
755                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
756                  #Agentic Workflow
757                </span>
758                
759                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
760                  #LLM Ops
761                </span>
762                
763                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
764                  #System Design
765                </span>
766                
767              </div>
768
769              <div class="flex items-center gap-3 text-xs text-slate-400">
770                <span>2026-07-25</span>
771                <span>&bull;</span>
772                <a href="/posts/artifact-centric-agent-workflow/" class="text-blue-600 hover:text-blue-700 font-medium inline-flex items-center gap-1 group-hover:translate-x-0.5 transition-transform">
773                  자세히 읽기 &rarr;
774                </a>
775              </div>
776            </div>
777          </div>
778        </article>
779        
780        <article class="bg-white border border-slate-200 hover:border-blue-400 rounded-xl overflow-hidden shadow-sm hover:shadow-md transition-all hover:-translate-y-0.5 group">
781          <div class="p-6 flex flex-col justify-between">
782            <div>
783              <div class="flex items-center justify-between gap-2 mb-3">
784                <div class="flex items-center gap-2">
785                  <a href="/category/agentic%20ai/" class="inline-block px-2.5 py-0.5 text-xs font-semibold rounded-md bg-blue-50 text-blue-700 border border-blue-200 hover:bg-blue-100 transition-colors">
786                    Agentic AI
787                  </a>
788                  
789                </div>
790                <span class="text-xs text-slate-400 font-mono">
791                  18 분 소요
792                </span>
793              </div>
794
795              <h2 class="text-xl font-bold text-slate-900 group-hover:text-blue-600 transition-colors mb-2 leading-snug">
796                <a href="/posts/moss-memory-linter/">
797                  비결정적 에이전트를 위한 결정론적 기억 제어: MOSS 아키텍처와 메모리 린터(Linter) 설계
798                </a>
799              </h2>
800
801              <p class="text-sm text-slate-600 line-clamp-2 mb-4 leading-relaxed">
802                
803                  멀티턴 대화에서 발생하는 에이전트의 컨텍스트 비대화와 기억 오염(환각) 문제를 해결하기 위해, 비결정론적 LLM 인지 영역에서 기억을 분리하여 DBMS와 룰 엔진으로 통제하는 MOSS 아키텍처와 메모리 린터 설계를 소개합니다.
804                
805              </p>
806            </div>
807
808            <div class="pt-4 border-t border-slate-100 flex items-center justify-between">
809              <div class="flex items-center gap-1.5 flex-wrap">
810                
811                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
812                  #Generative AI
813                </span>
814                
815                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
816                  #Agentic Workflow
817                </span>
818                
819                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
820                  #LLM Ops
821                </span>
822                
823                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
824                  #System Design
825                </span>
826                
827              </div>
828
829              <div class="flex items-center gap-3 text-xs text-slate-400">
830                <span>2026-07-18</span>
831                <span>&bull;</span>
832                <a href="/posts/moss-memory-linter/" class="text-blue-600 hover:text-blue-700 font-medium inline-flex items-center gap-1 group-hover:translate-x-0.5 transition-transform">
833                  자세히 읽기 &rarr;
834                </a>
835              </div>
836            </div>
837          </div>
838        </article>
839        
840        <article class="bg-white border border-slate-200 hover:border-blue-400 rounded-xl overflow-hidden shadow-sm hover:shadow-md transition-all hover:-translate-y-0.5 group">
841          <div class="p-6 flex flex-col justify-between">
842            <div>
843              <div class="flex items-center justify-between gap-2 mb-3">
844                <div class="flex items-center gap-2">
845                  <a href="/category/security/" class="inline-block px-2.5 py-0.5 text-xs font-semibold rounded-md bg-blue-50 text-blue-700 border border-blue-200 hover:bg-blue-100 transition-colors">
846                    Security
847                  </a>
848                  
849                </div>
850                <span class="text-xs text-slate-400 font-mono">
851                  34 분 소요
852                </span>
853              </div>
854
855              <h2 class="text-xl font-bold text-slate-900 group-hover:text-blue-600 transition-colors mb-2 leading-snug">
856                <a href="/posts/semantic-guardrail/">
857                  AI 에이전트 보안을 위한 다층 의미론적 가드레일(Semantic Guardrail) 설계 및 구현
858                </a>
859              </h2>
860
861              <p class="text-sm text-slate-600 line-clamp-2 mb-4 leading-relaxed">
862                
863                  입력단 단일 가드레일이 비즈니스 가용성을 마비시키는 원인을 규명하고, 진입로는 포괄적으로 수용하되 도구 실행 및 아웃바운드 레이어에서 정밀 제어하는 점진적 다층 거버넌스(Semantic Guardrail) 아키텍처를 제시합니다.
864                
865              </p>
866            </div>
867
868            <div class="pt-4 border-t border-slate-100 flex items-center justify-between">
869              <div class="flex items-center gap-1.5 flex-wrap">
870                
871                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
872                  #Generative AI
873                </span>
874                
875                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
876                  #Agentic Workflow
877                </span>
878                
879                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
880                  #LLM Ops
881                </span>
882                
883                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
884                  #Prompt Engineering
885                </span>
886                
887              </div>
888
889              <div class="flex items-center gap-3 text-xs text-slate-400">
890                <span>2026-07-11</span>
891                <span>&bull;</span>
892                <a href="/posts/semantic-guardrail/" class="text-blue-600 hover:text-blue-700 font-medium inline-flex items-center gap-1 group-hover:translate-x-0.5 transition-transform">
893                  자세히 읽기 &rarr;
894                </a>
895              </div>
896            </div>
897          </div>
898        </article>
899        
900        <article class="bg-white border border-slate-200 hover:border-blue-400 rounded-xl overflow-hidden shadow-sm hover:shadow-md transition-all hover:-translate-y-0.5 group">
901          <div class="p-6 flex flex-col justify-between">
902            <div>
903              <div class="flex items-center justify-between gap-2 mb-3">
904                <div class="flex items-center gap-2">
905                  <a href="/category/computer%20vision/" class="inline-block px-2.5 py-0.5 text-xs font-semibold rounded-md bg-blue-50 text-blue-700 border border-blue-200 hover:bg-blue-100 transition-colors">
906                    Computer Vision
907                  </a>
908                  
909                </div>
910                <span class="text-xs text-slate-400 font-mono">
911                  29 분 소요
912                </span>
913              </div>
914
915              <h2 class="text-xl font-bold text-slate-900 group-hover:text-blue-600 transition-colors mb-2 leading-snug">
916                <a href="/posts/vlm/">
917                  VLM과 Streamlit으로 구현하는 가구 자동 태깅 및 XAI 매칭 시스템
918                </a>
919              </h2>
920
921              <p class="text-sm text-slate-600 line-clamp-2 mb-4 leading-relaxed">
922                
923                  조명과 각도에 취약한 기존 딥러닝 비전 모델의 한계를 극복하기 위해 Gemini 3.5 Flash VLM API를 활용하여 인테리어 연출샷에서 가구 SKU를 정밀 매칭하고 XAI 채점표를 도출하는 파이프라인 및 Streamlit 데모 구현기를 공유합니다.
924                
925              </p>
926            </div>
927
928            <div class="pt-4 border-t border-slate-100 flex items-center justify-between">
929              <div class="flex items-center gap-1.5 flex-wrap">
930                
931                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
932                  #VLM
933                </span>
934                
935                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
936                  #Computer Vision
937                </span>
938                
939                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
940                  #Gemini
941                </span>
942                
943              </div>
944
945              <div class="flex items-center gap-3 text-xs text-slate-400">
946                <span>2026-06-28</span>
947                <span>&bull;</span>
948                <a href="/posts/vlm/" class="text-blue-600 hover:text-blue-700 font-medium inline-flex items-center gap-1 group-hover:translate-x-0.5 transition-transform">
949                  자세히 읽기 &rarr;
950                </a>
951              </div>
952            </div>
953          </div>
954        </article>
955        
956        <article class="bg-white border border-slate-200 hover:border-blue-400 rounded-xl overflow-hidden shadow-sm hover:shadow-md transition-all hover:-translate-y-0.5 group">
957          <div class="p-6 flex flex-col justify-between">
958            <div>
959              <div class="flex items-center justify-between gap-2 mb-3">
960                <div class="flex items-center gap-2">
961                  <a href="/category/harness%20engineering/" class="inline-block px-2.5 py-0.5 text-xs font-semibold rounded-md bg-blue-50 text-blue-700 border border-blue-200 hover:bg-blue-100 transition-colors">
962                    Harness Engineering
963                  </a>
964                  
965                </div>
966                <span class="text-xs text-slate-400 font-mono">
967                  25 분 소요
968                </span>
969              </div>
970
971              <h2 class="text-xl font-bold text-slate-900 group-hover:text-blue-600 transition-colors mb-2 leading-snug">
972                <a href="/posts/weekly-ai-trend/">
973                  “자율형 AI 에이전트”라는 환상에서 깨어나기: 비결정성 지능을 결정적 소프트웨어로 전환하는 인간-AI 협업 아키텍처
974                </a>
975              </h2>
976
977              <p class="text-sm text-slate-600 line-clamp-2 mb-4 leading-relaxed">
978                
979                  완전 자율형 AI 에이전트의 환상과 프로덕션 환경에서의 기술 부채 한계를 짚고, 비결정론적 LLM을 결정론적 소프트웨어로 통제하기 위한 하네스 엔지니어링(Harness Engineering)과 인간-AI 협업 아키텍처를 제시합니다.
980                
981              </p>
982            </div>
983
984            <div class="pt-4 border-t border-slate-100 flex items-center justify-between">
985              <div class="flex items-center gap-1.5 flex-wrap">
986                
987                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
988                  #Generative AI
989                </span>
990                
991                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
992                  #Agentic Workflow
993                </span>
994                
995                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
996                  #Harness Engineering
997                </span>
998                
999                <span class="px-2 py-0.5 rounded bg-slate-100 text-slate-600 border border-slate-200 text-[11px]">
1000                  #System Design
1001                </span>
1002                
1003              </div>
1004
1005              <div class="flex items-center gap-3 text-xs text-slate-400">
1006                <span>2026-06-14</span>
1007                <span>&bull;</span>
1008                <a href="/posts/weekly-ai-trend/" class="text-blue-600 hover:text-blue-700 font-medium inline-flex items-center gap-1 group-hover:translate-x-0.5 transition-transform">
1009                  자세히 읽기 &rarr;
1010                </a>
1011              </div>
1012            </div>
1013          </div>
1014        </article>
1015        
1016      </div>
1017    
1018  </main>
1019</div>
1020
1021  </div>
1022
1023  
1024  <footer class="border-t border-slate-200 bg-white py-8 mt-auto">
1025    <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">
1026      <p>© 2026 joinc.co.kr. All rights reserved.</p>
1027      <p class="text-slate-400">Built with Static GitOps Engine &amp; Hosted on GitHub Pages</p>
1028    </div>
1029  </footer>
1030
1031  
1032  <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">
1033    <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">
1034      <div class="flex items-center justify-between pb-3 sm:pb-4 border-b border-slate-200">
1035        <div class="flex items-center gap-2">
1036          <span class="inline-block w-2.5 h-2.5 rounded-full bg-blue-600 animate-pulse"></span>
1037          <span class="text-sm font-semibold text-slate-800">다이어그램 전체 화면 확대</span>
1038        </div>
1039        <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">
1040          <span>닫기</span>
1041          <kbd class="px-1.5 py-0.5 text-[10px] bg-white border border-slate-300 rounded text-slate-500">ESC</kbd>
1042        </button>
1043      </div>
1044      <div id="modal-body" class="flex-1 overflow-auto flex items-center justify-center p-2 sm:p-6 bg-slate-50 rounded-xl">
1045        
1046      </div>
1047    </div>
1048  </div>
1049
1050  
1051  
1051<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/prism.min.js"></script>
1051
1052  
1052<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/autoloader/prism-autoloader.min.js"></script>
1052
1053  
1053<script>
1054    
1055    mermaid.initialize({
1056      startOnLoad: false,
1057      theme: 'default',
1058      themeVariables: {
1059        fontFamily: 'Pretendard, sans-serif',
1060        fontSize: '13px',
1061      }
1062    });
1063
1064    document.addEventListener("DOMContentLoaded", async () => {
1065      const rawBlocks = document.querySelectorAll(".mermaid-raw");
1066      for (let i = 0; i < rawBlocks.length; i++) {
1067        const rawEl = rawBlocks[i];
1068        const container = rawEl.closest(".mermaid-container");
1069        const code = rawEl.textContent.trim();
1070        const id = "mermaid-svg-" + i;
1071        try {
1072          const { svg } = await mermaid.render(id, code);
1073          const svgWrapper = document.createElement("div");
1074          svgWrapper.className = "cursor-zoom-in w-full flex justify-center py-2";
1075          svgWrapper.innerHTML = svg;
1076          
1077          
1078          svgWrapper.addEventListener("click", () => {
1079            openMermaidModal(svg);
1080          });
1081
1082          container.appendChild(svgWrapper);
1083        } catch (err) {
1084          console.error("Mermaid render error:", err);
1085          container.innerHTML = `<pre class="text-xs text-rose-600 p-4">${err.message}</pre>`;
1086        }
1087      }
1088    });
1089
1090    
1091    const modal = document.getElementById("mermaid-modal");
1092    const modalBody = document.getElementById("modal-body");
1093    const closeBtn = document.getElementById("modal-close-btn");
1094
1095    function openMermaidModal(svgHtml) {
1096      modalBody.innerHTML = svgHtml;
1097      const svg = modalBody.querySelector("svg");
1098      if (svg) {
1099        svg.removeAttribute("width");
1100        svg.removeAttribute("height");
1101        svg.style.width = "100%";
1102        svg.style.maxWidth = "100%";
1103        svg.style.maxHeight = "80vh";
1104        svg.style.height = "auto";
1105        svg.style.display = "block";
1106        svg.style.margin = "auto";
1107      }
1108      modal.classList.remove("hidden");
1109      document.body.classList.add("overflow-hidden");
1110    }
1111
1112    function closeMermaidModal() {
1113      modal.classList.add("hidden");
1114      modalBody.innerHTML = "";
1115      document.body.classList.remove("overflow-hidden");
1116    }
1117
1118    if (closeBtn) closeBtn.addEventListener("click", closeMermaidModal);
1119    if (modal) {
1120      modal.addEventListener("click", (e) => {
1121        if (e.target === modal) closeMermaidModal();
1122      });
1123    }
1124    document.addEventListener("keydown", (e) => {
1125      if (e.key === "Escape" && modal && !modal.classList.contains("hidden")) {
1126        closeMermaidModal();
1127      }
1128    });
1129
1130    
1131    function initKaTeX() {
1132      if (typeof renderMathInElement === "function") {
1133        renderMathInElement(document.body, {
1134          delimiters: [
1135            { left: "$$", right: "$$", display: true },
1136            { left: "$", right: "$", display: false },
1137            { left: "\\(", right: "\\)", display: false },
1138            { left: "\\[", right: "\\]", display: true }
1139          ],
1140          ignoredTags: ["script", "noscript", "style", "textarea", "pre", "code"],
1141          ignoredClasses: ["mermaid-raw", "mermaid-container"],
1142          throwOnError: false
1143        });
1144      }
1145    }
1146
1147    if (document.readyState === "loading") {
1148      document.addEventListener("DOMContentLoaded", initKaTeX);
1149    } else {
1150      initKaTeX();
1151    }
1152  </script>
1152
1153</body>
1154</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.