{"componentChunkName":"component---node-modules-stvad-gatsby-theme-garden-src-templates-roam-page-js","path":"/53faa","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  }, \"\\uBE0C\\uB77C\\uC6B0\\uC800\"));\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: \"_njOA1uG1\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/GitHub\",\n      \"title\": \"GitHub\",\n      \"className\": \" internal-link\"\n    }, \"GitHub\"), \"\\uC758 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/53faa\",\n      \"title\": \"브라우저\",\n      \"className\": \" internal-link\"\n    }, \"\\uBE0C\\uB77C\\uC6B0\\uC800\"), \" \\uC9C0\\uC6D0 \\uC804\\uB7B5\\uC5D0 \\uAD00\\uD55C \\uACE0\\uCC30\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"28adcbf8-fed0-5135-8501-3db7535116b6","string":"[[GitHub]]의 [[브라우저]] 지원 전략에 관한 고찰","fields":{"parentPage":{"title":"June 11th, 2022","fields":{"slug":"/June-11th-2022"}},"slug":"/_njOA1uG1"}}},{"__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: \"lzTJuMFmo\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/53faa\",\n      \"title\": \"브라우저\",\n      \"className\": \" internal-link\"\n    }, \"\\uBE0C\\uB77C\\uC6B0\\uC800\"), \" \\uAC04 \\uC2A4\\uD0C0\\uC77C \\uCC28\\uC774\\uB97C \\uC81C\\uAC70\\uD558\\uACE0 \\uC0AC\\uC6A9\\uD558\\uAE30 \\uD3B8\\uB9AC\\uD55C CSS \\uD658\\uACBD\\uC744 \\uB9CC\\uB4E4\\uAE30 \\uC704\\uD574 \\uC0AC\\uC6A9\\uB418\\uB294 CSS \\uC2A4\\uB2C8\\uD3AB.\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"bdb941e8-8789-53f1-bee4-0b60938c8eda","string":"[[브라우저]] 간 스타일 차이를 제거하고 사용하기 편리한 CSS 환경을 만들기 위해 사용되는 CSS 스니펫.","fields":{"parentPage":{"title":"CSS","fields":{"slug":"/CSS"}},"slug":"/lzTJuMFmo"}}},{"__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: \"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  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"e7e4fc3e-141c-553d-8dcb-186838ad1881","string":"원래는 [[브라우저]] 확장으로만 쓸 수 있었는데 이번에 [[Apple]] 새 [[iOS]]와 [[macOS]]에서 공식 지원을 발표","fields":{"parentPage":{"title":"June 17th, 2022","fields":{"slug":"/June-17th-2022"}},"slug":"/ZMKOvsCP6"}}},{"__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: \"7kC3WNuT-\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"70% \\uC815\\uB3C4\\uC758 \\uC0AC\\uC6A9\\uC790\\uB294 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/53faa\",\n      \"title\": \"브라우저\",\n      \"className\": \" internal-link\"\n    }, \"\\uBE0C\\uB77C\\uC6B0\\uC800\"), \"\\uC758 \\uCD5C\\uC2E0 \\uBC84\\uC804\\uC744 \\uC0AC\\uC6A9\\uD568\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"3c3bcd08-ddd5-50b8-a0df-8964a49f5275","string":"70% 정도의 사용자는 [[브라우저]]의 최신 버전을 사용함","fields":{"parentPage":{"title":"June 11th, 2022","fields":{"slug":"/June-11th-2022"}},"slug":"/7kC3WNuT"}}},{"__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: \"DGIFKTOeq\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/macOS\",\n      \"title\": \"macOS\",\n      \"className\": \" internal-link\"\n    }, \"macOS\"), \"\\uC640 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/iOS\",\n      \"title\": \"iOS\",\n      \"className\": \" internal-link\"\n    }, \"iOS\"), \"\\uC5D0 \\uB0B4\\uC7A5\\uB418\\uB294 \\uC6F9 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/53faa\",\n      \"title\": \"브라우저\",\n      \"className\": \" internal-link\"\n    }, \"\\uBE0C\\uB77C\\uC6B0\\uC800\"), \"\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"040a2cdf-532e-552e-ba8b-17af0407c9bb","string":"[[macOS]]와 [[iOS]]에 내장되는 웹 [[브라우저]]","fields":{"parentPage":{"title":"Safari","fields":{"slug":"/Safari"}},"slug":"/DGIFKTOeq"}}},{"__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: \"nfaMurHBw\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Wikidata\",\n      \"title\": \"Wikidata\",\n      \"className\": \" internal-link\"\n    }, \"Wikidata\"), \"\\uC5D0\\uC11C \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/53faa\",\n      \"title\": \"브라우저\",\n      \"className\": \" internal-link\"\n    }, \"\\uBE0C\\uB77C\\uC6B0\\uC800\"), \" \\uBC84\\uC804\\uC744 \\uAC00\\uC838\\uC624\\uB294 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/API\",\n      \"title\": \"API\",\n      \"className\": \" internal-link\"\n    }, \"API\"), \" \\uB9CC\\uB4DC\\uB294 \\uAE00\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"b28ec7a7-036e-5778-ab72-1398575f2794","string":"[[Wikidata]]에서 [[브라우저]] 버전을 가져오는 [[API]] 만드는 글","fields":{"parentPage":{"title":"June 13th, 2022","fields":{"slug":"/June-13th-2022"}},"slug":"/nfaMurHBw"}}},{"__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: \"cNUCHt8xO\",\n    content: mdx(React.Fragment, null, mdx(\"h1\", {\n      \"id\": \"브라우저와-브라우저-엔진의-차이\"\n    }, \"\", mdx(\"a\", {\n      parentName: \"h1\",\n      \"href\": \"/53faa\",\n      \"title\": \"브라우저\",\n      \"className\": \" internal-link\"\n    }, \"\\uBE0C\\uB77C\\uC6B0\\uC800\"), \"\\uC640 \\uBE0C\\uB77C\\uC6B0\\uC800 \\uC5D4\\uC9C4\\uC758 \\uCC28\\uC774\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"zTGLOJykj\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC790\\uB3D9\\uCC28\\uC640 \\uC790\\uB3D9\\uCC28 \\uC5D4\\uC9C4\\uC758 \\uCC28\\uC774\\uC640 \\uC720\\uC0AC\\uD558\\uB2E4.\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"5mPS0TB1_\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uBE0C\\uB77C\\uC6B0\\uC800\\uB294 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/9f451\",\n      \"title\": \"웹\",\n      \"className\": \" internal-link\"\n    }, \"\\uC6F9\"), \" \\uD398\\uC774\\uC9C0\\uB97C \\uBCF4\\uC5EC\\uC8FC\\uB294 \\uAC83 \\uC678\\uC5D0\\uB3C4 \\uBD81\\uB9C8\\uD06C\\uC758 \\uC800\\uC7A5 \\uBC0F \\uAD00\\uB9AC, \\uAE30\\uAE30 \\uAC04 \\uC5F0\\uB3D9, \\uD655\\uC7A5 \\uAE30\\uB2A5\\uC758 \\uC124\\uCE58 \\uBC0F \\uC6B4\\uC6A9, \\uBE44\\uBC00\\uBC88\\uD638\\uC758 \\uC800\\uC7A5 \\uB4F1 \\uC0AC\\uC6A9\\uC790 \\uD3B8\\uC758\\uB97C \\uC704\\uD55C \\uC5EC\\uB7EC \\uAE30\\uB2A5\\uC744 \\uCD94\\uAC00\\uB85C \\uB2F4\\uB2F9\\uD55C\\uB2E4.\")),\n    mdxType: \"Block\"\n  })));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"1e5e665b-985c-50c6-8b83-76f459e5601b","string":"[[브라우저]]와 브라우저 엔진의 차이","fields":{"parentPage":{"title":"브라우저 엔진","fields":{"slug":"/3e8cc"}},"slug":"/cNUCHt8xO"}}},{"__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: \"pjoB9dp_u\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/53faa\",\n      \"title\": \"브라우저\",\n      \"className\": \" internal-link\"\n    }, \"\\uBE0C\\uB77C\\uC6B0\\uC800\"), \" \\uC775\\uC2A4\\uD150\\uC158\\uC744 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/React\",\n      \"title\": \"React\",\n      \"className\": \" internal-link\"\n    }, \"React\"), \"\\uB97C \\uD1B5\\uD574 \\uC27D\\uAC8C \\uB9CC\\uB4E4\\uAC8C \\uB3C4\\uC640\\uC8FC\\uB294 \\uD504\\uB808\\uC784\\uC6CC\\uD06C\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"Q-oNg8rKT\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC775\\uC2A4\\uD150\\uC158 \\uD310 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/NextJS\",\n      \"title\": \"NextJS\",\n      \"className\": \" internal-link\"\n    }, \"NextJS\"), \"\\uAC00 \\uBAA9\\uD45C\\uC778 \\uB4EF\")),\n    mdxType: \"Block\"\n  })));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"1026fa41-34d9-58ae-9d43-e1826d421a83","string":"[[브라우저]] 익스텐션을 [[React]]를 통해 쉽게 만들게 도와주는 프레임워크","fields":{"parentPage":{"title":"June 13th, 2022","fields":{"slug":"/June-13th-2022"}},"slug":"/pjoB9dp_u"}}},{"__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: \"9y06Hr0oy\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uD5E4\\uB4DC\\uB9AC\\uC2A4 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/53faa\",\n      \"title\": \"브라우저\",\n      \"className\": \" internal-link\"\n    }, \"\\uBE0C\\uB77C\\uC6B0\\uC800\"), \"\\uB97C \\uC81C\\uACF5\\uD558\\uB294 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/SaaS\",\n      \"title\": \"SaaS\",\n      \"className\": \" internal-link\"\n    }, \"SaaS\"), \"\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"4c3ad4a3-7e7e-5348-b531-93c6a19a352a","string":"헤드리스 [[브라우저]]를 제공하는 [[SaaS]]","fields":{"parentPage":{"title":"Browserless","fields":{"slug":"/Browserless"}},"slug":"/9y06Hr0oy"}}}]},"fields":{"slug":"/53faa"}}},"pageContext":{"id":"e27e1c44-c536-5510-9908-ec393d2562cf"}},"staticQueryHashes":["2131059104","2221750479","2468095761"]}