{"componentChunkName":"component---node-modules-stvad-gatsby-theme-garden-src-templates-roam-page-js","path":"/GUI","result":{"data":{"roamPage":{"title":"GUI","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\": \"gui\"\n  }, \"GUI\"), mdx(Block, {\n    id: \"rnzMQ0iau\",\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;","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\": \"추가-바람\"\n  }, \"\\uCD94\\uAC00 \\uBC14\\uB78C\"), mdx(Block, {\n    id: \"ZxkIoAt-4\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uBBF8\\uB798\\uC758 \\uB0B4\\uAC00 \\uC368 \\uC918\\uC57C \\uD560 \\uB0B4\\uC6A9\\uB4E4\\uC744 \\uB9C1\\uD06C\\uD574\\uB450\\uB294 \\uACF3\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"5tzg0kntF\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"{{query: {and: \", 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":"bcdb0705-aec2-57bc-8208-d5066be4eff2","title":"추가 바람","fields":{"slug":"/a6f84"}}}],"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: \"Ls0dema0a\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uADFC\\uB370 \\uAC19\\uC740 \\uAE00 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Hacker-News\",\n      \"title\": \"Hacker News\",\n      \"className\": \" internal-link\"\n    }, \"Hacker News\"), \" \\uC2A4\\uB808\\uB4DC\\uC5D0\\uC11C\\uB294 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://hohnstaedt.de/xca/\"\n    }, \"xca\"), \" \\uAC16\\uACE0 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/GUI\",\n      \"title\": \"GUI\",\n      \"className\": \" internal-link\"\n    }, \"GUI\"), \"\\uB85C \\uC778\\uC99D\\uC11C \\uAD00\\uB9AC\\uD574\\uBCF4\\uB2C8\\uAE4C \\uD3B8\\uD558\\uACE0 \\uC88B\\uB358\\uB370? \\uB77C\\uACE0 \\uD568...\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"f8b1373b-3465-5cd1-9ed5-c6bbd6ee481c","string":"근데 같은 글 [[Hacker News]] 스레드에서는 [xca](https://hohnstaedt.de/xca/) 갖고 [[GUI]]로 인증서 관리해보니까 편하고 좋던데? 라고 함...","fields":{"parentPage":{"title":"June 12th, 2022","fields":{"slug":"/June-12th-2022"}},"slug":"/Ls0dema0a"}}},{"__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: \"otzuAGn94\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/GUI\",\n      \"title\": \"GUI\",\n      \"className\": \" internal-link\"\n    }, \"GUI\"), \" \\uD504\\uB85C\\uADF8\\uB7A8\\uC740 \\uC124\\uCE58\\uD558\\uBA74 \\uC790\\uC8FC \\uC2DC\\uC791 \\uBA54\\uB274 \\uC5D4\\uD2B8\\uB9AC\\uAC00 \\uC0AC\\uB77C\\uC9C0\\uAC70\\uB098 \\uD574\\uC11C \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/CLI\",\n      \"title\": \"CLI\",\n      \"className\": \" internal-link\"\n    }, \"CLI\"), \" \\uD504\\uB85C\\uADF8\\uB7A8 \\uAD00\\uB9AC\\uC5D0\\uB9CC \\uC4F0\\uB294 \\uAC8C sweet spot\\uC778 \\uB4EF\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"ea055bb5-a165-5090-b811-6e3793e3c530","string":"[[GUI]] 프로그램은 설치하면 자주 시작 메뉴 엔트리가 사라지거나 해서 [[CLI]] 프로그램 관리에만 쓰는 게 sweet spot인 듯","fields":{"parentPage":{"title":"Scoop","fields":{"slug":"/Scoop"}},"slug":"/otzuAGn94"}}},{"__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: \"CPvysZsrV\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/GUI\",\n      \"title\": \"GUI\",\n      \"className\": \" internal-link\"\n    }, \"GUI\"), \"\\uC758 Retained Mode\\uC640 Immidiate Mode\\uC758 \\uCC28\\uC774\\uB97C \\uC54C\\uC544\\uBCF4\\uC558\\uB2E4.\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"tD1d3QufX\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://docs.microsoft.com/en-us/windows/win32/learnwin32/retained-mode-versus-immediate-mode\"\n    }, \"https://docs.microsoft.com/en-us/windows/win32/learnwin32/retained-mode-versus-immediate-mode\"))),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"RZPF-lrab\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"Retained\\uB294 \\uADF8\\uB798\\uD53D \\uB77C\\uC774\\uBE0C\\uB7EC\\uB9AC\\uAC00 GUI \\uC120\\uC5B8\\uC744 \\uBC14\\uD0D5\\uC73C\\uB85C \\uADF8\\uB9AC\\uACE0, Immidiate\\uB294 \\uB9E4 \\uD504\\uB808\\uC784\\uB9C8\\uB2E4 \\uC0AC\\uC6A9\\uC790 \\uCF54\\uB4DC\\uAC00 \\uADF8\\uB798\\uD53D \\uB77C\\uC774\\uBE0C\\uB7EC\\uB9AC\\uB97C \\uBD88\\uB7EC\\uC11C \\uADF8\\uB9B0\\uB2E4\\uC5D0 \\uAC00\\uAE4C\\uC6B4 \\uB290\\uB08C\\uC778 \\uB4EF\")),\n    mdxType: \"Block\"\n  })));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"8dc6606a-ea84-5099-9819-8f6b1462351b","string":"[[GUI]]의 Retained Mode와 Immidiate Mode의 차이를 알아보았다.","fields":{"parentPage":{"title":"December 10th, 2021","fields":{"slug":"/December-10th-2021"}},"slug":"/CPvysZsrV"}}},{"__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: \"UjcmgyV7z\",\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\"), \" \\uAE30\\uC220\\uC744 \\uD1B5\\uD574 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/GUI\",\n      \"title\": \"GUI\",\n      \"className\": \" internal-link\"\n    }, \"GUI\"), \" \\uB370\\uC2A4\\uD06C\\uD0D1 \\uC560\\uD50C\\uB9AC\\uCF00\\uC774\\uC158\\uC744 \\uB9CC\\uB4DC\\uB294 \\uB3C4\\uAD6C\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"5d4a8446-6ac2-52e6-9fa3-3252d6dfe6c0","string":"[[웹]] 기술을 통해 [[GUI]] 데스크탑 애플리케이션을 만드는 도구","fields":{"parentPage":{"title":"Electron","fields":{"slug":"/Electron"}},"slug":"/UjcmgyV7z"}}},{"__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: \"xhd-sYszr\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uB2E4\\uB978 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/GUI\",\n      \"title\": \"GUI\",\n      \"className\": \" internal-link\"\n    }, \"GUI\"), \" \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/3c7e5\",\n      \"title\": \"네이티브\",\n      \"className\": \" internal-link\"\n    }, \"\\uB124\\uC774\\uD2F0\\uBE0C\"), \" \\uC560\\uD50C\\uB9AC\\uCF00\\uC774\\uC158\\uC5D0\\uC11C \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/9f451\",\n      \"title\": \"웹\",\n      \"className\": \" internal-link\"\n    }, \"\\uC6F9\"), \" \\uCEE8\\uD150\\uCE20\\uB97C \\uC784\\uBCA0\\uB529\\uD558\\uAE30 \\uC704\\uD574 \\uC4F0\\uC774\\uB294 \\uB3C4\\uAD6C\\uB97C \\uD241\\uCCD0\\uC11C \\uBD80\\uB974\\uB294 \\uB9D0\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"77a72735-b199-5260-9f1c-09b2d35997bb","string":"다른 [[GUI]] [[네이티브]] 애플리케이션에서 [[웹]] 컨텐츠를 임베딩하기 위해 쓰이는 도구를 퉁쳐서 부르는 말","fields":{"parentPage":{"title":"WebView","fields":{"slug":"/WebView"}},"slug":"/xhd-sYszr"}}}]},"fields":{"slug":"/GUI"}}},"pageContext":{"id":"550cd404-005a-5c7d-ad09-045d83a8146f"}},"staticQueryHashes":["2131059104","2221750479","2468095761"]}