-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
11 lines (11 loc) · 10.7 KB
/
index.html
File metadata and controls
11 lines (11 loc) · 10.7 KB
1
2
3
4
5
6
7
8
9
10
11
<!DOCTYPE html><html lang="en"> <head><!-- Google tag (gtag.js) --><script async src="https://www.googletagmanager.com/gtag/js?id=G-C2YRNMT1X1"></script> <script type="module">window.dataLayer=window.dataLayer||[];function a(){dataLayer.push(arguments)}a("js",new Date);a("config","G-C2YRNMT1X1");</script> <!-- Global Metadata --><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><link rel="icon" href="/favicon.ico" sizes="any"><link rel="icon" href="/icon.svg" type="image/svg+xml"><link rel="apple-touch-icon" href="/apple-touch-icon.png"><link rel="manifest" href="/manifest.webmanifest"><link rel="sitemap" href="/sitemap-index.xml"><link rel="alternate" type="application/rss+xml" title="Highly Required - A Personal Website of Jaepil Koh(고재필) / gofeel" href="https://highlyrequi.red/rss.xml"><meta name="generator" content="Astro v5.11.0"><!-- Canonical URL --><link rel="canonical" href="https://highlyrequi.red/"><!-- Primary Meta Tags --><title>Highly Required - A Personal Website of Jaepil Koh(고재필) / gofeel</title><meta name="title" content="Highly Required - A Personal Website of Jaepil Koh(고재필) / gofeel"><meta name="description" content="A personal website of 고재필 / Jaepil Koh (a.k.a. gofeel), a software engineer."><meta name="keywords" content="고재필, Jaepil Koh, Software engineer, 개발자, 웹 개발자, 프론트엔드 개발자, 백엔드 개발자, 풀스택 개발자, 소프트웨어 엔지니어, 프로그래머, 코딩, 소프트웨어 엔지니어링, 알고리즘, 데이터 구조, 컴퓨터 과학"><!-- Open Graph / Facebook --><meta property="og:type" content="website"><meta property="og:url" content="https://highlyrequi.red/"><meta property="og:title" content="Highly Required - A Personal Website of Jaepil Koh(고재필) / gofeel"><meta property="og:description" content="A personal website of 고재필 / Jaepil Koh (a.k.a. gofeel), a software engineer."><meta property="og:image" content="https://highlyrequi.red/_astro/blog-default.Bl-MgE4c.png"><!-- Twitter --><meta property="twitter:card" content="summary_large_image"><meta property="twitter:url" content="https://highlyrequi.red/"><meta property="twitter:title" content="Highly Required - A Personal Website of Jaepil Koh(고재필) / gofeel"><meta property="twitter:description" content="A personal website of 고재필 / Jaepil Koh (a.k.a. gofeel), a software engineer."><meta property="twitter:image" content="https://highlyrequi.red/_astro/blog-default.Bl-MgE4c.png"><link rel="stylesheet" href="/_astro/_slug_.Bc94PrO1.css">
<link rel="stylesheet" href="/_astro/index.Cf50eu7j.css"></head> <body> <header class="bg-white shadow"> <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 items-center justify-between h-16 flex"> <div class="flex items-center"> <a href="/" class="text-xl goblin-one-regular">Highly Required</a> </div> <nav class="flex space-x-4 hidden md:block"> <a href="/about" class="text-sm/6 font-semibold text-gray-900"> About </a> <a href="/posts" class="text-sm/6 font-semibold text-gray-900"> Blog </a> </nav> <nav class="flex space-x-4 md:hidden"> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event("astro:only"));})();</script><script>(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script><astro-island uid="LdM2Y" component-url="/_astro/HMenu.BDrJFlZl.js" component-export="default" renderer-url="/_astro/client.sKnlDubh.js" props="{}" ssr client="only" opts="{"name":"HMenu","value":true}"></astro-island> </nav> </div> </header> <main> <h1 class="text-2xl md:text-5xl font-bold">고재필 / Jaepil Koh</h1> <div class="mt-5 mb-5 flex flex-col md:flex-row-reverse gap-6 justify-center items-center md:justify-normal md:items-start"> <div class="flex-none w-[240px] h-[240px] md:w-[180px] md:h-[180px] rounded-full bg-stone-200 flex justify-center items-center"> <img src="/images/face.svg" alt="face" loading="lazy" decoding="async" fetchpriority="auto" width="160" height="160"> </div> <p class="md:text-xl md:flex-auto highlight-text">
『 다들 뭘 할 줄 아냐고 물어보니 왠지 무엇부터 설명해야 할
지는 모르겠고, 이래저래 적어둔 글을 많지만, 여기저기
흩어놔서 찾기도 힘들고, 쓸데없는 기록들은 가득한데 이런 걸 잘
모아서 공개하기 위해서, 누군가 볼 지는 모르겠지만, 시작하지 않으면 아무 일도 일어나지 않는다는 것을 생각하며 만든 홈페이지 』
</p> </div> <hr class="border-gray-300 box-border mt-5 mb-5"> <div class="grid grid-cols-1 gap-4"> <div> <h5 class="font-bold text-2xl">Recent Posts</h5> <div class="mb-2 p-2 bg-stone-200 rounded text-gray-800 text-sm">
최근 작성한 글
</div> <ul class="rounded-tr-2xl rounded-bl-2xl bg-gray-100 p-4"> <li> <a href="/posts/creating_software_means_managing_software">소프트웨어는 관리되어야 한다</a> <div style="display: flex; justify-content: flex-end; align-items: flex-end; width: 100%;"> <time datetime="2025-08-10T03:00:00.000Z"> August 10, 2025 </time> </div> </li><li> <a href="/posts/what_i_learned_from_my_2nd_company">아마도 이력서에 적지는 않겠지만 - 3. 나의 두번째 회사</a> <div style="display: flex; justify-content: flex-end; align-items: flex-end; width: 100%;"> <time datetime="2025-03-14T08:00:00.000Z"> March 14, 2025 </time> </div> </li><li> <a href="/posts/obs">아마도 이력서에 적지는 않겠지만 - 2. OBS</a> <div style="display: flex; justify-content: flex-end; align-items: flex-end; width: 100%;"> <time datetime="2025-02-25T10:00:00.000Z"> February 25, 2025 </time> </div> </li><li> <a href="/posts/bbs">아마도 이력서에 적지는 않겠지만 - 1. 말림비</a> <div style="display: flex; justify-content: flex-end; align-items: flex-end; width: 100%;"> <time datetime="2024-11-22T13:00:00.000Z"> November 22, 2024 </time> </div> </li> <li class="text-right mt-5 text-sm font-bold"> <a href="/posts" class="text-gray-400">More...</a> </li> </ul> </div> </div> <hr class="border-gray-300 box-border mt-5 mb-5"> <h4 class="font-bold text-2xl">External Links</h4> <div class="grid grid-cols-2 gap-4"> <div> <svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="20" height="20" viewBox="0 0 30 30"> <path d="M15,3C8.373,3,3,8.373,3,15c0,5.623,3.872,10.328,9.092,11.63C12.036,26.468,12,26.28,12,26.047v-2.051 c-0.487,0-1.303,0-1.508,0c-0.821,0-1.551-0.353-1.905-1.009c-0.393-0.729-0.461-1.844-1.435-2.526 c-0.289-0.227-0.069-0.486,0.264-0.451c0.615,0.174,1.125,0.596,1.605,1.222c0.478,0.627,0.703,0.769,1.596,0.769 c0.433,0,1.081-0.025,1.691-0.121c0.328-0.833,0.895-1.6,1.588-1.962c-3.996-0.411-5.903-2.399-5.903-5.098 c0-1.162,0.495-2.286,1.336-3.233C9.053,10.647,8.706,8.73,9.435,8c1.798,0,2.885,1.166,3.146,1.481C13.477,9.174,14.461,9,15.495,9 c1.036,0,2.024,0.174,2.922,0.483C18.675,9.17,19.763,8,21.565,8c0.732,0.731,0.381,2.656,0.102,3.594 c0.836,0.945,1.328,2.066,1.328,3.226c0,2.697-1.904,4.684-5.894,5.097C18.199,20.49,19,22.1,19,23.313v2.734 c0,0.104-0.023,0.179-0.035,0.268C23.641,24.676,27,20.236,27,15C27,8.373,21.627,3,15,3z"></path> </svg> <a href="https://github.com/gofeel">https://github.com/gofeel</a> </div> </div> </main> <footer data-astro-cid-sz7xmlte>
© 2025 Jaepil Koh. All rights reserved.
</footer> </body></html>