{"componentChunkName":"component---node-modules-stvad-gatsby-theme-garden-src-templates-roam-page-js","path":"/June-17th-2022","result":{"data":{"roamPage":{"title":"June 17th, 2022","childMdx":{"body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar Block = makeShortcode(\"Block\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"june-17th-2022\"\n  }, \"June 17th, 2022\"), mdx(Block, {\n    id: \"BSUkvh-Rz\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC624\\uB298 \\uC77D\\uC740 \\uB9C1\\uD06C\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"_kfo9pSxq\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://techblog.deepnatural.ai/2021/04/25/drt\"\n    }, \"\\uB3D9\\uB8CC\\uB4E4\\uB85C\\uBD80\\uD130 \\uD6A8\\uACFC\\uC801\\uC73C\\uB85C \\uBC30\\uC6B0\\uAE30\"), \" \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/DRT\",\n      \"title\": \"hashtag_DRT\",\n      \"className\": \"hashtag internal-link\"\n    }, \"DRT\"), \"\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"s3rA5nMuf\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC81C\\uBAA9\\uC740 \\uB09A\\uC2DC\\uACE0 DRT \\uC18C\\uAC1C\\uD558\\uB294 \\uAE00\\uC784\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"UF3i2wvCf\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"DRT\\uB77C \\uD568\\uC740 \\uC21C\\uAC04\\uC758 \\uCC30\\uB098\\uC5D0 \\uC9C1\\uAD00\\uACFC \\uD1B5\\uCC30\\uC744 \\uBC1C\\uD718\\uD558\\uB294 \\uC804\\uBB38\\uAC00\\uB4E4\\uC758 \\uC9C1\\uAD00\\uC744 \\uC5ED\\uC73C\\uB85C \\uBD84\\uC11D\\uD574 \\uB9CC\\uB4E0 \\uBC29\\uBC95\\uB860\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"DbPapThIl\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC804\\uBB38\\uAC00\\uB294 \\uACBD\\uD5D8\\uC744 \\uBC14\\uD0D5\\uC73C\\uB85C \\uC911\\uC694\\uD55C \\uC2E4\\uB9C8\\uB9AC\\uB97C \\uD3EC\\uCC29\\uD574 \\uD2B9\\uBCC4\\uD55C \\uC804\\uB7B5\\uC744 \\uD1B5\\uD574 \\uBB38\\uC81C\\uC5D0 \\uC811\\uADFC\\uD55C\\uB2E4\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"4oFOAsu63\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"em\", {\n      parentName: \"p\"\n    }, \"\\uC804\\uBB38\\uAC00\\uB294 \\uC624\\uB79C \\uACBD\\uD5D8\\uACFC \\uC219\\uB828\\uC73C\\uB85C \\uC778\\uD574, \\uCD08\\uC2EC\\uC790\\uB294 \\uD3EC\\uCC29\\uD558\\uC9C0 \\uBABB\\uD558\\uB294 \\uC911\\uC694\\uD55C \\uB2E8\\uC11C\\uB098 \\uC2E4\\uB9C8\\uB9AC\\uB97C \\uD3EC\\uCC29\\uD560 \\uC218 \\uC788\\uB294 \\uB2A5\\uB825\\uC774 \\uC788\\uACE0, \\uCD08\\uC2EC\\uC790\\uC640\\uB294 \\uB2E4\\uB978 \\uC811\\uADFC \\uBC29\\uBC95\\uACFC \\uC804\\uB7B5\\uC744 \\uC0AC\\uC6A9\\uD558\\uB294 \\uAC83\\uC73C\\uB85C \\uBC1D\\uD600\\uC84C\\uC2B5\\uB2C8\\uB2E4. \\uADF8\\uB9AC\\uACE0 \\uADF8 \\uBC30\\uACBD\\uC5D0\\uB294, \\uCD08\\uC2EC\\uC790\\uC640 \\uB2E4\\uB978 \\uC0AC\\uACE0\\uBC29\\uC2DD(\\uBA58\\uD0C8 \\uBAA8\\uB378)\\uC774 \\uC788\\uC2B5\\uB2C8\\uB2E4.\"))),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"sOngK0ho9\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uADF8\\uB7EC\\uB098 \\uC774\\uB7EC\\uD55C \\uC804\\uB7B5\\uACFC \\uC811\\uADFC \\uBC29\\uC2DD\\uC740 \\uC774\\uBBF8 \\uADF8\\uB4E4\\uC5D0\\uAC8C\\uB294 \\uC77C\\uC0C1\\uC801\\uC778 \\uBC29\\uC2DD\\uC774\\uAE30 \\uB54C\\uBB38\\uC5D0 \\uC2A4\\uC2A4\\uB85C\\uB3C4 \\uC54C\\uC544\\uCC44\\uC9C0 \\uBABB\\uD568\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"vqq-LxnjM\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"em\", {\n      parentName: \"p\"\n    }, \"\\uC804\\uBB38\\uAC00\\uB294 \\uC774\\uBBF8 \\uC790\\uC2E0\\uC774 \\uD558\\uB294 \\uD6A8\\uACFC\\uC801\\uC778 \\uD589\\uB3D9\\uC774\\uB098 \\uBA58\\uD0C8 \\uBAA8\\uB378\\uB4E4\\uC774 \\uBAB8\\uACFC \\uB9C8\\uC74C\\uC5D0 \\uC775\\uC5B4 \\uC788\\uAE30 \\uB54C\\uBB38\\uC5D0, \\uC2A4\\uC2A4\\uB85C\\uC758 \\uD6A8\\uACFC\\uC801\\uC778 \\uC804\\uB7B5\\uC744 \\uC54C\\uC544\\uCC44\\uC9C0 \\uBABB\\uD558\\uACE4 \\uD569\\uB2C8\\uB2E4.\"))),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"ApaYY7JiO\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC0AC\\uC6A9\\uC774\\uB860\\uACFC \\uC2E0\\uBD09\\uC774\\uB860\\uC758 \\uCC28\\uC774\")),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"sdR6ejpIh\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://blog.cloudflare.com/eliminating-captchas-on-iphones-and-macs-using-new-standard/\"\n    }, \"Private Access Tokens: eliminating CAPTCHAs on iPhones and Macs with open standards\"), \" \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Apple\",\n      \"title\": \"hashtag_Apple\",\n      \"className\": \"hashtag internal-link\"\n    }, \"Apple\"), \" \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Cloudflare\",\n      \"title\": \"hashtag_Cloudflare\",\n      \"className\": \"hashtag internal-link\"\n    }, \"Cloudflare\"), \" \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Privacy-Pass\",\n      \"title\": \"hashtag_Privacy Pass\",\n      \"className\": \" internal-link hashtag\"\n    }, \"Privacy Pass\"), \" \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/CAPTCHA\",\n      \"title\": \"hashtag_CAPTCHA\",\n      \"className\": \"hashtag internal-link\"\n    }, \"CAPTCHA\"), \"\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"klua5BK1j\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Cloudflare\",\n      \"title\": \"Cloudflare\",\n      \"className\": \" internal-link\"\n    }, \"Cloudflare\"), \"\\uB294 \\uAF64 \\uC608\\uC804\\uBD80\\uD130 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/CAPTCHA\",\n      \"title\": \"CAPTCHA\",\n      \"className\": \" internal-link\"\n    }, \"CAPTCHA\"), \"\\uB97C \\uC81C\\uAC70\\uD558\\uB294 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Privacy-Pass\",\n      \"title\": \"Privacy Pass\",\n      \"className\": \" internal-link\"\n    }, \"Privacy Pass\"), \" \\uD45C\\uC900\\uC744 \\uBC00\\uACE0 \\uC788\\uC5C8\\uC74C\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"ZMKOvsCP6\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC6D0\\uB798\\uB294 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/53faa\",\n      \"title\": \"브라우저\",\n      \"className\": \" internal-link\"\n    }, \"\\uBE0C\\uB77C\\uC6B0\\uC800\"), \" \\uD655\\uC7A5\\uC73C\\uB85C\\uB9CC \\uC4F8 \\uC218 \\uC788\\uC5C8\\uB294\\uB370 \\uC774\\uBC88\\uC5D0 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Apple\",\n      \"title\": \"Apple\",\n      \"className\": \" internal-link\"\n    }, \"Apple\"), \" \\uC0C8 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/iOS\",\n      \"title\": \"iOS\",\n      \"className\": \" internal-link\"\n    }, \"iOS\"), \"\\uC640 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/macOS\",\n      \"title\": \"macOS\",\n      \"className\": \" internal-link\"\n    }, \"macOS\"), \"\\uC5D0\\uC11C \\uACF5\\uC2DD \\uC9C0\\uC6D0\\uC744 \\uBC1C\\uD45C\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"8_tqnv45U\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Cloudflare\",\n      \"title\": \"Cloudflare\",\n      \"className\": \" internal-link\"\n    }, \"Cloudflare\"), \" \\uBCF4\\uD638\\uB97C \\uC0AC\\uC6A9\\uD558\\uB358 \\uC6F9\\uC0AC\\uC774\\uD2B8\\uB294 \\uBCC4\\uB3C4\\uC758 \\uC791\\uC5C5 \\uC5C6\\uC774\\uB3C4 \\uD574\\uB2F9 \\uAE30\\uAE30 \\uC0AC\\uC6A9\\uC790\\uB4E4\\uC5D0\\uAC8C \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/CAPTCHA\",\n      \"title\": \"CAPTCHA\",\n      \"className\": \" internal-link\"\n    }, \"CAPTCHA\"), \" \\uC5C6\\uC774 \\uC0AC\\uC6A9\\uC790\\uB97C \\uAC80\\uC99D\\uD560 \\uC218 \\uC788\\uAC8C \\uB428\")),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"q0Grk2N1A\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://dev.to/this-is-learning/patterns-for-building-javascript-websites-in-2022-5a93\"\n    }, \"Patterns for Building JavaScript Websites in 2022\"), \" \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/6e12b\",\n      \"title\": \"hashtag_자바스크립트\",\n      \"className\": \"hashtag internal-link\"\n    }, \"\\uC790\\uBC14\\uC2A4\\uD06C\\uB9BD\\uD2B8\"), \"\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"eokog98Wj\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/6e12b\",\n      \"title\": \"자바스크립트\",\n      \"className\": \" internal-link\"\n    }, \"\\uC790\\uBC14\\uC2A4\\uD06C\\uB9BD\\uD2B8\"), \" \\uBC14\\uD0D5\\uC73C\\uB85C \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/9f451\",\n      \"title\": \"웹\",\n      \"className\": \" internal-link\"\n    }, \"\\uC6F9\"), \" \\uC0AC\\uC774\\uD2B8\\uB97C \\uB9CC\\uB4DC\\uB294 \\uC5EC\\uB7EC \\uBC29\\uBC95\\uC5D0 \\uB300\\uD574 \\uBD84\\uC11D\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"v1hpkiC1Q\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uD544\\uC790\\uB294 \\uD604\\uC874\\uD558\\uB294 \\uC5EC\\uB7EC \\uBC29\\uBC95\\uB860\\uC744 \\uD06C\\uAC8C 3\\uAC00\\uC9C0\\uB97C \\uAE30\\uC900\\uC73C\\uB85C \\uAD6C\\uBD84\\uD568\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"RgjtG1Xwu\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"Where do you navigate?\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"0JnPDnTZd\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"When do you render?\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"_KGkxMXh8\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"How do you hydrate?\")),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"_4h5BWz7C\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uAC00\\uC7A5 \\uC804\\uD615\\uC801\\uC778 \\uD615\\uD0DC\\uC758 \\uC5EC\\uB7EC \\uC720\\uBA85 \\uC0AC\\uC774\\uD2B8\\uB97C \\uC608\\uC2DC\\uB85C \\uC720\\uD6A8\\uD55C \\uC804\\uB7B5\\uC744 \\uC815\\uB9AC\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"fLQC3sXHH\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uB77C\\uC6B0\\uD305\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"Hb4K_nMmJ\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC11C\\uBC84 \\uB77C\\uC6B0\\uD305\\uC744 \\uD1B5\\uD55C MPA\\uC778\\uC9C0, \\uD074\\uB77C\\uC774\\uC5B8\\uD2B8 \\uB77C\\uC6B0\\uD305\\uC744 \\uD1B5\\uD55C SPA\\uC778\\uC9C0\\uAC00 \\uAC00\\uC7A5 \\uCCAB\\uBC88\\uC7AC\\uB85C \\uAC00\\uB974\\uB294 \\uAE30\\uC900\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"GUhzqVpiE\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"em\", {\n      parentName: \"p\"\n    }, \"But the nuance is that all sites are first served from a server. A server rendered SPA becomes an MPA simply by removing the \", mdx(\"inlineCode\", {\n      parentName: \"em\"\n    }, \"<script>\"), \" tag.\"))),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"2iVjQM9d9\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC0C8\\uB85C\\uC6B4 \\uAE30\\uC220 (RSC, TurboLinks) \\uB4F1\\uC774 \\uB4F1\\uC7A5\\uD558\\uBA74\\uC11C\\uBD80\\uD130 \\uAD6C\\uBD84\\uC774 \\uB2E4\\uC18C \\uBAA8\\uD638\\uD574\\uC9C0\\uACE0 \\uC788\\uB294 \\uCD94\\uC138\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"ycdPvxtCm\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"Hybrid \\uAE30\\uC220\\uC758 \\uD2B9\\uC9D5\\uC740 \\uC11C\\uBC84 \\uAE30\\uBC18 \\uB77C\\uC6B0\\uD305\\uC744 \\uC911\\uC2EC\\uC73C\\uB85C \\uD558\\uBA74\\uC11C\\uB3C4 \\uD074\\uB77C\\uC774\\uC5B8\\uD2B8 \\uAE30\\uC220\\uC744 \\uD1B5\\uD574 \\uC0AC\\uC774\\uD2B8 \\uC804\\uCCB4 reload\\uB97C \\uCD5C\\uC18C\\uD654\\uD558\\uACE0\\uC790 \\uD55C\\uB2E4\\uB294 \\uAC83\")),\n    mdxType: \"Block\"\n  }))), mdx(Block, {\n    id: \"c-YJlE0n_\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uB80C\\uB354\\uB9C1\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"SK5VsGzQ9\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uB80C\\uB354\\uB9C1\\uC744 \\uD560 \\uC218 \\uC788\\uB294 \\uBC29\\uBC95\\uC740 \\uC2E4\\uC9C8\\uC801\\uC73C\\uB85C \\uD558\\uB098\\uBC16\\uC5D0 \\uC5C6\\uC73C\\uBBC0\\uB85C \\uC911\\uC694\\uD55C \\uAC83\\uC740 \\uB80C\\uB354\\uB9C1\\uC774 \\uC5B8\\uC81C \\uC77C\\uC5B4\\uB098\\uB294\\uAC00 \\uBC16\\uC5D0 \\uC5C6\\uC74C\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"AWt3_NVHn\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"Flutter Web \\uAC19\\uC740 \\uC0AC\\uB3C4\\uB3C4 \\uC5C6\\uB294 \\uAC74 \\uC544\\uB2CC\\uB370 \\uAD73\\uC774 \\uD0DC\\uD074 \\uAC78\\uC9C0 \\uC54A\\uAE30\\uB85C...\")),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"poRRkvXxp\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"TTFB\\uB294 Async SSR\\uC744 \\uCC44\\uD0DD\\uD55C \\uACBD\\uC6B0\\uAC00 \\uC544\\uB2C8\\uB77C\\uBA74 \\uAC70\\uC758 \\uD56D\\uC0C1 \\uB0AE\\uC74C \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Web-Vitals\",\n      \"title\": \"hashtag_Web Vitals\",\n      \"className\": \" internal-link hashtag\"\n    }, \"Web Vitals\"), \"\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"tfU2il43u\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Remix\",\n      \"title\": \"Remix\",\n      \"className\": \" internal-link\"\n    }, \"Remix\"), \", \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/NextJS\",\n      \"title\": \"NextJS\",\n      \"className\": \" internal-link\"\n    }, \"NextJS\"), \" \\uB4F1\\uB4F1 \\uC720\\uBA85\\uD55C SSR \\uD504\\uB808\\uC784\\uC6CC\\uD06C\\uB4E4\\uC774 \\uCC44\\uD0DD\\uD55C \\uBC29\\uBC95\\uC774\\uAE30\\uB3C4\")),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"FLDbC3A4a\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"SSR\\uC774\\uB77C\\uACE0 \\uD574\\uB3C4 \\uB370\\uC774\\uD130\\uB97C \\uAC00\\uC838\\uC624\\uB294 \\uC8FC\\uCCB4\\uC5D0 \\uB530\\uB77C \\uD1B5\\uACC4\\uAC00 \\uD06C\\uAC8C \\uB2EC\\uB77C\\uC9D0 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Web-Vitals\",\n      \"title\": \"hashtag_Web Vitals\",\n      \"className\": \" internal-link hashtag\"\n    }, \"Web Vitals\"), \"\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"BBUlthyz5\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uB370\\uC774\\uD130\\uB97C \\uC11C\\uBC84\\uC5D0\\uC11C \\uAC00\\uC838\\uC624\\uAC8C \\uB418\\uBA74 TTFB\\uB294 \\uB192\\uC544\\uC9C0\\uB098 LCP=FCP\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"I8hhwi33q\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uD074\\uB77C\\uC774\\uC5B8\\uD2B8\\uC5D0\\uC11C \\uAC00\\uC838\\uC624\\uAC8C \\uB418\\uBA74 TTFB\\uB294 \\uB0AE\\uC544\\uC9C0\\uB098 LCP>FCP\")),\n    mdxType: \"Block\"\n  }))), mdx(Block, {\n    id: \"4Rv02cP-D\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uD558\\uC774\\uB4DC\\uB808\\uC774\\uC158\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"eF7bpGezi\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC800\\uC790\\uAC00 \\uC81C\\uC77C \\uAE00\\uC744 \\uB9CE\\uC774 \\uB0A8\\uAE34 \\uC8FC\\uC81C\\uC774\\uAE30\\uB3C4 \\uD568... \\uBCF8\\uC778 \\uC648 \", mdx(\"em\", {\n      parentName: \"p\"\n    }, \"JavaScript Frameworks' Greatest Challenge\"))),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"CkDwnYEVD\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uD6A8\\uACFC\\uC801\\uC73C\\uB85C \\uD574\\uB0B4\\uAE30 \\uB9E4\\uC6B0 \\uC5B4\\uB824\\uC6B4 \\uBB38\\uC81C\\uC5D0 \\uC18D\\uD568 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://dev.to/this-is-learning/why-efficient-hydration-in-javascript-frameworks-is-so-challenging-1ca3\"\n    }, \"https://dev.to/this-is-learning/why-efficient-hydration-in-javascript-frameworks-is-so-challenging-1ca3\"))),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"_fY8tzrRz\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"Hydration\\uC758 \\uBC29\\uBC95\\uB860\\uC740 \\uD06C\\uAC8C 3\\uAC00\\uC9C0 \\uCE21\\uBA74\\uC5D0\\uC11C \\uBCFC \\uC218 \\uC788\\uC74C\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"B_LHJw9Ix\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"When do you load?\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"vA9hGti4F\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"What do you bundle/serialize?\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"3sayyjIC_\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"What do execute on load?\")),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"ekCcgTOEo\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uAC00\\uC7A5 \\uB110\\uB9AC \\uC0AC\\uC6A9\\uB418\\uB294 \\uB85C\\uB4DC \\uD6C4 \\uD558\\uC774\\uB4DC\\uB808\\uC774\\uC158 \\uBC29\\uC2DD\\uC740 \\uB192\\uC740 TTI\\uAC00 \\uB2E8\\uC810\\uC774\\uACE0 \\uC774 \\uBB38\\uC81C\\uB97C \\uD574\\uACB0\\uD558\\uACE0\\uC790 \\uD55C \\uC5EC\\uB7EC \\uBC29\\uBC95\\uB4E4\\uC774 \\uC874\\uC7AC\")),\n    mdxType: \"Block\"\n  }))), mdx(Block, {\n    id: \"OZZtzm1gB\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://blog.pragmaticengineer.com/project-management-at-big-tech/\"\n    }, \"How Big Tech Runs Tech Projects and the Curious Absence of Scrum\"), \" \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/c975b\",\n      \"title\": \"hashtag_빅 테크\",\n      \"className\": \" internal-link hashtag\"\n    }, \"\\uBE45 \\uD14C\\uD06C\"), \"\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"8BLX-Klzb\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/c975b\",\n      \"title\": \"빅 테크\",\n      \"className\": \" internal-link\"\n    }, \"\\uBE45 \\uD14C\\uD06C\"), \"\\uC5D0\\uC11C \\uD504\\uB85C\\uC81D\\uD2B8\\uB97C \\uC5B4\\uB5BB\\uAC8C \\uAD00\\uB9AC \\uBC0F \\uC6B4\\uC601\\uD558\\uB294\\uAC00\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"DRmgshs3o\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"img\", {\n      parentName: \"p\",\n      \"src\": \"https://blog.pragmaticengineer.com/content/images/size/w1000/2021/09/Screenshot-2021-09-21-at-16.15.53.png\",\n      \"alt\": null\n    }))),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"l17EXv9NB\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://deno.com/blog/v1.23\"\n    }, \"Deno 1.23 Release Notes\"))),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"gD6R7t3Gl\",\n    content: mdx(React.Fragment, null, mdx(\"h2\", {\n      \"id\": \"no-type-checking-by-default\"\n    }, \"No type-checking by default\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"gpzpni8wZ\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uB9B4\\uB9AC\\uC988 \\uB178\\uD2B8 \\uC911 \\uC81C\\uC77C \\uD575\\uC2EC\\uC778 \\uB4EF\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"oxe0vQgtA\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC77C\\uBD80 \\uCEE4\\uB9E8\\uB4DC\\uB294 \\uC5EC\\uC804\\uD788 \\uD0C0\\uC785 \\uAC80\\uC0AC\\uB97C \\uC2DC\\uD589\\uD558\\uC9C0\\uB9CC \", mdx(\"inlineCode\", {\n      parentName: \"p\"\n    }, \"run\"), \", \", mdx(\"inlineCode\", {\n      parentName: \"p\"\n    }, \"eval\"), \", \", mdx(\"inlineCode\", {\n      parentName: \"p\"\n    }, \"cache\"), \"\\uAC00 \\uB354 \\uC774\\uC0C1 \\uD0C0\\uC785 \\uCCB4\\uD0B9\\uC744 \\uD558\\uC9C0 \\uC54A\\uC74C\")),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"19JSdELLs\",\n    content: mdx(React.Fragment, null, mdx(\"h2\", {\n      \"id\": \"remove-unstable-denosleepsync-api\"\n    }, \"Remove unstable Deno.sleepSync API\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"q_AOT66ie\",\n    content: mdx(React.Fragment, null, mdx(\"pre\", null, mdx(\"code\", {\n      parentName: \"pre\",\n      \"className\": \"language-javascript\"\n    }, \"// Polyfill\\nfunction sleepSync(timeout) {\\n  const sab = new SharedArrayBuffer(1024);\\n  const int32 = new Int32Array(sab);\\n  Atomics.wait(int32, 0, 0, timeout);\\n}\\n\"))),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"NM8zOdZHv\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/9f451\",\n      \"title\": \"웹\",\n      \"className\": \" internal-link\"\n    }, \"\\uC6F9\"), \" API\\uB85C\\uB3C4 \\uAD6C\\uD604\\uC5D0 \\uBB38\\uC81C\\uAC00 \\uC5C6\\uACE0 \\uC4F8 \\uB370\\uB3C4 \\uC5C6\\uC5B4 \\uBCF4\\uC5EC\\uC11C \\uC9C0\\uC6E0\\uB2E4 \\uD568...\")),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"VglKG4JEj\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uADF8 \\uC678\\uC5D0\\uB3C4 \\uC774\\uAC83\\uC800\\uAC83 \\uC788\\uB294\\uB370 \\uB09C \\uC815\\uB9AC\\uD558\\uB294 \\uAC70\\uC9C0 \\uBC88\\uC5ED\\uD558\\uB294 \\uAC70 \\uC544\\uB2C8\\uB2C8\\uAE4C \\uAC00\\uC11C \\uC77D\\uC5B4\\uBCF4\\uBA74 \\uB418\\uACA0\\uB2E4\")),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"eFNgY7z-G\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/378b6\",\n      \"title\": \"타입스크립트\",\n      \"className\": \" internal-link\"\n    }, \"\\uD0C0\\uC785\\uC2A4\\uD06C\\uB9BD\\uD2B8\"), \"\\uC5D0\\uC11C \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://stackoverflow.com/a/47842314/4154321\"\n    }, \"interface\\uB97C \\uC4F0\\uBA74 recursive type\\uC744 \\uB9CC\\uB4E4 \\uC218 \\uC788\\uB2E4\"))),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"n85P-z2Cd\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC544\\uB9C8\\uB3C4 \\uC778\\uD130\\uD398\\uC774\\uC2A4\\uB294 unalias\\uD558\\uC9C0 \\uC54A\\uACE0 named type\\uCC98\\uB7FC \\uCDE8\\uAE09\\uD574\\uC11C \\uADF8\\uB7F0 \\uB4EF\")),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"4FjMBqj4K\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"Telescope \\uACE0\\uC7A5\\uB098\\uC11C \\uACE0\\uCCD0\\uB460\")),\n    mdxType: \"Block\"\n  })));\n}\n;\nMDXContent.isMDXComponent = true;","outboundReferences":[{"__typename":"Mdx","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar Block = makeShortcode(\"Block\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"drt\"\n  }, \"DRT\"), mdx(Block, {\n    id: \"NXPbsKctf\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"strong\", {\n      parentName: \"p\"\n    }, \"Decision Requirements Table\"))),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"O2dKR57zn\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://www.amazon.com/Power-Intuition-Feelings-Better-Decisions/dp/0385502893/\"\n    }, \"Power of Intuition\"), \"\\uC774\\uB77C\\uB294 \\uCC45\\uC5D0\\uC11C \\uC18C\\uAC1C\\uB418\\uB294 \\uAC1C\\uB150\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"Ij8ItUnRd\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC21C\\uAC04\\uC758 \\uCC30\\uB098\\uC5D0 \\uC9C1\\uAD00\\uACFC \\uD1B5\\uCC30\\uC744 \\uBC1C\\uD718\\uD558\\uB294 \\uC804\\uBB38\\uAC00\\uB4E4\\uC758 \\uC9C1\\uAD00\\uC744 \\uC5ED\\uC73C\\uB85C \\uBD84\\uC11D\\uD574 \\uB9CC\\uB4E0 \\uBC29\\uBC95\\uB860\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"6FIXybwvZ\",\n    content: mdx(React.Fragment, null, mdx(\"h1\", {\n      \"id\": \"과정\"\n    }, \"\\uACFC\\uC815\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"5oIoSd8jw\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC790\\uC8FC \\uD558\\uAC8C \\uB418\\uB294, \\uADF8\\uB7EC\\uBA74\\uC11C\\uB3C4 \\uC911\\uC694\\uD55C \\uD310\\uB2E8\\uC774\\uB098 \\uC758\\uC0AC\\uACB0\\uC815 \\uAEBC\\uB9AC\\uB97C \\uC815\\uD569\\uB2C8\\uB2E4.\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"OERUx59X6\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uADF8 \\uD310\\uB2E8/\\uACB0\\uC815\\uC774 \\uC65C \\uC5B4\\uB824\\uC6B4\\uC9C0, \\uBB34\\uC5C7\\uC774 \\uADF8\\uAC83\\uC744 \\uC5B4\\uB835\\uAC8C \\uD558\\uB294\\uC9C0\\uB97C \\uB098\\uC5F4\\uD574\\uBD05\\uB2C8\\uB2E4.\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"435MTEDSf\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uADF8\\uAC78 \\uD560 \\uB54C \\uC790\\uC8FC \\uD558\\uB294 \\uC2E4\\uC218\\uB4E4\\uC744 \\uB098\\uC5F4\\uD574\\uBD05\\uB2C8\\uB2E4.\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"GVwEvnrsL\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC804\\uBB38\\uAC00\\uB294 \\uC774 \\uD310\\uB2E8/\\uACB0\\uC815\\uC744 \\uC5B4\\uB5BB\\uAC8C \\uD558\\uB294\\uC9C0, \\uCD08\\uC2EC\\uC790\\uC640 \\uC5B4\\uB5BB\\uAC8C \\uB2E4\\uB974\\uAC8C \\uD558\\uB294\\uC9C0 \\uB098\\uC5F4\\uD574\\uBD05\\uB2C8\\uB2E4. \\uC774\\uB54C, \\uC804\\uBB38\\uAC00\\uAC00 \\uD3EC\\uCC29\\uD558\\uB294 \\uB2E8\\uC11C(cue)\\uC640, \\uCDE8\\uD558\\uB294 \\uC804\\uB7B5(strategy)\\uC744 \\uC8FC\\uBAA9\\uD569\\uB2C8\\uB2E4.\")),\n    mdxType: \"Block\"\n  })));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamPage","id":"f4b266c4-c056-543e-8309-94deafd2941a","title":"DRT","fields":{"slug":"/DRT"}}},{"__typename":"Mdx","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"apple\"\n  }, \"Apple\"));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamPage","id":"d626edc1-8f31-552c-8430-ef9aae57eca2","title":"Apple","fields":{"slug":"/Apple"}}},{"__typename":"Mdx","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar Block = makeShortcode(\"Block\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"cloudflare\"\n  }, \"Cloudflare\"), mdx(Block, {\n    id: \"nXTSCslmo\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://cloudflare.com\"\n    }, \"https://cloudflare.com\"))),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"BPwzHCpMm\",\n    content: mdx(React.Fragment, null),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamPage","id":"528c86d9-15fb-5371-ba2a-fa091d9c00c6","title":"Cloudflare","fields":{"slug":"/Cloudflare"}}},{"__typename":"Mdx","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"captcha\"\n  }, \"CAPTCHA\"));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamPage","id":"f285e766-87bd-5e3f-b37e-0a7adac46976","title":"CAPTCHA","fields":{"slug":"/CAPTCHA"}}},{"__typename":"Mdx","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar Block = makeShortcode(\"Block\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"자바스크립트\"\n  }, \"\\uC790\\uBC14\\uC2A4\\uD06C\\uB9BD\\uD2B8\"), mdx(Block, {\n    id: \"kn-72YiM_\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"tc39.es/ecma262/\"\n    }, \"ECMA-262\"), \"\\uC5D0 \\uC758\\uD574 \\uC815\\uC758\\uB41C ECMAScript\\uC758 \\uAD6C\\uD604. \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/474d4\",\n      \"title\": \"hashtag_프로그래밍 언어\",\n      \"className\": \" internal-link hashtag\"\n    }, \"\\uD504\\uB85C\\uADF8\\uB798\\uBC0D \\uC5B8\\uC5B4\"), \"\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"vX1W7hV8S\",\n    content: mdx(React.Fragment, null, mdx(\"h1\", {\n      \"id\": \"javascript-엔진\"\n    }, \"JavaScript \\uC5D4\\uC9C4\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"t7zXfbOmI\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/V8\",\n      \"title\": \"V8\",\n      \"className\": \" internal-link\"\n    }, \"V8\"), \"\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"Acsz8mWgi\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/JavaScriptCore\",\n      \"title\": \"JavaScriptCore\",\n      \"className\": \" internal-link\"\n    }, \"JavaScriptCore\"), \"\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"MlY682Yc3\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://github.com/chakra-core/ChakraCore\"\n    }, \"ChakraCore\"), \" - \\uBCF8\\uB798 Edge \\uAC1C\\uBC1C\\uC5D0 \\uC4F0\\uC774\\uB2E4\\uAC00 Edge\\uAC00 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Chromium\",\n      \"title\": \"Chromium\",\n      \"className\": \" internal-link\"\n    }, \"Chromium\"), \" \\uAE30\\uBC18\\uC73C\\uB85C \\uC804\\uD658\\uB41C \\uB4A4 \\uCEE4\\uBBA4\\uB2C8\\uD2F0\\uC5D0\\uC11C \\uC784\\uBCA0\\uB4DC \\uC0AC\\uC6A9\\uB840\\uB97C \\uC704\\uD574 \\uAC1C\\uBC1C\\uB418\\uACE0 \\uC788\\uB2E4.\")),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"RiCwYmyPm\",\n    content: mdx(React.Fragment, null, mdx(\"h1\", {\n      \"id\": \"표준\"\n    }, \"\\uD45C\\uC900\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"VQs8DpeCi\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"ECMA-262\\uB294 ECMA International\\uC758 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://tc39.es/\"\n    }, \"TC39\"), \"\\uC5D0\\uC11C \\uAD00\\uB9AC\\uD558\\uB294 \\uD45C\\uC900\\uC774\\uB2E4.\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"-3gSzhN5Q\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://github.com/tc39/test262\"\n    }, \"Test262\"), \"\\uB97C \\uD1B5\\uD574 \\uC5B4\\uB5A4 \\uAD6C\\uD604\\uCCB4\\uAC00 ECMA-262 \\uD45C\\uC900\\uC5D0 \\uBD80\\uD569\\uD558\\uB294 \\uC9C0 \\uD655\\uC778\\uD55C\\uB2E4.\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"iaSziKiRa\",\n    content: mdx(React.Fragment, null, mdx(\"h2\", {\n      \"id\": \"proposals\"\n    }, \"Proposals\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"UeOCugAFE\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"ECMAScript\\uC5D0 \\uAE30\\uB2A5\\uC744 \\uCD94\\uAC00\\uD558\\uAE30 \\uC704\\uD574 \\uB0B4\\uB294 \\uC81C\\uC548\\uC11C.\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"BBhZhOXTe\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"4\\uAC00\\uC9C0 \\uB2E8\\uACC4\\uAC00 \\uC788\\uC73C\\uBA70 \\uAC01 \\uB2E8\\uACC4(Stage)\\uAC00 \\uC758\\uBBF8\\uD558\\uB294 \\uBC14\\uB294 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://tc39.es/process-document/\"\n    }, \"\\uC5EC\\uAE30\"), \"\\uC5D0\\uC11C \\uD655\\uC778\\uD560 \\uC218 \\uC788\\uB2E4.\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"Ju4BKCiLi\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uD604\\uC7AC \\uC81C\\uC548\\uB418\\uC5B4 TC39\\uAC00 \\uC778\\uC2DD\\uD558\\uACE0 \\uC788\\uB294 Proposal\\uC758 \\uBAA9\\uB85D\\uC740 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://github.com/tc39/proposals\"\n    }, \"\\uC5EC\\uAE30\"))),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"_Mo0Oagh_\",\n    content: mdx(React.Fragment, null, mdx(\"h2\", {\n      \"id\": \"버전\"\n    }, \"\\uBC84\\uC804\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"wZg2hMY6U\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"ECMA-262\\uB294 \\uBCF4\\uD1B5 1\\uB144\\uC5D0 \\uD55C \\uBC88\\uC529 \\uC81C\\uC548\\uB41C \\uAE30\\uB2A5 \\uC911 \\uCC44\\uD0DD\\uB41C \\uC81C\\uC548\\uC11C\\uB97C \\uD569\\uCCD0 \\uC815\\uC2DD \\uD45C\\uC900\\uC73C\\uB85C \\uC2B9\\uACA9\\uD55C\\uB2E4.\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"YdBbvNB76\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"2015\\uB144 \\uC774\\uC804\\uC5D0 \\uB098\\uC628 \\uD45C\\uC900\\uB4E4\\uC740 \\uC774\\uB7EC\\uD55C \\uD45C\\uC900 \\uC808\\uCC28\\uAC00 \\uBA85\\uD655\\uD788 \\uC218\\uB9BD\\uB418\\uAE30 \\uC804\\uC774\\uB77C \\uBC84\\uC804\\uC758 \\uC21C\\uC11C\\uB97C \\uB530\\uB77C\\uC11C ES1, ES3 \\uB4F1\\uC73C\\uB85C \\uBD80\\uB974\\uACE0 2015\\uB144\\uBD80\\uD130\\uB294 1\\uB144 \\uC8FC\\uAE30\\uB85C \\uADDC\\uCE59\\uC801\\uC73C\\uB85C \\uB098\\uC624\\uBBC0\\uB85C ES2015(ES6\\uACFC \\uAC19\\uC74C)\\uB85C \\uBD80\\uB978\\uB2E4.\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"aaszztHlh\",\n    content: mdx(React.Fragment, null, mdx(\"h3\", {\n      \"id\": \"es1\"\n    }, mdx(\"a\", {\n      parentName: \"h3\",\n      \"href\": \"https://www.ecma-international.org/wp-content/uploads/ECMA-262_1st_edition_june_1997.pdf\"\n    }, \"ES1\"))),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"Mrmz3VOYf\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uAC00\\uC7A5 \\uAE30\\uBCF8\\uC774 \\uB41C \\uAC83.\")),\n    mdxType: \"Block\"\n  })))), mdx(Block, {\n    id: \"RgBx5KAj3\",\n    content: mdx(React.Fragment, null, mdx(\"h1\", {\n      \"id\": \"모듈-시스템\"\n    }, \"\\uBAA8\\uB4C8 \\uC2DC\\uC2A4\\uD15C\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"KaSy4N_2O\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uD06C\\uAC8C \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/CommonJS\",\n      \"title\": \"CommonJS\",\n      \"className\": \" internal-link\"\n    }, \"CommonJS\"), \", \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/ES-Modules\",\n      \"title\": \"ES Modules\",\n      \"className\": \" internal-link\"\n    }, \"ES Modules\"), \", AMD \\uB4F1\\uC774 \\uC874\\uC7AC\\uD55C\\uB2E4.\")),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"c_ZcXGUyY\",\n    content: mdx(React.Fragment, null, mdx(\"h1\", {\n      \"id\": \"asi\"\n    }, \"ASI\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"hF8jN-xBf\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"Automatic Semicolon Insertion\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"w-YaLCfAr\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/a6f84\",\n      \"title\": \"추가 바람\",\n      \"className\": \" internal-link\"\n    }, \"\\uCD94\\uAC00 \\uBC14\\uB78C\"), \"\")),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"qxYxELWxd\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://medium.com/@limsungmook/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%8A%94-%EC%99%9C-%ED%94%84%EB%A1%9C%ED%86%A0%ED%83%80%EC%9E%85%EC%9D%84-%EC%84%A0%ED%83%9D%ED%96%88%EC%9D%84%EA%B9%8C-997f985adb42\"\n    }, \"\\uC790\\uBC14\\uC2A4\\uD06C\\uB9BD\\uD2B8\\uB294 \\uC65C \\uD504\\uB85C\\uD1A0\\uD0C0\\uC785\\uC744 \\uC120\\uD0DD\\uD588\\uC744\\uAE4C\"))),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamPage","id":"608eeafb-bef8-529d-8421-a1d62e6c4970","title":"자바스크립트","fields":{"slug":"/6e12b"}}},{"__typename":"Mdx","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"privacy-pass\"\n  }, \"Privacy Pass\"));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamPage","id":"986a609b-d281-53ea-bd72-713fd4b0aee6","title":"Privacy Pass","fields":{"slug":"/Privacy-Pass"}}},{"__typename":"Mdx","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar Block = makeShortcode(\"Block\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"cloudflare\"\n  }, \"Cloudflare\"), mdx(Block, {\n    id: \"nXTSCslmo\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://cloudflare.com\"\n    }, \"https://cloudflare.com\"))),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"BPwzHCpMm\",\n    content: mdx(React.Fragment, null),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamPage","id":"528c86d9-15fb-5371-ba2a-fa091d9c00c6","title":"Cloudflare","fields":{"slug":"/Cloudflare"}}},{"__typename":"Mdx","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"captcha\"\n  }, \"CAPTCHA\"));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamPage","id":"f285e766-87bd-5e3f-b37e-0a7adac46976","title":"CAPTCHA","fields":{"slug":"/CAPTCHA"}}},{"__typename":"Mdx","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"브라우저\"\n  }, \"\\uBE0C\\uB77C\\uC6B0\\uC800\"));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamPage","id":"e27e1c44-c536-5510-9908-ec393d2562cf","title":"브라우저","fields":{"slug":"/53faa"}}},{"__typename":"Mdx","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"apple\"\n  }, \"Apple\"));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamPage","id":"d626edc1-8f31-552c-8430-ef9aae57eca2","title":"Apple","fields":{"slug":"/Apple"}}},{"__typename":"Mdx","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar Block = makeShortcode(\"Block\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"ios\"\n  }, \"iOS\"), mdx(Block, {\n    id: \"y6AVHs4Cb\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/a6f84\",\n      \"title\": \"추가 바람\",\n      \"className\": \" internal-link\"\n    }, \"\\uCD94\\uAC00 \\uBC14\\uB78C\"), \"\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamPage","id":"ec18a7e1-22a1-5331-9356-ade2385782db","title":"iOS","fields":{"slug":"/iOS"}}},{"__typename":"Mdx","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar Block = makeShortcode(\"Block\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"macos\"\n  }, \"macOS\"), mdx(Block, {\n    id: \"In92NTvlR\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/e243d\",\n      \"title\": \"패키지 매니저\",\n      \"className\": \" internal-link\"\n    }, \"\\uD328\\uD0A4\\uC9C0 \\uB9E4\\uB2C8\\uC800\"), \"\\uB85C\\uB294 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Homebrew\",\n      \"title\": \"Homebrew\",\n      \"className\": \" internal-link\"\n    }, \"Homebrew\"), \"\\uAC00 \\uAC00\\uC7A5 \\uD754\\uD788 \\uC0AC\\uC6A9\\uB41C\\uB2E4.\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"LjqOoueRl\",\n    content: mdx(React.Fragment, null),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamPage","id":"1891035e-9560-5d63-8a9b-899542b28b18","title":"macOS","fields":{"slug":"/macOS"}}},{"__typename":"Mdx","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar Block = makeShortcode(\"Block\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"자바스크립트\"\n  }, \"\\uC790\\uBC14\\uC2A4\\uD06C\\uB9BD\\uD2B8\"), mdx(Block, {\n    id: \"kn-72YiM_\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"tc39.es/ecma262/\"\n    }, \"ECMA-262\"), \"\\uC5D0 \\uC758\\uD574 \\uC815\\uC758\\uB41C ECMAScript\\uC758 \\uAD6C\\uD604. \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/474d4\",\n      \"title\": \"hashtag_프로그래밍 언어\",\n      \"className\": \" internal-link hashtag\"\n    }, \"\\uD504\\uB85C\\uADF8\\uB798\\uBC0D \\uC5B8\\uC5B4\"), \"\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"vX1W7hV8S\",\n    content: mdx(React.Fragment, null, mdx(\"h1\", {\n      \"id\": \"javascript-엔진\"\n    }, \"JavaScript \\uC5D4\\uC9C4\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"t7zXfbOmI\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/V8\",\n      \"title\": \"V8\",\n      \"className\": \" internal-link\"\n    }, \"V8\"), \"\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"Acsz8mWgi\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/JavaScriptCore\",\n      \"title\": \"JavaScriptCore\",\n      \"className\": \" internal-link\"\n    }, \"JavaScriptCore\"), \"\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"MlY682Yc3\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://github.com/chakra-core/ChakraCore\"\n    }, \"ChakraCore\"), \" - \\uBCF8\\uB798 Edge \\uAC1C\\uBC1C\\uC5D0 \\uC4F0\\uC774\\uB2E4\\uAC00 Edge\\uAC00 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Chromium\",\n      \"title\": \"Chromium\",\n      \"className\": \" internal-link\"\n    }, \"Chromium\"), \" \\uAE30\\uBC18\\uC73C\\uB85C \\uC804\\uD658\\uB41C \\uB4A4 \\uCEE4\\uBBA4\\uB2C8\\uD2F0\\uC5D0\\uC11C \\uC784\\uBCA0\\uB4DC \\uC0AC\\uC6A9\\uB840\\uB97C \\uC704\\uD574 \\uAC1C\\uBC1C\\uB418\\uACE0 \\uC788\\uB2E4.\")),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"RiCwYmyPm\",\n    content: mdx(React.Fragment, null, mdx(\"h1\", {\n      \"id\": \"표준\"\n    }, \"\\uD45C\\uC900\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"VQs8DpeCi\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"ECMA-262\\uB294 ECMA International\\uC758 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://tc39.es/\"\n    }, \"TC39\"), \"\\uC5D0\\uC11C \\uAD00\\uB9AC\\uD558\\uB294 \\uD45C\\uC900\\uC774\\uB2E4.\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"-3gSzhN5Q\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://github.com/tc39/test262\"\n    }, \"Test262\"), \"\\uB97C \\uD1B5\\uD574 \\uC5B4\\uB5A4 \\uAD6C\\uD604\\uCCB4\\uAC00 ECMA-262 \\uD45C\\uC900\\uC5D0 \\uBD80\\uD569\\uD558\\uB294 \\uC9C0 \\uD655\\uC778\\uD55C\\uB2E4.\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"iaSziKiRa\",\n    content: mdx(React.Fragment, null, mdx(\"h2\", {\n      \"id\": \"proposals\"\n    }, \"Proposals\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"UeOCugAFE\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"ECMAScript\\uC5D0 \\uAE30\\uB2A5\\uC744 \\uCD94\\uAC00\\uD558\\uAE30 \\uC704\\uD574 \\uB0B4\\uB294 \\uC81C\\uC548\\uC11C.\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"BBhZhOXTe\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"4\\uAC00\\uC9C0 \\uB2E8\\uACC4\\uAC00 \\uC788\\uC73C\\uBA70 \\uAC01 \\uB2E8\\uACC4(Stage)\\uAC00 \\uC758\\uBBF8\\uD558\\uB294 \\uBC14\\uB294 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://tc39.es/process-document/\"\n    }, \"\\uC5EC\\uAE30\"), \"\\uC5D0\\uC11C \\uD655\\uC778\\uD560 \\uC218 \\uC788\\uB2E4.\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"Ju4BKCiLi\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uD604\\uC7AC \\uC81C\\uC548\\uB418\\uC5B4 TC39\\uAC00 \\uC778\\uC2DD\\uD558\\uACE0 \\uC788\\uB294 Proposal\\uC758 \\uBAA9\\uB85D\\uC740 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://github.com/tc39/proposals\"\n    }, \"\\uC5EC\\uAE30\"))),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"_Mo0Oagh_\",\n    content: mdx(React.Fragment, null, mdx(\"h2\", {\n      \"id\": \"버전\"\n    }, \"\\uBC84\\uC804\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"wZg2hMY6U\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"ECMA-262\\uB294 \\uBCF4\\uD1B5 1\\uB144\\uC5D0 \\uD55C \\uBC88\\uC529 \\uC81C\\uC548\\uB41C \\uAE30\\uB2A5 \\uC911 \\uCC44\\uD0DD\\uB41C \\uC81C\\uC548\\uC11C\\uB97C \\uD569\\uCCD0 \\uC815\\uC2DD \\uD45C\\uC900\\uC73C\\uB85C \\uC2B9\\uACA9\\uD55C\\uB2E4.\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"YdBbvNB76\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"2015\\uB144 \\uC774\\uC804\\uC5D0 \\uB098\\uC628 \\uD45C\\uC900\\uB4E4\\uC740 \\uC774\\uB7EC\\uD55C \\uD45C\\uC900 \\uC808\\uCC28\\uAC00 \\uBA85\\uD655\\uD788 \\uC218\\uB9BD\\uB418\\uAE30 \\uC804\\uC774\\uB77C \\uBC84\\uC804\\uC758 \\uC21C\\uC11C\\uB97C \\uB530\\uB77C\\uC11C ES1, ES3 \\uB4F1\\uC73C\\uB85C \\uBD80\\uB974\\uACE0 2015\\uB144\\uBD80\\uD130\\uB294 1\\uB144 \\uC8FC\\uAE30\\uB85C \\uADDC\\uCE59\\uC801\\uC73C\\uB85C \\uB098\\uC624\\uBBC0\\uB85C ES2015(ES6\\uACFC \\uAC19\\uC74C)\\uB85C \\uBD80\\uB978\\uB2E4.\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"aaszztHlh\",\n    content: mdx(React.Fragment, null, mdx(\"h3\", {\n      \"id\": \"es1\"\n    }, mdx(\"a\", {\n      parentName: \"h3\",\n      \"href\": \"https://www.ecma-international.org/wp-content/uploads/ECMA-262_1st_edition_june_1997.pdf\"\n    }, \"ES1\"))),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"Mrmz3VOYf\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uAC00\\uC7A5 \\uAE30\\uBCF8\\uC774 \\uB41C \\uAC83.\")),\n    mdxType: \"Block\"\n  })))), mdx(Block, {\n    id: \"RgBx5KAj3\",\n    content: mdx(React.Fragment, null, mdx(\"h1\", {\n      \"id\": \"모듈-시스템\"\n    }, \"\\uBAA8\\uB4C8 \\uC2DC\\uC2A4\\uD15C\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"KaSy4N_2O\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uD06C\\uAC8C \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/CommonJS\",\n      \"title\": \"CommonJS\",\n      \"className\": \" internal-link\"\n    }, \"CommonJS\"), \", \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/ES-Modules\",\n      \"title\": \"ES Modules\",\n      \"className\": \" internal-link\"\n    }, \"ES Modules\"), \", AMD \\uB4F1\\uC774 \\uC874\\uC7AC\\uD55C\\uB2E4.\")),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"c_ZcXGUyY\",\n    content: mdx(React.Fragment, null, mdx(\"h1\", {\n      \"id\": \"asi\"\n    }, \"ASI\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"hF8jN-xBf\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"Automatic Semicolon Insertion\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"w-YaLCfAr\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/a6f84\",\n      \"title\": \"추가 바람\",\n      \"className\": \" internal-link\"\n    }, \"\\uCD94\\uAC00 \\uBC14\\uB78C\"), \"\")),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"qxYxELWxd\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://medium.com/@limsungmook/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%8A%94-%EC%99%9C-%ED%94%84%EB%A1%9C%ED%86%A0%ED%83%80%EC%9E%85%EC%9D%84-%EC%84%A0%ED%83%9D%ED%96%88%EC%9D%84%EA%B9%8C-997f985adb42\"\n    }, \"\\uC790\\uBC14\\uC2A4\\uD06C\\uB9BD\\uD2B8\\uB294 \\uC65C \\uD504\\uB85C\\uD1A0\\uD0C0\\uC785\\uC744 \\uC120\\uD0DD\\uD588\\uC744\\uAE4C\"))),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamPage","id":"608eeafb-bef8-529d-8421-a1d62e6c4970","title":"자바스크립트","fields":{"slug":"/6e12b"}}},{"__typename":"Mdx","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar Block = makeShortcode(\"Block\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"웹\"\n  }, \"\\uC6F9\"), mdx(Block, {\n    id: \"JpGKATcyr\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC5B4\\uB824\\uC6B4 \\uAC78 \\uBB3B\\uB124\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamPage","id":"84d9f71a-044a-55f1-b7df-dbc4322eb75a","title":"웹","fields":{"slug":"/9f451"}}},{"__typename":"Mdx","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"web-vitals\"\n  }, \"Web Vitals\"));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamPage","id":"1c992e00-5f3d-56e5-b750-90af0eee536e","title":"Web Vitals","fields":{"slug":"/Web-Vitals"}}},{"__typename":"Mdx","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar Block = makeShortcode(\"Block\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"remix\"\n  }, \"Remix\"), mdx(Block, {\n    id: \"vQLbdNxzm\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://remix.run/\"\n    }, \"https://remix.run/\"))),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"rttjQDGsc\",\n    content: mdx(React.Fragment, null, mdx(\"h1\", {\n      \"id\": \"자료\"\n    }, \"\\uC790\\uB8CC\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"SRJXnVlu1\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://remix.guide/\"\n    }, \"https://remix.guide/\"))),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"7NnBogOeY\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://github.com/m5r/awesome-remix\"\n    }, \"https://github.com/m5r/awesome-remix\"))),\n    mdxType: \"Block\"\n  })));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamPage","id":"e987eb9c-2989-5b23-b9a8-df153bca77f7","title":"Remix","fields":{"slug":"/Remix"}}},{"__typename":"Mdx","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"nextjs\"\n  }, \"NextJS\"));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamPage","id":"8fd8ced4-bbaa-5ea5-993f-f73a8ee27fe4","title":"NextJS","fields":{"slug":"/NextJS"}}},{"__typename":"Mdx","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar Block = makeShortcode(\"Block\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"빅-테크\"\n  }, \"\\uBE45 \\uD14C\\uD06C\"), mdx(Block, {\n    id: \"c5rUYss83\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uD754\\uD788 \\uC2E4\\uB9AC\\uCF58 \\uBC38\\uB9AC\\uC5D0 \\uC788\\uB294 \\uAC70\\uB300 IT \\uAE30\\uC5C5\\uB4E4\\uC744 \\uB300\\uCDA9 \\uD241\\uCCD0\\uC11C \\uBD80\\uB974\\uB294 \\uB9D0\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"2gKTooI3l\",\n    content: mdx(React.Fragment, null, mdx(\"h1\", {\n      \"id\": \"목록-non-exhausive\"\n    }, \"\\uBAA9\\uB85D (non-exhausive)\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"NBN0PtWM-\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Facebook\",\n      \"title\": \"Facebook\",\n      \"className\": \" internal-link\"\n    }, \"Facebook\"), \"\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"6JJI5FPCK\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Apple\",\n      \"title\": \"Apple\",\n      \"className\": \" internal-link\"\n    }, \"Apple\"), \"\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"uQT29y57u\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Amazon\",\n      \"title\": \"Amazon\",\n      \"className\": \" internal-link\"\n    }, \"Amazon\"), \"\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"yIdFr5DXB\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Netflix\",\n      \"title\": \"Netflix\",\n      \"className\": \" internal-link\"\n    }, \"Netflix\"), \"\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"aRvJLoa7q\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Google\",\n      \"title\": \"Google\",\n      \"className\": \" internal-link\"\n    }, \"Google\"), \"\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"tRh2qsVJj\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Microsoft\",\n      \"title\": \"Microsoft\",\n      \"className\": \" internal-link\"\n    }, \"Microsoft\"), \"\")),\n    mdxType: \"Block\"\n  })));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamPage","id":"895e1736-5200-58d8-9cb9-9fc73ae82694","title":"빅 테크","fields":{"slug":"/c975b"}}},{"__typename":"Mdx","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar Block = makeShortcode(\"Block\");\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"타입스크립트\"\n  }, \"\\uD0C0\\uC785\\uC2A4\\uD06C\\uB9BD\\uD2B8\"), mdx(Block, {\n    id: \"Hem-7cjxe\",\n    content: mdx(React.Fragment, null, mdx(\"h1\", {\n      \"id\": \"소개\"\n    }, \"\\uC18C\\uAC1C\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"vpcHOG11V\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://www.typescriptlang.org/\"\n    }, \"https://www.typescriptlang.org/\"))),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"94wa2qmFL\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://github.com/microsoft/TypeScript/\"\n    }, \"https://github.com/microsoft/TypeScript/\"))),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"TalThNIu6\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/6e12b\",\n      \"title\": \"자바스크립트\",\n      \"className\": \" internal-link\"\n    }, \"\\uC790\\uBC14\\uC2A4\\uD06C\\uB9BD\\uD2B8\"), \"\\uC5D0 \\uD0C0\\uC785 \\uC2DC\\uC2A4\\uD15C\\uC744 \\uBD99\\uC774\\uB294 \\uC288\\uD37C\\uC14B \\uC5B8\\uC5B4\")),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"p3WEXZ33d\",\n    content: mdx(React.Fragment, null, mdx(\"h1\", {\n      \"id\": \"자료\"\n    }, \"\\uC790\\uB8CC\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"h-A51pAyV\",\n    content: mdx(React.Fragment, null, mdx(\"h2\", {\n      \"id\": \"interface-vs-types\"\n    }, \"Interface vs. Types\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"Y-jWtJZjf\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"Interface\\uAC00 type\\uC758 subset\\uC774\\uB77C \\uBCF4\\uB294 \\uAC83\\uC774 \\uD604\\uC7AC\\uC758 \\uB0B4 \\uC2DC\\uAC01\\uC774\\uB2E4.\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"Fr3iqhu--\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"interface\\uB294 \\uD56D\\uC0C1 \\uD2B9\\uC815\\uD55C \\uD615\\uD0DC\\uB97C \\uAC00\\uC9C4 object\\uC774\\uACE0, optional\\uD55C \\uD544\\uB4DC\\uB294 \\uC788\\uC744\\uC9C0\\uC5B8\\uC815 \\uD56D\\uC0C1 \\uC5B4\\uB5A4 \\uD544\\uB4DC\\uAC00 \\uC874\\uC7AC\\uD558\\uB294 \\uC9C0 \\uC815\\uC801\\uC73C\\uB85C \\uBD84\\uC11D \\uAC00\\uB2A5\\uD558\\uB2E4.\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"Hn42M-FNJ\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uB610\\uD55C \\uC774\\uB7EC\\uD55C \\uD2B9\\uC131\\uC5D0 \\uAE30\\uC778\\uD558\\uC5EC interface (\\uB610\\uB294 union \\uB4F1\\uC774 \\uC5C6\\uB294 \\uC21C\\uC218 object \\uD615\\uD0DC\\uC758 type)\\uC744 extend\\uD560 \\uC218 \\uC788\\uB2E4.\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"ndEPbper5\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uADF8 \\uC678\\uC5D0 Interface\\uB294 Declaration Merging\\uC774 \\uAC00\\uB2A5\\uD558\\uB2E4\\uB294 \\uD2B9\\uC218\\uD55C \\uC131\\uC9C8\\uC744 \\uAC00\\uC9C4\\uB2E4.\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"Xhi4RGBKV\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uAC04\\uB2E8\\uD788 \\uB9D0\\uD574, \\uAC19\\uC740 \\uC774\\uB984\\uC744 \\uAC00\\uC9C4 interface\\uB97C \\uB2E4\\uC2DC \\uC815\\uC758\\uD558\\uBA74 \\uD569\\uCCD0\\uC9C4\\uB2E4.\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"HS3tUrXsW\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://www.digitalocean.com/community/tutorials/typescript-interface-declaration-merging\"\n    }, \"https://www.digitalocean.com/community/tutorials/typescript-interface-declaration-merging\"))),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"zrMkMAOqd\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://www.typescriptlang.org/docs/handbook/declaration-merging.html#merging-interfaces\"\n    }, \"https://www.typescriptlang.org/docs/handbook/declaration-merging.html\", mdx(\"a\", {\n      parentName: \"a\",\n      \"href\": \"/merging-interfaces\",\n      \"title\": \"hashtag_merging-interfaces\",\n      \"className\": \"hashtag internal-link\"\n    }, \"merging-interfaces\"), \"\"))),\n    mdxType: \"Block\"\n  }))))));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamPage","id":"fc84975c-772c-5642-9681-f9451907ae08","title":"타입스크립트","fields":{"slug":"/378b6"}}}],"inboundReferences":[]},"fields":{"slug":"/June-17th-2022"}}},"pageContext":{"id":"75d59bcf-cc4a-568b-ad17-da097ac93068"}},"staticQueryHashes":["2131059104","2221750479","2468095761"]}