{"componentChunkName":"component---node-modules-stvad-gatsby-theme-garden-src-templates-roam-page-js","path":"/4546d","result":{"data":{"roamPage":{"title":"오픈 소스","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 = {};\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  }, \"\\uC624\\uD508 \\uC18C\\uC2A4\"));\n}\n;\nMDXContent.isMDXComponent = true;","outboundReferences":[],"inboundReferences":[{"__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(Block, {\n    id: \"hCsq2hhc0\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uCD5C\\uADFC \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/4546d\",\n      \"title\": \"오픈 소스\",\n      \"className\": \" internal-link\"\n    }, \"\\uC624\\uD508 \\uC18C\\uC2A4\"), \" \\uB3D9\\uD5A5\\uC744 \\uC798 \\uBAA8\\uB974\\uBA74 \\uC774\\uB7F0 \\uB9D0\\uB3C4 \\uD560 \\uC218 \\uC788\\uACA0\\uAD6C\\uB098\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"d07b7655-d88f-5dc2-b753-da4afad525e9","string":"최근 [[오픈 소스]] 동향을 잘 모르면 이런 말도 할 수 있겠구나","fields":{"parentPage":{"title":"June 9th, 2022","fields":{"slug":"/June-9th-2022"}},"slug":"/hCsq2hhc0"}}},{"__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(Block, {\n    id: \"_E-Nr6hvp\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC77C\\uBC18\\uC801\\uC778 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/cbac2\",\n      \"title\": \"코드 리뷰\",\n      \"className\": \" internal-link\"\n    }, \"\\uCF54\\uB4DC \\uB9AC\\uBDF0\"), \"\\uAC00 \\uC544\\uB2CC \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/4546d\",\n      \"title\": \"오픈 소스\",\n      \"className\": \" internal-link\"\n    }, \"\\uC624\\uD508 \\uC18C\\uC2A4\"), \" \\uBA54\\uC778\\uD14C\\uC774\\uB2DD\\uC758 \\uAD00\\uC810\\uC5D0\\uC11C \\uBCF8 \\uAE00\\uC784\\uC5D0 \\uC720\\uC758\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"0a12ca9a-6503-56cf-8564-2c9715599b58","string":"일반적인 [[코드 리뷰]]가 아닌 [[오픈 소스]] 메인테이닝의 관점에서 본 글임에 유의","fields":{"parentPage":{"title":"June 13th, 2022","fields":{"slug":"/June-13th-2022"}},"slug":"/_E-Nr6hvp"}}},{"__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(Block, {\n    id: \"Ljuw3XAbI\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC774\\uB294 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/4546d\",\n      \"title\": \"오픈 소스\",\n      \"className\": \" internal-link\"\n    }, \"\\uC624\\uD508 \\uC18C\\uC2A4\"), \"\\uAC00 \\uD0DC\\uC0DD\\uC801\\uC73C\\uB85C \\uAC00\\uC9C4 \\uAC15\\uC810\\uC774\\uAE30\\uB3C4 \\uD558\\uB2E4.\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"b8fafcfb-5445-572f-937b-fe919fb42412","string":"이는 [[오픈 소스]]가 태생적으로 가진 강점이기도 하다.","fields":{"parentPage":{"title":"June 10th, 2022","fields":{"slug":"/June-10th-2022"}},"slug":"/Ljuw3XAbI"}}},{"__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(Block, {\n    id: \"SspRqFoFx\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC11C\\uB4DC\\uD30C\\uD2F0 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/6e12b\",\n      \"title\": \"자바스크립트\",\n      \"className\": \" internal-link\"\n    }, \"\\uC790\\uBC14\\uC2A4\\uD06C\\uB9BD\\uD2B8\"), \"\\uB97C \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Service-Worker\",\n      \"title\": \"Service Worker\",\n      \"className\": \" internal-link\"\n    }, \"Service Worker\"), \"\\uC5D0\\uC11C \\uC2E4\\uD589\\uC2DC\\uD0A4\\uBA74\\uC11C\\uB3C4 DOM \\uC811\\uADFC\\uC744 \\uC790\\uC720\\uB86D\\uAC8C \\uAC00\\uB2A5\\uD558\\uB3C4\\uB85D \\uD574\\uC8FC\\uB294 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/4546d\",\n      \"title\": \"오픈 소스\",\n      \"className\": \" internal-link\"\n    }, \"\\uC624\\uD508 \\uC18C\\uC2A4\"), \" \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/4aeaf\",\n      \"title\": \"라이브러리\",\n      \"className\": \" internal-link\"\n    }, \"\\uB77C\\uC774\\uBE0C\\uB7EC\\uB9AC\"), \"\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"a43a7eae-2fa2-5628-bfa5-8e602d3dd156","string":"서드파티 [[자바스크립트]]를 [[Service Worker]]에서 실행시키면서도 DOM 접근을 자유롭게 가능하도록 해주는 [[오픈 소스]] [[라이브러리]]","fields":{"parentPage":{"title":"Partytown","fields":{"slug":"/Partytown"}},"slug":"/SspRqFoFx"}}}]},"fields":{"slug":"/4546d"}}},"pageContext":{"id":"9c03fe7b-08c1-5b5c-99f6-68eed8b0ff2c"}},"staticQueryHashes":["2131059104","2221750479","2468095761"]}