1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8974],{1167:(e,t,r)=>{"use strict";r.d(t,{default:()=>h});var l=r(95155),s=r(12115),n=r(52619),a=r.n(n),i=r(40932);async function c(e,t){try{var r,l;let s=await fetch(e);if(!s.ok)return[];let n=await s.json();return(Array.isArray(n)?n:null!=(l=null!=(r=n.posts)?r:n.docs)?l:[]).slice(0,10).map(e=>{var r,l,s,n;return{title:null!=(r=e.title)?r:"",url:null!=(s=null!=(l=e.url)?l:e.slug)?s:"",date:null!=(n=e.date)?n:"",source:t}})}catch(e){return[]}}function o(e){let{post:t,baseHref:r}=e,s=t.date?new Date(t.date).toLocaleDateString("ko-KR",{year:"numeric",month:"short",day:"numeric"}):"";if(t.local)return(0,l.jsxs)(a(),{href:t.url,className:"feed-item feed-item-local",children:[(0,l.jsx)("p",{className:"feed-item-title",children:t.title}),s&&(0,l.jsxs)("p",{className:"feed-item-meta",children:[s," \xb7 Featured"]})]});let n=t.url.startsWith("http")?t.url:"".concat(r,"/").concat(t.url);return(0,l.jsxs)("a",{href:n,target:"_blank",rel:"noopener",className:"feed-item",children:[(0,l.jsx)("p",{className:"feed-item-title",children:t.title}),s&&(0,l.jsx)("p",{className:"feed-item-meta",children:s})]})}function u(e){let{href:t,loading:r}=e;return(0,l.jsxs)("div",{style:{padding:"2rem",textAlign:"center",color:"var(--text-dim)",fontSize:".88rem"},children:[(0,l.jsx)("p",{children:r?"ì½í
ì¸ ë¥¼ ë¶ë¬ì¤ë ì¤ì
ëë¤.":"íìí ì½í
ì¸ ê° ììµëë¤."}),!r&&(0,l.jsx)("a",{href:t,target:"_blank",rel:"noopener",style:{color:"var(--blue)",marginTop:".5rem",display:"inline-block"},children:"ë°ë¡ 보기"})]})}function d(e){let{source:t,posts:r,loading:s}=e,n=[..."blog"===t.key?i.$B.map(e=>({...e,source:"blog"})):[],...r];return(0,l.jsxs)("div",{className:"feed-col",children:[(0,l.jsxs)("div",{className:"feed-col-head",children:[(0,l.jsxs)("span",{className:"feed-col-label",children:[(0,l.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:t.color,display:"inline-block",flexShrink:0}}),t.label]}),(0,l.jsx)("a",{href:t.href,target:"_blank",rel:"noopener",className:"feed-col-link",children:"ì ì²´ 보기"})]}),(0,l.jsx)("div",{className:"feed-col-body",children:0===n.length?(0,l.jsx)(u,{href:t.href,loading:s}):n.map((e,r)=>(0,l.jsx)(o,{post:e,baseHref:t.href},r))})]})}function h(){let[e,t]=(0,s.useState)(()=>i.W4.reduce((e,t)=>(e[t.key]=[],e),{})),[r,n]=(0,s.useState)(!0);return(0,s.useEffect)(()=>{let e=!1;return Promise.all(i.W4.map(async e=>({key:e.key,posts:await c(e.url,e.key)}))).then(r=>{e||(t(e=>{let t={...e};return r.forEach(e=>{t[e.key]=e.posts}),t}),n(!1))}),()=>{e=!0}},[]),(0,l.jsx)("section",{className:"section",id:"feed",style:{background:"var(--bg-card2)"},children:(0,l.jsxs)("div",{className:"section-inner",children:[(0,l.jsxs)("div",{className:"section-header",children:[(0,l.jsx)("p",{className:"section-label",children:"Latest Hub"}),(0,l.jsx)("h2",{className:"section-title",children:"íìµ ì´í ì´ì´ë³¼ ìµì 기ì ì½í
ì¸ "}),(0,l.jsx)("p",{className:"section-sub",children:"Plogger, Blog, Docsì ìµì ê¸ì 모ì 기ì íìµì´ ì¤ì ì´ì ì§ìê³¼ ì°ê²°ëëë¡ í©ëë¤."})]}),(0,l.jsx)("div",{className:"feed-grid",children:i.W4.map(t=>(0,l.jsx)(d,{source:t,posts:e[t.key],loading:r},t.key))})]})})}},12759:(e,t,r)=>{Promise.resolve().then(r.bind(r,97003)),Promise.resolve().then(r.bind(r,1167)),Promise.resolve().then(r.bind(r,64109)),Promise.resolve().then(r.bind(r,63432)),Promise.resolve().then(r.t.bind(r,52619,23))},21959:(e,t,r)=>{"use strict";r.d(t,{HA:()=>k,Jx:()=>x,T3:()=>b});var l=r(12115),s=r(21402),n=r(99188),a=r(40932),i=r(20084);let c="aidevops-recent",o="aidevops-bookmarks",u="aidevops:personal-change";function d(e){let t=e.split(/[?#]/)[0];return t.endsWith("/")?t:"".concat(t,"/")}let h=new Map;for(let e of a.nY)h.set(d(e.href),{href:d(e.href),title:e.label,kind:"Guide"});for(let e of[...a.eh,...a.BI])h.set(d(e.href),{href:d(e.href),title:e.label,kind:"Guide"});for(let e of i.gl){let t="/learning-paths/".concat(e.slug,"/");h.set(t,{href:t,title:e.title,kind:"Learning Path"})}function m(e){let t=d(e),r=t.match(/^\/learn\/([a-z0-9-]+)\/ide\/$/);if(r){let e=h.get("/learn/".concat(r[1],"/"));return e?{href:t,title:"".concat(e.title," Lab"),kind:"Lab"}:void 0}return h.get(t)}function f(e){try{let t=window.localStorage.getItem(e),r=t?JSON.parse(t):[];return Array.isArray(r)?r.filter(e=>"string"==typeof e):[]}catch(e){return[]}}function p(e,t){try{window.localStorage.setItem(e,JSON.stringify(t))}catch(e){}window.dispatchEvent(new Event(u))}function g(e){let[t,r]=(0,l.useState)([]);return(0,l.useEffect)(()=>{let t=()=>r(f(e));return t(),window.addEventListener(u,t),window.addEventListener("storage",t),()=>{window.removeEventListener(u,t),window.removeEventListener("storage",t)}},[e]),t}function x(e){let t=d(e);if(!m(t))return;let r=[t,...f(c).filter(e=>e!==t)].slice(0,8);p(c,r)}function k(){return g(c).map(m).filter(e=>!!e)}function b(){let{user:e}=(0,s.A)(),t=g(o);(0,l.useEffect)(()=>
1{if(!e)return;let t=!1;return(0,n._O)(e.uid).then(r=>{if(t)return;let l=Array.isArray(null==r?void 0:r.bookmarks)?r.bookmarks:[],s=f(o),a=[...new Set([...s,...l])];a.length!==s.length&&p(o,a);let i=s.filter(e=>!l.includes(e));i.length&&(0,n.mZ)(e.uid,[],{bookmarks:(0,n.Jk)(...i)})}),()=>{t=!0}},[e]);let r=(0,l.useCallback)(t=>{let r=d(t),l=f(o),s=!l.includes(r);return p(o,s?[r,...l]:l.filter(e=>e!==r)),e&&(0,n.mZ)(e.uid,[],{bookmarks:s?(0,n.Jk)(r):(0,n.Di)(r)}),s},[e]);return{items:t.map(m).filter(e=>!!e),isBookmarked:(0,l.useCallback)(e=>t.includes(d(e)),[t]),toggle:r}}},63432:(e,t,r)=>{"use strict";r.d(t,{default:()=>n});var l=r(95155),s=r(20063);function n(e){var t;let{className:r,path:n}=e,a=(0,s.usePathname)(),i=function(e){let t=e.split("?")[0].split("#")[0].replace(/\/$/,"")||"/";return"/"===t?"aidevops.kr":"aidevops.kr".concat(t.replace(/\//g,".").replace(/\.$/,""))}(null!=(t=null!=n?n:a)?t:"/"),c="https://visitor-badge.laobi.icu/badge?page_id=".concat(encodeURIComponent(i),"&leftColor=%23475569&rightColor=%232563eb&leftText=Visitors");return(0,l.jsx)("span",{className:r?"tf-counter ".concat(r):"tf-counter",children:(0,l.jsx)("img",{src:c,alt:"Visitors",loading:"lazy",onError:e=>{var t;null==(t=e.currentTarget.parentElement)||t.remove()}})})}},64109:(e,t,r)=>{"use strict";r.d(t,{default:()=>u});var l=r(95155),s=r(12115),n=r(20063),a=r(40932);let i={plogger:"source-plogger",blog:"source-blog",docs:"source-docs",guide:"source-guide",book:"source-book"},c={plogger:"Plogger",blog:"Blog",docs:"Docs",guide:"Guide",book:"Book"};function o(e){let{onQuery:t}=e,r=(0,n.useSearchParams)();return(0,s.useEffect)(()=>{let e=r.get("q");e&&t(e)},[]),null}function u(){let e=a.$B.map(e=>({...e,source:"blog"})),[t,r]=(0,s.useState)(""),[n,u]=(0,s.useState)(e),[d,h]=(0,s.use
1State)([]),[m,f]=(0,s.useState)(!1),p=(0,s.useRef)(null);(0,s.useEffect)(()=>{Promise.all([...a.W4.map(async e=>{try{var t,r;let l=await fetch(e.url);if(!l.ok)return[];let s=await l.json();return(Array.isArray(s)?s:null!=(r=null!=(t=s.posts)?t:s.docs)?r:[]).map(t=>{var r,l,s,n,a,i;return{title:null!=(r=t.title)?r:"",url:null!=(s=null!=(l=t.url)?l:t.slug)?s:"",date:null!=(n=t.date)?n:"",summary:null!=(i=null!=(a=t.summary)?a:t.description)?i:"",source:e.key}})}catch(e){return[]}}),(async()=>{try{let e=await fetch("/search-index.json");if(!e.ok)return[];return(await e.json()).map(e=>({...e,local:!0}))}catch(e){return[]}})()]).then(t=>u([...e,...t.flat()]))},[]),(0,s.useEffect)(()=>{if(!t.trim())return void h([]);let e=t.toLowerCase();h(n.filter(t=>{var r;return t.title.toLowerCase().includes(e)||(null==(r=t.summary)?void 0:r.toLowerCase().includes(e))}).slice(0,12))},[t,n]),(0,s.useEffect)(()=>{let e=e=>{var t;(null==(t=p.current)?void 0:t.contains(e.target))||f(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);let g=(0,s.useCallback)(e=>{r(e.target.value),f(!0)},[]),x=m&&t.trim().length>0,k=(0,s.useCallback)(e=>{r(e),f(!0)},[]);return(0,l.jsxs)("div",{style:{maxWidth:560,margin:"0 auto 1.5rem"},children:[(0,l.jsx)(s.Suspense,{fallback:null,children:(0,l.jsx)(o,{onQuery:k})}),(0,l.jsxs)("div",{className:"search-wrap",ref:p,children:[(0,l.jsxs)("svg",{className:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,l.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,l.jsx)("path",{d:"m21 21-4.35-4.35"})]}),(0,l.jsx)("input",{className:"search-bar",type:"text",placeholder:"ê°ì´ë, Books, Blog, Docs ì ì²´ìì 찾기 â ì: Python, RAG, Docker",value:t,onChange:g,onFocus:()=>t&&f(!0),"aria-label":"AI DevOps Korea ì ì²´ ê²ì"}),t&&(0,l.jsx)("button",{className:"search-clear",onClick:()=>{r(""),h([]),f(!1)},"aria-label":"ê²ìì´ ì§ì°ê¸°",children:"\xd7"}),x&&(0,l.jsx)("div",{className:"search-results",role:"listbox",children:0===d.length?(0,l.jsxs)("p",{className:"search-empty",children:["â",t,"âì ëí ê²°ê³¼ê° ììµëë¤."]}):d.map((e,r)=>{let s=a.W4.find(t=>t.key===e.source),n=e.local||e.url.startsWith("http")?e.url:"".concat(null==s?void 0:s.href,"/").concat(e.url);return(0,l.jsxs)("a",{href:n,...!e.local&&{target:"_blank",rel:"noopener"},className:"search-result-item",role:"option",children:[(0,l.jsx)("span",{className:"search-result-title",children:function(e,t){if(!t)return e;let r=e.toLowerCase().indexOf(t.toLowerCase());return -1===r?e:(0,l.jsxs)(l.Fragment,{children:[e.slice(0,r),(0,l.jsx)("mark",{children:e.slice(r,r+t.length)}),e.slice(r+t.length)]})}(e.title,t)}),e.summary&&(0,l.jsx)("span",{className:"search-result-desc",children:e.summary}),(0,l.jsxs)("span",{className:"search-result-meta",children:[(0,l.jsx)("span",{className:"source-badge ".concat(i[e.source]),children:c[e.source]}),e.date&&(0,l.jsx)("span",{style:{fontSize:".72rem",color:"var(--text-dim)"},children:new Date(e.date).toLocaleDateString("ko-KR")})]})]},r)})})]})]})}},97003:(e,t,r)=>{"use strict";r.d(t,{default:()=>o});var l=r(95155),s=r(52619),n=r.n(s),a=r(79532),i=r(55274),c=r(21959);function o(){let e=(0,c.HA)(),{items:t}=(0,c.T3)();if(0===e.length&&0===t.length)return null;let[r,...s]=e;return(0,l.jsx)("section",{className:"continue-band","aria-label":"ì´ì´ì íìµ",children:(0,l.jsxs)("div",{className:"section-inner continue-inner",children:[r&&(0,l.jsxs)(n(),{href:r.href,className:"continue-main",children:[(0,l.jsxs)("span",{className:"continue-label",children:[(0,l.jsx)(a.A,{size:14,"aria-hidden":!0})," ì´ì´ì íìµ"]}),(0,l.jsx)("span",{className:"continue-title",children:r.title}),(0,l.jsxs)("span",{className:"continue-kind",children:[r.kind," â"]})]}),(0,l.jsxs)("div",{className:"continue-side",children:[s.length>0&&(0,l.jsx)("ul",{className:"continue-chips","aria-label":"ìµê·¼ 본 ì½í
ì¸ ",children:s.slice(0,4).map(e=>(0,l.jsx)("li",{children:(0,l.jsx)(n(),{href:e.href,children:e.title})},e.href))}),(0,l.jsxs)(n(),{href:"/dashboard/",className:"continue-dashboard",children:[(0,l.jsx)(i.A,{size:14,"aria-hidden":!0})," ë¶ë§í¬ ",t.length," \xb7 ë´ ëìë³´ë â"]})]})]})})}}},e=>{e.O(0,[2619,3196,5201,8441,1255,7358],()=>e(e.s=12759)),_N_E=e.O()}]);
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.