PageSourceSearch

https://w99hyun.com/blog

html w99hyun.com collected 2026-10-09 04:14:36 UTC 143,308 bytes, 2 lines download raw bytes

1<!DOCTYPE html><html lang="ko" class="paperlogy_2ff79547-module__9RXKFa__variable"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/Paperlogy_1Thin-s.p.e48cdac1.ttf" as="font" crossorigin="" type="font/ttf"/><link rel="preload" href="/_next/static/media/Paperlogy_2ExtraLight-s.p.93cfd63c.ttf" as="font" crossorigin="" type="font/ttf"/><link rel="preload" href="/_next/static/media/Paperlogy_3Light-s.p.eabc4a57.ttf" as="font" crossorigin="" type="font/ttf"/><link rel="preload" href="/_next/static/media/Paperlogy_4Regular-s.p.ae89c5ed.ttf" as="font" crossorigin="" type="font/ttf"/><link rel="preload" href="/_next/static/media/Paperlogy_5Medium-s.p.b266f6c6.ttf" as="font" crossorigin="" type="font/ttf"/><link rel="preload" href="/_next/static/media/Paperlogy_6SemiBold-s.p.902fcff7.ttf" as="font" crossorigin="" type="font/ttf"/><link rel="preload" href="/_next/static/media/Paperlogy_7Bold-s.p.d84df9fd.ttf" as="font" crossorigin="" type="font/ttf"/><link rel="preload" href="/_next/static/media/Paperlogy_8ExtraBold-s.p.1cf93993.ttf" as="font" crossorigin="" type="font/ttf"/><link rel="preload" href="/_next/static/media/Paperlogy_9Black-s.p.9f64648d.ttf" as="font" crossorigin="" type="font/ttf"/><link rel="preload" as="image" href="/images/logo_text3.png" fetchPriority="high"/><link rel="preload" as="image" href="/images/logo_text_dark3.png" fetchPriority="high"/><link rel="stylesheet" href="/_next/static/chunks/ae011778110ee18d.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/chunks/c8d8b55bb6661a2b.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/48096d82f3cd4031.js"/>
1<script src="/_next/static/chunks/40d22a273371c5c7.js" async=""></script>
1<script src="/_next/static/chunks/d4cf4caae891f664.js" async=""></script>
1<script src="/_next/static/chunks/045c83caa4d15373.js" async=""></script>
1<script src="/_next/static/chunks/0cbe20cd94f25f06.js" async=""></script>
1<script src="/_next/static/chunks/turbopack-12d79bf99f11a189.js" async=""></script>
1<script src="/_next/static/chunks/bf0965728f4c1ed3.js" async=""></script>
1<script src="/_next/static/chunks/e45e0610c232a310.js" async=""></script>
1<script src="/_next/static/chunks/466b561f6234989c.js" async=""></script>
1<script src="/_next/static/chunks/3cc041ff828f20d2.js" async=""></script>
1<script src="/_next/static/chunks/ff1a16fafef87110.js" async=""></script>
1<script src="/_next/static/chunks/d2be314c3ece3fbe.js" async=""></script>
1<script src="/_next/static/chunks/4bd1fab09af1a148.js" async=""></script>
1<meta name="next-size-adjust" content=""/><title>포스트 - w99hyun</title><meta name="description" content="조우현 포트폴리오 사이트"/><meta property="og:title" content="w99hyun - Woohyun Cho"/><meta property="og:description" content="조우현 포트폴리오 사이트"/><meta property="og:url" content="https://w99hyun.com"/><meta property="og:site_name" content="w99hyun - Woohyun Cho"/><meta property="og:locale" content="ko_KR"/><meta property="og:image" content="https://w99hyun.com/og4.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="w99hyun"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="w99hyun - Woohyun Cho"/><meta name="twitter:description" content="조우현 포트폴리오 사이트"/><meta name="twitter:image" content="https://w99hyun.com/og4.png"/><link rel="icon" href="/favicon.ico" sizes="any"/><link rel="icon" href="/favicon-32x32.png" sizes="32x32" type="image/png"/><link rel="icon" href="/favicon-16x16.png" sizes="16x16" type="image/png"/><link rel="icon" href="/favicon-96x96.png" sizes="96x96" type="image/png"/><link rel="apple-touch-icon" href="/apple-icon-180x180.png" sizes="180x180" type="image/png"/><link rel="apple-touch-icon" href="/apple-icon.png" sizes="180x180" type="image/png"/>
1<script>(function(){try{if(window.location.pathname!=='/')return;if(sessionStorage.getItem('portfolio_splash_played')==='1')return;document.documentElement.classList.add('splash-active');}catch(e){}})();</script>
1<script>(function(){try{if(!window.matchMedia('(prefers-reduced-motion: reduce)').matches){document.documentElement.classList.add('scroll-blur-boot');}}catch(e){}})();</script>
1<style>html{background-color:#fff;color-scheme:light}html.dark{background-color:#131313;color-scheme:dark}@media (prefers-color-scheme:dark){html:not(.dark):not([data-explicit-theme="light"]){background-color:#131313!important;color-scheme:dark}html:not(.dark):not([data-explicit-theme="light"]) body{background-color:#131313!important}}</style>
1<script>(function(){var el=document.documentElement;try{var c=document.cookie.match(/\btheme=([^;]+)/);var v=(c?c[1].trim():null)||localStorage.getItem('theme')||'';var s=v.toLowerCase();var d;if(s==='light'){d=false;el.setAttribute('data-explicit-theme','light');}else if(s==='dark'){d=true;el.setAttribute('data-explicit-theme','dark');}else{el.removeAttribute('data-explicit-theme');d=window.matchMedia('(prefers-color-scheme: dark)').matches;}el.classList.toggle('dark',d);if(!c)document.cookie='theme=system; path=/; max-age=31536000; SameSite=Lax';}catch(e){el.removeAttribute('data-explicit-theme');el.classList.toggle('dark',window.matchMedia('(prefers-color-scheme: dark)').matches);}})();</script>
1<script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script>
1</head><body class="flex min-h-screen flex-col bg-white font-sans text-[#0a0a0a] antialiased dark:bg-background dark:text-white"><div hidden=""><!--$--><!--/$--></div><div class="header-nav-container"><header class="header-nav " data-scrolled="false"><div class="flex h-[4.5rem] w-full items-center ps-6 pe-3 sm:h-[88px] sm:px-10 lg:px-14"><div class="relative flex min-w-0 flex-1 items-center"><div class="flex min-w-0 flex-1 items-center transition-all duration-300 translate-x-0 opacity-100"><a class="group flex min-h-[44px] min-w-[44px] shrink-0 items-center" data-logo-reveal="false" aria-label="조우현 포트폴리오 — 홈" href="/"><span class="relative block size-[28px] shrink-0 sm:size-[32px]" aria-hidden="true"><img alt="" fetchPriority="high" width="178" height="178" decoding="sync" data-nimg="1" class="absolute inset-0 h-full w-full object-contain opacity-0 transition-opacity duration-[350ms] ease-out dark:opacity-100" style="color:transparent" src="/images/logo_text3.png"/><img alt="" fetchPriority="high" width="178" height="178" decoding="sync" data-nimg="1" class="h-full w-full object-contain opacity-100 transition-opacity duration-[350ms] ease-out dark:opacity-0" style="color:transparent" src="/images/logo_text_dark3.png"/></span><span aria-hidden="true" class="grid grid-cols-[0fr] opacity-0 transition-[grid-template-columns,opacity] duration-[350ms] ease-out group-data-[logo-reveal=true]:grid-cols-[1fr] group-data-[logo-reveal=true]:opacity-100 motion-reduce:transition-none"><span class="min-w-0 overflow-hidden"><span class="font-logo block -translate-x-2 whitespace-nowrap py-1 pl-2.5 text-[20px] font-semibold leading-[1.4] tracking-tight text-[#0a0a0a] transition-transform duration-[350ms] ease-out group-data-[logo-reveal=true]:translate-x-0 motion-reduce:transition-none dark:text-white sm:pl-3 sm:text-[25px]">w99hyun</span></span></span></a></div><div class="pointer-events-none absolute inset-y-0 left-0 flex w-full items-center transition-all duration-300 translate-y-1 opacity-0"></div></div><div class="flex items-center gap-6"><div class="relative isolate hidden min-w-0 md:grid md:justify-items-stretch"><nav class="col-start-1 row-start-1 z-0 flex w-max shrink-0 items-center gap-7 transition-all duration-300 translate-x-0 opacity-100"><a class="text-[20px] transition-colors duration-[350ms] ease-out font-normal text-[#767676] dark:text-[#9a9a9a] hover:text-black dark:hover:text-white" href="/about">프로필</a><a class="text-[20px] transition-colors duration-[350ms] ease-out font-normal text-[#767676] dark:text-[#9a9a9a] hover:text-black dark:hover:text-white" href="/works">프로젝트</a><a class="text-[20px] transition-colors duration-[350ms] ease-out font-semibold text-black dark:text-white hover:text-black dark:hover:text-white" href="/blog">포스트</a><a class="text-[20px] transition-colors duration-[350ms] ease-out font-normal text-[#767676] dark:text-[#9a9a9a] hover:text-black dark:hover:text-white" href="/contact">연락처</a></nav></div><div class="relative flex shrink-0 items-center gap-2"><div class="hidden items-center gap-1 rounded-full bg-black/[0.04] p-1 transition-[background-color,outline-color,box-shadow] duration-300 md:flex dark:bg-white/[0.07] outline-transparent shadow-none"><button type="button" class="flex h-9 w-9 items-center justify-center rounded-full text-[#666] transition-all duration-[350ms] ease-out hover:bg-black/5 hover:text-[#0a0a0a] active:scale-[0.95] dark:text-[#999] dark:hover:bg-white/10 dark:hover:text-white" aria-label="현재 시스템 설정 따름, 클릭 시 라이트 모드로 전환" title="현재 시스템 설정 따름, 클릭 시 라이트 모드로 전환"><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-sun-moon h-[18px] w-[18px] stroke-[2.2px]" aria-hidden="true"><path d="M12 2v2"></path><path d="M14.837 16.385a6 6 0 1 1-7.223-7.222c.624-.147.97.66.715 1.248a4 4 0 0 0 5.26 5.259c.589-.255 1.396.09 1.248.715"></path><path d="M16 12a4 4 0 0 0-4-4"></path><path d="m19 5-1.256 1.256"></path><path d="M20 12h2"></path></svg></button><span class="h-4 w-px shrink-0 bg-[#d8d8d8] transition-colors duration-[350ms] ease-out dark:bg-[#333]" aria-hidden="true"></span><button type="button" class="flex h-9 px-2 items-center justify-center rounded-full text-[#666] transition-all duration-[350ms] ease-out hover:bg-black/5 hover:text-[#0a0a0a] active:scale-[0.95] dark:text-[#999] dark:hover:bg-white/10 dark:hover:text-white gap-1.5" aria-label="Switch to English"><span class="inline-flex h-full w-5 items-center justify-center text-[13px] font-bold uppercase leading-none">EN</span></button></div><button type="button" class="relative z-[70] flex h-11 w-11 shrink-0 items-center justify-center text-[#222] transition-colors duration-[350ms] ease-out hover:text-black md:hidden dark:text-white dark:hover:text-white" aria-label="Open menu"><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-menu h-5 w-5" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button></div></div></div></header></div><main class="scroll-blur-root min-h-[100svh] flex-1 pt-[4.5rem] sm:pt-[95px]"><!--$?--><template id="B:0"></template><div class="bg-white text-[#0a0a0a] transition-colors duration-[350ms] ease-out dark:bg-background dark:text-white"><section class="mx-auto max-w-(--layout-max-width) px-6 pb-24 pt-28 transition-colors duration-500 sm:px-10 sm:pt-34 lg:px-14 lg:pb-28"><header class="mb-12 sm:mb-14 md:mb-16"><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dar
1k:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] h-[56px] rounded-xl sm:h-[78px] md:h-[100px] lg:h-[119px] w-44 sm:w-60 md:w-72 lg:w-80" aria-hidden="true"></div><div class="mt-10"><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] h-11 w-32 rounded-full" aria-hidden="true"></div></div></header><div class="mt-10 flex flex-wrap items-center gap-4"><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] h-[13px] w-24 md:w-28" aria-hidden="true"></div><div class="flex items-center gap-1"><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] size-9 rounded-md md:size-10" aria-hidden="true"></div><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] size-9 rounded-md md:size-10" aria-hidden="true"></div></div></div><div class="mt-8 grid grid-cols-1 gap-6 sm:grid-cols-2 sm:gap-6 lg:grid-cols-3 lg:gap-8"><div class="showcase-card min-h-0 min-w-0 overflow-visible rounded-[28px]"><div class="relative flex h-full min-h-0 min-w-0 flex-col"><div class="showcase-card-media relative z-[2] aspect-[16/10] w-full flex-shrink-0 overflow-hidden rounded-[24px] bg-[#ebebeb] dark:bg-[#141414]"><div class="absolute inset-0 z-[1] overflow-hidden rounded-2xl"><div class="absolute inset-0 animate-pulse bg-[#d6d6d6] dark:bg-[#282828]" aria-hidden="true"></div></div></div><div class="showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4"><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] h-3 w-24" aria-hidden="true"></div><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-7 w-full max-w-[90%] md:h-9" aria-hidden="true"></div><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-4 w-4/5" aria-hidden="true"></div></div></div></div><div class="showcase-card min-h-0 min-w-0 overflow-visible rounded-[28px]"><div class="relative flex h-full min-h-0 min-w-0 flex-col"><div class="showcase-card-media relative z-[2] aspect-[16/10] w-full flex-shrink-0 overflow-hidden rounded-[24px] bg-[#ebebeb] dark:bg-[#141414]"><div class="absolute inset-0 z-[1] overflow-hidden rounded-2xl"><div class="absolute inset-0 animate-pulse bg-[#d6d6d6] dark:bg-[#282828]" aria-hidden="true"></div></div></div><div class="showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4"><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] h-3 w-24" aria-hidden="true"></div><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-7 w-full max-w-[90%] md:h-9" aria-hidden="true"></div><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-4 w-4/5" aria-hidden="true"></div></div></div></div><div class="showcase-card min-h-0 min-w-0 overflow-visible rounded-[28px]"><div class="relative flex h-full min-h-0 min-w-0 flex-col"><div class="showcase-card-media relative z-[2] aspect-[16/10] w-full flex-shrink-0 overflow-hidden rounded-[24px] bg-[#ebebeb] dark:bg-[#141414]"><div class="absolute inset-0 z-[1] overflow-hidden rounded-2xl"><div class="absolute inset-0 animate-pulse bg-[#d6d6d6] dark:bg-[#282828]" aria-hidden="true"></div></div></div><div class="showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4"><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dar
1k:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] h-3 w-24" aria-hidden="true"></div><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-7 w-full max-w-[90%] md:h-9" aria-hidden="true"></div><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-4 w-4/5" aria-hidden="true"></div></div></div></div><div class="showcase-card min-h-0 min-w-0 overflow-visible rounded-[28px]"><div class="relative flex h-full min-h-0 min-w-0 flex-col"><div class="showcase-card-media relative z-[2] aspect-[16/10] w-full flex-shrink-0 overflow-hidden rounded-[24px] bg-[#ebebeb] dark:bg-[#141414]"><div class="absolute inset-0 z-[1] overflow-hidden rounded-2xl"><div class="absolute inset-0 animate-pulse bg-[#d6d6d6] dark:bg-[#282828]" aria-hidden="true"></div></div></div><div class="showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4"><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] h-3 w-24" aria-hidden="true"></div><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-7 w-full max-w-[90%] md:h-9" aria-hidden="true"></div><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-4 w-4/5" aria-hidden="true"></div></div></div></div><div class="showcase-card min-h-0 min-w-0 overflow-visible rounded-[28px]"><div class="relative flex h-full min-h-0 min-w-0 flex-col"><div class="showcase-card-media relative z-[2] aspect-[16/10] w-full flex-shrink-0 overflow-hidden rounded-[24px] bg-[#ebebeb] dark:bg-[#141414]"><div class="absolute inset-0 z-[1] overflow-hidden rounded-2xl"><div class="absolute inset-0 animate-pulse bg-[#d6d6d6] dark:bg-[#282828]" aria-hidden="true"></div></div></div><div class="showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4"><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] h-3 w-24" aria-hidden="true"></div><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-7 w-full max-w-[90%] md:h-9" aria-hidden="true"></div><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-4 w-4/5" aria-hidden="true"></div></div></div></div><div class="showcase-card min-h-0 min-w-0 overflow-visible rounded-[28px]"><div class="relative flex h-full min-h-0 min-w-0 flex-col"><div class="showcase-card-media relative z-[2] aspect-[16/10] w-full flex-shrink-0 overflow-hidden rounded-[24px] bg-[#ebebeb] dark:bg-[#141414]"><div class="absolute inset-0 z-[1] overflow-hidden rounded-2xl"><div class="absolute inset-0 animate-pulse bg-[#d6d6d6] dark:bg-[#282828]" aria-hidden="true"></div></div></div><div class="showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4"><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] h-3 w-24" aria-hidden="true"></div><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-7 w-full max-w-[90%] md:h-9" aria-hidden="true"></div><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-4 w-4/5" aria-hidden="true"></div></div></div></div><div class="showcase-card min-h-0 min-w-0 overflow-visible rounded-[28px]"><div class="relative flex h-full min-h-0 min-w-0 flex-col"><div class="showcase-card-media relative z-[2] aspect-[16/10] w-full flex-shrink-0 overflow-hidden rounded-[24px] bg-[#ebebeb] dark:bg-[#141414]"><div class="absolute inset-0 z-[1] overflow-hidden rounded-2xl"><div class="absolute inset-0 animate-pulse bg-[#d6d6d6] dark:bg-[#282828]" aria-hidden="true"></div></div></div><div class="showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4"><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dar
1k:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] h-3 w-24" aria-hidden="true"></div><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-7 w-full max-w-[90%] md:h-9" aria-hidden="true"></div><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-4 w-4/5" aria-hidden="true"></div></div></div></div><div class="showcase-card min-h-0 min-w-0 overflow-visible rounded-[28px]"><div class="relative flex h-full min-h-0 min-w-0 flex-col"><div class="showcase-card-media relative z-[2] aspect-[16/10] w-full flex-shrink-0 overflow-hidden rounded-[24px] bg-[#ebebeb] dark:bg-[#141414]"><div class="absolute inset-0 z-[1] overflow-hidden rounded-2xl"><div class="absolute inset-0 animate-pulse bg-[#d6d6d6] dark:bg-[#282828]" aria-hidden="true"></div></div></div><div class="showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4"><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] h-3 w-24" aria-hidden="true"></div><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-7 w-full max-w-[90%] md:h-9" aria-hidden="true"></div><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-4 w-4/5" aria-hidden="true"></div></div></div></div><div class="showcase-card min-h-0 min-w-0 overflow-visible rounded-[28px]"><div class="relative flex h-full min-h-0 min-w-0 flex-col"><div class="showcase-card-media relative z-[2] aspect-[16/10] w-full flex-shrink-0 overflow-hidden rounded-[24px] bg-[#ebebeb] dark:bg-[#141414]"><div class="absolute inset-0 z-[1] overflow-hidden rounded-2xl"><div class="absolute inset-0 animate-pulse bg-[#d6d6d6] dark:bg-[#282828]" aria-hidden="true"></div></div></div><div class="showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4"><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] h-3 w-24" aria-hidden="true"></div><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-7 w-full max-w-[90%] md:h-9" aria-hidden="true"></div><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-4 w-4/5" aria-hidden="true"></div></div></div></div></div><nav class="mt-10 flex items-center justify-center gap-1 md:gap-2" aria-hidden="true"><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] size-9 rounded-full md:size-10" aria-hidden="true"></div><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] size-9 rounded-full md:size-10" aria-hidden="true"></div><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] size-9 rounded-full md:size-10" aria-hidden="true"></div><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] size-9 rounded-full md:size-10" aria-hidden="true"></div><div class="animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] size-9 rounded-full md:size-10" aria-hidden="true"></div></nav></section></div><!--/$--></main><footer class="relative z-20 w-full bg-white text-[#222] transition-colors duration-[350ms] ease-out dark:bg-background dark:text-white"><div class="mx-auto max-w-(--layout-max-width) px-6 py-14 sm:px-10 sm:py-16 lg:px-14 lg:py-20"><div class="border-t border-black/[0.08] pt-6 dark:border-white/10"><div class="flex flex-col items-start justify-between gap-5 sm:flex-row sm:items-center"><div class="text-[12px] leading-[1.6] text-[#888] dark:text-white/36"><p>ⓒ <!-- -->2026<!-- -->. w99hyun(Woohyun Cho) All rights reserved.</p><p>본 사이트는 개인 포트폴리오 게시용으로 제작되었습니다.</p></div><div class="flex w-full flex-wrap items-center gap-x-4 gap-y-3 text-[#777] sm:w-auto 
1sm:justify-end dark:text-white/40"><ul class="ml-auto flex items-center gap-2.5 sm:ml-0"><li><a href="mailto:[email protected]" class="flex size-5 items-center justify-center transition-colors hover:text-black dark:hover:text-white" aria-label="E-mail" title="E-mail"><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-mail size-[18px]" aria-hidden="true"><path d="m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7"></path><rect x="2" y="4" width="20" height="16" rx="2"></rect></svg></a></li><li><a href="https://github.com/w99hyunn" target="_blank" rel="noopener noreferrer" class="flex size-5 items-center justify-center transition-colors hover:text-black dark:hover:text-white" aria-label="GitHub" title="GitHub"><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-github size-[18px]" aria-hidden="true"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"></path><path d="M9 18c-4.51 2-5-2-7-2"></path></svg></a></li><li><a href="https://www.linkedin.com/in/w99hyun/" target="_blank" rel="noopener noreferrer" class="flex size-5 items-center justify-center transition-colors hover:text-black dark:hover:text-white" aria-label="LinkedIn" title="LinkedIn"><svg class="size-[18px]" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path></svg></a></li><li><a href="https://instagram.com/w99hyun" target="_blank" rel="noopener noreferrer" class="flex size-5 items-center justify-center transition-colors hover:text-black dark:hover:text-white" aria-label="Instagram" title="Instagram"><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-instagram size-[18px]" aria-hidden="true"><rect width="20" height="20" x="2" y="2" rx="5" ry="5"></rect><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"></path><line x1="17.5" x2="17.51" y1="6.5" y2="6.5"></line></svg></a></li></ul></div></div></div></div></footer><div data-rht-toaster="" style="position:fixed;z-index:9999;top:16px;left:16px;right:16px;bottom:16px;pointer-events:none"></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$-->
1<script>requestAnimationFrame(function(){$RT=performance.now()});</script>
1<script src="/_next/static/chunks/48096d82f3cd4031.js" id="_R_" async=""></script>
1<div hidden id="S:0"><div data-scroll-page-content="true" class="bg-white text-[#0a0a0a] transition-colors duration-[350ms] ease-out dark:bg-background dark:text-white"><section class="mx-auto max-w-(--layout-max-width) px-6 pb-16 pt-28 transition-colors duration-500 sm:px-10 sm:pt-34 lg:px-14 lg:pb-20"><header class="motion-fade-in-up motion-delay-1 mb-12 sm:mb-14 md:mb-16"><h1 class="max-w-6xl text-[54px] font-bold leading-[0.96] tracking-normal text-black sm:text-[76px] md:text-[96px] lg:text-[112px] dark:text-white">포스트</h1></header><div class="mt-10 flex flex-wrap items-center gap-4 motion-fade-in-up motion-delay-3"><span class="text-[14px] text-[#999] dark:text-[#666]">보기 방식</span><div class="flex items-center gap-1"><a class="flex items-center justify-center rounded-md p-2 transition-colors text-[#0a0a0a] dark:text-white" aria-current="true" title="앨범형" href="/blog?view=album"><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-layout-grid h-4 w-4 md:h-5 md:w-5" aria-hidden="true"><rect width="7" height="7" x="3" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="14" rx="1"></rect><rect width="7" height="7" x="3" y="14" rx="1"></rect></svg></a><a class="flex items-center justify-center rounded-md p-2 transition-colors text-[#bbb] hover:text-[#0a0a0a] dark:text-[#555] dark:hover:text-white" title="목록형" href="/blog?view=list"><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-list h-4 w-4 md:h-5 md:w-5" aria-hidden="true"><path d="M3 5h.01"></path><path d="M3 12h.01"></path><path d="M3 19h.01"></path><path d="M8 5h13"></path><path d="M8 12h13"></path><path d="M8 19h13"></path></svg></a></div></div><div class="mt-8 grid grid-cols-1 gap-x-6 gap-y-10 sm:grid-cols-2 sm:gap-y-12 lg:grid-cols-3 lg:gap-x-8 lg:gap-y-14"><div class="motion-fade-in-up h-full min-h-0 min-w-0 motion-delay-3"><a class="showcase-card relative isolate block min-h-0 min-w-0 overflow-visible rounded-[28px] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#0a0a0a]/20 focus-visible:ring-offset-2 focus-visible:ring-offset-white dark:focus-visible:ring-white/30 dark:focus-visible:ring-offset-background flex h-full min-h-0 min-w-0 flex-col" href="/blog/0"><div class="showcase-card-surface pointer-events-none absolute -inset-3 z-0 rounded-[32px]" aria-hidden="true"></div><div class="relative z-[1] flex h-full min-h-0 flex-col"><div class="showcase-card-media relative z-[2] w-full flex-shrink-0 overflow-hidden rounded-[24px] " style="aspect-ratio:1.6"><div class="showcase-card-media-frame absolute -inset-px z-[1] overflow-hidden"><img alt="" loading="lazy" decoding="async" data-nimg="fill" class="showcase-card-image object-cover will-change-transform image-progressive-placeholder" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;background-image:url(&quot;data:image/svg+xml;charset=utf-8,%3Csvg xmlns=&#x27;http://www.w3.org/2000/svg&#x27; %3E%3Cfilter id=&#x27;b&#x27; color-interpolation-filters=&#x27;sRGB&#x27;%3E%3CfeGaussianBlur stdDeviation=&#x27;20&#x27;/%3E%3CfeColorMatrix values=&#x27;1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1&#x27; result=&#x27;s&#x27;/%3E%3CfeFlood x=&#x27;0&#x27; y=&#x27;0&#x27; width=&#x27;100%25&#x27; height=&#x27;100%25&#x27;/%3E%3CfeComposite operator=&#x27;out&#x27; in=&#x27;s&#x27;/%3E%3CfeComposite in2=&#x27;SourceGraphic&#x27;/%3E%3CfeGaussianBlur stdDeviation=&#x27;20&#x27;/%3E%3C/filter%3E%3Cimage width=&#x27;100%25&#x27; height=&#x27;100%25&#x27; x=&#x27;0&#x27; y=&#x27;0&#x27; preserveAspectRatio=&#x27;none&#x27; style=&#x27;filter: url(%23b);&#x27; href=&#x27;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAALCAYAAABLcGxfAAAACXBIWXMAAAsTAAALEwEAmpwYAAABkklEQVR4nHWRv0tbURzFH8+EEF7IS8hrkvdIdIn26RBqDFoxFEqQFzPYoFQcfEMqFWIkuimF+qOtS5EuVVI6NOAiiJuToNFBKAo66OJf0dXxU+6VEB0cDvcH33PuOecqqqri8/lQFEVCnFtra688ht/vp1Qq4bouqVTqCUnXdQzDIBqN4vV6WyQF0zRJp9P02rYcEne5XI5sNkskEiGfz5NMJh8IqtrB0HCW7Z0fbH77Qq02z0vbZswZ5cPUjBx6YRgkEgk8Hg+KZVm8m5zg+qLJzeUe51cHbO2sc9z8ye/6Z/pfDaBpgXYG4S2TyVCaLrK1vcDZ3+/Uf33i6PAPpye77O83aDTqmJbZziBaKhYdnPE31CrvWV2e4+vaGotLFW7vmtzzj/WNFRleEkQrRiSMZcbo6+tlZOQ1iaRFuewyV/lIofCWhWqFeDyOIlqxbZtYLEYgEEDXg3R1deK6M8zOlqlW53GcQju0+AdRXSgUIhwOEwwGpUVRhhDq7ulmcGhQ1ioEpaXnIMQ0TZN4eF3nP7pLz5zmVqakAAAAAElFTkSuQmCC&#x27;/%3E%3C/svg%3E&quot;
1)" sizes="(max-width: 640px) 100vw, (max-width: 1024px) 50vw, 33vw" srcSet="/_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2Ff0b40806-dbe2-467c-bf64-45a1b068e64e%2Fimage.png&amp;w=256&amp;q=75 256w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2Ff0b40806-dbe2-467c-bf64-45a1b068e64e%2Fimage.png&amp;w=384&amp;q=75 384w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2Ff0b40806-dbe2-467c-bf64-45a1b068e64e%2Fimage.png&amp;w=640&amp;q=75 640w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2Ff0b40806-dbe2-467c-bf64-45a1b068e64e%2Fimage.png&amp;w=750&amp;q=75 750w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2Ff0b40806-dbe2-467c-bf64-45a1b068e64e%2Fimage.png&amp;w=828&amp;q=75 828w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2Ff0b40806-dbe2-467c-bf64-45a1b068e64e%2Fimage.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2Ff0b40806-dbe2-467c-bf64-45a1b068e64e%2Fimage.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2Ff0b40806-dbe2-467c-bf64-45a1b068e64e%2Fimage.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2Ff0b40806-dbe2-467c-bf64-45a1b068e64e%2Fimage.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2Ff0b40806-dbe2-467c-bf64-45a1b068e64e%2Fimage.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2Ff0b40806-dbe2-467c-bf64-45a1b068e64e%2Fimage.png&amp;w=3840&amp;q=75"/></div><div class="showcase-card-arrow pointer-events-none absolute right-3 top-3 z-[3] flex h-9 w-9 items-center justify-center rounded-full bg-white text-black opacity-0 scale-95 shadow-[0_18px_48px_-24px_rgba(0,0,0,0.75)] dark:bg-black dark:text-white" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.35" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right h-5 w-5" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></div></div><div class="showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4"><p class="text-[12px] font-medium uppercase tracking-normal text-[#777] dark:text-[#888]"><span class="tabular-nums">2026.07.23.</span></p><h2 class="w-full truncate text-[18px] font-semibold leading-snug text-[#0a0a0a] sm:text-[20px] lg:text-[22px] dark:text-white">XREAL 10기 해커톤 ㅡ 🏆대상 수상..!</h2><p class="line-clamp-1 text-[14px] leading-relaxed text-[#777] sm:text-[15px] lg:text-[16px] dark:text-[#888]">7월 18-19일 양일간 무박 2일로 진행된 XREAL 10기 해커톤에서 대상을 수상했다..! 이번 해커톤은 XR-AI for Public Good 이라는 대주제로 진행되었으며, 우리팀은 Healthcare &amp; Wellbeing 의 소트랙을 배정받았다. 팀 빌딩 해커톤 시작 전, 팀 빌딩을 위해 참가자들이 서로 돌아다니면서 자기소개를 하는 아이스브레이킹 시간이 있었다. 이 때 외부 참가자이신 리서치 두 분을 만났고, 그 ...</p></div></div></a></div><div class="motion-fade-in-up h-full min-h-0 min-w-0 motion-delay-4"><a class="showcase-card relative isolate block min-h-0 min-w-0 overflow-visible rounded-[28px] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#0a0a0a]/20 focus-visible:ring-offset-2 focus-visible:ring-offset-white dark:focus-visible:ring-white/30 dark:focus-visible:ring-offset-background flex h-full min-h-0 min-w-0 flex-col" href="/blog/1"><div class="showcase-card-surface pointer-events-none absolute -inset-3 z-0 rounded-[32px]" aria-hidden="true"></div><div class="relative z-[1] flex h-full min-h-0 flex-col"><div class="showcase-card-media relative z-[2] w-full flex-shrink-0 overflow-hidden rounded-[24px] " style="aspect-ratio:1.6"><div class="showcase-card-media-frame absolute -inset-px z-[1] overflow-hidden"><img alt="" loading="lazy" decoding="async" data-nimg="fill" class="showcase-card-image object-cover will-change-transform image-progressive-placeholder" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;background-image:url(&quot;data:image/svg+xml;charset=utf-8,%3Csvg xmlns=&#x27;http://www.w3.org/2000/svg&#x27; %3E%3Cfilter id=&#x27;b&#x27; color-interpolation-filters=&#x27;
1sRGB&#x27;%3E%3CfeGaussianBlur stdDeviation=&#x27;20&#x27;/%3E%3CfeColorMatrix values=&#x27;1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1&#x27; result=&#x27;s&#x27;/%3E%3CfeFlood x=&#x27;0&#x27; y=&#x27;0&#x27; width=&#x27;100%25&#x27; height=&#x27;100%25&#x27;/%3E%3CfeComposite operator=&#x27;out&#x27; in=&#x27;s&#x27;/%3E%3CfeComposite in2=&#x27;SourceGraphic&#x27;/%3E%3CfeGaussianBlur stdDeviation=&#x27;20&#x27;/%3E%3C/filter%3E%3Cimage width=&#x27;100%25&#x27; height=&#x27;100%25&#x27; x=&#x27;0&#x27; y=&#x27;0&#x27; preserveAspectRatio=&#x27;none&#x27; style=&#x27;filter: url(%23b);&#x27; href=&#x27;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAHCAIAAACz0DtzAAAACXBIWXMAAAPoAAAD6AG1e1JrAAABDklEQVR4nAEDAfz+AK7BzLDF0MTc5Pv8/Pv5++Lp7rLH1LPI0cDL1aK3xKC0wJ6uvACftcaku8iZythKuM9UvNA1uc8Aj7MAha5eucqnuMWcssCZrLsAjKm8lKy+d7vMAHGlAFmZAHCnAFaWADuFAGOflrLEnLLAlKq6AIypup+ywDaQrQBcjgBZiwBRhwBXjwAzdQAcYzp9o6O4xo2puwCSqrufssGPqb0AIVIAJlQAEDsAADIAFj8AJ1UzhaKnvcuMrLwAlai8mq6+sr/LSISbAISbAK2tAJSYAJicZ8rMrMjRoLzKl7TEAJmtvqK0xKq8ysTL1aDG0I/U2HXU1nDO0sfW3q7F0aTAzpu4x8i+kae0zDVMAAAAAElFTkSuQmCC&#x27;/%3E%3C/svg%3E&quot;)" sizes="(max-width: 640px) 100vw, (max-width: 1024px) 50vw, 33vw" srcSet="/_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2Fbde27fc0-45fd-40cf-9362-b7bb2ca01db6%2Fimage.avif&amp;w=256&amp;q=75 256w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2Fbde27fc0-45fd-40cf-9362-b7bb2ca01db6%2Fimage.avif&amp;w=384&amp;q=75 384w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2Fbde27fc0-45fd-40cf-9362-b7bb2ca01db6%2Fimage.avif&amp;w=640&amp;q=75 640w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2Fbde27fc0-45fd-40cf-9362-b7bb2ca01db6%2Fimage.avif&amp;w=750&amp;q=75 750w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2Fbde27fc0-45fd-40cf-9362-b7bb2ca01db6%2Fimage.avif&amp;w=828&amp;q=75 828w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2Fbde27fc0-45fd-40cf-9362-b7bb2ca01db6%2Fimage.avif&amp;w=1080&amp;q=75 1080w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2Fbde27fc0-45fd-40cf-9362-b7bb2ca01db6%2Fimage.avif&amp;w=1200&amp;q=75 1200w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2Fbde27fc0-45fd-40cf-9362-b7bb2ca01db6%2Fimage.avif&amp;w=1920&amp;q=75 1920w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2Fbde27fc0-45fd-40cf-9362-b7bb2ca01db6%2Fimage.avif&amp;w=2048&amp;q=75 2048w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2Fbde27fc0-45fd-40cf-9362-b7bb2ca01db6%2Fimage.avif&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2Fbde27fc0-45fd-40cf-9362-b7bb2ca01db6%2Fimage.avif&amp;w=3840&amp;q=75"/></div><div class="showcase-card-arrow pointer-events-none absolute right-3 top-3 z-[3] flex h-9 w-9 items-center justify-center rounded-full bg-white text-black opacity-0 scale-95 shadow-[0_18px_48px_-24px_rgba(0,0,0,0.75)] dark:bg-black dark:text-white" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.35" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right h-5 w-5" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></div></div><div class="showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4"><p class="text-[12px] font-medium uppercase tracking-normal text-[#777] dark:text-[#888]"><span class="tabular-nums">2026.07.23.</span></p><h2 class="w-full truncate text-[18px] font-semibold leading-snug text-[#0a0a0a] sm:text-[20px] lg:text-[22px] dark:text-white">Unity UNITE Seoul 2026 후기</h2><p class="line-clamp-1 text-[14px] leading-relaxed text-[#777] sm:text-[15px] lg:text-[16px] dark:text-[#888]">7월 21일 코엑스에서 열린 Unity UNITE Seoul 2026에 참석했다. 지금까지의 유니티와 앞으로의 유니티, 그리고 산업 전반의 유니티가 어떻게 활용되고 있는지를 확인할 수 있는 좋은 기회였기 때문에 참석했다. 정말 많은 세션과 토크가 준비되어 있었고, 너무 주제가 다양했고 많았기 때문에 동시간대에 여러 장소에 진행되어 자신이 관심있는 분야를 골라들을 수 있었다. 굉장히 많은 세션들 중에서 몇몇 세션을 골라들었...</p></div></div></a></div><div class="motion-fade-in-up h-full min-h-0 min-w-0 motion-delay-5"><a class="showcase-card relative isolate block min-h-0 min-w-0 overflow-visible rounded-[28px] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#0a0a0a]/20 focus-visible:ring-offset-2 focus-visible:ring-offset-white dark:focus-visible:ring-white/30 dark:focus-visible:ring-offset-background flex h-full min-h-0 min-w-0 flex-col" href="/blog/2"><div class="showcase-card-surface pointer-events-none absolute -inset-3 z-0 rounded-[32px]" aria-hidden="true"></div><div class="relative z-[1] flex h-full min-h-0 flex-col"><div class="showcase-card-media relative z-[2] w-full flex-shrink-0 overflow-hidden rounded-[24px] " style="aspect-ratio:1.6"><div class="showcase-card-media-frame absolute -inset-px z-[1] overflow-hidden"><img alt="" loading="lazy" decoding="async" data-nimg="fill" class="showcase-card-image object-cover will-change-transform image-progressive-placeholder" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;background-image:url(&quot;data:image/svg+xml;charset=utf-8,%3Csvg xmlns=&#x27;http://www.w3.org/2000/svg&#x27; %3E%3Cfilter id=&#x27;b&#x27; color-interpolation-filters=&#x27;
1sRGB&#x27;%3E%3CfeGaussianBlur stdDeviation=&#x27;20&#x27;/%3E%3CfeColorMatrix values=&#x27;1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1&#x27; result=&#x27;s&#x27;/%3E%3CfeFlood x=&#x27;0&#x27; y=&#x27;0&#x27; width=&#x27;100%25&#x27; height=&#x27;100%25&#x27;/%3E%3CfeComposite operator=&#x27;out&#x27; in=&#x27;s&#x27;/%3E%3CfeComposite in2=&#x27;SourceGraphic&#x27;/%3E%3CfeGaussianBlur stdDeviation=&#x27;20&#x27;/%3E%3C/filter%3E%3Cimage width=&#x27;100%25&#x27; height=&#x27;100%25&#x27; x=&#x27;0&#x27; y=&#x27;0&#x27; preserveAspectRatio=&#x27;none&#x27; style=&#x27;filter: url(%23b);&#x27; href=&#x27;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAHCAIAAACz0DtzAAAACXBIWXMAAAsTAAALEwEAmpwYAAABDklEQVR4nAEDAfz+AAgGBB4ZFy0iJBIOHA8RJgwOJRIRJiEXJhEOFjo1Nz0zKAYGCAAZGBYhICUlIzEKCRoFAhsWDy0NDC0BAQ4LCRkUEyQODhEGBQYAFhMWcG1wlpife3iOYFt4uLHEhIKgk5Kse3qPp6eyR0ZRDAwUAAQDBT06PpeXmVBPY4qFn//7/9rV8dLO5bq2x/r3/2BcZi0kKQAGBgcJCBBMS1oeHTwSETgNDjkkG00rI04gGzwODSIZFyUbFR4ABQYIAgICBgQRGBcxLSdMJh9ILCNJPTNTIRo1Ew8aLCYtIh8rAAUDBRsWFTEqMSIeMzwyQDsvRjwyRiokOxQPHSEYHSUhKRERHXBaOZzDH2IOAAAAAElFTkSuQmCC&#x27;/%3E%3C/svg%3E&quot;)" sizes="(max-width: 640px) 100vw, (max-width: 1024px) 50vw, 33vw" srcSet="/_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F69f0fda6-761e-4393-a660-def80cb00726%2Fimage.jpeg&amp;w=256&amp;q=75 256w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F69f0fda6-761e-4393-a660-def80cb00726%2Fimage.jpeg&amp;w=384&amp;q=75 384w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F69f0fda6-761e-4393-a660-def80cb00726%2Fimage.jpeg&amp;w=640&amp;q=75 640w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F69f0fda6-761e-4393-a660-def80cb00726%2Fimage.jpeg&amp;w=750&amp;q=75 750w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F69f0fda6-761e-4393-a660-def80cb00726%2Fimage.jpeg&amp;w=828&amp;q=75 828w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F69f0fda6-761e-4393-a660-def80cb00726%2Fimage.jpeg&amp;w=1080&amp;q=75 1080w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F69f0fda6-761e-4393-a660-def80cb00726%2Fimage.jpeg&amp;w=1200&amp;q=75 1200w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F69f0fda6-761e-4393-a660-def80cb00726%2Fimage.jpeg&amp;w=1920&amp;q=75 1920w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F69f0fda6-761e-4393-a660-def80cb00726%2Fimage.jpeg&amp;w=2048&amp;q=75 2048w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F69f0fda6-761e-4393-a660-def80cb00726%2Fimage.jpeg&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F69f0fda6-761e-4393-a660-def80cb00726%2Fimage.jpeg&amp;w=3840&amp;q=75"/></div><div class="showcase-card-arrow pointer-events-none absolute right-3 top-3 z-[3] flex h-9 w-9 items-center justify-center rounded-full bg-white text-black opacity-0 scale-95 shadow-[0_18px_48px_-24px_rgba(0,0,0,0.75)] dark:bg-black dark:text-white" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.35" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right h-5 w-5" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></div></div><div class="showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4"><p class="text-[12px] font-medium uppercase tracking-normal text-[#777] dark:text-[#888]"><span class="tabular-nums">2026.03.07.</span></p><h2 class="w-full truncate text-[18px] font-semibold leading-snug text-[#0a0a0a] sm:text-[20px] lg:text-[22px] dark:text-white">Tuanjie Engine - Unity China</h2><p class="line-clamp-1 text-[14px] leading-relaxed text-[#777] sm:text-[15px] lg:text-[16px] dark:text-[#888]">최근에 유니티 글로벌 에셋스토어에서 중화권 퍼블리셔가 배포하는 에셋이 모두 내려간다는 안내가 메일로 발송되었다. 무슨 일인가 싶어 알아보니, 유니티 차이나의 매각소식 이 들려오는데, 이를 위한 선제적 조치라고 보여진다. 관련해서 정보를 찾아보니 글로벌에서는 유니티 2022버전 다음으로 유니티6를 배포하고 있는데, 유니티 차이나만 독자적으로 유니티 2022를 fork해서 독자적으로 Tuanjie Engine으로 개발해 배포...</p></div></div></a></div><div class="motion-fade-in-up h-full min-h-0 min-w-0 motion-delay-6"><a class="showcase-card relative isolate block min-h-0 min-w-0 overflow-visible rounded-[28px] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#0a0a0a]/20 focus-visible:ring-offset-2 focus-visible:ring-offset-white dark:focus-visible:ring-white/30 dark:focus-visible:ring-offset-background flex h-full min-h-0 min-w-0 flex-col" href="/blog/3"><div class="showcase-card-surface pointer-events-none absolute -inset-3 z-0 rounded-[32px]" aria-hidden="true"></div><div class="relative z-[1] flex h-full min-h-0 flex-col"><div class="showcase-card-media relative z-[2] w-full flex-shrink-0 overflow-hidden rounded-[24px] " style="aspect-ratio:1.6"><div class="showcase-card-media-frame absolute -inset-px z-[1] overflow-hidden"><img alt="" loading="lazy" decoding="async" data-nimg="fill" class="showcase-card-image object-cover will-change-transform image-progressive-placeholder" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;background-image:url(&quot;data:image/svg+xml;charset=utf-8,%3Csvg xmlns=&#x27;http://www.w3.org/2000/svg&#x27; %3E%3Cfilter id=&#x27;b&#x27; color-interpolation-filters=&#x27;
1sRGB&#x27;%3E%3CfeGaussianBlur stdDeviation=&#x27;20&#x27;/%3E%3CfeColorMatrix values=&#x27;1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1&#x27; result=&#x27;s&#x27;/%3E%3CfeFlood x=&#x27;0&#x27; y=&#x27;0&#x27; width=&#x27;100%25&#x27; height=&#x27;100%25&#x27;/%3E%3CfeComposite operator=&#x27;out&#x27; in=&#x27;s&#x27;/%3E%3CfeComposite in2=&#x27;SourceGraphic&#x27;/%3E%3CfeGaussianBlur stdDeviation=&#x27;20&#x27;/%3E%3C/filter%3E%3Cimage width=&#x27;100%25&#x27; height=&#x27;100%25&#x27; x=&#x27;0&#x27; y=&#x27;0&#x27; preserveAspectRatio=&#x27;none&#x27; style=&#x27;filter: url(%23b);&#x27; href=&#x27;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAHCAYAAAA8sqwkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAmklEQVR4nGNgIBv8/88IoiRab4maz3oy2X7e4ymRm/6LQCXBchiKhepv8QUufX5739P//zfe+/+fve3iFQbdaYIYmv5DNTCkvZKceeHv9+kHn/+Ubzz2h7359BuG8P0KYLn6eiYMG/jrzwtIVe2/O3X3g/8dW+7+Z4hcdY3BbZUQdmfBBbIkGBymzmJwmzaTQSxPHCqJrph4AAAuq0M/BN6bJQAAAABJRU5ErkJggg==&#x27;/%3E%3C/svg%3E&quot;)" sizes="(max-width: 640px) 100vw, (max-width: 1024px) 50vw, 33vw" srcSet="/_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F80b1501a-c8ca-442d-be84-8e3c1e759a29%2Fimage.png&amp;w=256&amp;q=75 256w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F80b1501a-c8ca-442d-be84-8e3c1e759a29%2Fimage.png&amp;w=384&amp;q=75 384w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F80b1501a-c8ca-442d-be84-8e3c1e759a29%2Fimage.png&amp;w=640&amp;q=75 640w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F80b1501a-c8ca-442d-be84-8e3c1e759a29%2Fimage.png&amp;w=750&amp;q=75 750w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F80b1501a-c8ca-442d-be84-8e3c1e759a29%2Fimage.png&amp;w=828&amp;q=75 828w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F80b1501a-c8ca-442d-be84-8e3c1e759a29%2Fimage.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F80b1501a-c8ca-442d-be84-8e3c1e759a29%2Fimage.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F80b1501a-c8ca-442d-be84-8e3c1e759a29%2Fimage.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F80b1501a-c8ca-442d-be84-8e3c1e759a29%2Fimage.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F80b1501a-c8ca-442d-be84-8e3c1e759a29%2Fimage.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F80b1501a-c8ca-442d-be84-8e3c1e759a29%2Fimage.png&amp;w=3840&amp;q=75"/></div><div class="showcase-card-arrow pointer-events-none absolute right-3 top-3 z-[3] flex h-9 w-9 items-center justify-center rounded-full bg-white text-black opacity-0 scale-95 shadow-[0_18px_48px_-24px_rgba(0,0,0,0.75)] dark:bg-black dark:text-white" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.35" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right h-5 w-5" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></div></div><div class="showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4"><p class="text-[12px] font-medium uppercase tracking-normal text-[#777] dark:text-[#888]"><span class="tabular-nums">2026.03.05.</span></p><h2 class="w-full truncate text-[18px] font-semibold leading-snug text-[#0a0a0a] sm:text-[20px] lg:text-[22px] dark:text-white">C++ Summary 2</h2><p class="line-clamp-1 text-[14px] leading-relaxed text-[#777] sm:text-[15px] lg:text-[16px] dark:text-[#888]">C++에서 주로 사용되는 문법을 정리한다. 1. 기본 (입출력 최적화) int main() { ios::sync_with_stdio(false); cin.tie(NULL); } ios::sync_with_stdio(false) : C / C++ 입출력 동기화 해제 cin.tie(NULL) : cout flush 방지 대량 입출력 문제에서 시간초과 방지 2. STL 컨테이너 2.1 vector vector&amp;lt;int&amp;gt...</p></div></div></a></div><div class="motion-fade-in-up h-full min-h-0 min-w-0 motion-delay-6"><a class="showcase-card relative isolate block min-h-0 min-w-0 overflow-visible rounded-[28px] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#0a0a0a]/20 focus-visible:ring-offset-2 focus-visible:ring-offset-white dark:focus-visible:ring-white/30 dark:focus-visible:ring-offset-background flex h-full min-h-0 min-w-0 flex-col" href="/blog/4"><div class="showcase-card-surface pointer-events-none absolute -inset-3 z-0 rounded-[32px]" aria-hidden="true"></div><div class="relative z-[1] flex h-full min-h-0 flex-col"><div class="showcase-card-media relative z-[2] w-full flex-shrink-0 overflow-hidden rounded-[24px] " style="aspect-ratio:1.6"><div class="showcase-card-media-frame absolute -inset-px z-[1] overflow-hidden"><img alt="" loading="lazy" decoding="async" data-nimg="fill" class="showcase-card-image object-cover will-change-transform image-progressive-placeholder" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;background-image:url(&quot;data:image/svg+xml;charset=utf-8,%3Csvg xmlns=&#x27;http://www.w3.org/2000/svg&#x27; %3E%3Cfilter id=&#x27;b&#x27; color-interpolation-filters=&#x27;
1sRGB&#x27;%3E%3CfeGaussianBlur stdDeviation=&#x27;20&#x27;/%3E%3CfeColorMatrix values=&#x27;1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1&#x27; result=&#x27;s&#x27;/%3E%3CfeFlood x=&#x27;0&#x27; y=&#x27;0&#x27; width=&#x27;100%25&#x27; height=&#x27;100%25&#x27;/%3E%3CfeComposite operator=&#x27;out&#x27; in=&#x27;s&#x27;/%3E%3CfeComposite in2=&#x27;SourceGraphic&#x27;/%3E%3CfeGaussianBlur stdDeviation=&#x27;20&#x27;/%3E%3C/filter%3E%3Cimage width=&#x27;100%25&#x27; height=&#x27;100%25&#x27; x=&#x27;0&#x27; y=&#x27;0&#x27; preserveAspectRatio=&#x27;none&#x27; style=&#x27;filter: url(%23b);&#x27; href=&#x27;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAHCAIAAACz0DtzAAAACXBIWXMAAAsTAAALEwEAmpwYAAABDklEQVR4nAEDAfz+ABohJSwgGSsmJA8ZJVZRTXlsYI6CcpaUjIeAeZuFh11RVlxRVABPOywhICBBWmWJhoirpqC1qJ2toX6Df2B6bml+Z2lXUlR5eHwAIxsYJjA3IDFALyQnxcG+//33y8K0enJlRjY3aV9gd3BxZ2FiAAQFBAABAG1wcpSXm62rqpiVlGppaIyLiJKQkHd4ewcHCgIDAwAaEwwWDwxLRkSLhH2WlIldX1ZgYFl5dm6mp6eSk5Q/QUEfHhkAVj4tNSYhFAsGZU8wmoVfgnZZdFYuWEgzZmhfdHFYm5qEdXNfAFk6GggAACgfGK6UbMWlepuHYIJxRl9aQERLMERHKEdMK0FELOl0XFSG8RjkAAAAAElFTkSuQmCC&#x27;/%3E%3C/svg%3E&quot;)" sizes="(max-width: 640px) 100vw, (max-width: 1024px) 50vw, 33vw" srcSet="/_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F3dcb796e-7038-47f5-98b8-b508eda55921%2Fimage.png&amp;w=256&amp;q=75 256w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F3dcb796e-7038-47f5-98b8-b508eda55921%2Fimage.png&amp;w=384&amp;q=75 384w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F3dcb796e-7038-47f5-98b8-b508eda55921%2Fimage.png&amp;w=640&amp;q=75 640w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F3dcb796e-7038-47f5-98b8-b508eda55921%2Fimage.png&amp;w=750&amp;q=75 750w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F3dcb796e-7038-47f5-98b8-b508eda55921%2Fimage.png&amp;w=828&amp;q=75 828w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F3dcb796e-7038-47f5-98b8-b508eda55921%2Fimage.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F3dcb796e-7038-47f5-98b8-b508eda55921%2Fimage.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F3dcb796e-7038-47f5-98b8-b508eda55921%2Fimage.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F3dcb796e-7038-47f5-98b8-b508eda55921%2Fimage.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F3dcb796e-7038-47f5-98b8-b508eda55921%2Fimage.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F3dcb796e-7038-47f5-98b8-b508eda55921%2Fimage.png&amp;w=3840&amp;q=75"/></div><div class="showcase-card-arrow pointer-events-none absolute right-3 top-3 z-[3] flex h-9 w-9 items-center justify-center rounded-full bg-white text-black opacity-0 scale-95 shadow-[0_18px_48px_-24px_rgba(0,0,0,0.75)] dark:bg-black dark:text-white" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.35" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right h-5 w-5" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></div></div><div class="showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4"><p class="text-[12px] font-medium uppercase tracking-normal text-[#777] dark:text-[#888]"><span class="tabular-nums">2026.02.28.</span></p><h2 class="w-full truncate text-[18px] font-semibold leading-snug text-[#0a0a0a] sm:text-[20px] lg:text-[22px] dark:text-white">Unity 렌더 파이프라인 관련 소식 (HDRP 업데이트 중단)</h2><p class="line-clamp-1 text-[14px] leading-relaxed text-[#777] sm:text-[15px] lg:text-[16px] dark:text-[#888]">2월 23일, 유니티에서는 렌더링 파이프라인 관련 여러 소식을 발표했다. 가장 큰 이슈는 두 가지 정도인데, Built-in 파이프라인에 대한 지원을 종료한다는 소식과 HDRP에 대한 업데이트가 중단된다는 소식이다. Built-in Pipeline 중단 우선 Built-in 파이프라인에 대해서는 Unity 6.5에서부터 서서히 퇴출 절차를 밟아 6.7까지만 지원하겠다는 것이다. 물론 커뮤니티 의견에 따라 달라질 수 있다는...</p></div></div></a></div><div class="motion-fade-in-up h-full min-h-0 min-w-0 motion-delay-6"><a class="showcase-card relative isolate block min-h-0 min-w-0 overflow-visible rounded-[28px] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#0a0a0a]/20 focus-visible:ring-offset-2 focus-visible:ring-offset-white dark:focus-visible:ring-white/30 dark:focus-visible:ring-offset-background flex h-full min-h-0 min-w-0 flex-col" href="/blog/5"><div class="showcase-card-surface pointer-events-none absolute -inset-3 z-0 rounded-[32px]" aria-hidden="true"></div><div class="relative z-[1] flex h-full min-h-0 flex-col"><div class="showcase-card-media relative z-[2] w-full flex-shrink-0 overflow-hidden rounded-[24px] " style="aspect-ratio:1.6"><div class="showcase-card-media-frame absolute -inset-px z-[1] overflow-hidden"><img alt="" loading="lazy" decoding="async" data-nimg="fill" class="showcase-card-image object-cover will-change-transform image-progressive-placeholder" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;background-image:url(&quot;data:image/svg+xml;charset=utf-8,%3Csvg xmlns=&#x27;http://www.w3.org/2000/svg&#x27; %3E%3Cfilter id=&#x27;b&#x27; color-interpolation-filters=&#x27;
1sRGB&#x27;%3E%3CfeGaussianBlur stdDeviation=&#x27;20&#x27;/%3E%3CfeColorMatrix values=&#x27;1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1&#x27; result=&#x27;s&#x27;/%3E%3CfeFlood x=&#x27;0&#x27; y=&#x27;0&#x27; width=&#x27;100%25&#x27; height=&#x27;100%25&#x27;/%3E%3CfeComposite operator=&#x27;out&#x27; in=&#x27;s&#x27;/%3E%3CfeComposite in2=&#x27;SourceGraphic&#x27;/%3E%3CfeGaussianBlur stdDeviation=&#x27;20&#x27;/%3E%3C/filter%3E%3Cimage width=&#x27;100%25&#x27; height=&#x27;100%25&#x27; x=&#x27;0&#x27; y=&#x27;0&#x27; preserveAspectRatio=&#x27;none&#x27; style=&#x27;filter: url(%23b);&#x27; href=&#x27;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAHCAYAAAA8sqwkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAApUlEQVR4nHWQPQrCUBCEv0JPYGknsbC0swtaSBS00SqksvAYtvZeSLAISoidaOFP5SlCMvJeohBDBmZ3i51hdtEf0iy1rAN5y2ztbVwxRPgIt+AYXd63nxlft+gZiy5igVi3RdAUU0QHHR9RVbC/HkQfETRsn+98scSaGLOKILyfhIPw0GDriRE5HRS/zlWBycmkyL1qiVk+G7FdLh9dRpIltZ/6AGD3+8heG3CSAAAAAElFTkSuQmCC&#x27;/%3E%3C/svg%3E&quot;)" sizes="(max-width: 640px) 100vw, (max-width: 1024px) 50vw, 33vw" srcSet="/_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F63d7955e-deb4-4ed5-92dd-2a8616dae7f3%2Fimage.png&amp;w=256&amp;q=75 256w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F63d7955e-deb4-4ed5-92dd-2a8616dae7f3%2Fimage.png&amp;w=384&amp;q=75 384w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F63d7955e-deb4-4ed5-92dd-2a8616dae7f3%2Fimage.png&amp;w=640&amp;q=75 640w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F63d7955e-deb4-4ed5-92dd-2a8616dae7f3%2Fimage.png&amp;w=750&amp;q=75 750w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F63d7955e-deb4-4ed5-92dd-2a8616dae7f3%2Fimage.png&amp;w=828&amp;q=75 828w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F63d7955e-deb4-4ed5-92dd-2a8616dae7f3%2Fimage.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F63d7955e-deb4-4ed5-92dd-2a8616dae7f3%2Fimage.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F63d7955e-deb4-4ed5-92dd-2a8616dae7f3%2Fimage.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F63d7955e-deb4-4ed5-92dd-2a8616dae7f3%2Fimage.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F63d7955e-deb4-4ed5-92dd-2a8616dae7f3%2Fimage.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F63d7955e-deb4-4ed5-92dd-2a8616dae7f3%2Fimage.png&amp;w=3840&amp;q=75"/></div><div class="showcase-card-arrow pointer-events-none absolute right-3 top-3 z-[3] flex h-9 w-9 items-center justify-center rounded-full bg-white text-black opacity-0 scale-95 shadow-[0_18px_48px_-24px_rgba(0,0,0,0.75)] dark:bg-black dark:text-white" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.35" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right h-5 w-5" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></div></div><div class="showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4"><p class="text-[12px] font-medium uppercase tracking-normal text-[#777] dark:text-[#888]"><span class="tabular-nums">2025.12.19.</span></p><h2 class="w-full truncate text-[18px] font-semibold leading-snug text-[#0a0a0a] sm:text-[20px] lg:text-[22px] dark:text-white">QT - QML ListView (with. C++ Items)</h2><p class="line-clamp-1 text-[14px] leading-relaxed text-[#777] sm:text-[15px] lg:text-[16px] dark:text-[#888]">QT QML의 ListView에서는 QML 내에서 자체적으로 생성한 모델을 출력할 수도 있지만, C++에서 생성한 List Model을 불러와 동적으로 생성하는 방법도 존재한다. 프로그램을 제작하다보면 보통 전자보다는 후자를 많이 사용하게 될 것이다. Create List Item C++에서 데이터 모델을 생성하고 QML에 표시하는 방법을 알아보겠다. 우선, QML의 ListView에서 출력할 C++ 데이터 모델이 필요하...</p></div></div></a></div><div class="motion-fade-in-up h-full min-h-0 min-w-0 motion-delay-6"><a class="showcase-card relative isolate block min-h-0 min-w-0 overflow-visible rounded-[28px] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#0a0a0a]/20 focus-visible:ring-offset-2 focus-visible:ring-offset-white dark:focus-visible:ring-white/30 dark:focus-visible:ring-offset-background flex h-full min-h-0 min-w-0 flex-col" href="/blog/6"><div class="showcase-card-surface pointer-events-none absolute -inset-3 z-0 rounded-[32px]" aria-hidden="true"></div><div class="relative z-[1] flex h-full min-h-0 flex-col"><div class="showcase-card-media relative z-[2] w-full flex-shrink-0 overflow-hidden rounded-[24px] " style="aspect-ratio:1.6"><div class="showcase-card-media-frame absolute -inset-px z-[1] overflow-hidden"><img alt="" loading="lazy" decoding="async" data-nimg="fill" class="showcase-card-image object-cover will-change-transform image-progressive-placeholder" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;background-image:url(&quot;data:image/svg+xml;charset=utf-8,%3Csvg xmlns=&#x27;http://www.w3.org/2000/svg&#x27; %3E%3Cfilter id=&#x27;b&#x27; color-interpolation-filters=&#x27;
1sRGB&#x27;%3E%3CfeGaussianBlur stdDeviation=&#x27;20&#x27;/%3E%3CfeColorMatrix values=&#x27;1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1&#x27; result=&#x27;s&#x27;/%3E%3CfeFlood x=&#x27;0&#x27; y=&#x27;0&#x27; width=&#x27;100%25&#x27; height=&#x27;100%25&#x27;/%3E%3CfeComposite operator=&#x27;out&#x27; in=&#x27;s&#x27;/%3E%3CfeComposite in2=&#x27;SourceGraphic&#x27;/%3E%3CfeGaussianBlur stdDeviation=&#x27;20&#x27;/%3E%3C/filter%3E%3Cimage width=&#x27;100%25&#x27; height=&#x27;100%25&#x27; x=&#x27;0&#x27; y=&#x27;0&#x27; preserveAspectRatio=&#x27;none&#x27; style=&#x27;filter: url(%23b);&#x27; href=&#x27;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAHCAYAAAA8sqwkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAApUlEQVR4nHWQPQrCUBCEv0JPYGknsbC0swtaSBS00SqksvAYtvZeSLAISoidaOFP5SlCMvJeohBDBmZ3i51hdtEf0iy1rAN5y2ztbVwxRPgIt+AYXd63nxlft+gZiy5igVi3RdAUU0QHHR9RVbC/HkQfETRsn+98scSaGLOKILyfhIPw0GDriRE5HRS/zlWBycmkyL1qiVk+G7FdLh9dRpIltZ/6AGD3+8heG3CSAAAAAElFTkSuQmCC&#x27;/%3E%3C/svg%3E&quot;)" sizes="(max-width: 640px) 100vw, (max-width: 1024px) 50vw, 33vw" srcSet="/_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F6a8bbed3-5dfc-4561-b0d6-e57f3ae2747f%2Fimage.png&amp;w=256&amp;q=75 256w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F6a8bbed3-5dfc-4561-b0d6-e57f3ae2747f%2Fimage.png&amp;w=384&amp;q=75 384w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F6a8bbed3-5dfc-4561-b0d6-e57f3ae2747f%2Fimage.png&amp;w=640&amp;q=75 640w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F6a8bbed3-5dfc-4561-b0d6-e57f3ae2747f%2Fimage.png&amp;w=750&amp;q=75 750w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F6a8bbed3-5dfc-4561-b0d6-e57f3ae2747f%2Fimage.png&amp;w=828&amp;q=75 828w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F6a8bbed3-5dfc-4561-b0d6-e57f3ae2747f%2Fimage.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F6a8bbed3-5dfc-4561-b0d6-e57f3ae2747f%2Fimage.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F6a8bbed3-5dfc-4561-b0d6-e57f3ae2747f%2Fimage.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F6a8bbed3-5dfc-4561-b0d6-e57f3ae2747f%2Fimage.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F6a8bbed3-5dfc-4561-b0d6-e57f3ae2747f%2Fimage.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F6a8bbed3-5dfc-4561-b0d6-e57f3ae2747f%2Fimage.png&amp;w=3840&amp;q=75"/></div><div class="showcase-card-arrow pointer-events-none absolute right-3 top-3 z-[3] flex h-9 w-9 items-center justify-center rounded-full bg-white text-black opacity-0 scale-95 shadow-[0_18px_48px_-24px_rgba(0,0,0,0.75)] dark:bg-black dark:text-white" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.35" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right h-5 w-5" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></div></div><div class="showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4"><p class="text-[12px] font-medium uppercase tracking-normal text-[#777] dark:text-[#888]"><span class="tabular-nums">2025.12.15.</span></p><h2 class="w-full truncate text-[18px] font-semibold leading-snug text-[#0a0a0a] sm:text-[20px] lg:text-[22px] dark:text-white">QT - C++에서 선언한 Enum을 QML에서 불러오기</h2><p class="line-clamp-1 text-[14px] leading-relaxed text-[#777] sm:text-[15px] lg:text-[16px] dark:text-[#888]">QT에서 C++ 로직에 enum을 활용할 경우, QML에서 해당 enum을 불러오기 위해선 별도의 등록이 필요하다. 예를 들어 아래의 enum을 사용하고 싶다면, &amp;lt;CPP&amp;gt; class MainWindow : public QMainWindow { Q_OBJECT public: enum class Example { //enum과 enum class 모두 가능하다. A, B, C, D, E, }; Q_ENUM(Exa...</p></div></div></a></div><div class="motion-fade-in-up h-full min-h-0 min-w-0 motion-delay-6"><a class="showcase-card relative isolate block min-h-0 min-w-0 overflow-visible rounded-[28px] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#0a0a0a]/20 focus-visible:ring-offset-2 focus-visible:ring-offset-white dark:focus-visible:ring-white/30 dark:focus-visible:ring-offset-background flex h-full min-h-0 min-w-0 flex-col" href="/blog/7"><div class="showcase-card-surface pointer-events-none absolute -inset-3 z-0 rounded-[32px]" aria-hidden="true"></div><div class="relative z-[1] flex h-full min-h-0 flex-col"><div class="showcase-card-media relative z-[2] w-full flex-shrink-0 overflow-hidden rounded-[24px] " style="aspect-ratio:1.6"><div class="showcase-card-media-frame absolute -inset-px z-[1] overflow-hidden"><img alt="" loading="lazy" decoding="async" data-nimg="fill" class="showcase-card-image object-cover will-change-transform image-progressive-placeholder" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;background-image:url(&quot;data:image/svg+xml;charset=utf-8,%3Csvg xmlns=&#x27;http://www.w3.org/2000/svg&#x27; %3E%3Cfilter id=&#x27;b&#x27; color-interpolation-filters=&#x27;
1sRGB&#x27;%3E%3CfeGaussianBlur stdDeviation=&#x27;20&#x27;/%3E%3CfeColorMatrix values=&#x27;1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1&#x27; result=&#x27;s&#x27;/%3E%3CfeFlood x=&#x27;0&#x27; y=&#x27;0&#x27; width=&#x27;100%25&#x27; height=&#x27;100%25&#x27;/%3E%3CfeComposite operator=&#x27;out&#x27; in=&#x27;s&#x27;/%3E%3CfeComposite in2=&#x27;SourceGraphic&#x27;/%3E%3CfeGaussianBlur stdDeviation=&#x27;20&#x27;/%3E%3C/filter%3E%3Cimage width=&#x27;100%25&#x27; height=&#x27;100%25&#x27; x=&#x27;0&#x27; y=&#x27;0&#x27; preserveAspectRatio=&#x27;none&#x27; style=&#x27;filter: url(%23b);&#x27; href=&#x27;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAGCAIAAAB4jOjWAAAACXBIWXMAAAPoAAAD6AG1e1JrAAAA6UlEQVR4nAHeACH/AOg9MelINsAPEq0ABa8ACq4ACbEAC7grG9ybZurEiOq/fOe8cwDGERKxAAuvAAq/TUHbpZ3bn5XOin+TLiPIi1/rx43mvXfuy5YArwAKrAAErQAJ4ruysQgQxllO+u3c9+nVWlV89e3c/vv00MrMALYNEK0ABa0ACeK7srJCO6fF0eny9/v+/yRsrdPQ01E8QR8AAQC1AQ6vAAquAAm7c20zXm0gVWUlVGM/caVtcoolBxAhAAEiAAAAswANszEqroyJpczYqM7do83bn8rXh6euJQEIIQABIQADIwAGKN9jYCPgT6wAAAAASUVORK5CYII=&#x27;/%3E%3C/svg%3E&quot;)" sizes="(max-width: 640px) 100vw, (max-width: 1024px) 50vw, 33vw" srcSet="/_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F8a9432b5-6e50-470d-80e5-bb73e45e66fc%2Fimage.webp&amp;w=256&amp;q=75 256w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F8a9432b5-6e50-470d-80e5-bb73e45e66fc%2Fimage.webp&amp;w=384&amp;q=75 384w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F8a9432b5-6e50-470d-80e5-bb73e45e66fc%2Fimage.webp&amp;w=640&amp;q=75 640w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F8a9432b5-6e50-470d-80e5-bb73e45e66fc%2Fimage.webp&amp;w=750&amp;q=75 750w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F8a9432b5-6e50-470d-80e5-bb73e45e66fc%2Fimage.webp&amp;w=828&amp;q=75 828w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F8a9432b5-6e50-470d-80e5-bb73e45e66fc%2Fimage.webp&amp;w=1080&amp;q=75 1080w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F8a9432b5-6e50-470d-80e5-bb73e45e66fc%2Fimage.webp&amp;w=1200&amp;q=75 1200w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F8a9432b5-6e50-470d-80e5-bb73e45e66fc%2Fimage.webp&amp;w=1920&amp;q=75 1920w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F8a9432b5-6e50-470d-80e5-bb73e45e66fc%2Fimage.webp&amp;w=2048&amp;q=75 2048w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F8a9432b5-6e50-470d-80e5-bb73e45e66fc%2Fimage.webp&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F8a9432b5-6e50-470d-80e5-bb73e45e66fc%2Fimage.webp&amp;w=3840&amp;q=75"/></div><div class="showcase-card-arrow pointer-events-none absolute right-3 top-3 z-[3] flex h-9 w-9 items-center justify-center rounded-full bg-white text-black opacity-0 scale-95 shadow-[0_18px_48px_-24px_rgba(0,0,0,0.75)] dark:bg-black dark:text-white" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.35" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right h-5 w-5" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></div></div><div class="showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4"><p class="text-[12px] font-medium uppercase tracking-normal text-[#777] dark:text-[#888]"><span class="tabular-nums">2025.12.14.</span></p><h2 class="w-full truncate text-[18px] font-semibold leading-snug text-[#0a0a0a] sm:text-[20px] lg:text-[22px] dark:text-white">Oracle Cloud - Database</h2><p class="line-clamp-1 text-[14px] leading-relaxed text-[#777] sm:text-[15px] lg:text-[16px] dark:text-[#888]">이번에는 Oracle Cloud에서 Database를 구동하려고 한다. 여기서는 오픈 소스로 공개되는 MariaDB를 사용하기로 한다. Oracle Cloud에서 Database를 서비스로도 제공하지만, VM Instance에서 직접 MariaDB 서버를 돌리는 방법을 설명하겠다. MariaDB Installation &amp; Settings powershell로 VM Instance에 ssh 접속하여 아래 명령어를 입력한다....</p></div></div></a></div><div class="motion-fade-in-up h-full min-h-0 min-w-0 motion-delay-6"><a class="showcase-card relative isolate block min-h-0 min-w-0 overflow-visible rounded-[28px] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#0a0a0a]/20 focus-visible:ring-offset-2 focus-visible:ring-offset-white dark:focus-visible:ring-white/30 dark:focus-visible:ring-offset-background flex h-full min-h-0 min-w-0 flex-col" href="/blog/8"><div class="showcase-card-surface pointer-events-none absolute -inset-3 z-0 rounded-[32px]" aria-hidden="true"></div><div class="relative z-[1] flex h-full min-h-0 flex-col"><div class="showcase-card-media relative z-[2] w-full flex-shrink-0 overflow-hidden rounded-[24px] " style="aspect-ratio:1.6"><div class="showcase-card-media-frame absolute -inset-px z-[1] overflow-hidden"><img alt="" loading="lazy" decoding="async" data-nimg="fill" class="showcase-card-image object-cover will-change-transform image-progressive-placeholder" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;background-image:url(&quot;data:image/svg+xml;charset=utf-8,%3Csvg xmlns=&#x27;http://www.w3.org/2000/svg&#x27; %3E%3Cfilter id=&#x27;b&#x27; color-interpolation-filters=&#x27;
1sRGB&#x27;%3E%3CfeGaussianBlur stdDeviation=&#x27;20&#x27;/%3E%3CfeColorMatrix values=&#x27;1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1&#x27; result=&#x27;s&#x27;/%3E%3CfeFlood x=&#x27;0&#x27; y=&#x27;0&#x27; width=&#x27;100%25&#x27; height=&#x27;100%25&#x27;/%3E%3CfeComposite operator=&#x27;out&#x27; in=&#x27;s&#x27;/%3E%3CfeComposite in2=&#x27;SourceGraphic&#x27;/%3E%3CfeGaussianBlur stdDeviation=&#x27;20&#x27;/%3E%3C/filter%3E%3Cimage width=&#x27;100%25&#x27; height=&#x27;100%25&#x27; x=&#x27;0&#x27; y=&#x27;0&#x27; preserveAspectRatio=&#x27;none&#x27; style=&#x27;filter: url(%23b);&#x27; href=&#x27;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAGCAIAAAB4jOjWAAAACXBIWXMAAAPoAAAD6AG1e1JrAAAA6UlEQVR4nAHeACH/AOg9MelINsAPEq0ABa8ACq4ACbEAC7grG9ybZurEiOq/fOe8cwDGERKxAAuvAAq/TUHbpZ3bn5XOin+TLiPIi1/rx43mvXfuy5YArwAKrAAErQAJ4ruysQgQxllO+u3c9+nVWlV89e3c/vv00MrMALYNEK0ABa0ACeK7srJCO6fF0eny9/v+/yRsrdPQ01E8QR8AAQC1AQ6vAAquAAm7c20zXm0gVWUlVGM/caVtcoolBxAhAAEiAAAAswANszEqroyJpczYqM7do83bn8rXh6euJQEIIQABIQADIwAGKN9jYCPgT6wAAAAASUVORK5CYII=&#x27;/%3E%3C/svg%3E&quot;)" sizes="(max-width: 640px) 100vw, (max-width: 1024px) 50vw, 33vw" srcSet="/_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F7efc0183-c102-4ca1-9fe7-77218dfd2a9f%2Fimage.webp&amp;w=256&amp;q=75 256w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F7efc0183-c102-4ca1-9fe7-77218dfd2a9f%2Fimage.webp&amp;w=384&amp;q=75 384w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F7efc0183-c102-4ca1-9fe7-77218dfd2a9f%2Fimage.webp&amp;w=640&amp;q=75 640w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F7efc0183-c102-4ca1-9fe7-77218dfd2a9f%2Fimage.webp&amp;w=750&amp;q=75 750w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F7efc0183-c102-4ca1-9fe7-77218dfd2a9f%2Fimage.webp&amp;w=828&amp;q=75 828w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F7efc0183-c102-4ca1-9fe7-77218dfd2a9f%2Fimage.webp&amp;w=1080&amp;q=75 1080w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F7efc0183-c102-4ca1-9fe7-77218dfd2a9f%2Fimage.webp&amp;w=1200&amp;q=75 1200w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F7efc0183-c102-4ca1-9fe7-77218dfd2a9f%2Fimage.webp&amp;w=1920&amp;q=75 1920w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F7efc0183-c102-4ca1-9fe7-77218dfd2a9f%2Fimage.webp&amp;w=2048&amp;q=75 2048w, /_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F7efc0183-c102-4ca1-9fe7-77218dfd2a9f%2Fimage.webp&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=https%3A%2F%2Fvelog.velcdn.com%2Fimages%2Fusfree%2Fpost%2F7efc0183-c102-4ca1-9fe7-77218dfd2a9f%2Fimage.webp&amp;w=3840&amp;q=75"/></div><div class="showcase-card-arrow pointer-events-none absolute right-3 top-3 z-[3] flex h-9 w-9 items-center justify-center rounded-full bg-white text-black opacity-0 scale-95 shadow-[0_18px_48px_-24px_rgba(0,0,0,0.75)] dark:bg-black dark:text-white" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.35" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right h-5 w-5" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></div></div><div class="showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4"><p class="text-[12px] font-medium uppercase tracking-normal text-[#777] dark:text-[#888]"><span class="tabular-nums">2025.12.14.</span></p><h2 class="w-full truncate text-[18px] font-semibold leading-snug text-[#0a0a0a] sm:text-[20px] lg:text-[22px] dark:text-white">Oracle Cloud - Hosting Dedicated Server</h2><p class="line-clamp-1 text-[14px] leading-relaxed text-[#777] sm:text-[15px] lg:text-[16px] dark:text-[#888]">앞 선 글들을 통해 Oracle Cloud 환경 설정과 원격 접속을 위한 준비를 마쳤다. 이번에는 실제로 클라우드에 서버를 올려 외부에서의 접속을 테스트해보려고 한다. 여기서는 개발중인 Embers 게임의 Dedicated Server를 활용한다. 서버를 구동하기 위해서는 서버 파일ì
1„ VM Instance에 업로드해야 한다. 여기서는 파일 업로드를 위해 FileZilla를 사용하려고 한다. Link for download...</p></div></div></a></div></div><nav class="mt-10 flex items-center justify-center gap-1 md:gap-2" aria-label="페이지 네비게이션"><span class="flex h-9 w-9 cursor-not-allowed items-center justify-center text-[#ccc] dark:text-[#444] md:h-10 md:w-10" aria-disabled="true"><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-chevron-left h-5 w-5" aria-hidden="true"><path d="m15 18-6-6 6-6"></path></svg></span><div class="flex items-center gap-1 md:gap-2"><a class="flex h-9 w-9 items-center justify-center text-[14px] transition-colors md:h-10 md:w-10 border-b-2 border-[#0a0a0a] text-[#0a0a0a] dark:border-white dark:text-white" aria-current="page" href="/blog?view=album">1</a><a class="flex h-9 w-9 items-center justify-center text-[14px] transition-colors md:h-10 md:w-10 text-[#999] hover:text-[#0a0a0a] dark:hover:text-white" href="/blog?page=2&amp;view=album">2</a><a class="flex h-9 w-9 items-center justify-center text-[14px] transition-colors md:h-10 md:w-10 text-[#999] hover:text-[#0a0a0a] dark:hover:text-white" href="/blog?page=3&amp;view=album">3</a></div><a class="flex h-9 w-9 items-center justify-center text-[#666] transition-colors hover:text-[#0a0a0a] dark:text-[#999] dark:hover:text-white md:h-10 md:w-10" aria-label="다음 페이지" href="/blog?page=2&amp;view=album"><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-chevron-right h-5 w-5" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a></nav></section></div><!--$--><!--/$--></div>
1<script>$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d||"/&"===d)if(0===h)break;else h--;else"$"!==d&&"$?"!==d&&"$~"!==d&&"$!"!==d&&"&"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data="$";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};
2$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data="$~",$RB.push(a,b),2===$RB.length&&("number"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};$RC("B:0","S:0")</script>
2<script>(self.__next_f=self.__next_f||[]).push([0])</script>
2<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[85233,[\"/_next/static/chunks/bf0965728f4c1ed3.js\",\"/_next/static/chunks/e45e0610c232a310.js\",\"/_next/static/chunks/466b561f6234989c.js\",\"/_next/static/chunks/3cc041ff828f20d2.js\"],\"LanguageProvider\"]\n3:I[62474,[\"/_next/static/chunks/bf0965728f4c1ed3.js\",\"/_next/static/chunks/e45e0610c232a310.js\",\"/_next/static/chunks/466b561f6234989c.js\",\"/_next/static/chunks/3cc041ff828f20d2.js\"],\"ThemeProvider\"]\n4:I[89579,[\"/_next/static/chunks/bf0965728f4c1ed3.js\",\"/_next/static/chunks/e45e0610c232a310.js\",\"/_next/static/chunks/466b561f6234989c.js\",\"/_next/static/chunks/3cc041ff828f20d2.js\"],\"NavVisibilityProvider\"]\n5:I[47420,[\"/_next/static/chunks/bf0965728f4c1ed3.js\",\"/_next/static/chunks/e45e0610c232a310.js\",\"/_next/static/chunks/466b561f6234989c.js\",\"/_next/static/chunks/3cc041ff828f20d2.js\"],\"default\"]\n6:I[42364,[\"/_next/static/chunks/bf0965728f4c1ed3.js\",\"/_next/static/chunks/e45e0610c232a310.js\",\"/_next/static/chunks/466b561f6234989c.js\",\"/_next/static/chunks/3cc041ff828f20d2.js\"],\"default\"]\n7:I[39756,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"default\"]\n8:I[37457,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"default\"]\n11:I[68027,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"default\"]\n:HL[\"/_next/static/chunks/ae011778110ee18d.css\",\"style\"]\n:HL[\"/_next/static/chunks/c8d8b55bb6661a2b.css\",\"style\"]\n:HL[\"/_next/static/media/Paperlogy_1Thin-s.p.e48cdac1.ttf\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/ttf\"}]\n:HL[\"/_next/static/media/Paperlogy_2ExtraLight-s.p.93cfd63c.ttf\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/ttf\"}]\n:HL[\"/_next/static/media/Paperlogy_3Light-s.p.eabc4a57.ttf\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/ttf\"}]\n:HL[\"/_next/static/media/Paperlogy_4Regular-s.p.ae89c5ed.ttf\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/ttf\"}]\n:HL[\"/_next/static/media/Paperlogy_5Medium-s.p.b266f6c6.ttf\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/ttf\"}]\n:HL[\"/_next/static/media/Paperlogy_6SemiBold-s.p.902fcff7.ttf\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/ttf\"}]\n:HL[\"/_next/static/media/Paperlogy_7Bold-s.p.d84df9fd.ttf\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/ttf\"}]\n:HL[\"/_next/static/media/Paperlogy_8ExtraBold-s.p.1cf93993.ttf\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/ttf\"}]\n:HL[\"/_next/static/media/Paperlogy_9Black-s.p.9f64648d.ttf\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/ttf\"}]\n"])</script>
2<script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"hPJipxZwvgwOl28dw0AJ5\",\"c\":[\"\",\"blog\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"blog\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/ae011778110ee18d.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/c8d8b55bb6661a2b.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/bf0965728f4c1ed3.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/e45e0610c232a310.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/466b561f6234989c.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/3cc041ff828f20d2.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"ko\",\"className\":\"paperlogy_2ff79547-module__9RXKFa__variable\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{if(window.location.pathname!=='/')return;if(sessionStorage.getItem('portfolio_splash_played')==='1')return;document.documentElement.classList.add('splash-active');}catch(e){}})();\"}}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{if(!window.matchMedia('(prefers-reduced-motion: reduce)').matches){document.documentElement.classList.add('scroll-blur-boot');}}catch(e){}})();\"}}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"html{background-color:#fff;color-scheme:light}html.dark{background-color:#131313;color-scheme:dark}@media (prefers-color-scheme:dark){html:not(.dark):not([data-explicit-theme=\\\"light\\\"]){background-color:#131313!important;color-scheme:dark}html:not(.dark):not([data-explicit-theme=\\\"light\\\"]) body{background-color:#131313!important}}\"}}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){var el=document.documentElement;try{var c=document.cookie.match(/\\\\btheme=([^;]+)/);var v=(c?c[1].trim():null)||localStorage.getItem('theme')||'';var s=v.toLowerCase();var d;if(s==='light'){d=false;el.setAttribute('data-explicit-theme','light');}else if(s==='dark'){d=true;el.setAttribute('data-explicit-theme','dark');}else{el.removeAttribute('data-explicit-theme');d=window.matchMedia('(prefers-color-scheme: dark)').matches;}el.classList.toggle('dark',d);if(!c)document.cookie='theme=system; path=/; max-age=31536000; SameSite=Lax';}catch(e){el.removeAttribute('data-explicit-theme');el.classList.toggle('dark',window.matchMedia('(prefers-color-scheme: dark)').matches);}})();\"}}]]}],[\"$\",\"body\",null,{\"className\":\"flex min-h-screen flex-col bg-white font-sans text-[#0a0a0a] antialiased dark:bg-background dark:text-white\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"$L2\",null,{\"initialLanguage\":\"ko\",\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"children\":[[\"$\",\"$L5\",null,{}],[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L7\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\"
2:\"49px\"},\"children\":404}],\"$L9\"]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],\"$La\"]}]}]}],\"$Lb\",\"$Lc\"]}]]}]]}],{\"children\":[\"$Ld\",{\"children\":[\"$Le\",{},null,false,false]},[\"$Lf\",[],[]],false,false]},null,false,false],\"$L10\",false]],\"m\":\"$undefined\",\"G\":[\"$11\",[]],\"S\":true}\n"])</script>
2<script>self.__next_f.push([1,"12:I[26015,[\"/_next/static/chunks/bf0965728f4c1ed3.js\",\"/_next/static/chunks/e45e0610c232a310.js\",\"/_next/static/chunks/466b561f6234989c.js\",\"/_next/static/chunks/3cc041ff828f20d2.js\"],\"default\"]\n13:I[2355,[\"/_next/static/chunks/bf0965728f4c1ed3.js\",\"/_next/static/chunks/e45e0610c232a310.js\",\"/_next/static/chunks/466b561f6234989c.js\",\"/_next/static/chunks/3cc041ff828f20d2.js\"],\"Analytics\"]\n14:I[57215,[\"/_next/static/chunks/bf0965728f4c1ed3.js\",\"/_next/static/chunks/e45e0610c232a310.js\",\"/_next/static/chunks/466b561f6234989c.js\",\"/_next/static/chunks/3cc041ff828f20d2.js\"],\"SpeedInsights\"]\n16:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"OutletBoundary\"]\n17:\"$Sreact.suspense\"\n23:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"ViewportBoundary\"]\n25:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"MetadataBoundary\"]\n9:[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]\na:[\"$\",\"$L12\",null,{}]\nb:[\"$\",\"$L13\",null,{}]\nc:[\"$\",\"$L14\",null,{}]\nd:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L7\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\ne:[\"$\",\"$1\",\"c\",{\"children\":[\"$L15\",[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/4bd1fab09af1a148.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L16\",null,{\"children\":[\"$\",\"$17\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@18\"}]}]]}]\n"])</script>
2<script>self.__next_f.push([1,"f:[\"$\",\"div\",\"l\",{\"className\":\"bg-white text-[#0a0a0a] transition-colors duration-[350ms] ease-out dark:bg-background dark:text-white\",\"children\":[\"$\",\"section\",null,{\"className\":\"mx-auto max-w-(--layout-max-width) px-6 pb-24 pt-28 transition-colors duration-500 sm:px-10 sm:pt-34 lg:px-14 lg:pb-28\",\"children\":[[\"$\",\"header\",null,{\"className\":\"mb-12 sm:mb-14 md:mb-16\",\"children\":[[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] h-[56px] rounded-xl sm:h-[78px] md:h-[100px] lg:h-[119px] w-44 sm:w-60 md:w-72 lg:w-80\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}],[\"$\",\"div\",null,{\"className\":\"mt-10\",\"children\":[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] h-11 w-32 rounded-full\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}]}]]}],[[\"$\",\"div\",null,{\"className\":\"mt-10 flex flex-wrap items-center gap-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] h-[13px] w-24 md:w-28\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}],[\"$\",\"div\",null,{\"className\":\"flex items-center gap-1\",\"children\":[[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] size-9 rounded-md md:size-10\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}],[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] size-9 rounded-md md:size-10\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}]]}]]}],[\"$\",\"div\",null,{\"className\":\"mt-8 grid grid-cols-1 gap-6 sm:grid-cols-2 sm:gap-6 lg:grid-cols-3 lg:gap-8\",\"children\":[[\"$\",\"div\",\"0\",{\"className\":\"showcase-card min-h-0 min-w-0 overflow-visible rounded-[28px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"relative flex h-full min-h-0 min-w-0 flex-col\",\"children\":[[\"$\",\"div\",null,{\"className\":\"showcase-card-media relative z-[2] aspect-[16/10] w-full flex-shrink-0 overflow-hidden rounded-[24px] bg-[#ebebeb] dark:bg-[#141414]\",\"children\":[\"$\",\"div\",null,{\"className\":\"absolute inset-0 z-[1] overflow-hidden rounded-2xl\",\"children\":[\"$\",\"div\",null,{\"className\":\"absolute inset-0 animate-pulse bg-[#d6d6d6] dark:bg-[#282828]\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}]}]}],[\"$\",\"div\",null,{\"className\":\"showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] h-3 w-24\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}],[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-7 w-full max-w-[90%] md:h-9\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}],[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-4 w-4/5\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}]]}]]}]}],[\"$\",\"div\",\"1\",{\"className\":\"showcase-card min-h-0 min-w-0 overflow-visible rounded-[28px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"relative flex h-full min-h-0 min-w-0 flex-col\",\"children\":[[\"$\",\"div\",null,{\"className\":\"showcase-card-media relative z-[2] aspect-[16/10] w-full flex-shrink-0 overflow-hidden rounded-[24px] bg-[#ebebeb] dark:bg-[#141414]\",\"children\":\"$L19\"}],\"$L1a\"]}]}],\"$L1b\",\"$L1c\",\"$L1d\",\"$L1e\",\"$L1f\",\"$L20\",\"$L21\"]}],\"$L22\"]]}]}]\n"])</script>
2<script>self.__next_f.push([1,"10:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L23\",null,{\"children\":\"$L24\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L25\",null,{\"children\":[\"$\",\"$17\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L26\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n"])</script>
2<script>self.__next_f.push([1,"19:[\"$\",\"div\",null,{\"className\":\"absolute inset-0 z-[1] overflow-hidden rounded-2xl\",\"children\":[\"$\",\"div\",null,{\"className\":\"absolute inset-0 animate-pulse bg-[#d6d6d6] dark:bg-[#282828]\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}]}]\n1a:[\"$\",\"div\",null,{\"className\":\"showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] h-3 w-24\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}],[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-7 w-full max-w-[90%] md:h-9\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}],[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-4 w-4/5\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}]]}]\n"])</script>
2<script>self.__next_f.push([1,"1b:[\"$\",\"div\",\"2\",{\"className\":\"showcase-card min-h-0 min-w-0 overflow-visible rounded-[28px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"relative flex h-full min-h-0 min-w-0 flex-col\",\"children\":[[\"$\",\"div\",null,{\"className\":\"showcase-card-media relative z-[2] aspect-[16/10] w-full flex-shrink-0 overflow-hidden rounded-[24px] bg-[#ebebeb] dark:bg-[#141414]\",\"children\":[\"$\",\"div\",null,{\"className\":\"absolute inset-0 z-[1] overflow-hidden rounded-2xl\",\"children\":[\"$\",\"div\",null,{\"className\":\"absolute inset-0 animate-pulse bg-[#d6d6d6] dark:bg-[#282828]\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}]}]}],[\"$\",\"div\",null,{\"className\":\"showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] h-3 w-24\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}],[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-7 w-full max-w-[90%] md:h-9\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}],[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-4 w-4/5\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}]]}]]}]}]\n"])</script>
2<script>self.__next_f.push([1,"1c:[\"$\",\"div\",\"3\",{\"className\":\"showcase-card min-h-0 min-w-0 overflow-visible rounded-[28px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"relative flex h-full min-h-0 min-w-0 flex-col\",\"children\":[[\"$\",\"div\",null,{\"className\":\"showcase-card-media relative z-[2] aspect-[16/10] w-full flex-shrink-0 overflow-hidden rounded-[24px] bg-[#ebebeb] dark:bg-[#141414]\",\"children\":[\"$\",\"div\",null,{\"className\":\"absolute inset-0 z-[1] overflow-hidden rounded-2xl\",\"children\":[\"$\",\"div\",null,{\"className\":\"absolute inset-0 animate-pulse bg-[#d6d6d6] dark:bg-[#282828]\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}]}]}],[\"$\",\"div\",null,{\"className\":\"showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] h-3 w-24\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}],[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-7 w-full max-w-[90%] md:h-9\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}],[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-4 w-4/5\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}]]}]]}]}]\n"])</script>
2<script>self.__next_f.push([1,"1d:[\"$\",\"div\",\"4\",{\"className\":\"showcase-card min-h-0 min-w-0 overflow-visible rounded-[28px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"relative flex h-full min-h-0 min-w-0 flex-col\",\"children\":[[\"$\",\"div\",null,{\"className\":\"showcase-card-media relative z-[2] aspect-[16/10] w-full flex-shrink-0 overflow-hidden rounded-[24px] bg-[#ebebeb] dark:bg-[#141414]\",\"children\":[\"$\",\"div\",null,{\"className\":\"absolute inset-0 z-[1] overflow-hidden rounded-2xl\",\"children\":[\"$\",\"div\",null,{\"className\":\"absolute inset-0 animate-pulse bg-[#d6d6d6] dark:bg-[#282828]\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}]}]}],[\"$\",\"div\",null,{\"className\":\"showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] h-3 w-24\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}],[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-7 w-full max-w-[90%] md:h-9\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}],[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-4 w-4/5\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}]]}]]}]}]\n"])</script>
2<script>self.__next_f.push([1,"1e:[\"$\",\"div\",\"5\",{\"className\":\"showcase-card min-h-0 min-w-0 overflow-visible rounded-[28px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"relative flex h-full min-h-0 min-w-0 flex-col\",\"children\":[[\"$\",\"div\",null,{\"className\":\"showcase-card-media relative z-[2] aspect-[16/10] w-full flex-shrink-0 overflow-hidden rounded-[24px] bg-[#ebebeb] dark:bg-[#141414]\",\"children\":[\"$\",\"div\",null,{\"className\":\"absolute inset-0 z-[1] overflow-hidden rounded-2xl\",\"children\":[\"$\",\"div\",null,{\"className\":\"absolute inset-0 animate-pulse bg-[#d6d6d6] dark:bg-[#282828]\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}]}]}],[\"$\",\"div\",null,{\"className\":\"showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] h-3 w-24\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}],[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-7 w-full max-w-[90%] md:h-9\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}],[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-4 w-4/5\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}]]}]]}]}]\n"])</script>
2<script>self.__next_f.push([1,"1f:[\"$\",\"div\",\"6\",{\"className\":\"showcase-card min-h-0 min-w-0 overflow-visible rounded-[28px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"relative flex h-full min-h-0 min-w-0 flex-col\",\"children\":[[\"$\",\"div\",null,{\"className\":\"showcase-card-media relative z-[2] aspect-[16/10] w-full flex-shrink-0 overflow-hidden rounded-[24px] bg-[#ebebeb] dark:bg-[#141414]\",\"children\":[\"$\",\"div\",null,{\"className\":\"absolute inset-0 z-[1] overflow-hidden rounded-2xl\",\"children\":[\"$\",\"div\",null,{\"className\":\"absolute inset-0 animate-pulse bg-[#d6d6d6] dark:bg-[#282828]\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}]}]}],[\"$\",\"div\",null,{\"className\":\"showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] h-3 w-24\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}],[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-7 w-full max-w-[90%] md:h-9\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}],[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-4 w-4/5\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}]]}]]}]}]\n"])</script>
2<script>self.__next_f.push([1,"20:[\"$\",\"div\",\"7\",{\"className\":\"showcase-card min-h-0 min-w-0 overflow-visible rounded-[28px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"relative flex h-full min-h-0 min-w-0 flex-col\",\"children\":[[\"$\",\"div\",null,{\"className\":\"showcase-card-media relative z-[2] aspect-[16/10] w-full flex-shrink-0 overflow-hidden rounded-[24px] bg-[#ebebeb] dark:bg-[#141414]\",\"children\":[\"$\",\"div\",null,{\"className\":\"absolute inset-0 z-[1] overflow-hidden rounded-2xl\",\"children\":[\"$\",\"div\",null,{\"className\":\"absolute inset-0 animate-pulse bg-[#d6d6d6] dark:bg-[#282828]\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}]}]}],[\"$\",\"div\",null,{\"className\":\"showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] h-3 w-24\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}],[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-7 w-full max-w-[90%] md:h-9\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}],[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-4 w-4/5\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}]]}]]}]}]\n"])</script>
2<script>self.__next_f.push([1,"21:[\"$\",\"div\",\"8\",{\"className\":\"showcase-card min-h-0 min-w-0 overflow-visible rounded-[28px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"relative flex h-full min-h-0 min-w-0 flex-col\",\"children\":[[\"$\",\"div\",null,{\"className\":\"showcase-card-media relative z-[2] aspect-[16/10] w-full flex-shrink-0 overflow-hidden rounded-[24px] bg-[#ebebeb] dark:bg-[#141414]\",\"children\":[\"$\",\"div\",null,{\"className\":\"absolute inset-0 z-[1] overflow-hidden rounded-2xl\",\"children\":[\"$\",\"div\",null,{\"className\":\"absolute inset-0 animate-pulse bg-[#d6d6d6] dark:bg-[#282828]\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}]}]}],[\"$\",\"div\",null,{\"className\":\"showcase-card-body relative z-0 w-full flex min-w-0 flex-1 flex-col gap-2 pt-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] h-3 w-24\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}],[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-7 w-full max-w-[90%] md:h-9\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}],[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] mt-1 h-4 w-4/5\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}]]}]]}]}]\n"])</script>
2<script>self.__next_f.push([1,"22:[\"$\",\"nav\",null,{\"className\":\"mt-10 flex items-center justify-center gap-1 md:gap-2\",\"aria-hidden\":true,\"children\":[[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] size-9 rounded-full md:size-10\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}],[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] size-9 rounded-full md:size-10\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}],[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] size-9 rounded-full md:size-10\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}],[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] size-9 rounded-full md:size-10\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}],[\"$\",\"div\",null,{\"className\":\"animate-pulse rounded-md bg-[#ededed] shadow-[0_1px_0_rgba(255,255,255,0.7)_inset] dark:bg-[#202020] dark:shadow-[0_1px_0_rgba(255,255,255,0.04)_inset] size-9 rounded-full md:size-10\",\"aria-hidden\":true,\"suppressHydrationWarning\":true}]]}]\n"])</script>
2<script>self.__next_f.push([1,"24:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script>
2<script>self.__next_f.push([1,"27:I[27201,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"IconMark\"]\n18:null\n"])</script>
2<script>self.__next_f.push([1,"26:[[\"$\",\"title\",\"0\",{\"children\":\"포스트 - w99hyun\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"조우현 포트폴리오 사이트\"}],[\"$\",\"meta\",\"2\",{\"property\":\"og:title\",\"content\":\"w99hyun - Woohyun Cho\"}],[\"$\",\"meta\",\"3\",{\"property\":\"og:description\",\"content\":\"조우현 포트폴리오 사이트\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:url\",\"content\":\"https://w99hyun.com\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:site_name\",\"content\":\"w99hyun - Woohyun Cho\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:locale\",\"content\":\"ko_KR\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:image\",\"content\":\"https://w99hyun.com/og4.png\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:image:alt\",\"content\":\"w99hyun\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"12\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:title\",\"content\":\"w99hyun - Woohyun Cho\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:description\",\"content\":\"조우현 포트폴리오 사이트\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:image\",\"content\":\"https://w99hyun.com/og4.png\"}],[\"$\",\"link\",\"16\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"sizes\":\"any\"}],[\"$\",\"link\",\"17\",{\"rel\":\"icon\",\"href\":\"/favicon-32x32.png\",\"sizes\":\"32x32\",\"type\":\"image/png\"}],[\"$\",\"link\",\"18\",{\"rel\":\"icon\",\"href\":\"/favicon-16x16.png\",\"sizes\":\"16x16\",\"type\":\"image/png\"}],[\"$\",\"link\",\"19\",{\"rel\":\"icon\",\"href\":\"/favicon-96x96.png\",\"sizes\":\"96x96\",\"type\":\"image/png\"}],[\"$\",\"link\",\"20\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon-180x180.png\",\"sizes\":\"180x180\",\"type\":\"image/png\"}],[\"$\",\"link\",\"21\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png\",\"sizes\":\"180x180\",\"type\":\"image/png\"}],[\"$\",\"$L27\",\"22\",{}]]\n"])</script>
2<script>self.__next_f.push([1,"28:I[55355,[\"/_next/static/chunks/bf0965728f4c1ed3.js\",\"/_next/static/chunks/e45e0610c232a310.js\",\"/_next/static/chunks/466b561f6234989c.js\",\"/_next/static/chunks/3cc041ff828f20d2.js\",\"/_next/static/chunks/4bd1fab09af1a148.js\"],\"default\"]\n"])</script>
2<script>self.__next_f.push([1,"15:[\"$\",\"$L28\",null,{\"posts\":[{\"title\":\"XREAL 10기 해커톤 ㅡ 🏆대상 수상..!\",\"link\":\"https://velog.io/@usfree/XREAL-10%EA%B8%B0-%ED%95%B4%EC%BB%A4%ED%86%A4-%E3%85%A1-%EB%8C%80%EC%83%81-%EC%88%98%EC%83%81\",\"description\":\"7월 18-19일 양일간 무박 2일로 진행된 XREAL 10기 해커톤에서 대상을 수상했다..! 이번 해커톤은 XR-AI for Public Good 이라는 대주제로 진행되었으며, 우리팀은 Healthcare \u0026 Wellbeing 의 소트랙을 배정받았다. 팀 빌딩 해커톤 시작 전, 팀 빌딩을 위해 참가자들이 서로 돌아다니면서 자기소개를 하는 아이스브레이킹 시간이 있었다. 이 때 외부 참가자이신 리서치 두 분을 만났고, 그 ...\",\"imageUrl\":\"https://velog.velcdn.com/images/usfree/post/f0b40806-dbe2-467c-bf64-45a1b068e64e/image.png\",\"pubDate\":\"Thu, 23 Jul 2026 09:19:40 GMT\"},{\"title\":\"Unity UNITE Seoul 2026 후기\",\"link\":\"https://velog.io/@usfree/Unity-UNITE-Seoul-2026-%ED%9B%84%EA%B8%B0\",\"description\":\"7월 21일 코엑스에서 열린 Unity UNITE Seoul 2026에 참석했다. 지금까지의 유니티와 앞으로의 유니티, 그리고 산업 전반의 유니티가 어떻게 활용되고 있는지를 확인할 수 있는 좋은 기회였기 때문에 참석했다. 정말 많은 세션과 토크가 준비되어 있었고, 너무 주제가 다양했고 많았기 때문에 동시간대에 여러 장소에 진행되어 자신이 관심있는 분야를 골라들을 수 있었다. 굉장히 많은 세션들 중에서 몇몇 세션을 골라들었...\",\"imageUrl\":\"https://velog.velcdn.com/images/usfree/post/bde27fc0-45fd-40cf-9362-b7bb2ca01db6/image.avif\",\"pubDate\":\"Thu, 23 Jul 2026 08:53:32 GMT\"},{\"title\":\"Tuanjie Engine - Unity China\",\"link\":\"https://velog.io/@usfree/Tuanjie-Engine-Unity-China\",\"description\":\"최근에 유니티 글로벌 에셋스토어에서 중화권 퍼블리셔가 배포하는 에셋이 모두 내려간다는 안내가 메일로 발송되었다. 무슨 일인가 싶어 알아보니, 유니티 차이나의 매각소식 이 들려오는데, 이를 위한 선제적 조치라고 보여진다. 관련해서 정보를 찾아보니 글로벌에서는 유니티 2022버전 다음으로 유니티6를 배포하고 있는데, 유니티 차이나만 독자적으로 유니티 2022를 fork해서 독자적으로 Tuanjie Engine으로 개발해 배포...\",\"imageUrl\":\"https://velog.velcdn.com/images/usfree/post/69f0fda6-761e-4393-a660-def80cb00726/image.jpeg\",\"pubDate\":\"Fri, 06 Mar 2026 15:50:39 GMT\"},{\"title\":\"C++ Summary 2\",\"link\":\"https://velog.io/@usfree/CPP-Summary-2\",\"description\":\"C++에서 주로 사용되는 문법을 정리한다. 1. 기본 (입출력 최적화) int main() { ios::sync_with_stdio(false); cin.tie(NULL); } ios::sync_with_stdio(false) : C / C++ 입출력 동기화 해제 cin.tie(NULL) : cout flush 방지 대량 입출력 문제에서 시간초과 방지 2. STL 컨테이너 2.1 vector vector\u0026lt;int\u0026gt...\",\"imageUrl\":\"https://velog.velcdn.com/images/usfree/post/80b1501a-c8ca-442d-be84-8e3c1e759a29/image.png\",\"pubDate\":\"Thu, 05 Mar 2026 09:03:20 GMT\"},{\"title\":\"Unity 렌더 파이프라인 관련 소식 (HDRP 업데이트 중단)\",\"link\":\"https://velog.io/@usfree/Unity-%EB%A0%8C%EB%8D%94-%ED%8C%8C%EC%9D%B4%ED%94%84%EB%9D%BC%EC%9D%B8-%EA%B4%80%EB%A0%A8-%EC%86%8C%EC%8B%9D\",\"description\":\"2월 23일, 유니티에서는 렌더링 파이프라인 관련 여러 소식을 발표했다. 가장 큰 이슈는 두 가지 정도인데, Built-in 파이프라인에 대한 지원을 종료한다는 소식과 HDRP에 대한 업데이트가 중단된다는 소식이다. Built-in Pipeline 중단 우선 Built-in 파이프라인에 대해서는 Unity 6.5에서부터 서서히 퇴출 절차를 밟아 6.7까지만 지원하겠다는 것이다. 물론 커뮤니티 의견에 따라 달라질 수 있다는...\",\"imageUrl\":\"https://velog.velcdn.com/images/usfree/post/3dcb796e-7038-47f5-98b8-b508eda55921/image.png\",\"pubDate\":\"Sat, 28 Feb 2026 06:36:34 GMT\"}
2,{\"title\":\"QT - QML ListView (with. C++ Items)\",\"link\":\"https://velog.io/@usfree/QT-QML-ListView-with.-C-Items\",\"description\":\"QT QML의 ListView에서는 QML 내에서 자체적으로 생성한 모델을 출력할 수도 있지만, C++에서 생성한 List Model을 불러와 동적으로 생성하는 방법도 존재한다. 프로그램을 제작하다보면 보통 전자보다는 후자를 많이 사용하게 될 것이다. Create List Item C++에서 데이터 모델을 생성하고 QML에 표시하는 방법을 알아보겠다. 우선, QML의 ListView에서 출력할 C++ 데이터 모델이 필요하...\",\"imageUrl\":\"https://velog.velcdn.com/images/usfree/post/63d7955e-deb4-4ed5-92dd-2a8616dae7f3/image.png\",\"pubDate\":\"Fri, 19 Dec 2025 06:49:41 GMT\"},{\"title\":\"QT - C++에서 선언한 Enum을 QML에서 불러오기\",\"link\":\"https://velog.io/@usfree/QT-C-%EC%84%A0%EC%96%B8-Enum%EC%9D%84-QML%EC%97%90%EC%84%9C-%EB%B6%88%EB%9F%AC%EC%98%A4%EA%B8%B0\",\"description\":\"QT에서 C++ 로직에 enum을 활용할 경우, QML에서 해당 enum을 불러오기 위해선 별도의 등록이 필요하다. 예를 들어 아래의 enum을 사용하고 싶다면, \u0026lt;CPP\u0026gt; class MainWindow : public QMainWindow { Q_OBJECT public: enum class Example { //enum과 enum class 모두 가능하다. A, B, C, D, E, }; Q_ENUM(Exa...\",\"imageUrl\":\"https://velog.velcdn.com/images/usfree/post/6a8bbed3-5dfc-4561-b0d6-e57f3ae2747f/image.png\",\"pubDate\":\"Mon, 15 Dec 2025 08:50:02 GMT\"},{\"title\":\"Oracle Cloud - Database\",\"link\":\"https://velog.io/@usfree/Oracle-Cloud-4-Database\",\"description\":\"이번에는 Oracle Cloud에서 Database를 구동하려고 한다. 여기서는 오픈 소스로 공개되는 MariaDB를 사용하기로 한다. Oracle Cloud에서 Database를 서비스로도 제공하지만, VM Instance에서 직접 MariaDB 서버를 돌리는 방법을 설명하겠다. MariaDB Installation \u0026 Settings powershell로 VM Instance에 ssh 접속하여 아래 명령어를 입력한다....\",\"imageUrl\":\"https://velog.velcdn.com/images/usfree/post/8a9432b5-6e50-470d-80e5-bb73e45e66fc/image.webp\",\"pubDate\":\"Sun, 14 Dec 2025 09:32:12 GMT\"},{\"title\":\"Oracle Cloud - Hosting Dedicated Server\",\"link\":\"https://velog.io/@usfree/Oracle-Cloud-3-Hosting-Dedicated-Server\",\"description\":\"앞 선 글들을 통해 Oracle Cloud 환경 설정과 원격 접속을 위한 준비를 마쳤다. 이번에는 실제로 클라우드에 서버를 올려 외부에서의 접속을 테스트해보려고 한다. 여기서는 개발중인 Embers 게임의 Dedicated Server를 활용한다. 서버를 구동하기 위해서는 서버 파일을 VM Instance에 업로드해야 한다. 여기서는 파일 업로드를 위해 FileZilla를 사용하려고 한다. Link for download...\",\"imageUrl\":\"https://velog.velcdn.com/images/usfree/post/7efc0183-c102-4ca1-9fe7-77218dfd2a9f/image.webp\",\"pubDate\":\"Sun, 14 Dec 2025 07:31:34 GMT\"},{\"title\":\"Oracle Cloud - Init (2) Romote Access\",\"link\":\"https://velog.io/@usfree/Oracle-Cloud-Romote-Access\",\"description\":\"지난 포스트에 이어서 외부 접속을 위한 설정을 이어나가려고 한다. Oracle Cloud에서 VM Instance를 처음 설치하면 ssh 접근을 위한 22번 포트를 제외하고 모든 외부 접근을 차단하도록 설정되어 있다. 이를 해결하기 위해서 내부 파일의 수정이 필요하다. rules.v4 수정하기 지난 포스트에서 설명했던 것 처럼 로컬PC에서 Powershell로 VM Instance에 접속한다. ssh -i [ssh_key...\",\"imageUrl\":\"https://velog.velcdn.com/images/usfree/post/385e0dd9-fb2f-4e10-b763-a05344ca0069/image.webp\",\"pubDate\":\"Sat, 13 Dec 2025 16:01:28 GMT\"},{\"title\":\"Oracle Cloud - Init (1) Environment Settings\",\"link\":\"https://velog.io/@usfree/Oracle-Cloud-Init-1-Environment-Settings\",\"description\":\"2026-04-28 추가 오라클 클라우드에서 Free Tier의 계정을 임의로 정지시켰다. 복구할 방법도 없으니, 중요 데이터는 올리지 않고 테스트용으로만 사용하는걸 권장한다. Embers를 데디케이티드 서버로 동작하는 온라인 MMORPG로 개발하면서 로컬 PC에서 호스팅을 하는게 아닌, 클라우드 호스팅에 대해 관심이 생겼다. 실질적으로 라이브 서비스를 제공하는 것은 아니기 때문에 무료로 제공하는 클라우드를 찾아봤고, A...\",\"imageUrl\":\"https://velog.velcdn.com/images/usfree/post/912b298a-666d-4b88-a972-004231f31d07/image.webp\",\"pubDate\":\"Fri, 12 Dec 2025 14:30:35 GMT\"}
2,{\"title\":\"유니티 UI 최상위 렌더링 (Render Objects)\",\"link\":\"https://velog.io/@usfree/%EC%9C%A0%EB%8B%88%ED%8B%B0-UI-%EC%B5%9C%EC%83%81%EC%9C%84-%EB%A0%8C%EB%8D%94%EB%A7%81-Render-Objects\",\"description\":\"UI 최상위 렌더링? 유니티에서 World Space UI를 사용하다보면, 다른 게임 오브젝트에 가려져서 UI가 보이지 않을 때가 있다. 예를 들면 사진처럼 체력, 지역정보, 무기 정보 등을 표시하는 HUD 등이 있을 것이다. 사진(Orbit 게임)의 HUD도 World Space UI로 제작되었다. (몰입감을 위한 기울기를 표시하기 위해) 또한, World Space UI는 VR 게임을 제작할 때 필수로 사용된다. VR...\",\"imageUrl\":\"https://velog.velcdn.com/images/usfree/post/b00c84d4-6e5b-4983-88c3-c0801d8609ec/image.png\",\"pubDate\":\"Sat, 15 Nov 2025 12:47:36 GMT\"},{\"title\":\"QT - C++ ↔ QML connect\",\"link\":\"https://velog.io/@usfree/QT-2-C-QML-connect\",\"description\":\"QML에서 C++ 객체를 사용하려면? C++ 클래스를 QML 타입으로 등록한다. QML_ELEMENT 매크로 등록을 통해 QML 타입으로 등록하면, QML에서 C++의 함수나 변수에 접근이 가능하다. 헤더에서 함수 원형을 선언할 때, Q_INVOKABLE 매크로를 앞에 붙여주면 QML에서 직접 해당 함수를 호출할 수 있다. - QT5 에서는 main.cpp의 main 함수에서 qmlRegister가 필요하다 ... qml...\",\"imageUrl\":\"https://velog.velcdn.com/images/usfree/post/088a98c5-72b1-44a6-919c-7ceb6f75ffff/image.png\",\"pubDate\":\"Wed, 12 Nov 2025 08:16:57 GMT\"},{\"title\":\"QT - QML summary\",\"link\":\"https://velog.io/@usfree/QT-QML-summary\",\"description\":\"Item 계열 컴포넌트 Item 가장 기본적인 UI 컴포넌트 위치/크기 등 기본 property Rectangle Item을 상속받아 만들어짐 간단한 직사각형 border, radius, color 등 지원 Text text: property 사용 폰트, 크기, 색상, wrapMode(NoWrap, WordWrap, WrapAnywhere 등) 지원 Image source를 통해 이미지 표시 State 값을 통해 이미지 ...\",\"imageUrl\":\"https://velog.velcdn.com/images/usfree/post/07713fdc-4068-4c9d-9283-83f80eb3c0d5/image.png\",\"pubDate\":\"Mon, 10 Nov 2025 08:22:30 GMT\"},{\"title\":\"유니티 맵 청크(Chunk) 시스템 (feat. 잉걸불)\",\"link\":\"https://velog.io/@usfree/%EC%9C%A0%EB%8B%88%ED%8B%B0-%EB%A7%B5-%EC%B2%AD%ED%81%ACChunk-%EC%8B%9C%EC%8A%A4%ED%85%9C-feat.-%EC%9E%89%EA%B1%B8%EB%B6%88\",\"description\":\"Embers 게임은 오픈 월드를 기반으로 하는 MMORPG 게임이다. 이 때문에 맵을 어디까지 로딩할지, 어떻게 로딩할지는 메모리 관리 등의 성능적인 측면에서 매우 중요한 문제이다. 이 게임에서는 청크 시스템 을 사용하기로 했다. 청크 시스템은 플레이어의 위치(사진상 중앙)를 기준으로 주변 1칸에 해당하는 맵만 로딩하여 메모리 효율성을 높이는 것이다. 각 맵은 별도의 씬(Scene)들로 저장되어, 플레이어의 위치가 이동할...\",\"imageUrl\":\"https://velog.velcdn.com/images/usfree/post/55c62d03-13de-482f-94fc-d91b77e348b1/image.png\",\"pubDate\":\"Sun, 02 Nov 2025 12:05:31 GMT\"},{\"title\":\"C++ Summary (vs. C#)\",\"link\":\"https://velog.io/@usfree/CPP-Summary\",\"description\":\"개인적으로 공부하면서, C#과 같이 사용하면서 헷갈릴 수 있는 부분(C++과 다른 점)과 C++에서 특정 버전 이상에서만 지원하는 문법을 정리한다. C++ 버전별 주요 특징 Modern C++은 C++11 이후 버전을 의미한다. typedef typedef double my_type_t; == using my_type_t = double; (C++11 이상) enum enum { }; enum class { }; (C++...\",\"imageUrl\":\"https://velog.velcdn.com/images/usfree/post/37504947-8a7a-4298-923e-5903e6989693/image.png\",\"pubDate\":\"Tue, 09 Sep 2025 14:04:14 GMT\"},{\"title\":\"일학습병행 첨단산업아카데미 회고 (가상훈련콘텐츠SW개발_L5)\",\"link\":\"https://velog.io/@usfree/%EC%9D%BC%ED%95%99%EC%8A%B5%EB%B3%91%ED%96%89-%EC%B2%A8%EB%8B%A8%EC%82%B0%EC%97%85%EC%95%84%EC%B9%B4%EB%8D%B0%EB%AF%B8-%ED%9A%8C%EA%B3%A0-%EA%B0%80%EC%83%81%ED%9B%88%EB%A0%A8%EC%BD%98%ED%85%90%EC%B8%A0SW%EA%B0%9C%EB%B0%9CL5\",\"description\":\"1년간의 일학습병행 과정을 마치고 학교를 졸업했다. 1년 전에 학교에 올라온 일학습병행 훈련생 모집공고를 보고 지원했던게 엊그제같은데 이제는 학교를 졸업하고 인턴 생활도 마쳤다. 우리 학교의 일학습병행 일정은 아래와 같았다. 2024년 1월 ~ 2월 - 기업 지원 및 매칭 2024년 3월 ~ 6월 - 학교에서 NCS기반의 강의를 들으며 평소와 같이 학습 7월 ~ 2025년 2월 - 매칭된 기업으로 출근 1학기는 강의를 듣...\",\"imageUrl\":\"https://velog.velcdn.com/images/usfree/post/9237af53-134c-4bee-9f6f-0f6944d3ed02/image.png\",\"pubDate\":\"Sat, 01 Mar 2025 11:14:40 GMT\"},{\"title\":\"Unity Multiplayer Play Mode Package 활용하기\",\"link\":\"https://velog.io/@usfree/Multiplayer-Play-Mode-%ED%99%9C%EC%9A%A9
2%ED%95%98%EA%B8%B0\",\"description\":\"만약 유니티를 사용하는 개발자라면, 특히 멀티플레이를 지원하는 프로그램을 개발해본 개발자라면 ParrelSync 에 들어봤을 것이다. 패럴싱크란? https://velog.io/@totohoon01/Unity-ParrelSync 유니티6가 신규 출시할 때, 중점적으로 다루며 홍보했던 Multiplayer Play Mode (이하 MPPM)가 ParrelSync와 비슷한 역할을 한다. 다만 ParrelSync는 프로젝트를 ...\",\"imageUrl\":\"https://velog.velcdn.com/images/usfree/post/2269d232-ca2c-4e97-b052-c379ca56385d/image.png\",\"pubDate\":\"Tue, 07 Jan 2025 15:41:31 GMT\"},{\"title\":\"Unity Game Project - 잉걸불 (Embers)\",\"link\":\"https://velog.io/@usfree/%EC%9E%89%EA%B1%B8%EB%B6%88-Embers\",\"description\":\"개발 엔진: 유니티 6 RP: URP 장르: MMORPG API: MariaDB, Mirror Network HomePage: https://embers.nolda.site/ 최우선 목표는 할만한 가치가 있는 게임 임과 동시에, 유니티 개발 패턴(MVC, 싱글톤 등)과 SOLID원칙을 지키며 볼만한 가치가 있는 프로젝트 를 만드는 것이다. 다음은 유니티6의 최신 기술들을 적극 활용하여 최적화와 프로젝트 제작 능률을 올리는...\",\"imageUrl\":\"https://velog.velcdn.com/images/usfree/post/deb5b196-5ded-412b-ae29-62b0409e82c9/image.png\",\"pubDate\":\"Tue, 07 Jan 2025 14:30:30 GMT\"},{\"title\":\"리액트로 velog 포스트 가져오기(파싱)\",\"link\":\"https://velog.io/@usfree/React%EB%A1%9C-velog-%ED%8F%AC%EC%8A%A4%ED%8A%B8-%EA%B0%80%EC%A0%B8%EC%98%A4%EA%B8%B0\",\"description\":\"velog에서는 rss 피드형식으로 된 api를 제공하고 있다. https://api.velog.io/rss/@계정명 @ 부분에 자신의 아이디를 가져다 놓으면 자신이 작성한 글의 title, pubData(작성일), description(글 내용) 등을 가져올 수 있다. 이를 정적 React 페이지에서 XML을 파싱하여 필요한 정보를 추출하고 렌더링 시킬 수 있다. 본인은 github-pages로 포트폴리오 사이트를 운영...\",\"imageUrl\":\"https://velog.velcdn.com/images/usfree/post/3eb90c16-65ea-4c12-b380-1eedd3456118/image.png\",\"pubDate\":\"Sun, 02 Jun 2024 07:24:04 GMT\"}],\"imagePlaceholders\":{\"https://velog.velcdn.com/images/usfree/post/f0b40806-dbe2-467c-bf64-45a1b068e64e/image.png\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAALCAYAAABLcGxfAAAACXBIWXMAAAsTAAALEwEAmpwYAAABkklEQVR4nHWRv0tbURzFH8+EEF7IS8hrkvdIdIn26RBqDFoxFEqQFzPYoFQcfEMqFWIkuimF+qOtS5EuVVI6NOAiiJuToNFBKAo66OJf0dXxU+6VEB0cDvcH33PuOecqqqri8/lQFEVCnFtra688ht/vp1Qq4bouqVTqCUnXdQzDIBqN4vV6WyQF0zRJp9P02rYcEne5XI5sNkskEiGfz5NMJh8IqtrB0HCW7Z0fbH77Qq02z0vbZswZ5cPUjBx6YRgkEgk8Hg+KZVm8m5zg+qLJzeUe51cHbO2sc9z8ye/6Z/pfDaBpgXYG4S2TyVCaLrK1vcDZ3+/Uf33i6PAPpye77O83aDTqmJbZziBaKhYdnPE31CrvWV2e4+vaGotLFW7vmtzzj/WNFRleEkQrRiSMZcbo6+tlZOQ1iaRFuewyV/lIofCWhWqFeDyOIlqxbZtYLEYgEEDXg3R1deK6M8zOlqlW53GcQju0+AdRXSgUIhwOEwwGpUVRhhDq7ulmcGhQ1ioEpaXnIMQ0TZN4eF3nP7pLz5zmVqakAAAAAElFTkSuQmCC\",\"https://velog.velcdn.com/images/usfree/post/bde27fc0-45fd-40cf-9362-b7bb2ca01db6/image.avif\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAHCAIAAACz0DtzAAAACXBIWXMAAAPoAAAD6AG1e1JrAAABDklEQVR4nAEDAfz+AK7BzLDF0MTc5Pv8/Pv5++Lp7rLH1LPI0cDL1aK3xKC0wJ6uvACftcaku8iZythKuM9UvNA1uc8Aj7MAha5eucqnuMWcssCZrLsAjKm8lKy+d7vMAHGlAFmZAHCnAFaWADuFAGOflrLEnLLAlKq6AIypup+ywDaQrQBcjgBZiwBRhwBXjwAzdQAcYzp9o6O4xo2puwCSqrufssGPqb0AIVIAJlQAEDsAADIAFj8AJ1UzhaKnvcuMrLwAlai8mq6+sr/LSISbAISbAK2tAJSYAJicZ8rMrMjRoLzKl7TEAJmtvqK0xKq8ysTL1aDG0I/U2HXU1nDO0sfW3q7F0aTAzpu4x8i+kae0zDVMAAAAAElFTkSuQmCC\",\"https://velog.velcdn.com/images/usfree/post/69f0fda6-761e-4393-a660-def80cb00726/image.jpeg\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAHCAIAAACz0DtzAAAACXBIWXMAAAsTAAALEwEAmpwYAAABDklEQVR4nAEDAfz+AAgGBB4ZFy0iJBIOHA8RJgwOJRIRJiEXJhEOFjo1Nz0zKAYGCAAZGBYhICUlIzEKCRoFAhsWDy0NDC0BAQ4LCRkUEyQODhEGBQYAFhMWcG1wlpife3iOYFt4uLHEhIKgk5Kse3qPp6eyR0ZRDAwUAAQDBT06PpeXmVBPY4qFn//7/9rV8dLO5bq2x/r3/2BcZi0kKQAGBgcJCBBMS1oeHTwSETgNDjkkG00rI04gGzwODSIZFyUbFR4ABQYIAgICBgQRGBcxLSdMJh9ILCNJPTNTIRo1Ew8aLCYtIh8rAAUDBRsWFTEqMSIeMzwyQDsvRjwyRiokOxQPHSEYHSUhKRERHXBaOZzDH2IOAAAAAElFTkSuQmCC\",\"https://velog.velcdn.com/images/usfree/post/80b1501a-c8ca-442d-be84-8e3c1e759a29/image.png\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAHCAYAAAA8sqwkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAmklEQVR4nGNgIBv8/88IoiRab4maz3oy2X7e4ymRm/6LQCXBchiKhepv8QUufX5739P//zfe+/+fve3iFQbdaYIYmv5DNTCkvZKceeHv9+kHn/+Ubzz2h7359BuG8P0KYLn6eiYMG/jrzwtIVe2/O3X3g/8dW+7+Z4hcdY3BbZUQdmfBBbIkGBymzmJwmzaTQSxPHCqJrph4AAAuq0M/BN6bJQAAAABJRU5ErkJggg==\",\"https://velog.velcdn.com/images/usfree/post/3dcb796e-7038-47f5-98b8-b508eda55921/image.png\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAHCAIAAACz0DtzAAAACXBIWXMAAAsTAAALEwEAmpwYAAABDklEQVR4nAEDAfz+ABohJSwgGSsmJA8ZJVZRTXlsYI6CcpaUjIeAeZuFh11RVlxRVABPOywhICBBWmWJhoirpqC1qJ2toX6Df2B6bml+Z2lXUlR5eHwAIxsYJjA3IDFALyQnxcG+//33y8K0enJlRjY3aV9gd3BxZ2FiAAQFBAABAG1wcpSXm62rqpiVlGppaIyLiJKQkHd4ewcHCgIDAwAaEwwWDwxLRkSLhH2WlIldX1ZgYFl5dm6mp6eSk5Q/QUEfHhkAVj4tNSYhFAsGZU8wmoVfgnZZdFYuWEgzZmhfdHFYm5qEdXNfAFk6GggAACgfGK6UbMWlepuHYIJxRl9aQERLMERHKEdMK0FELOl0XFSG8RjkAAAAAElFTkSuQmCC\",\"https://velog.velcdn.com/images/usfree/post/63d7955e-deb4-4ed5-92dd-2a8616dae7f3/image.png\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAHCAYAAAA8sqwkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAApUlEQVR4nHWQPQrCUBCEv0JPYGknsbC0swtaSBS00SqksvAYtvZeSLAISoidaOFP5SlCMvJeohBDBmZ3i51hdtEf0iy1rAN5y2ztbVwxRPgIt+AYXd63nxlft+gZiy5igVi3RdAUU0QHHR9RVbC/HkQfETRsn+98scSaGLOKILyfhIPw0GDriRE5HRS/zlWBycmkyL1qiVk+G7FdLh9dRpIltZ/6AGD3+8heG3CSAAAAAElFTkSuQmCC\",\"https://velog.velcdn.com/images/usfree/post/6a8bbed3-5dfc-4561-b0d6-e57f3ae2747f/image.png\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAHCAYAAAA8sqwkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAApUlEQVR4nHWQPQrCUBCEv0JPYGknsbC0swtaSBS00SqksvAYtvZeSLAISoidaOFP5SlCMvJeohBDBmZ3i51hdtEf0iy1rAN5y2ztbVwxRPgIt+AYXd63nxlft+gZiy5igVi3RdAUU0QHHR9RVbC/HkQfETRsn+98scSaGLOKILyfhIPw0GDriRE5HRS/zlWBycmkyL1qiVk+G7FdLh9dRpIltZ/6AGD3+8heG3CSAAAAAElFTkSuQmCC\",\"https://velog.velcdn.com/images/usfree/post/8a9432b5-6e50-470d-80e5-bb73e45e66fc/image.webp\":\"data:image/png;
2base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAGCAIAAAB4jOjWAAAACXBIWXMAAAPoAAAD6AG1e1JrAAAA6UlEQVR4nAHeACH/AOg9MelINsAPEq0ABa8ACq4ACbEAC7grG9ybZurEiOq/fOe8cwDGERKxAAuvAAq/TUHbpZ3bn5XOin+TLiPIi1/rx43mvXfuy5YArwAKrAAErQAJ4ruysQgQxllO+u3c9+nVWlV89e3c/vv00MrMALYNEK0ABa0ACeK7srJCO6fF0eny9/v+/yRsrdPQ01E8QR8AAQC1AQ6vAAquAAm7c20zXm0gVWUlVGM/caVtcoolBxAhAAEiAAAAswANszEqroyJpczYqM7do83bn8rXh6euJQEIIQABIQADIwAGKN9jYCPgT6wAAAAASUVORK5CYII=\",\"https://velog.velcdn.com/images/usfree/post/7efc0183-c102-4ca1-9fe7-77218dfd2a9f/image.webp\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAGCAIAAAB4jOjWAAAACXBIWXMAAAPoAAAD6AG1e1JrAAAA6UlEQVR4nAHeACH/AOg9MelINsAPEq0ABa8ACq4ACbEAC7grG9ybZurEiOq/fOe8cwDGERKxAAuvAAq/TUHbpZ3bn5XOin+TLiPIi1/rx43mvXfuy5YArwAKrAAErQAJ4ruysQgQxllO+u3c9+nVWlV89e3c/vv00MrMALYNEK0ABa0ACeK7srJCO6fF0eny9/v+/yRsrdPQ01E8QR8AAQC1AQ6vAAquAAm7c20zXm0gVWUlVGM/caVtcoolBxAhAAEiAAAAswANszEqroyJpczYqM7do83bn8rXh6euJQEIIQABIQADIwAGKN9jYCPgT6wAAAAASUVORK5CYII=\",\"https://velog.velcdn.com/images/usfree/post/385e0dd9-fb2f-4e10-b763-a05344ca0069/image.webp\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAGCAIAAAB4jOjWAAAACXBIWXMAAAPoAAAD6AG1e1JrAAAA6UlEQVR4nAHeACH/AOg9MelINsAPEq0ABa8ACq4ACbEAC7grG9ybZurEiOq/fOe8cwDGERKxAAuvAAq/TUHbpZ3bn5XOin+TLiPIi1/rx43mvXfuy5YArwAKrAAErQAJ4ruysQgQxllO+u3c9+nVWlV89e3c/vv00MrMALYNEK0ABa0ACeK7srJCO6fF0eny9/v+/yRsrdPQ01E8QR8AAQC1AQ6vAAquAAm7c20zXm0gVWUlVGM/caVtcoolBxAhAAEiAAAAswANszEqroyJpczYqM7do83bn8rXh6euJQEIIQABIQADIwAGKN9jYCPgT6wAAAAASUVORK5CYII=\",\"https://velog.velcdn.com/images/usfree/post/912b298a-666d-4b88-a972-004231f31d07/image.webp\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAGCAIAAAB4jOjWAAAACXBIWXMAAAPoAAAD6AG1e1JrAAAA6UlEQVR4nAHeACH/AOg9MelINsAPEq0ABa8ACq4ACbEAC7grG9ybZurEiOq/fOe8cwDGERKxAAuvAAq/TUHbpZ3bn5XOin+TLiPIi1/rx43mvXfuy5YArwAKrAAErQAJ4ruysQgQxllO+u3c9+nVWlV89e3c/vv00MrMALYNEK0ABa0ACeK7srJCO6fF0eny9/v+/yRsrdPQ01E8QR8AAQC1AQ6vAAquAAm7c20zXm0gVWUlVGM/caVtcoolBxAhAAEiAAAAswANszEqroyJpczYqM7do83bn8rXh6euJQEIIQABIQADIwAGKN9jYCPgT6wAAAAASUVORK5CYII=\",\"https://velog.velcdn.com/images/usfree/post/b00c84d4-6e5b-4983-88c3-c0801d8609ec/image.png\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAHCAIAAACz0DtzAAAACXBIWXMAAAsTAAALEwEAmpwYAAABDklEQVR4nAEDAfz+AKKttu37/1ddZD9FSgQGCSIoLQkNEQAABC8wNEJHTOn3/7K+xwBRV142Oz8jKCwrMjdFTVZueYNfaXIuNTwHCw0RExYfICIyNzwAKjAzFxgdRUxSYGpyanaA9fz/6vb/TlxjS1VeJiwzAAAABAQIAG12fmFqc1hhaWp2gVlja0xOUk1UWVRfaGZwekNNVF9pcG11fABTW2BbY2xyf4dkcHhHTlVAQ0ZYXGBqcnlodHyWoaiLlJtueIIASVBWPEFHRUxRTlVcsL3F1+Dn0NjfvcjQbXV7fYSKVFtfTVRZAFZdY0BJTiIlKTs/RWVtc3uEi4aRmoCIkEtQVSYqLlBUWW92faTyX85sqxLBAAAAAElFTkSuQmCC\",\"https://velog.velcdn.com/images/usfree/post/088a98c5-72b1-44a6-919c-7ceb6f75ffff/image.png\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAHCAYAAAA8sqwkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAApUlEQVR4nHWQPQrCUBCEv0JPYGknsbC0swtaSBS00SqksvAYtvZeSLAISoidaOFP5SlCMvJeohBDBmZ3i51hdtEf0iy1rAN5y2ztbVwxRPgIt+AYXd63nxlft+gZiy5igVi3RdAUU0QHHR9RVbC/HkQfETRsn+98scSaGLOKILyfhIPw0GDriRE5HRS/zlWBycmkyL1qiVk+G7FdLh9dRpIltZ/6AGD3+8heG3CSAAAAAElFTkSuQmCC\",\"https://velog.velcdn.com/images/usfree/post/07713fdc-4068-4c9d-9283-83f80eb3c0d5/image.png\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAHCAYAAAA8sqwkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAApUlEQVR4nHWQPQrCUBCEv0JPYGknsbC0swtaSBS00SqksvAYtvZeSLAISoidaOFP5SlCMvJeohBDBmZ3i51hdtEf0iy1rAN5y2ztbVwxRPgIt+AYXd63nxlft+gZiy5igVi3RdAUU0QHHR9RVbC/HkQfETRsn+98scSaGLOKILyfhIPw0GDriRE5HRS/zlWBycmkyL1qiVk+G7FdLh9dRpIltZ/6AGD3+8heG3CSAAAAAElFTkSuQmCC\",\"https://velog.velcdn.com/images/usfree/post/55c62d03-13de-482f-94fc-d91b77e348b1/image.png\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAlUlEQVR4nK2QQQoDIQxFRQgI4kokkmDxUrWzmTMVe6Sh0DnRUGZVqijUzqr0rYL/Rx4R1PDeI+L3TETil9KpMJZ8AxGttVBwhR4JbNQg5+st57rw3iuI+iEzK6VSSuv6uC/LPM8AEEL4cGLmKrTv2/7cYozOOWYenYhISpnSeZouANDfD5y01saY6tSj8QSh8I9jHpZeIY03Hxj8PHMAAAAASUVORK5CYII=\",\"https://velog.velcdn.com/images/usfree/post/37504947-8a7a-4298-923e-5903e6989693/image.png\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAHCAYAAAA8sqwkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAmklEQVR4nGNgIBv8/88IoiRab4maz3oy2X7e4ymRm/6LQCXBchiKhepv8QUufX5739P//zfe+/+fve3iFQbdaYIYmv5DNTCkvZKceeHv9+kHn/+Ubzz2h7359BuG8P0KYLn6eiYMG/jrzwtIVe2/O3X3g/8dW+7+Z4hcdY3BbZUQdmfBBbIkGBymzmJwmzaTQSxPHCqJrph4AAAuq0M/BN6bJQAAAABJRU5ErkJggg==\",\"https://velog.velcdn.com/images/usfree/post/9237af53-134c-4bee-9f6f-0f6944d3ed02/image.png\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA7klEQVR4nGP4jwL+gRE6YICz/v758/fPn///
2//9BItEV/f///8u7F59eP/r24+fjN+/RTfoL1vT2yZ3lNd6b+jKkshoZzIMal236////79+/4YpArFMbptW7M/THqnhm5jEoOzH4p4Et/Qu3DuTYL++eb5uYurkvpqa/i8Ejc/nBM2CTwIogDjx37lzfxElFhbmzZ06dv2BJd1dXVmbGlClToG6CKJo3bz4DA4OLq6uEhJSgoCAbGzsDA4OKigrEm1DfPX78uLGxcefOnfPmzVu4cOGMGTP6+/tXrVqFJQj+gAGcjSWckEVxhjgeAADY/mo0ClEDUgAAAABJRU5ErkJggg==\",\"https://velog.velcdn.com/images/usfree/post/2269d232-ca2c-4e97-b052-c379ca56385d/image.png\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAHCAIAAACz0DtzAAAACXBIWXMAAAsTAAALEwEAmpwYAAABDklEQVR4nAEDAfz+AAYGDLS0tLOyssDHxba4uPn4+ff09fj6+vr8/f///YWGigMDDgAqKi40MzQmJyZTenoeL0ZPVFNGZnBpVV9vVVgvKzpxcG9NTEwAf4GJbmxtdXZ3s8DNtbnKkZWbk7DK3cjbs52rPEJKaGlqYGJsAE5Vao6LjrCxrLnAv4mQpJqWj62yxK+tvXp2gxIVHlU7STQvRwAqLDVNTlB9cmhgS04SGjZNPDg1KD0lL0sYGy4nIy8yLzooJi8AJSUlHR0cKyoqKycuHB0kLTI2KjA4JCoxHSMpMzg7OkFCKjE2ABcXFBYVEiEjIyIoKxshJBsdHBsdHSUnKiwyNisyNyovNhwdHrvAXLlXkMLEAAAAAElFTkSuQmCC\",\"https://velog.velcdn.com/images/usfree/post/deb5b196-5ded-412b-ae29-62b0409e82c9/image.png\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAHCAYAAAA8sqwkAAAACXBIWXMAAA6/AAAOvwE4BVMkAAAAWUlEQVR4nGP4jwX8+vkTjLEBhv8kAgZ0k0FgUkPF/+xQJzD754/v+DV8/Pbtvxo/8391QYb/37A4DcNJZ0+f/n/hypX/Bw4d+X/jxnXi/ECWp79//w7G6BoA6U1CixPP1KAAAAAASUVORK5CYII=\",\"https://velog.velcdn.com/images/usfree/post/3eb90c16-65ea-4c12-b380-1eedd3456118/image.png\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAHCAYAAAA8sqwkAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAtUlEQVR4nGP4jwT+/P0Lp2FsdMAAY3z99u3/+89f/v/68wdF0x80jQwwgdjuif8ZHLz/T9+y8//1B4//X7hz7//37z/Ahjx+/QauEWzDpbv3/zMo6/9nYOD9zxAW/9+gqPI/g6nDf4388v/aBeX/baobwWrAGn79+QPS+teqrO4vg5zG38KZ8/8+eP7i7+T1W/5O2bDl77yde/9uPnH677NXb8Dq4H4gFoA03EHHv/78wcAwOQAt6SkXI4B4aQAAAABJRU5ErkJggg==\"}}]\n"])</script>
2</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.