1<!DOCTYPE html><!--1JMqmIfg8KVAMdyhHE3KM--><html lang="ko" class="pretendard_e541fa44-module__lAOBca__variable"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/PretendardVariable-s.p.77d5d991.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/chunks/ef8f42027135b197.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/af50162010f2f022.js"/>
1<script src="/_next/static/chunks/86bea0b32d7fd3b8.js" async=""></script>
1<script src="/_next/static/chunks/689d09fefe2e1e11.js" async=""></script>
1<script src="/_next/static/chunks/16ef82e901fc9eeb.js" async=""></script>
1<script src="/_next/static/chunks/turbopack-e95a7e66861359cf.js" async=""></script>
1<script src="/_next/static/chunks/0ba947301213ff43.js" async=""></script>
1<script src="/_next/static/chunks/800529638633fc44.js" async=""></script>
1<script src="/_next/static/chunks/b177f4b76e5686fb.js" async=""></script>
1<script src="/_next/static/chunks/90aa427fbd6640bb.js" async=""></script>
1<script src="/_next/static/chunks/fe27e77f77f9878a.js" async=""></script>
1<link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-BZQ20GF1D5" as="script"/><meta name="next-size-adjust" content=""/><title>Blog - SNAX</title><meta name="description" content="CalvinSnaxì 기ì ë¸ë¡ê·¸. íë¡ í¸ìë ê°ë°, React, Next.js, TypeScript ë± ì¹ ê°ë° ê´ë ¨ ê¸ë¤ì íì¸íì¸ì."/><link rel="author" href="https://github.com/calvinsnax"/><meta name="author" content="CalvinSnax"/><meta name="keywords" content="íë¡ í¸ìë,ê°ë°,React,Next.js,TypeScript,ì¹ê°ë°,ë¸ë¡ê·¸,CalvinSnax,SNAX"/><meta name="creator" content="CalvinSnax"/><meta name="publisher" content="CalvinSnax"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><link rel="canonical" href="https://calvinsnax.com/blog"/><meta name="format-detection" content="telephone=no, address=no, email=no"/><meta property="og:title" content="Blog | SNAX"/><meta property="og:description" content="CalvinSnaxì 기ì ë¸ë¡ê·¸. íë¡ í¸ìë ê°ë°, React, Next.js, TypeScript ë± ì¹ ê°ë° ê´ë ¨ ê¸ë¤ì íì¸íì¸ì."/><meta property="og:url" content="https://calvinsnax.com/blog"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Blog | SNAX"/><meta name="twitter:description" content="CalvinSnaxì 기ì ë¸ë¡ê·¸. íë¡ í¸ìë ê°ë°, React, Next.js, TypeScript ë± ì¹ ê°ë° ê´ë ¨ ê¸ë¤ì íì¸íì¸ì."/><link rel="icon" href="/favicon.ico?favicon.0b3bf435.ico" sizes="256x256" type="image/x-icon"/><link rel="icon" href="/icon.svg?icon.fec4570f.svg" sizes="any" type="image/svg+xml"/>
1<script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script>
1</head><body class="pretendard_e541fa44-module__lAOBca__className"><div hidden=""><!--$--><!--/$--></div>
1<script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","",null,["light","dark"],null,true,true)</script>
1<header class="fixed top-0 right-0 left-0 z-50 h-[52px]"><div class="absolute -inset-x-0 -top-8 h-32"><div class="absolute inset-0 size-full backdrop-blur-[20px]" style="mask-image:linear-gradient(to bottom, transparent, rgba(0,0,0,1) 12.5%, rgba(0,0,0,0) 25%);-webkit-mask-image:linear-gradient(to bottom, transparent, rgba(0,0,0,1) 12.5%, rgba(0,0,0,0) 25%)"></div><div class="absolute inset-0 size-full backdrop-blur-[15px]" style="mask-image:linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 12.5%, rgba(0,0,0,1) 25%, rgba(0,0,0,0) 37.5%);-webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 12.5%, rgba(0,0,0,1) 25%, rgba(0,0,0,0) 37.5%)"></div><div class="absolute inset-0 size-full backdrop-blur-[10px]" style="mask-image:linear-gradient(to bottom, rgba(0,0,0,0) 12.5%, rgba(0,0,0,1) 25%, rgba(0,0,0,1) 37.5%, rgba(0,0,0,0) 50%);-webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,0) 12.5%, rgba(0,0,0,1) 25%, rgba(0,0,0,1) 37.5%, rgba(0,0,0,0) 50%)"></div><div class="absolute inset-0 size-full backdrop-blur-[6px]" style="mask-image:linear-gradient(to bottom, rgba(0,0,0,0) 25%, rgba(0,0,0,1) 37.5%, rgba(0,0,0,1) 50%, rgba(0,0,0,0) 62.5%);-webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,0) 25%, rgba(0,0,0,1) 37.5%, rgba(0,0,0,1) 50%, rgba(0,0,0,0) 62.5%)"></div><div class="absolute inset-0 size-full backdrop-blur-[3px]" style="mask-image:linear-gradient(to bottom, rgba(0,0,0,0) 37.5%, rgba(0,0,0,1) 50%, rgba(0,0,0,1) 62.5%, rgba(0,0,0,0) 75%);-webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,0) 37.5%, rgba(0,0,0,1) 50%, rgba(0,0,0,1) 62.5%, rgba(0,0,0,0) 75%)"></div><div class="absolute inset-0 size-full backdrop-blur-[1px]" style="mask-image:linear-gradient(to bottom, rgba(0,0,0,0) 50%, rgba(0,0,0,1) 62.5%, rgba(0,0,0,1) 75%, rgba(0,0,0,0) 87.5%);-webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,0) 50%, rgba(0,0,0,1) 62.5%, rgba(0,0,0,1) 75%, rgba(0,0,0,0) 87.5%)"></div><div class="absolute inset-x-0 -top-4 block size-full bg-gradient-to-b from-background/80 to-transparent md:from-transparent md:dark:from-background"></div></div><div class="relative mx-auto h-full px-4 sm:px-6 lg:px-8"><div class="flex h-full items-center justify-between"><a class="flex items-center" aria-label="Home" href="/"><svg width="156" height="35" viewBox="0 0 156 35" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-4 w-auto text-gray-900 dark:text-white"><path fill-rule="evenodd" clip-rule="evenodd" d="M122.179 0.639998H130.402L138.892 11.716L147.418 0.639998H155.597L142.999 17.06L155.597 33.48H147.418L138.892 22.404L130.402 33.48H122.179L134.777 17.06L122.179 0.639998Z" fill="currentColor"></path><path d="M45.7694 10.9909L60.2894 25.1538V33.48H66.7694V0.639998H60.2894V16.107L44.3636 0.639998H39.2894V33.48H45.7694V10.9909Z" fill="currentColor"></path><path d="M92.8432 0.639998L79.3486 33.48H86.315L95.2788 11.6434L104.243 33.48H111.249L97.7543 0.639998H92.8432Z" fill="currentColor"></path><path d="M13.54 27.68C11.865 27.68 10.5505 27.3874 9.52125 26.8955C8.4862 26.3746 7.7567 25.6958 7.2498 24.8637C6.76404 24.0238 6.48 22.9834 6.48 21.66H0C0 23.9977 0.532795 26.1718 1.65643 28.1126L1.6695 28.1352L1.68303 28.1574C2.85485 30.0875 4.52079 31.5619 6.59623 32.5831C8.67678 33.6069 11.0132 34.08 13.54 34.08C15.6047 34.08 17.5665 33.7401 19.4002 33.0323C21.3015 32.2985 22.903 31.16 24.1157 29.5918C25.4358 27.8932 26.04 25.8662 26.04 23.66C26.04 21.5377 25.5159 19.5292 24.1421 17.9744C23.0211 16.6778 21.6201 15.7523 19.9875 15.2138C18.6325 14.7347 16.8215 14.2711 14.6104 13.8127C12.4878 13.3671 10.9165 12.9636 9.85057 12.6083C8.95896 12.3111 8.34772 11.926 7.92521 11.5095C7.71729 11.288 7.52 10.9281 7.52 10.18C7.52 9.25875 7.75751 8.68151 8.0927 8.27007C8.58663 7.69973 9.23634 7.24707 10.1103 6.93094C11.0699 6.58388 12.1266 6.4 13.3 6.4C14.5746 6.4 15.6666 6.65839 16.622 7.13607L16.64 7.14508L16.6582 7.15381C17.5908 7.60147 18.2848 8.21696 18.7986 9.01426C19.2855 9.76977 19.56 10.6761 19.56 11.82H26.04C26.04 9.56797 25.47 7.47855 24.2842 5.63011C23.1249 3.82294 21.5388 2.43241 19.5858 1.46771C17.665 0.478947 15.5681 0 13.34 0C11.1206 0 9.05499 0.365088 7.1952 1.16214L7.18766 1.16537L7.18014 1.16865C5.34369 1.97001 3.81592 3.15096 2.69629 4.74012L2.68524 4.7
1558L2.67443 4.77166C1.56609 6.39723 1.04 8.25777 1.04 10.26C1.04 12.2191 1.57532 14.0475 2.81945 15.5405L2.84356 15.5694L2.86853 15.5976C4.00629 16.8822 5.47983 17.8309 7.17909 18.5042L7.20529 18.5146L7.23171 18.5244C8.83878 19.1196 10.83 19.6434 13.1665 20.1108C15.2474 20.5323 16.6988 20.8948 17.5894 21.1917L17.6254 21.2037L17.6616 21.2146C18.3428 21.4189 18.8253 21.7305 19.188 22.1211C19.3171 22.2601 19.56 22.6334 19.56 23.62C19.56 24.8534 19.1246 25.6948 18.1575 26.3924L18.1495 26.3982L18.1416 26.404C17.0631 27.1949 15.5894 27.68 13.54 27.68Z" fill="currentColor"></path></svg></a><div class="flex items-center gap-2"><nav class="flex items-center gap-6"><a class="text-sm text-gray-900/50 transition-all duration-300 hover:text-gray-900 active:scale-95 data-[active=true]:text-gray-900 dark:text-gray-300 dark:hover:text-white dark:data-[active=true]:text-white" data-active="false" href="/about">About</a><a class="text-sm text-gray-900/50 transition-all duration-300 hover:text-gray-900 active:scale-95 data-[active=true]:text-gray-900 dark:text-gray-300 dark:hover:text-white dark:data-[active=true]:text-white" data-active="true" href="/blog">Blog</a><a class="text-sm text-gray-900/50 transition-all duration-300 hover:text-gray-900 active:scale-95 data-[active=true]:text-gray-900 dark:text-gray-300 dark:hover:text-white dark:data-[active=true]:text-white" data-active="false" href="/diary">Diary</a></nav><div class="mx-2 h-4 w-px bg-gray-900/10 dark:bg-white/10"></div><button class="rounded-md p-2 text-gray-700/50 hover:text-gray-900 dark:text-gray-300 dark:hover:text-white"><div class="h-5 w-5"></div></button></div></div></div></header><main class="pt-[52px]"><div class="mx-auto max-w-4xl animate-in px-4 pt-12 pb-20 duration-700 fade-in slide-in-from-bottom-2"><h1 class="mb-8 text-lg font-semibold">Blog</h1><div class="grid gap-8"><article><a class="flex items-start justify-between gap-4 transition-all duration-500 hover:opacity-80 active:scale-99" href="/blog/vision-ai-on-edge-device"><div><h3 class="mb-1 text-base font-semibold text-gray-900 md:text-lg dark:text-white">Vision AI on Edge Device</h3><p class="mb-4 text-sm wrap-break-word break-keep text-gray-500 dark:text-gray-300">ì°ì
íì¥ì ì¹´ë©ë¼ìì ììí´ ë¤ìí ê²½ë Vision 모ë¸, ëª¨ë¸ ìµì í, NPU, Runtime, MLOpsë¡ ì´ì´ì§ë Edge Vision AI ìíê³ë¥¼ ì´í´ë´
ëë¤.</p><time dateTime="2026-08-23T15:00:00.000Z" class="block text-xs text-gray-500 dark:text-gray-400">2026ë
8ì 24ì¼</time></div><div class="relative aspect-[16/10] w-28 shrink-0 overflow-hidden rounded-lg md:w-40"><img alt="Vision AI on Edge Device" loading="lazy" decoding="async" data-nimg="fill" class="absolute inset-0 size-full object-cover" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" src="/images/vision-ai-on-edge-device/thumbnail-v5.webp"/></div></a></article><article><a class="flex items-start justify-between gap-4 transition-all duration-500 hover:opacity-80 active:scale-99" href="/blog/claude-code-automated-blog"><div><h3 class="mb-1 text-base font-semibold text-gray-900 md:text-lg dark:text-white">Claude Code íëë¡ 3ì£¼ê° 118í¸ì ë´ì¤ë¥¼ ìë ë°íí ë°©ë²</h3><p class="mb-4 text-sm wrap-break-word break-keep text-gray-500 dark:text-gray-300">ì½ë© ìì´ì í¸ë¥¼ ë´ì¤ë£¸ì¼ë¡. Agent Teams, commands, rulesë¡ ì¤ê³í AI ì½í
ì¸ ìëí ì ëµ.</p><time dateTime="2026-04-14T08:45:14.000Z" class="block text-xs text-gray-500 dark:text-gray-400">2026ë
4ì 14ì¼</time></div><div class="relative aspect-[16/10] w-28 shrink-0 overflow-hidden rounded-lg md:w-40"><img alt="Claude Code íëë¡ 3ì£¼ê° 118í¸ì ë´ì¤ë¥¼ ìë ë°íí ë°©ë²" loading="lazy" decoding="async" data-nimg="fill" class="absolute inset-0 size-full object-cover" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" src="/images/claude-code-automated-blog/thumbnail.png"/></div></a></article><article><a class="flex items-start justify-between gap-4 transition-all duration-500 hover:opacity-80 active:scale-99" href="/blog/ai-hub-dev-workflow"><div><h3 class="mb-1 text-base font-semibold text-gray-900 md:text-lg dark:text-white">AI ìì´ì í¸ íê³¼ ì¬ëì´ í¨ê» ì¬ì©íë íì
í´</h3><p class="mb-4 text-sm wrap-break-word break-keep text-gray-500 dark:text-gray-300">Claude Code ê¸°ë° AI ìì´ì í¸ 7ëª
ì¼ë¡ íì ê¾¸ë¦¬ê³ , ì´ë¤ì íì
ì ìí ì¬ë´ ë구 AI Hub를 ì¤ê³í ê²½íì ê³µì í©ëë¤.</p><time dateTime="2026-03-19T00:00:00.000Z" class="block text-xs text-gray-500 dark:text-gray-400">2026ë
3ì 19ì¼</time></div><div class="relative aspect-[16/10] w-28 shrink-0 overflow-hidden rounded-lg md:w-40"><img alt="AI ìì´ì í¸ íê³¼ ì¬ëì´ í¨ê» ì¬ì©íë íì
í´" loading="lazy" decoding="async" data-nimg="fill" class="absolute inset-0 size-full object-cover" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" src="/images/ai-hub/thumbnail.png"/></div></a></article><article><a class="flex items-start justify-between gap-4 transition-all duration-500 hover:opacity-80 active:scale-99" href="/blog/marketing-cms"><div><h3 class="mb-1 text-base font-semibold text-gray-900 md:text-lg dark:text-white">ëë© íì´ì§ë¥¼ ìí ë¨ íëì ë
¸ì½ë í´</h3><p class="mb-4 text-sm wrap-break-word break-keep text-gray-500 dark:text-gray-300">ë¹ì¦ëì¤ íì ê³ ë¯¼ì í´ê²°í ë§ì§ë§ ëë© íì´ì§ ì
ë°ì´í¸, ë§ì¼í
CMS를 ìê°í©ëë¤.</p><time dateTime="2025-11-10T00:00:00.000Z" class="block text-xs text-gray-500 dark:text-gray-400">2025ë
11ì 10ì¼</time></div><div class="relative aspect-[16/10] w-28 shrink-0 overflow-hidden rounded-lg md:w-40"><img alt="ëë© íì´ì§ë¥¼ ìí ë¨ íëì ë
¸ì½ë í´" loading="lazy" decoding="async" data-nimg="fill" class="absolute inset-0 size-full object-cover" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" src="/images/marketing-cms/thumbnail.png"/></div></a></article><article><a class="flex items-start justify-between gap-4 transition-all duration-500 hover:opacity-80 active:scale-99" href="/blog/react-excel-performance"><div><h3 class="mb-1 text-base font-semibold text-gray-900 md:text-lg dark:text-white">ì§ì ìì
ì 구ííë©° ê²½íí React ìµì í 기ë²ë¤</h3><p class="mb-4 text-sm wrap-break-word break-keep text-gray-500 dark:text-gray-300">ëê·ëª¨ì ë°ì´í°ë¥¼ ì²ë¦¬í ì ìë 리ì¡í¸ ìì
ì»´í¬ëí¸ë¥¼ ê°ë°íë©° ê²½íí ìµì í 기ë²ë¤ì ìê°í©ëë¤.</p><time dateTime="2025-08-11T00:00:00.000Z" class="block text-xs text-gray-500 dark:text-gray-400">2025ë
8ì 11ì¼</time></div><div class="relative aspect-[16/10] w-28 shrink-0 overflow-hidden rounded-lg md:w-40"><img alt="ì§ì ìì
ì 구ííë©° ê²½íí React ìµì í 기ë²ë¤" loading="lazy" decoding="async" data-nimg="fill" class="absolute inset-0 size-full object-cover" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" src="/images/react-excel-performance/thumbnail.png"/></div></a></article><article><a class="flex items-start justify-between gap-4 transition-all duration-500 hover:opacity-80 active:scale-99" href="/blog/getting-i18n-with-google-spreadsheet"><div><h3 class="mb-1 text-base font-semibold text-gray-900 md:text-lg dark:text-white">
1구ê¸ì¤íë ëìí¸ë¥¼ 200% íì©í êµì í(i18n) ìëí ì¬ë¡</h3><p class="mb-4 text-sm wrap-break-word break-keep text-gray-500 dark:text-gray-300">ë¹ê°ë°ììì íì
ì´ ì ë
ì¤ìíë êµì í íë¡ì í¸. 구ê¸ì¤íë ëìí¸ë¥¼ íì©íì¬ ë¹ê°ë°ììì íì
ì ë©ì§ê² ìì±í´ë¸ êµì í(i18n) ìëí ì¬ë¡ë¥¼ ìê°í©ëë¤.</p><time dateTime="2023-07-23T00:00:00.000Z" class="block text-xs text-gray-500 dark:text-gray-400">2023ë
7ì 23ì¼</time></div><div class="relative aspect-[16/10] w-28 shrink-0 overflow-hidden rounded-lg md:w-40"><img alt="구ê¸ì¤íë ëìí¸ë¥¼ 200% íì©í êµì í(i18n) ìëí ì¬ë¡" loading="lazy" decoding="async" data-nimg="fill" class="absolute inset-0 size-full object-cover" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" src="/images/getting-i18n-with-google-spreadsheet/thumbnail.jpg"/></div></a></article><article><a class="flex items-start justify-between gap-4 transition-all duration-500 hover:opacity-80 active:scale-99" href="/blog/ci-cd-for-semantic-versioning"><div><h3 class="mb-1 text-base font-semibold text-gray-900 md:text-lg dark:text-white">ì¬ë´ ë¼ì´ë¸ë¬ë¦¬ë¥¼ ìí ë²ì ê´ë¦¬ ë° ë°°í¬ ìëí CI/CD</h3><p class="mb-4 text-sm wrap-break-word break-keep text-gray-500 dark:text-gray-300">ì¤íìì¤ ëë ì¬ë´ ë¼ì´ë¸ë¬ë¦¬ì ë¦´ë¦¬ì¦ ê³¼ì ì ìëíí ì¬ë¡ë¥¼ ê³µì í©ëë¤.</p><time dateTime="2023-07-17T00:00:00.000Z" class="block text-xs text-gray-500 dark:text-gray-400">2023ë
7ì 17ì¼</time></div><div class="relative aspect-[16/10] w-28 shrink-0 overflow-hidden rounded-lg md:w-40"><img alt="ì¬ë´ ë¼ì´ë¸ë¬ë¦¬ë¥¼ ìí ë²ì ê´ë¦¬ ë° ë°°í¬ ìëí CI/CD" loading="lazy" decoding="async" data-nimg="fill" class="absolute inset-0 size-full object-cover" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" src="/images/ci-cd-for-semantic-versioning/thumbnail.jpg"/></div></a></article><article><a class="flex items-start justify-between gap-4 transition-all duration-500 hover:opacity-80 active:scale-99" href="/blog/jds"><div><h3 class="mb-1 text-base font-semibold text-gray-900 md:text-lg dark:text-white">JOOTEK 리ë´ì¼ íê³ </h3><p class="mb-4 text-sm wrap-break-word break-keep text-gray-500 dark:text-gray-300">리ë¸ëë©, ëìì¸ ìì¤í
êµ¬ì¶ ë± 1ë
ëì í ì¤íí¸ì
ì ëìì¸ ë¦¬í©í ë§ ê²½íì íê³ í©ëë¤.</p><time dateTime="2022-01-03T00:00:00.000Z" class="block text-xs text-gray-500 dark:text-gray-400">2022ë
1ì 3ì¼</time></div><div class="relative aspect-[16/10] w-28 shrink-0 overflow-hidden rounded-lg md:w-40"><img alt="JOOTEK 리ë´ì¼ íê³ " loading="lazy" decoding="async" data-nimg="fill" class="absolute inset-0 size-full object-cover" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" src="/images/jds/thumbnail.png"/></div></a></article></div><footer class="mx-auto mt-18 flex max-w-4xl items-center justify-between border-t border-gray-200 pt-6 dark:border-gray-800"><p class="text-xs text-gray-400 dark:text-gray-500">© <!-- -->2026<!-- --> CalvinSnax.</p><a aria-label="RSS 구ë
" class="flex items-center gap-1 text-xs text-gray-400 transition-colors hover:text-gray-900 dark:text-gray-500 dark:hover:text-white" href="/rss.xml"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rss size-3.5" aria-hidden="true"><path d="M4 11a9 9 0 0 1 9 9"></path><path d="M4 4a16 16 0 0 1 16 16"></path><circle cx="5" cy="19" r="1"></circle></svg>RSS</a></footer></div><!--$--><!--/$--></main>
1<script src="/_next/static/chunks/af50162010f2f022.js" id="_R_" async=""></script>
1<script>(self.__next_f=self.__next_f||[]).push([0])</script>
1<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n3:I[43247,[\"/_next/static/chunks/0ba947301213ff43.js\",\"/_next/static/chunks/800529638633fc44.js\"],\"default\"]\n4:I[21378,[\"/_next/static/chunks/0ba947301213ff43.js\",\"/_next/static/chunks/800529638633fc44.js\"],\"default\"]\n5:I[10242,[\"/_next/static/chunks/b177f4b76e5686fb.js\",\"/_next/static/chunks/90aa427fbd6640bb.js\",\"/_next/static/chunks/fe27e77f77f9878a.js\"],\"\"]\n6:I[79819,[\"/_next/static/chunks/b177f4b76e5686fb.js\",\"/_next/static/chunks/90aa427fbd6640bb.js\",\"/_next/static/chunks/fe27e77f77f9878a.js\"],\"Image\"]\n10:I[47900,[],\"default\"]\n:HL[\"/_next/static/chunks/ef8f42027135b197.css\",\"style\"]\n:HL[\"/_next/static/media/PretendardVariable-s.p.77d5d991.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n"])</script>
1<script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"1JMqmIfg8KVAMdyhHE3KM\",\"c\":[\"\",\"blog\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"blog\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/ef8f42027135b197.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/b177f4b76e5686fb.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/90aa427fbd6640bb.js\",\"async\":true,\"nonce\":\"$undefined\"}]],\"$L2\"]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"mb-8 text-lg font-semibold\",\"children\":\"Blog\"}],[\"$\",\"div\",null,{\"className\":\"grid gap-8\",\"children\":[[\"$\",\"article\",\"vision-ai-on-edge-device\",{\"children\":[\"$\",\"$L5\",null,{\"href\":\"/blog/vision-ai-on-edge-device\",\"className\":\"flex items-start justify-between gap-4 transition-all duration-500 hover:opacity-80 active:scale-99\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-1 text-base font-semibold text-gray-900 md:text-lg dark:text-white\",\"children\":\"Vision AI on Edge Device\"}],[\"$\",\"p\",null,{\"className\":\"mb-4 text-sm wrap-break-word break-keep text-gray-500 dark:text-gray-300\",\"children\":\"ì°ì
íì¥ì ì¹´ë©ë¼ìì ììí´ ë¤ìí ê²½ë Vision 모ë¸, ëª¨ë¸ ìµì í, NPU, Runtime, MLOpsë¡ ì´ì´ì§ë Edge Vision AI ìíê³ë¥¼ ì´í´ë´
ëë¤.\"}],[\"$\",\"time\",null,{\"dateTime\":\"2026-08-23T15:00:00.000Z\",\"className\":\"block text-xs text-gray-500 dark:text-gray-400\",\"children\":\"2026ë
8ì 24ì¼\"}]]}],[\"$\",\"div\",null,{\"className\":\"relative aspect-[16/10] w-28 shrink-0 overflow-hidden rounded-lg md:w-40\",\"children\":[\"$\",\"$L6\",null,{\"src\":\"/images/vision-ai-on-edge-device/thumbnail-v5.webp\",\"alt\":\"Vision AI on Edge Device\",\"fill\":true,\"className\":\"absolute inset-0 size-full object-cover\",\"sizes\":\"(max-width: 768px) 100vw, 160px\",\"quality\":90}]}]]}]}],[\"$\",\"article\",\"claude-code-automated-blog\",{\"children\":[\"$\",\"$L5\",null,{\"href\":\"/blog/claude-code-automated-blog\",\"className\":\"flex items-start justify-between gap-4 transition-all duration-500 hover:opacity-80 active:scale-99\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-1 text-base font-semibold text-gray-900 md:text-lg dark:text-white\",\"children\":\"Claude Code íëë¡ 3ì£¼ê° 118í¸ì ë´ì¤ë¥¼ ìë ë°íí ë°©ë²\"}],[\"$\",\"p\",null,{\"className\":\"mb-4 text-sm wrap-break-word break-keep text-gray-500 dark:text-gray-300\",\"children\":\"ì½ë© ìì´ì í¸ë¥¼ ë´ì¤ë£¸ì¼ë¡. Agent Teams, commands, rulesë¡ ì¤ê³í AI ì½í
ì¸ ìëí ì ëµ.\"}],[\"$\",\"time\",null,{\"dateTime\":\"2026-04-14T08:45:14.000Z\",\"className\":\"block text-xs text-gray-500 dark:text-gray-400\",\"children\":\"2026ë
4ì 14ì¼\"}]]}],[\"$\",\"div\",null,{\"className\":\"relative aspect-[16/10] w-28 shrink-0 overflow-hidden rounded-lg md:w-40\",\"children\":[\"$\",\"$L6\",null,{\"src\":\"/images/claude-code-automated-blog/thumbnail.png\",\"alt\":\"Claude Code íëë¡ 3ì£¼ê° 118í¸ì ë´ì¤ë¥¼ ìë ë°íí ë°©ë²\",\"fill\":true,\"className\":\"absolute inset-0 size-full object-cover\",\"sizes\":\"(max-width: 768px) 100vw, 160px\",\"quality\":90}]}]]}]}],[\"$\",\"article\",\"ai-hub-dev-workflow\",{\"children\":[\"$\",\"$L5\",null,{\"href\":\"/blog/ai-hub-dev-workflow\",\"className\":\"flex items-start justify-between gap-4 transition-all duration-500 hover:opacity-80 active:scale-99\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-1 text-base font-semibold text-gray-900 md:text-lg dark:text-white\",\"children\":\"AI ìì´ì í¸ íê³¼ ì¬ëì´ í¨ê» ì¬ì©íë íì
í´\"}],[\"$\",\"p\",null,{\"className\":\"mb-4 text-sm wrap-break-word break-keep text-gray-500 dark:text-gray-300\",\"children\":\"Claude Code ê¸°ë° AI ìì´ì í¸ 7ëª
ì¼ë¡ íì ê¾¸ë¦¬ê³ , ì´ë¤ì íì
ì ìí ì¬ë´ ë구 AI Hub를 ì¤ê³í ê²½íì ê³µì í©ëë¤.\"}],[\"$\",\"time\",null,{\"dateTime\":\"2026-03-19T00:00:00.000Z\",\"className\":\"block text-xs text-gray-500 dark:text-gray-400\",\"children\":\"2026ë
3ì 19ì¼\"}]]}],[\"$\",\"div\",null,{\"className\":\"relative aspect-[16/10] w-28 shrink-0 overflow-hidden rounded-lg md:w-40\",\"children\":[\"$\",\"$L6\",null,{\"src\":\"/images/ai-hub/thumbnail.png\",\"alt\":\"AI ìì´ì í¸ íê³¼ ì¬ëì´ í¨ê» ì¬ì©íë íì
í´\",\"fill\":true,\"className\":\"absolute inset-0 size-full object-cover\",\"sizes\":\"(max-width: 768px) 100vw, 160px\",\"quality\":90}]}]]}]}],\"$L7\",\"$L8\",\"$L9\",\"$La\",\"$Lb\"]}],\"$Lc\"],\"className\":\"mx-auto max-w-4xl animate-in px-4 pt-12 pb-20 duration-700 fade-in slide-in-from-bottom-2\"}],[\"$Ld\"],\"$Le\"]}],{}
1,null,false,false]},null,false,false]},null,false,false],\"$Lf\",false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true}\n"])</script>
1<script>self.__next_f.push([1,"11:I[10108,[\"/_next/static/chunks/0ba947301213ff43.js\",\"/_next/static/chunks/800529638633fc44.js\"],\"OutletBoundary\"]\n12:\"$Sreact.suspense\"\n14:I[10108,[\"/_next/static/chunks/0ba947301213ff43.js\",\"/_next/static/chunks/800529638633fc44.js\"],\"ViewportBoundary\"]\n16:I[10108,[\"/_next/static/chunks/0ba947301213ff43.js\",\"/_next/static/chunks/800529638633fc44.js\"],\"MetadataBoundary\"]\n18:I[80566,[\"/_next/static/chunks/b177f4b76e5686fb.js\",\"/_next/static/chunks/90aa427fbd6640bb.js\"],\"ThemeProvider\"]\n19:I[3726,[\"/_next/static/chunks/b177f4b76e5686fb.js\",\"/_next/static/chunks/90aa427fbd6640bb.js\"],\"GoogleAnalytics\"]\n7:[\"$\",\"article\",\"marketing-cms\",{\"children\":[\"$\",\"$L5\",null,{\"href\":\"/blog/marketing-cms\",\"className\":\"flex items-start justify-between gap-4 transition-all duration-500 hover:opacity-80 active:scale-99\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-1 text-base font-semibold text-gray-900 md:text-lg dark:text-white\",\"children\":\"ëë© íì´ì§ë¥¼ ìí ë¨ íëì ë
¸ì½ë í´\"}],[\"$\",\"p\",null,{\"className\":\"mb-4 text-sm wrap-break-word break-keep text-gray-500 dark:text-gray-300\",\"children\":\"ë¹ì¦ëì¤ íì ê³ ë¯¼ì í´ê²°í ë§ì§ë§ ëë© íì´ì§ ì
ë°ì´í¸, ë§ì¼í
CMS를 ìê°í©ëë¤.\"}],[\"$\",\"time\",null,{\"dateTime\":\"2025-11-10T00:00:00.000Z\",\"className\":\"block text-xs text-gray-500 dark:text-gray-400\",\"children\":\"2025ë
11ì 10ì¼\"}]]}],[\"$\",\"div\",null,{\"className\":\"relative aspect-[16/10] w-28 shrink-0 overflow-hidden rounded-lg md:w-40\",\"children\":[\"$\",\"$L6\",null,{\"src\":\"/images/marketing-cms/thumbnail.png\",\"alt\":\"ëë© íì´ì§ë¥¼ ìí ë¨ íëì ë
¸ì½ë í´\",\"fill\":true,\"className\":\"absolute inset-0 size-full object-cover\",\"sizes\":\"(max-width: 768px) 100vw, 160px\",\"quality\":90}]}]]}]}]\n8:[\"$\",\"article\",\"react-excel-performance\",{\"children\":[\"$\",\"$L5\",null,{\"href\":\"/blog/react-excel-performance\",\"className\":\"flex items-start justify-between gap-4 transition-all duration-500 hover:opacity-80 active:scale-99\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-1 text-base font-semibold text-gray-900 md:text-lg dark:text-white\",\"children\":\"ì§ì ìì
ì 구ííë©° ê²½íí React ìµì í 기ë²ë¤\"}],[\"$\",\"p\",null,{\"className\":\"mb-4 text-sm wrap-break-word break-keep text-gray-500 dark:text-gray-300\",\"children\":\"ëê·ëª¨ì ë°ì´í°ë¥¼ ì²ë¦¬í ì ìë 리ì¡í¸ ìì
ì»´í¬ëí¸ë¥¼ ê°ë°íë©° ê²½íí ìµì í 기ë²ë¤ì ìê°í©ëë¤.\"}],[\"$\",\"time\",null,{\"dateTime\":\"2025-08-11T00:00:00.000Z\",\"className\":\"block text-xs text-gray-500 dark:text-gray-400\",\"children\":\"2025ë
8ì 11ì¼\"}]]}],[\"$\",\"div\",null,{\"className\":\"relative aspect-[16/10] w-28 shrink-0 overflow-hidden rounded-lg md:w-40\",\"children\":[\"$\",\"$L6\",null,{\"src\":\"/images/react-excel-performance/thumbnail.png\",\"alt\":\"ì§ì ìì
ì 구ííë©° ê²½íí React ìµì í 기ë²ë¤\",\"fill\":true,\"className\":\"absolute inset-0 size-full object-cover\",\"sizes\":\"(max-width: 768px) 100vw, 160px\",\"quality\":90}]}]]}]}]\n9:[\"$\",\"article\",\"getting-i18n-with-google-spreadsheet\",{\"children\":[\"$\",\"$L5\",null,{\"href\":\"/blog/getting-i18n-with-google-spreadsheet\",\"className\":\"flex items-start justify-between gap-4 transition-all duration-500 hover:opacity-80 active:scale-99\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-1 text-base font-semibold text-gray-900 md:text-lg dark:text-white\",\"children\":\"구ê¸ì¤íë ëìí¸ë¥¼ 200% íì©í êµì í(i18n) ìëí ì¬ë¡\"}],[\"$\",\"p\",null,{\"className\":\"mb-4 text-sm wrap-break-word break-keep text-gray-500 dark:text-gray-300\",\"children\":\"ë¹ê°ë°ììì íì
ì´ ì ë
ì¤ìíë êµì í íë¡ì í¸. 구ê¸ì¤íë ëìí¸ë¥¼ íì©íì¬ ë¹ê°ë°ììì íì
ì ë©ì§ê² ìì±í´ë¸ êµì í(i18
1n) ìëí ì¬ë¡ë¥¼ ìê°í©ëë¤.\"}],[\"$\",\"time\",null,{\"dateTime\":\"2023-07-23T00:00:00.000Z\",\"className\":\"block text-xs text-gray-500 dark:text-gray-400\",\"children\":\"2023ë
7ì 23ì¼\"}]]}],[\"$\",\"div\",null,{\"className\":\"relative aspect-[16/10] w-28 shrink-0 overflow-hidden rounde"])</script>
1<script>self.__next_f.push([1,"d-lg md:w-40\",\"children\":[\"$\",\"$L6\",null,{\"src\":\"/images/getting-i18n-with-google-spreadsheet/thumbnail.jpg\",\"alt\":\"구ê¸ì¤íë ëìí¸ë¥¼ 200% íì©í êµì í(i18n) ìëí ì¬ë¡\",\"fill\":true,\"className\":\"absolute inset-0 size-full object-cover\",\"sizes\":\"(max-width: 768px) 100vw, 160px\",\"quality\":90}]}]]}]}]\na:[\"$\",\"article\",\"ci-cd-for-semantic-versioning\",{\"children\":[\"$\",\"$L5\",null,{\"href\":\"/blog/ci-cd-for-semantic-versioning\",\"className\":\"flex items-start justify-between gap-4 transition-all duration-500 hover:opacity-80 active:scale-99\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-1 text-base font-semibold text-gray-900 md:text-lg dark:text-white\",\"children\":\"ì¬ë´ ë¼ì´ë¸ë¬ë¦¬ë¥¼ ìí ë²ì ê´ë¦¬ ë° ë°°í¬ ìëí CI/CD\"}],[\"$\",\"p\",null,{\"className\":\"mb-4 text-sm wrap-break-word break-keep text-gray-500 dark:text-gray-300\",\"children\":\"ì¤íìì¤ ëë ì¬ë´ ë¼ì´ë¸ë¬ë¦¬ì ë¦´ë¦¬ì¦ ê³¼ì ì ìëíí ì¬ë¡ë¥¼ ê³µì í©ëë¤.\"}],[\"$\",\"time\",null,{\"dateTime\":\"2023-07-17T00:00:00.000Z\",\"className\":\"block text-xs text-gray-500 dark:text-gray-400\",\"children\":\"2023ë
7ì 17ì¼\"}]]}],[\"$\",\"div\",null,{\"className\":\"relative aspect-[16/10] w-28 shrink-0 overflow-hidden rounded-lg md:w-40\",\"children\":[\"$\",\"$L6\",null,{\"src\":\"/images/ci-cd-for-semantic-versioning/thumbnail.jpg\",\"alt\":\"ì¬ë´ ë¼ì´ë¸ë¬ë¦¬ë¥¼ ìí ë²ì ê´ë¦¬ ë° ë°°í¬ ìëí CI/CD\",\"fill\":true,\"className\":\"absolute inset-0 size-full object-cover\",\"sizes\":\"(max-width: 768px) 100vw, 160px\",\"quality\":90}]}]]}]}]\nb:[\"$\",\"article\",\"jds\",{\"children\":[\"$\",\"$L5\",null,{\"href\":\"/blog/jds\",\"className\":\"flex items-start justify-between gap-4 transition-all duration-500 hover:opacity-80 active:scale-99\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-1 text-base font-semibold text-gray-900 md:text-lg dark:text-white\",\"children\":\"JOOTEK 리ë´ì¼ íê³ \"}],[\"$\",\"p\",null,{\"className\":\"mb-4 text-sm wrap-break-word break-keep text-gray-500 dark:text-gray-300\",\"children\":\"리ë¸ëë©, ëìì¸ ìì¤í
êµ¬ì¶ ë± 1ë
ëì í ì¤íí¸ì
ì ëìì¸ ë¦¬í©í ë§ ê²½íì íê³ í©ëë¤.\"}],[\"$\",\"time\",null,{\"dateTime\":\"2022-01-03T00:00:00.000Z\",\"className\":\"block text-xs text-gray-500 dark:text-gray-400\",\"children\":\"2022ë
1ì 3ì¼\"}]]}],[\"$\",\"div\",null,{\"className\":\"relative aspect-[16/10] w-28 shrink-0 overflow-hidden rounded-lg md:w-40\",\"children\":[\"$\",\"$L6\",null,{\"src\":\"/images/jds/thumbnail.png\",\"alt\":\"JOOTEK 리ë´ì¼ íê³ \",\"fill\":true,\"className\":\"absolute inset-0 size-full object-cover\",\"sizes\":\"(max-width: 768px) 100vw, 160px\",\"quality\":90}]}]]}]}]\nc:[\"$\",\"footer\",null,{\"className\":\"mx-auto mt-18 flex max-w-4xl items-center justify-between border-t border-gray-200 pt-6 dark:border-gray-800\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-xs text-gray-400 dark:text-gray-500\",\"children\":[\"© \",2026,\" CalvinSnax.\"]}],[\"$\",\"$L5\",null,{\"href\":\"/rss.xml\",\"prefetch\":false,\"aria-label\":\"RSS 구ë
\",\"className\":\"flex items-center gap-1 text-xs text-gray-400 transition-colors hover:text-gray-900 dark:text-gray-500 dark:hover:text-white\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-rss size-3.5\",\"aria-hidden\":true,\"children\":[[\"$\",\"path\",\"pv89mb\",{\"d\":\"M4 11a9 9 0 0 1 9 9\"}],[\"$\",\"path\",\"k0647b\",{\"d\":\"M4 4a16 16 0 0 1 16 16\"}],[\"$\",\"circle\",\"bfqh0e\",{\"cx\":\"5\",\"cy\":\"19\",\"r\":\"1\"}],\"$undefined\"]}],\"RSS\"]}]]}]\nd:[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/fe27e77f77f9878a.js\",\"async\":true,\"nonce\":\"$undefined\"}]\ne:[\"$\",\"$L11\",null,{\"children\":[\"$\",\"$12\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@13\"}]}]\nf:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L14\",null,{\"children\":\"$L15\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L16\",null,{\"children\":[\"$\",\"$12\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L17\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\","])</script>
1<script>self.__next_f.push([1,"\"content\":\"\"}]]}]\n1a:T722,"])</script>
1<script>self.__next_f.push([1,"M13.54 27.68C11.865 27.68 10.5505 27.3874 9.52125 26.8955C8.4862 26.3746 7.7567 25.6958 7.2498 24.8637C6.76404 24.0238 6.48 22.9834 6.48 21.66H0C0 23.9977 0.532795 26.1718 1.65643 28.1126L1.6695 28.1352L1.68303 28.1574C2.85485 30.0875 4.52079 31.5619 6.59623 32.5831C8.67678 33.6069 11.0132 34.08 13.54 34.08C15.6047 34.08 17.5665 33.7401 19.4002 33.0323C21.3015 32.2985 22.903 31.16 24.1157 29.5918C25.4358 27.8932 26.04 25.8662 26.04 23.66C26.04 21.5377 25.5159 19.5292 24.1421 17.9744C23.0211 16.6778 21.6201 15.7523 19.9875 15.2138C18.6325 14.7347 16.8215 14.2711 14.6104 13.8127C12.4878 13.3671 10.9165 12.9636 9.85057 12.6083C8.95896 12.3111 8.34772 11.926 7.92521 11.5095C7.71729 11.288 7.52 10.9281 7.52 10.18C7.52 9.25875 7.75751 8.68151 8.0927 8.27007C8.58663 7.69973 9.23634 7.24707 10.1103 6.93094C11.0699 6.58388 12.1266 6.4 13.3 6.4C14.5746 6.4 15.6666 6.65839 16.622 7.13607L16.64 7.14508L16.6582 7.15381C17.5908 7.60147 18.2848 8.21696 18.7986 9.01426C19.2855 9.76977 19.56 10.6761 19.56 11.82H26.04C26.04 9.56797 25.47 7.47855 24.2842 5.63011C23.1249 3.82294 21.5388 2.43241 19.5858 1.46771C17.665 0.478947 15.5681 0 13.34 0C11.1206 0 9.05499 0.365088 7.1952 1.16214L7.18766 1.16537L7.18014 1.16865C5.34369 1.97001 3.81592 3.15096 2.69629 4.74012L2.68524 4.7558L2.67443 4.77166C1.56609 6.39723 1.04 8.25777 1.04 10.26C1.04 12.2191 1.57532 14.0475 2.81945 15.5405L2.84356 15.5694L2.86853 15.5976C4.00629 16.8822 5.47983 17.8309 7.17909 18.5042L7.20529 18.5146L7.23171 18.5244C8.83878 19.1196 10.83 19.6434 13.1665 20.1108C15.2474 20.5323 16.6988 20.8948 17.5894 21.1917L17.6254 21.2037L17.6616 21.2146C18.3428 21.4189 18.8253 21.7305 19.188 22.1211C19.3171 22.2601 19.56 22.6334 19.56 23.62C19.56 24.8534 19.1246 25.6948 18.1575 26.3924L18.1495 26.3982L18.1416 26.404C17.0631 27.1949 15.5894 27.68 13.54 27.68Z"])</script>
1<script>self.__next_f.push([1,"2:[\"$\",\"html\",null,{\"lang\":\"ko\",\"className\":\"pretendard_e541fa44-module__lAOBca__variable\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"pretendard_e541fa44-module__lAOBca__className\",\"children\":[\"$\",\"$L18\",null,{\"attribute\":\"class\",\"defaultTheme\":\"\",\"enableSystem\":true,\"children\":[[\"$\",\"$L19\",null,{\"gaId\":\"G-BZQ20GF1D5\"}],[\"$\",\"header\",null,{\"className\":\"fixed top-0 right-0 left-0 z-50 h-[52px]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"absolute -inset-x-0 -top-8 h-32\",\"children\":[[\"$\",\"div\",null,{\"className\":\"absolute inset-0 size-full backdrop-blur-[20px]\",\"style\":{\"maskImage\":\"linear-gradient(to bottom, transparent, rgba(0,0,0,1) 12.5%, rgba(0,0,0,0) 25%)\",\"WebkitMaskImage\":\"linear-gradient(to bottom, transparent, rgba(0,0,0,1) 12.5%, rgba(0,0,0,0) 25%)\"}}],[\"$\",\"div\",null,{\"className\":\"absolute inset-0 size-full backdrop-blur-[15px]\",\"style\":{\"maskImage\":\"linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 12.5%, rgba(0,0,0,1) 25%, rgba(0,0,0,0) 37.5%)\",\"WebkitMaskImage\":\"linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 12.5%, rgba(0,0,0,1) 25%, rgba(0,0,0,0) 37.5%)\"}}],[\"$\",\"div\",null,{\"className\":\"absolute inset-0 size-full backdrop-blur-[10px]\",\"style\":{\"maskImage\":\"linear-gradient(to bottom, rgba(0,0,0,0) 12.5%, rgba(0,0,0,1) 25%, rgba(0,0,0,1) 37.5%, rgba(0,0,0,0) 50%)\",\"WebkitMaskImage\":\"linear-gradient(to bottom, rgba(0,0,0,0) 12.5%, rgba(0,0,0,1) 25%, rgba(0,0,0,1) 37.5%, rgba(0,0,0,0) 50%)\"}}],[\"$\",\"div\",null,{\"className\":\"absolute inset-0 size-full backdrop-blur-[6px]\",\"style\":{\"maskImage\":\"linear-gradient(to bottom, rgba(0,0,0,0) 25%, rgba(0,0,0,1) 37.5%, rgba(0,0,0,1) 50%, rgba(0,0,0,0) 62.5%)\",\"WebkitMaskImage\":\"linear-gradient(to bottom, rgba(0,0,0,0) 25%, rgba(0,0,0,1) 37.5%, rgba(0,0,0,1) 50%, rgba(0,0,0,0) 62.5%)\"}}],[\"$\",\"div\",null,{\"className\":\"absolute inset-0 size-full backdrop-blur-[3px]\",\"style\":{\"maskImage\":\"linear-gradient(to bottom, rgba(0,0,0,0) 37.5%, rgba(0,0,0,1) 50%, rgba(0,0,0,1) 62.5%, rgba(0,0,0,0) 75%)\",\"WebkitMaskImage\":\"linear-gradient(to bottom, rgba(0,0,0,0) 37.5%, rgba(0,0,0,1) 50%, rgba(0,0,0,1) 62.5%, rgba(0,0,0,0) 75%)\"}}],[\"$\",\"div\",null,{\"className\":\"absolute inset-0 size-full backdrop-blur-[1px]\",\"style\":{\"maskImage\":\"linear-gradient(to bottom, rgba(0,0,0,0) 50%, rgba(0,0,0,1) 62.5%, rgba(0,0,0,1) 75%, rgba(0,0,0,0) 87.5%)\",\"WebkitMaskImage\":\"linear-gradient(to bottom, rgba(0,0,0,0) 50%, rgba(0,0,0,1) 62.5%, rgba(0,0,0,1) 75%, rgba(0,0,0,0) 87.5%)\"}}],[\"$\",\"div\",null,{\"className\":\"absolute inset-x-0 -top-4 block size-full bg-gradient-to-b from-background/80 to-transparent md:from-transparent md:dark:from-background\"}]]}],[\"$\",\"div\",null,{\"className\":\"relative mx-auto h-full px-4 sm:px-6 lg:px-8\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex h-full items-center justify-between\",\"children\":[[\"$\",\"$L5\",null,{\"href\":\"/\",\"className\":\"flex items-center\",\"aria-label\":\"Home\",\"children\":[\"$\",\"svg\",null,{\"width\":\"156\",\"height\":\"35\",\"viewBox\":\"0 0 156 35\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"className\":\"h-4 w-auto text-gray-900 dark:text-white\",\"ref\":\"$undefined\",\"children\":[[\"$\",\"path\",null,{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M122.179 0.639998H130.402L138.892 11.716L147.418 0.639998H155.597L142.999 17.06L155.597 33.48H147.418L138.892 22.404L130.402 33.48H122.179L134.777 17.06L122.179 0.639998Z\",\"fill\":\"currentColor\"}],[\"$\",\"path\",null,{\"d\":\"M45.7694 10.9909L60.2894 25.1538V33.48H66.7694V0.639998H60.2894V16.107L44.3636 0.639998H39.2894V33.48H45.7694V10.9909Z\",\"fill\":\"currentColor\"}
1],[\"$\",\"path\",null,{\"d\":\"M92.8432 0.639998L79.3486 33.48H86.315L95.2788 11.6434L104.243 33.48H111.249L97.7543 0.639998H92.8432Z\",\"fill\":\"currentColor\"}],[\"$\",\"path\",null,{\"d\":\"$1a\",\"fill\":\"currentColor\"}]]}]}],\"$L1b\"]}]}]]}],\"$L1c\"]}]}]}]\n"])</script>
1<script>self.__next_f.push([1,"1d:I[98086,[\"/_next/static/chunks/b177f4b76e5686fb.js\",\"/_next/static/chunks/90aa427fbd6640bb.js\"],\"NavMenu\"]\n1e:I[66860,[\"/_next/static/chunks/b177f4b76e5686fb.js\",\"/_next/static/chunks/90aa427fbd6640bb.js\"],\"default\"]\n1b:[\"$\",\"div\",null,{\"className\":\"flex items-center gap-2\",\"children\":[[\"$\",\"$L1d\",null,{}],[\"$\",\"div\",null,{\"className\":\"mx-2 h-4 w-px bg-gray-900/10 dark:bg-white/10\"}],[\"$\",\"$L1e\",null,{}]]}]\n1c:[\"$\",\"main\",null,{\"className\":\"pt-[52px]\",\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"div\",null,{\"className\":\"flex h-screen items-center justify-center\",\"children\":[\"$\",\"h1\",null,{\"className\":\"text-xl font-semibold\",\"children\":\"Not Found\"}]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]\n"])</script>
1<script>self.__next_f.push([1,"15:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script>
1<script>self.__next_f.push([1,"1f:I[21999,[\"/_next/static/chunks/0ba947301213ff43.js\",\"/_next/static/chunks/800529638633fc44.js\"],\"IconMark\"]\n13:null\n"])</script>
1<script>self.__next_f.push([1,"17:[[\"$\",\"title\",\"0\",{\"children\":\"Blog - SNAX\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"CalvinSnaxì 기ì ë¸ë¡ê·¸. íë¡ í¸ìë ê°ë°, React, Next.js, TypeScript ë± ì¹ ê°ë° ê´ë ¨ ê¸ë¤ì íì¸íì¸ì.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"author\",\"href\":\"https://github.com/calvinsnax\"}],[\"$\",\"meta\",\"3\",{\"name\":\"author\",\"content\":\"CalvinSnax\"}],[\"$\",\"meta\",\"4\",{\"name\":\"keywords\",\"content\":\"íë¡ í¸ìë,ê°ë°,React,Next.js,TypeScript,ì¹ê°ë°,ë¸ë¡ê·¸,CalvinSnax,SNAX\"}],[\"$\",\"meta\",\"5\",{\"name\":\"creator\",\"content\":\"CalvinSnax\"}],[\"$\",\"meta\",\"6\",{\"name\":\"publisher\",\"content\":\"CalvinSnax\"}],[\"$\",\"meta\",\"7\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"meta\",\"8\",{\"name\":\"googlebot\",\"content\":\"index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1\"}],[\"$\",\"link\",\"9\",{\"rel\":\"canonical\",\"href\":\"https://calvinsnax.com/blog\"}],[\"$\",\"meta\",\"10\",{\"name\":\"format-detection\",\"content\":\"telephone=no, address=no, email=no\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:title\",\"content\":\"Blog | SNAX\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:description\",\"content\":\"CalvinSnaxì 기ì ë¸ë¡ê·¸. íë¡ í¸ìë ê°ë°, React, Next.js, TypeScript ë± ì¹ ê°ë° ê´ë ¨ ê¸ë¤ì íì¸íì¸ì.\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:url\",\"content\":\"https://calvinsnax.com/blog\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:title\",\"content\":\"Blog | SNAX\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:description\",\"content\":\"CalvinSnaxì 기ì ë¸ë¡ê·¸. íë¡ í¸ìë ê°ë°, React, Next.js, TypeScript ë± ì¹ ê°ë° ê´ë ¨ ê¸ë¤ì íì¸íì¸ì.\"}],[\"$\",\"link\",\"18\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0b3bf435.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"19\",{\"rel\":\"icon\",\"href\":\"/icon.svg?icon.fec4570f.svg\",\"sizes\":\"any\",\"type\":\"image/svg+xml\"}],[\"$\",\"$L1f\",\"20\",{}]]\n"])</script>
1</body></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.