diff --git a/asset-manifest.json b/asset-manifest.json new file mode 100644 index 0000000..d420de7 --- /dev/null +++ b/asset-manifest.json @@ -0,0 +1,47 @@ +{ + "files": { + "main.css": "/portfolio/static/css/main.4ba10680.css", + "main.js": "/portfolio/static/js/main.cbeca842.js", + "static/media/구현영상.mp4": "/portfolio/static/media/구현영상.706b44bfa0f87e37eef0.mp4", + "static/media/BBuRing.mp4": "/portfolio/static/media/BBuRing.7e08dd41fc24cb0fa788.mp4", + "static/media/eclipse.mp4": "/portfolio/static/media/eclipse.ed866deca94b0fac2cfd.mp4", + "static/media/gallery.mp4": "/portfolio/static/media/gallery.bf7e1892f26a62d35262.mp4", + "static/media/profile_image_3.webp": "/portfolio/static/media/profile_image_3.a90e41d7013516c02218.webp", + "static/media/profile_image_4.webp": "/portfolio/static/media/profile_image_4.486eba0be066e8a1765b.webp", + "static/media/profile_image_8.webp": "/portfolio/static/media/profile_image_8.4ff065e01655d5f4d0f1.webp", + "static/media/profile_image_2.webp": "/portfolio/static/media/profile_image_2.34a5229baa6fc2a021ba.webp", + "static/media/happyhyep.svg": "/portfolio/static/media/happyhyep.c87d8c92d5ea05e9b348baf4366e3a13.svg", + "static/media/title.webp": "/portfolio/static/media/title.c267ca9194e9b2a4cdce.webp", + "static/media/nfm-trd-2023.webp": "/portfolio/static/media/nfm-trd-2023.f03dcd64b074dfe2b81f.webp", + "static/media/eclipse.webp": "/portfolio/static/media/eclipse.e7f7a37508e8da5decad.webp", + "static/media/focuz.webp": "/portfolio/static/media/focuz.2e1564c789573fdee747.webp", + "static/media/apartment.webp": "/portfolio/static/media/apartment.8202997a8948a772cb7e.webp", + "static/media/gallery.webp": "/portfolio/static/media/gallery.b191c86f12639251f2bb.webp", + "static/media/BBuRing.webp": "/portfolio/static/media/BBuRing.6c93c662432aeacaaa62.webp", + "static/media/award_edu.webp": "/portfolio/static/media/award_edu.e6ed0d53ec5d56483241.webp", + "static/media/world-esim.webp": "/portfolio/static/media/world-esim.00aae6de008bc792b2b7.webp", + "static/media/award_sanjose.webp": "/portfolio/static/media/award_sanjose.1fdf91cb2eef37302f9c.webp", + "static/media/world-esim-admin.webp": "/portfolio/static/media/world-esim-admin.e7f17ad3edefcbefacf0.webp", + "static/media/award_dcom.webp": "/portfolio/static/media/award_dcom.4cebedc7d58fa819dfb6.webp", + "static/media/award_money.webp": "/portfolio/static/media/award_money.16977b3ae6ec3e350c26.webp", + "static/media/instagram.webp": "/portfolio/static/media/instagram.61493b2edf91bc15c4e4.webp", + "static/media/github.webp": "/portfolio/static/media/github.bd7307def2d380aabdb0.webp", + "static/media/velog.webp": "/portfolio/static/media/velog.8cfd492231d67117c0aa.webp", + "static/media/slick.svg": "/portfolio/static/media/slick.2630a3e3eab21c607e21.svg", + "static/media/slick.eot": "/portfolio/static/media/slick.a4e97f5a2a64f0ab1323.eot", + "static/media/slick.ttf": "/portfolio/static/media/slick.c94f7671dcc99dce43e2.ttf", + "static/media/lang.svg": "/portfolio/static/media/lang.1ec7ced5501b96f3c55d992bbe47fbde.svg", + "static/media/slick.woff": "/portfolio/static/media/slick.295183786cd8a1389865.woff", + "index.html": "/portfolio/index.html", + "static/media/menu.svg": "/portfolio/static/media/menu.bf46b0eaa841fe81f3897f8f3bfb8d94.svg", + "static/media/check.svg": "/portfolio/static/media/check.e6c00b7bfa02d9861612f35d23d56409.svg", + "static/media/close.svg": "/portfolio/static/media/close.535047fa388f84db2bc29415ef5b81e3.svg", + "static/media/arrow.svg": "/portfolio/static/media/arrow.c9412af40349e4e59cb207e6603f0b7f.svg", + "main.4ba10680.css.map": "/portfolio/static/css/main.4ba10680.css.map", + "main.cbeca842.js.map": "/portfolio/static/js/main.cbeca842.js.map" + }, + "entrypoints": [ + "static/css/main.4ba10680.css", + "static/js/main.cbeca842.js" + ] +} \ No newline at end of file diff --git a/assets/icons/check.svg b/assets/icons/check.svg new file mode 100644 index 0000000..f73806a --- /dev/null +++ b/assets/icons/check.svg @@ -0,0 +1,3 @@ + diff --git a/assets/icons/github.webp b/assets/icons/github.webp new file mode 100644 index 0000000..8827f35 Binary files /dev/null and b/assets/icons/github.webp differ diff --git a/assets/icons/instagram.webp b/assets/icons/instagram.webp new file mode 100644 index 0000000..c3f3a00 Binary files /dev/null and b/assets/icons/instagram.webp differ diff --git a/assets/icons/lang.svg b/assets/icons/lang.svg new file mode 100644 index 0000000..099af3f --- /dev/null +++ b/assets/icons/lang.svg @@ -0,0 +1,9 @@ + diff --git a/assets/icons/menu.svg b/assets/icons/menu.svg new file mode 100644 index 0000000..c7c01ad --- /dev/null +++ b/assets/icons/menu.svg @@ -0,0 +1,5 @@ + diff --git a/assets/icons/velog.webp b/assets/icons/velog.webp new file mode 100644 index 0000000..58ca203 Binary files /dev/null and b/assets/icons/velog.webp differ diff --git a/assets/images/awards/award_dcom.webp b/assets/images/awards/award_dcom.webp new file mode 100644 index 0000000..b4d4589 Binary files /dev/null and b/assets/images/awards/award_dcom.webp differ diff --git a/assets/images/awards/award_edu.webp b/assets/images/awards/award_edu.webp new file mode 100644 index 0000000..895641a Binary files /dev/null and b/assets/images/awards/award_edu.webp differ diff --git a/assets/images/awards/award_money.webp b/assets/images/awards/award_money.webp new file mode 100644 index 0000000..d1f9544 Binary files /dev/null and b/assets/images/awards/award_money.webp differ diff --git a/assets/images/awards/award_sanjose.webp b/assets/images/awards/award_sanjose.webp new file mode 100644 index 0000000..1b26702 Binary files /dev/null and b/assets/images/awards/award_sanjose.webp differ diff --git a/assets/images/profile_image/home_profile.webp b/assets/images/profile_image/home_profile.webp new file mode 100644 index 0000000..d975d3b Binary files /dev/null and b/assets/images/profile_image/home_profile.webp differ diff --git a/assets/images/profile_image/profile_image_1.webp b/assets/images/profile_image/profile_image_1.webp new file mode 100644 index 0000000..900482e Binary files /dev/null and b/assets/images/profile_image/profile_image_1.webp differ diff --git a/assets/images/profile_image/profile_image_2.webp b/assets/images/profile_image/profile_image_2.webp new file mode 100644 index 0000000..5dda428 Binary files /dev/null and b/assets/images/profile_image/profile_image_2.webp differ diff --git a/assets/images/profile_image/profile_image_3.webp b/assets/images/profile_image/profile_image_3.webp new file mode 100644 index 0000000..04c59bb Binary files /dev/null and b/assets/images/profile_image/profile_image_3.webp differ diff --git a/assets/images/profile_image/profile_image_4.webp b/assets/images/profile_image/profile_image_4.webp new file mode 100644 index 0000000..f6a70e1 Binary files /dev/null and b/assets/images/profile_image/profile_image_4.webp differ diff --git a/assets/images/profile_image/profile_image_5.webp b/assets/images/profile_image/profile_image_5.webp new file mode 100644 index 0000000..d61b9e4 Binary files /dev/null and b/assets/images/profile_image/profile_image_5.webp differ diff --git a/assets/images/profile_image/profile_image_6.webp b/assets/images/profile_image/profile_image_6.webp new file mode 100644 index 0000000..e52527f Binary files /dev/null and b/assets/images/profile_image/profile_image_6.webp differ diff --git a/assets/images/profile_image/profile_image_7.webp b/assets/images/profile_image/profile_image_7.webp new file mode 100644 index 0000000..6f361e4 Binary files /dev/null and b/assets/images/profile_image/profile_image_7.webp differ diff --git a/assets/images/profile_image/profile_image_8.webp b/assets/images/profile_image/profile_image_8.webp new file mode 100644 index 0000000..6ab524f Binary files /dev/null and b/assets/images/profile_image/profile_image_8.webp differ diff --git a/assets/images/projects/BBuRing.gif b/assets/images/projects/BBuRing.gif new file mode 100644 index 0000000..54a3f6d Binary files /dev/null and b/assets/images/projects/BBuRing.gif differ diff --git a/assets/images/projects/BBuRing.mp4 b/assets/images/projects/BBuRing.mp4 new file mode 100644 index 0000000..1b0c997 Binary files /dev/null and b/assets/images/projects/BBuRing.mp4 differ diff --git a/assets/images/projects/BBuRing.webp b/assets/images/projects/BBuRing.webp new file mode 100644 index 0000000..1ae4d41 Binary files /dev/null and b/assets/images/projects/BBuRing.webp differ diff --git a/assets/images/projects/apartment.webp b/assets/images/projects/apartment.webp new file mode 100644 index 0000000..d31a932 Binary files /dev/null and b/assets/images/projects/apartment.webp differ diff --git a/assets/images/projects/eclipse.mp4 b/assets/images/projects/eclipse.mp4 new file mode 100644 index 0000000..d4b4f89 Binary files /dev/null and b/assets/images/projects/eclipse.mp4 differ diff --git a/assets/images/projects/eclipse.webp b/assets/images/projects/eclipse.webp new file mode 100644 index 0000000..9f97c9e Binary files /dev/null and b/assets/images/projects/eclipse.webp differ diff --git a/assets/images/projects/focuz.webp b/assets/images/projects/focuz.webp new file mode 100644 index 0000000..794332f Binary files /dev/null and b/assets/images/projects/focuz.webp differ diff --git a/assets/images/projects/gallery.mp4 b/assets/images/projects/gallery.mp4 new file mode 100644 index 0000000..4ea865f Binary files /dev/null and b/assets/images/projects/gallery.mp4 differ diff --git a/assets/images/projects/gallery.webp b/assets/images/projects/gallery.webp new file mode 100644 index 0000000..5bb09b7 Binary files /dev/null and b/assets/images/projects/gallery.webp differ diff --git a/assets/images/projects/nfm-trd-2023.webp b/assets/images/projects/nfm-trd-2023.webp new file mode 100644 index 0000000..312c933 Binary files /dev/null and b/assets/images/projects/nfm-trd-2023.webp differ diff --git a/assets/images/projects/world-esim-admin.webp b/assets/images/projects/world-esim-admin.webp new file mode 100644 index 0000000..0585cb7 Binary files /dev/null and b/assets/images/projects/world-esim-admin.webp differ diff --git a/assets/images/projects/world-esim.webp b/assets/images/projects/world-esim.webp new file mode 100644 index 0000000..de499fb Binary files /dev/null and b/assets/images/projects/world-esim.webp differ diff --git "a/assets/images/projects/\352\265\254\355\230\204\354\230\201\354\203\201.mp4" "b/assets/images/projects/\352\265\254\355\230\204\354\230\201\354\203\201.mp4" new file mode 100644 index 0000000..c5664bb Binary files /dev/null and "b/assets/images/projects/\352\265\254\355\230\204\354\230\201\354\203\201.mp4" differ diff --git a/assets/images/title.webp b/assets/images/title.webp new file mode 100644 index 0000000..059679f Binary files /dev/null and b/assets/images/title.webp differ diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..ca36bb5 Binary files /dev/null and b/favicon.ico differ diff --git a/favicon.png b/favicon.png new file mode 100644 index 0000000..ca36bb5 Binary files /dev/null and b/favicon.png differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..ef48663 --- /dev/null +++ b/index.html @@ -0,0 +1 @@ +
>=1}0==--d&&(d=Math.pow(2,p),p++),delete s[c]}else for(o=a[c],r=0;r
>=1;0==--d&&(d=Math.pow(2,p),p++),a[u]=f++,c=String(l)}if(""!==c){if(Object.prototype.hasOwnProperty.call(s,c)){if(c.charCodeAt(0)<256){for(r=0;r
>=1}else{for(o=1,r=0;r
>=1}0==--d&&(d=Math.pow(2,p),p++),delete s[c]}else for(o=a[c],r=0;r
>=1;0==--d&&(d=Math.pow(2,p),p++)}for(o=2,r=0;r
>=1;for(;;){if(m<<=1,g==t-1){h.push(n(m));break}g++}return h.join("")},decompress:function(e){return null==e?"":""==e?null:i._decompress(e.length,32768,(function(t){return e.charCodeAt(t)}))},_decompress:function(t,n,r){var o,i,a,s,l,u,c,d=[],f=4,p=4,h=3,m="",g=[],v={val:r(0),position:n,index:1};for(o=0;o<3;o+=1)d[o]=o;for(a=0,l=Math.pow(2,2),u=1;u!=l;)s=v.val&v.position,v.position>>=1,0==v.position&&(v.position=n,v.val=r(v.index++)),a|=(s>0?1:0)*u,u<<=1;switch(a){case 0:for(a=0,l=Math.pow(2,8),u=1;u!=l;)s=v.val&v.position,v.position>>=1,0==v.position&&(v.position=n,v.val=r(v.index++)),a|=(s>0?1:0)*u,u<<=1;c=e(a);break;case 1:for(a=0,l=Math.pow(2,16),u=1;u!=l;)s=v.val&v.position,v.position>>=1,0==v.position&&(v.position=n,v.val=r(v.index++)),a|=(s>0?1:0)*u,u<<=1;c=e(a);break;case 2:return""}for(d[3]=c,i=c,g.push(c);;){if(v.index>t)return"";for(a=0,l=Math.pow(2,h),u=1;u!=l;)s=v.val&v.position,v.position>>=1,0==v.position&&(v.position=n,v.val=r(v.index++)),a|=(s>0?1:0)*u,u<<=1;switch(c=a){case 0:for(a=0,l=Math.pow(2,8),u=1;u!=l;)s=v.val&v.position,v.position>>=1,0==v.position&&(v.position=n,v.val=r(v.index++)),a|=(s>0?1:0)*u,u<<=1;d[p++]=e(a),c=p-1,f--;break;case 1:for(a=0,l=Math.pow(2,16),u=1;u!=l;)s=v.val&v.position,v.position>>=1,0==v.position&&(v.position=n,v.val=r(v.index++)),a|=(s>0?1:0)*u,u<<=1;d[p++]=e(a),c=p-1,f--;break;case 2:return g.join("")}if(0==f&&(f=Math.pow(2,h),h++),d[c])m=d[c];else{if(c!==p)return null;m=i+i.charAt(0)}g.push(m),d[p++]=i+m.charAt(0),i=m,0==--f&&(f=Math.pow(2,h),h++)}}};return i}();void 0===(r=function(){return o}.call(t,n,t,e))||(e.exports=r)},4463:(e,t,n)=>{"use strict";var r=n(2791),o=n(5296);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n a||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","var camel2hyphen = function (str) {\n return str\n .replace(/[A-Z]/g, function (match) {\n return '-' + match.toLowerCase();\n })\n .toLowerCase();\n};\n\nmodule.exports = camel2hyphen;","/**\n * This file automatically generated from `pre-publish.js`.\n * Do not manually edit.\n */\n\nmodule.exports = {\n \"area\": true,\n \"base\": true,\n \"br\": true,\n \"col\": true,\n \"embed\": true,\n \"hr\": true,\n \"img\": true,\n \"input\": true,\n \"link\": true,\n \"meta\": true,\n \"param\": true,\n \"source\": true,\n \"track\": true,\n \"wbr\": true\n};\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/portfolio/\";","////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Actions represent the type of change to a location value.\n */\nexport enum Action {\n /**\n * A POP indicates a change to an arbitrary index in the history stack, such\n * as a back or forward navigation. It does not describe the direction of the\n * navigation, only that the current index changed.\n *\n * Note: This is the default action for newly created history objects.\n */\n Pop = \"POP\",\n\n /**\n * A PUSH indicates a new entry being added to the history stack, such as when\n * a link is clicked and a new page loads. When this happens, all subsequent\n * entries in the stack are lost.\n */\n Push = \"PUSH\",\n\n /**\n * A REPLACE indicates the entry at the current index in the history stack\n * being replaced by a new one.\n */\n Replace = \"REPLACE\",\n}\n\n/**\n * The pathname, search, and hash values of a URL.\n */\nexport interface Path {\n /**\n * A URL pathname, beginning with a /.\n */\n pathname: string;\n\n /**\n * A URL search string, beginning with a ?.\n */\n search: string;\n\n /**\n * A URL fragment identifier, beginning with a #.\n */\n hash: string;\n}\n\n// TODO: (v7) Change the Location generic default from `any` to `unknown` and\n// remove Remix `useLocation` wrapper.\n\n/**\n * An entry in a history stack. A location contains information about the\n * URL path, as well as possibly some arbitrary state and a key.\n */\nexport interface Location