{"componentChunkName":"component---node-modules-stvad-gatsby-theme-garden-src-templates-roam-page-js","path":"/BFF","result":{"data":{"roamPage":{"title":"BFF","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\": \"bff\"\n  }, \"BFF\"), mdx(Block, {\n    id: \"O9S6Bka-E\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"Backend-for-Frontend\")),\n    mdxType: \"Block\"\n  }));\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: \"mmEXW2cDM\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://fe-developers.kakaoent.com/2022/220310-kakaopage-bff/\"\n    }, \"\\uCE74\\uCE74\\uC624\\uD398\\uC774\\uC9C0\\uB294 BFF(Backend For Frontend)\\uB97C \\uC5B4\\uB5BB\\uAC8C \\uC801\\uC6A9\\uD588\\uC744\\uAE4C?\"), \" \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/BFF\",\n      \"title\": \"hashtag_BFF\",\n      \"className\": \"hashtag internal-link\"\n    }, \"BFF\"), \"\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"fK0iOpjd4\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC0AC\\uC2E4 \\uB9C1\\uD06C \\uC811\\uD55C \\uC9C0\\uB294 \\uC624\\uB798\\uB410\\uB294\\uB370 \\uC77D\\uC9C8 \\uBABB \\uD588\\uC74C \\u314B\\u314B\\u314B\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"YYVSrA_EG\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"BFF\\uB97C \\uD1B5\\uD574 \\uD504\\uB860\\uD2B8\\uC5D4\\uB4DC\\uC640 \\uAC01 API \")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"2VGYzjigI\",\n    content: mdx(React.Fragment, null, mdx(\"blockquote\", null, mdx(\"p\", {\n      parentName: \"blockquote\"\n    }, \"\\uD074\\uB77C\\uC774\\uC5B8\\uD2B8\\uC758 \\uAFC8\\uC778 \\u2018\\uD654\\uBA74\\uC5D0 \\uD544\\uC694\\uD55C \\uB370\\uC774\\uD130\\uB9CC \\uBC1B\\uB294\\u2019 partial response\\uB97C \\uD558\\uAE30 \\uC5B4\\uB824\\uC6B4 \\uC774\\uC288\"))),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"1F6tppLeW\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC774\\uAC70 \\uBCF4\\uACE0 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/GraphQL\",\n      \"title\": \"GraphQL\",\n      \"className\": \" internal-link\"\n    }, \"GraphQL\"), \" \\uB5A0\\uC62C\\uB838\\uB294\\uB370 \\uC544\\uB2C8\\uB098 \\uB2E4\\uB97C\\uAE4C \\uBC14\\uB85C \\uB098\\uC634\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"gTUo55p9t\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"GraphQL Mesh \\uAC19\\uC740 \\uAC78 \\uC801\\uC6A9\\uD574\\uBCF4\\uC544\\uB3C4 \\uC88B\\uC744 \\uB4EF\")),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"VBv_NRqNE\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"Normalized Caching\\uC758 \\uC5B4\\uB824\\uC6C0\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"vgsqi7Oc-\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC0AC\\uC2E4 \\uC774\\uAC78 \\uC798 \\uD558\\uAE30 \\uC704\\uD574\\uC11C\\uB294 \\uC2A4\\uD0A4\\uB9C8 \\uBAA8\\uB378\\uB9C1\\uC744 \\uC798 \\uD574\\uC57C \\uD558\\uAE30\\uB3C4 \\uD568...\")),\n    mdxType: \"Block\"\n  }))));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"4109463c-2d5c-5423-aca7-a72886076613","string":"[카카오페이지는 BFF(Backend For Frontend)를 어떻게 적용했을까?](https://fe-developers.kakaoent.com/2022/220310-kakaopage-bff/) #BFF","fields":{"parentPage":{"title":"July 12th, 2022","fields":{"slug":"/July-12th-2022"}},"slug":"/mmEXW2cDM"}}}]},"fields":{"slug":"/BFF"}}},"pageContext":{"id":"86597d98-c22b-591f-affe-6c6e38a0baa2"}},"staticQueryHashes":["2131059104","2221750479","2468095761"]}