{"componentChunkName":"component---node-modules-stvad-gatsby-theme-garden-src-templates-roam-page-js","path":"/4aeaf","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  }, \"\\uB77C\\uC774\\uBE0C\\uB7EC\\uB9AC\"));\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: \"TjHhHcEZH\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC77C\\uBC18\\uC801\\uC73C\\uB85C \\uBC30\\uD3EC\\uD310\\uC758 \\uD615\\uD0DC\\uB85C \\uBC30\\uD3EC\\uB418\\uBA70 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/GNU\",\n      \"title\": \"GNU\",\n      \"className\": \" internal-link\"\n    }, \"GNU\"), \" \\uC18C\\uD504\\uD2B8\\uC6E8\\uC5B4\\uC640 \\uD328\\uD0A4\\uC9C0 \\uB9E4\\uB2C8\\uC800, \\uC790\\uC8FC \\uC4F0\\uC774\\uB294 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/4aeaf\",\n      \"title\": \"라이브러리\",\n      \"className\": \" internal-link\"\n    }, \"\\uB77C\\uC774\\uBE0C\\uB7EC\\uB9AC\"), \"\\uB4E4 \\uB4F1\\uC744 \\uD3EC\\uD568\\uD558\\uB294 \\uAC83\\uC774 \\uC77C\\uBC18\\uC801\\uC774\\uB2E4.\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"2bd35b84-826f-53ff-93eb-a60c13d56890","string":"일반적으로 배포판의 형태로 배포되며 [[GNU]] 소프트웨어와 패키지 매니저, 자주 쓰이는 [[라이브러리]]들 등을 포함하는 것이 일반적이다.","fields":{"parentPage":{"title":"Linux","fields":{"slug":"/Linux"}},"slug":"/TjHhHcEZH"}}},{"__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: \"pigp-YRWV\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://engineering.fb.com/2022/05/11/open-source/jest-openjs-foundation/\"\n    }, \"Meta Open Source is transferring Jest to the OpenJS Foundation\"), \" \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/6e12b\",\n      \"title\": \"hashtag_자바스크립트\",\n      \"className\": \"hashtag internal-link\"\n    }, \"\\uC790\\uBC14\\uC2A4\\uD06C\\uB9BD\\uD2B8\"), \" \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/4aeaf\",\n      \"title\": \"hashtag_라이브러리\",\n      \"className\": \"hashtag internal-link\"\n    }, \"\\uB77C\\uC774\\uBE0C\\uB7EC\\uB9AC\"), \"\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"_yrbRormc\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Jest\",\n      \"title\": \"Jest\",\n      \"className\": \" internal-link\"\n    }, \"Jest\"), \"\\uAC00 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Meta\",\n      \"title\": \"Meta\",\n      \"className\": \" internal-link\"\n    }, \"Meta\"), \"\\uC5D0\\uC11C \\uCD5C\\uADFC \\uAC70\\uC758 \\uAD00\\uB9AC\\uAC00 \\uC548 \\uB418\\uACE0 \\uC788\\uC5C8\\uB2E4\\uB294 \\uC774\\uC57C\\uAE30\\uB294 \\uC774\\uBBF8 \\uC720\\uBA85\\uD568\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"qddutj-Uz\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/OpenJS-Foundation\",\n      \"title\": \"OpenJS Foundation\",\n      \"className\": \" internal-link\"\n    }, \"OpenJS Foundation\"), \"\\uC740 \\uC774\\uBBF8 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Node.js\",\n      \"title\": \"Node.js\",\n      \"className\": \" internal-link\"\n    }, \"Node.js\"), \" \\uB4F1 \\uB9CE\\uC740 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/6e12b\",\n      \"title\": \"자바스크립트\",\n      \"className\": \" internal-link\"\n    }, \"\\uC790\\uBC14\\uC2A4\\uD06C\\uB9BD\\uD2B8\"), \" \\uD504\\uB85C\\uC81D\\uD2B8\\uB97C \\uC18C\\uC720\")),\n    mdxType: \"Block\"\n  })));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"d62fd6f8-8dba-59fc-980b-37cd22b1632f","string":"[Meta Open Source is transferring Jest to the OpenJS Foundation](https://engineering.fb.com/2022/05/11/open-source/jest-openjs-foundation/) #자바스크립트 #라이브러리","fields":{"parentPage":{"title":"June 12th, 2022","fields":{"slug":"/June-12th-2022"}},"slug":"/pigp-YRWV"}}},{"__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: \"m1gT2ZUaJ\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC8FC\\uB85C \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/4aeaf\",\n      \"title\": \"라이브러리\",\n      \"className\": \" internal-link\"\n    }, \"\\uB77C\\uC774\\uBE0C\\uB7EC\\uB9AC\"), \"\\uC758 \\uBE4C\\uB4DC\\uC5D0 \\uB9CE\\uC774 \\uC4F0\\uC778\\uB2E4.\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"MGZybwoai\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://wormwlrm.github.io/2021/11/07/Rollup-React-TypeScript.html\"\n    }, \"https://wormwlrm.github.io/2021/11/07/Rollup-React-TypeScript.html\"))),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"z99M5EWV8\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uB7F0\\uD0C0\\uC784 \\uC0AC\\uC774\\uC988\\uAC00 \\uC791\\uACE0 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Webpack\",\n      \"title\": \"Webpack\",\n      \"className\": \" internal-link\"\n    }, \"Webpack\"), \"\\uC758 \\uB2E4\\uC591\\uD55C \\uAE30\\uB2A5\\uC774 \\uD544\\uC694\\uD558\\uC9C0 \\uC54A\\uC74C\")),\n    mdxType: \"Block\"\n  })));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"e47e5cd6-b5d7-5e1b-b460-b8267140cc09","string":"주로 [[라이브러리]]의 빌드에 많이 쓰인다.","fields":{"parentPage":{"title":"Rollup","fields":{"slug":"/Rollup"}},"slug":"/m1gT2ZUaJ"}}},{"__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: \"Q1nXPDJ5m\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC774\\uBBF8\\uC9C0\\uB97C \\uB2E4\\uB8E8\\uAE30 \\uC704\\uD55C \\uC885\\uD569 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/4aeaf\",\n      \"title\": \"라이브러리\",\n      \"className\": \" internal-link\"\n    }, \"\\uB77C\\uC774\\uBE0C\\uB7EC\\uB9AC\"), \" \\uACB8 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/CLI\",\n      \"title\": \"CLI\",\n      \"className\": \" internal-link\"\n    }, \"CLI\"), \"\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"e245d4f3-a556-50ba-aa1a-f617cb75c32d","string":"이미지를 다루기 위한 종합 [[라이브러리]] 겸 [[CLI]]","fields":{"parentPage":{"title":"libvips","fields":{"slug":"/libvips"}},"slug":"/Q1nXPDJ5m"}}},{"__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: \"-8pAG_tm6\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uD6C4\\uC790\\uB294 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://en.wikipedia.org/wiki/Fraunhofer_FDK_AAC\"\n    }, \"Fraunhofer FDK AAC\"), \" \\uC9C0\\uC6D0\\uC778\\uB370, \\uBB38\\uC81C\\uB294 \\uC774 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/4aeaf\",\n      \"title\": \"라이브러리\",\n      \"className\": \" internal-link\"\n    }, \"\\uB77C\\uC774\\uBE0C\\uB7EC\\uB9AC\"), \"\\uAC00 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/GPL\",\n      \"title\": \"GPL\",\n      \"className\": \" internal-link\"\n    }, \"GPL\"), \"\\uACFC \\uD638\\uD658\\uC774 \\uC548 \\uB41C\\uB2E4\\uB294 \\uC810\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"0457a91b-76b9-569e-a1f8-f71368376636","string":"후자는 [Fraunhofer FDK AAC](https://en.wikipedia.org/wiki/Fraunhofer_FDK_AAC) 지원인데, 문제는 이 [[라이브러리]]가 [[GPL]]과 호환이 안 된다는 점","fields":{"parentPage":{"title":"FFmpeg","fields":{"slug":"/FFmpeg"}},"slug":"/8pAG_tm6"}}},{"__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: \"SNloIl_KB\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://sharp.pixelplumbing.com/\"\n    }, \"sharp\"), \" - \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Node.js\",\n      \"title\": \"Node.js\",\n      \"className\": \" internal-link\"\n    }, \"Node.js\"), \" \", 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":"933340d9-d0f8-53c2-8a6d-8d19cf7a5a01","string":"[sharp](https://sharp.pixelplumbing.com/) - [[Node.js]] [[라이브러리]]","fields":{"parentPage":{"title":"June 8th, 2022","fields":{"slug":"/June-8th-2022"}},"slug":"/SNloIl_KB"}}},{"__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: \"PC2z0UaC-\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uAF2D \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/009fd\",\n      \"title\": \"운영 체제\",\n      \"className\": \" internal-link\"\n    }, \"\\uC6B4\\uC601 \\uCCB4\\uC81C\"), \"\\uC5D0 \\uC9C1\\uC811 \\uC124\\uCE58\\uB418\\uB294 \\uC720\\uD2F8\\uB9AC\\uD2F0 \\uC678\\uC5D0\\uB3C4 \\uD504\\uB85C\\uADF8\\uB798\\uBC0D\\uC5D0 \\uC0AC\\uC6A9\\uB418\\uB294 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/4aeaf\",\n      \"title\": \"라이브러리\",\n      \"className\": \" internal-link\"\n    }, \"\\uB77C\\uC774\\uBE0C\\uB7EC\\uB9AC\"), \"\\uB97C \\uAD00\\uB9AC\\uD558\\uAE30\\uB3C4 \\uD568\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"e1e18de0-7ab3-57e8-98db-9e8d489cd6ba","string":"꼭 [[운영 체제]]에 직접 설치되는 유틸리티 외에도 프로그래밍에 사용되는 [[라이브러리]]를 관리하기도 함","fields":{"parentPage":{"title":"패키지 매니저","fields":{"slug":"/e243d"}},"slug":"/PC2z0UaC"}}},{"__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: \"KDGgSJGM8\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/React\",\n      \"title\": \"React\",\n      \"className\": \" internal-link\"\n    }, \"React\"), \" \\uC0AC\\uC6A9 \\uD504\\uB85C\\uC81D\\uD2B8\\uC5D0\\uC11C \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/4aeaf\",\n      \"title\": \"라이브러리\",\n      \"className\": \" internal-link\"\n    }, \"\\uB77C\\uC774\\uBE0C\\uB7EC\\uB9AC\"), \"\\uB97C \\uACE0\\uB974\\uB294 \\uBC29\\uBC95\\uC5D0 \\uB300\\uD55C \\uC124\\uBA85\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"68ef7f6a-9bd7-5360-b4d4-f0d5f5fdbb67","string":"[[React]] 사용 프로젝트에서 [[라이브러리]]를 고르는 방법에 대한 설명","fields":{"parentPage":{"title":"July 12th, 2022","fields":{"slug":"/July-12th-2022"}},"slug":"/KDGgSJGM8"}}},{"__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":"/4aeaf"}}},"pageContext":{"id":"6a8f61ee-e102-5350-9cab-d4a41779f7eb"}},"staticQueryHashes":["2131059104","2221750479","2468095761"]}