{"componentChunkName":"component---node-modules-stvad-gatsby-theme-garden-src-templates-roam-page-js","path":"/cbac2","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 = {};\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  }, \"\\uCF54\\uB4DC \\uB9AC\\uBDF0\"), mdx(Block, {\n    id: \"g4mx8rseO\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://soojin.ro/review/\"\n    }, \"Review \\xB7 Soojin Ro\"))),\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: \"_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: \"_4VhYEmh5\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://graphite.dev/\"\n    }, \"Graphite\"), \" - Google Critique/\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Facebook\",\n      \"title\": \"Facebook\",\n      \"className\": \" internal-link\"\n    }, \"Facebook\"), \" Phabricator \\uAC19\\uC740 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/cbac2\",\n      \"title\": \"코드 리뷰\",\n      \"className\": \" internal-link\"\n    }, \"\\uCF54\\uB4DC \\uB9AC\\uBDF0\"), \" \\uD50C\\uB7AB\\uD3FC\")),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"e71fb946-49c0-5f10-9953-1531d0d3b6b3","string":"[Graphite](https://graphite.dev/) - Google Critique/[[Facebook]] Phabricator 같은 [[코드 리뷰]] 플랫폼","fields":{"parentPage":{"title":"Google","fields":{"slug":"/Google"}},"slug":"/_4VhYEmh5"}}},{"__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: \"k-TuFSrkm\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/cbac2\",\n      \"title\": \"코드 리뷰\",\n      \"className\": \" internal-link\"\n    }, \"\\uCF54\\uB4DC \\uB9AC\\uBDF0\"), \"\\uC758 \\uD575\\uC2EC\\uC740 \\uC131\\uC7A5\\uC774 \\uC544\\uB2C8\\uB77C \\uBCD1\\uD569\\uC744 \\uC704\\uD55C \\uD655\\uC778 \\uACFC\\uC815\\uC774\\uB2E4\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"R0XbAGVlc\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"em\", {\n      parentName: \"p\"\n    }, \"\\uD504\\uB85C\\uC81D\\uD2B8\\uC758 \\uAC70\\uBC84\\uB10C\\uC2A4 \\uBAA8\\uB378\\uC5D0 \\uB530\\uB77C \\uB290\\uB08C\\uC774 \\uB2E4 \\uB2E4\\uB974\\uAE34 \\uD558\\uC9C0\\uB9CC \\uBCF8\\uC9C8\\uC801\\uC73C\\uB85C \\uBCD1\\uD569\\uC744 \\uC804\\uC81C\\uB85C \\uD558\\uB294 \\uBAA8\\uB4E0 \\uCF54\\uB4DC\\uB9AC\\uBDF0\\uB294 \\uBA54\\uC778\\uD14C\\uC774\\uB108\\uB85C\\uC11C \\uCC38\\uC5EC\\uD558\\uB294 \\uC758\\uC2DD\\uC785\\uB2C8\\uB2E4.\"))),\n    mdxType: \"Block\"\n  })));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamBlock","id":"164314a5-305c-5656-bae3-5655248e3f78","string":"[[코드 리뷰]]의 핵심은 성장이 아니라 병합을 위한 확인 과정이다","fields":{"parentPage":{"title":"June 13th, 2022","fields":{"slug":"/June-13th-2022"}},"slug":"/k-TuFSrkm"}}}]},"fields":{"slug":"/cbac2"}}},"pageContext":{"id":"63e0d38a-dd58-5185-b682-dae4efa406d7"}},"staticQueryHashes":["2131059104","2221750479","2468095761"]}