{"componentChunkName":"component---node-modules-stvad-gatsby-theme-garden-src-templates-roam-page-js","path":"/November-19th-2021","result":{"data":{"roamPage":{"title":"November 19th, 2021","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\": \"november-19th-2021\"\n  }, \"November 19th, 2021\"), mdx(Block, {\n    id: \"8rssn9900\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"xkcd \\uBCF4\\uB2E4\\uAC00 \\uC6C3\\uACA8\\uC11C \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Things-That-Seem-Like-They-Shoudn't-Work-But-Do\",\n      \"title\": \"Things That Seem Like They Shoudn't Work But Do\",\n      \"className\": \" internal-link\"\n    }, \"Things That Seem Like They Shoudn't Work But Do\"), \" \\uBB38\\uC11C \\uB9CC\\uB4EC\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"aNGEdvHg5\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC544\\uB9C8 \\uBD84\\uB958\\uB9C8\\uB0E5 \\uD0DC\\uADF8\\uB85C \\uC4F0\\uC9C0 \\uC54A\\uC744\\uAE4C\\uAC00 \\uD604\\uC7AC\\uC758 \\uAE30\\uB300 \\uC0AC\\uD56D\")),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"hm1NHuORG\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/fab6f\",\n      \"title\": \"린터\",\n      \"className\": \" internal-link\"\n    }, \"\\uB9B0\\uD130\"), \" \\uAD00\\uB828\\uD574\\uC11C \\uC11C\\uC220 \\uC0C1\\uB2F9\\uD788 \\uCD94\\uAC00\\uD568\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"iBhtsgJun\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uB2E4\\uC74C\\uC5D0\\uB294 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/30d6a\",\n      \"title\": \"압축\",\n      \"className\": \" internal-link\"\n    }, \"\\uC555\\uCD95\"), \"\\uC5D0 \\uAD00\\uD574\\uC11C \\uB2E4\\uB904\\uBCFC \\uB4EF\")),\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\": \"things-that-seem-like-they-shoudnt-work-but-do\"\n  }, \"Things That Seem Like They Shoudn't Work But Do\"), mdx(Block, {\n    id: \"zxTRCZ-A4\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"img\", {\n      parentName: \"p\",\n      \"src\": \"https://imgs.xkcd.com/comics/ttsltswbd.png\",\n      \"alt\": \"xkcd 2540\"\n    }))),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"-mqanYcGM\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"strong\", {\n      parentName: \"p\"\n    }, \"\\uBCF4\\uAE30\\uC5D4 \\uC548 \\uB420 \\uAC83 \\uAC19\\uC740\\uB370 \\uB418\\uB294 \\uAC83\\uB4E4\"))),\n    mdxType: \"Block\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamPage","id":"0a3eac6a-099f-5a79-b34b-c1fb0d103556","title":"Things That Seem Like They Shoudn't Work But Do","fields":{"slug":"/Things-That-Seem-Like-They-Shoudn't-Work-But-Do"}}},{"__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  }, \"\\uB9B0\\uD130\"), mdx(Block, {\n    id: \"7ielmAzrA\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uCF54\\uB4DC\\uC758 \\uC2A4\\uD0C0\\uC77C\\uACFC \\uD754\\uD788 \\uC791\\uC131\\uB418\\uB294 \\uC624\\uB958 \\uB4F1\\uC744 \\uC0AC\\uC804\\uC5D0 \\uC7A1\\uAE30 \\uC704\\uD574 \\uAC1C\\uBC1C\\uB41C \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/144c1\",\n      \"title\": \"정적 분석\",\n      \"className\": \" internal-link\"\n    }, \"\\uC815\\uC801 \\uBD84\\uC11D\"), \" \\uB3C4\\uAD6C\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"z8DGoxH64\",\n    content: mdx(React.Fragment, null, mdx(\"h1\", {\n      \"id\": \"종류\"\n    }, \"\\uC885\\uB958\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"eyv3AiVq7\",\n    content: mdx(React.Fragment, null, mdx(\"h2\", {\n      \"id\": \"자바스크립트\"\n    }, \"\", mdx(\"a\", {\n      parentName: \"h2\",\n      \"href\": \"/6e12b\",\n      \"title\": \"자바스크립트\",\n      \"className\": \" internal-link\"\n    }, \"\\uC790\\uBC14\\uC2A4\\uD06C\\uB9BD\\uD2B8\"), \"\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"E5NAfmpOr\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/ESLint\",\n      \"title\": \"ESLint\",\n      \"className\": \" internal-link\"\n    }, \"ESLint\"), \"\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"gnbk3X92F\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"/Rome\",\n      \"title\": \"Rome\",\n      \"className\": \" internal-link\"\n    }, \"Rome\"), \"\")),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"brLQJKZe3\",\n    content: mdx(React.Fragment, null, mdx(\"h2\", {\n      \"id\": \"python\"\n    }, \"\", mdx(\"a\", {\n      parentName: \"h2\",\n      \"href\": \"/Python\",\n      \"title\": \"Python\",\n      \"className\": \" internal-link\"\n    }, \"Python\"), \"\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"7XlDHUUn6\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://pypi.org/project/flake8/\"\n    }, \"flake8\"))),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"rOiYQqmvv\",\n    content: mdx(React.Fragment, null, mdx(\"h2\", {\n      \"id\": \"rust\"\n    }, \"\", mdx(\"a\", {\n      parentName: \"h2\",\n      \"href\": \"/Rust\",\n      \"title\": \"Rust\",\n      \"className\": \" internal-link\"\n    }, \"Rust\"), \"\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"yRtU_uF1Y\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://github.com/rust-lang/rust-clippy\"\n    }, \"clippy\"))),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"pUxvJXW9h\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://rust-lang.github.io/rust-clippy/\"\n    }, \"\\uC4F8 \\uC218 \\uC788\\uB294 \\uC635\\uC158\"))),\n    mdxType: \"Block\"\n  })))));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamPage","id":"7ea61e79-48c2-5040-aa97-159a41dd6825","title":"린터","fields":{"slug":"/fab6f"}}},{"__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  }, \"\\uC555\\uCD95\"), mdx(Block, {\n    id: \"sz0mYsZjP\",\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  }), mdx(Block, {\n    id: \"b_6dWa3Y1\",\n    content: mdx(React.Fragment, null, mdx(\"h1\", {\n      \"id\": \"아카이빙-포맷과의-차이\"\n    }, \"\", mdx(\"a\", {\n      parentName: \"h1\",\n      \"href\": \"/9f8dc\",\n      \"title\": \"아카이빙 포맷\",\n      \"className\": \" internal-link\"\n    }, \"\\uC544\\uCE74\\uC774\\uBE59 \\uD3EC\\uB9F7\"), \"\\uACFC\\uC758 \\uCC28\\uC774\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"2jvzW9-bO\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC555\\uCD95\\uC774\\uB77C \\uD568\\uC740 \\uAE30\\uBCF8\\uC801\\uC73C\\uB85C \\uD55C \\uB370\\uC774\\uD130\\uB97C \\uC880 \\uB354 \\uC791\\uC740 \\uC0AC\\uC774\\uC988\\uC758 \\uBC14\\uC774\\uD2B8\\uC5F4\\uB85C \\uD45C\\uD604 \\uAC00\\uB2A5\\uD558\\uB3C4\\uB85D \\uCD5C\\uC801\\uD654\\uB97C \\uD558\\uB294 \\uC791\\uC5C5\\uC774\\uB2E4.\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"4aAGt33qc\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC774\\uC5D0 \\uBC18\\uD574 \\uC544\\uCE74\\uC774\\uBE0C \\uD3EC\\uB9F7\\uC740 \\uB370\\uC774\\uD130\\uB97C \\uB354 \\uC801\\uC740 \\uD06C\\uAE30\\uC758 \\uBC14\\uC774\\uD2B8\\uC5F4\\uB85C \\uC81C\\uACF5\\uD558\\uB294 \\uAC83\\uC774 \\uBAA9\\uC801\\uC774 \\uC544\\uB2CC, \\uC5EC\\uB7EC \\uB370\\uC774\\uD130\\uB97C \\uD558\\uB098\\uC758 \\uD30C\\uC77C\\uB85C \\uD569\\uCCD0\\uC8FC\\uB294 \\uAC83\\uC5D0 \\uCD08\\uC810\\uC744 \\uB454\\uB2E4.\")),\n    mdxType: \"Block\"\n  }), mdx(Block, {\n    id: \"naWDU_c3_\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uB9AC\\uB205\\uC2A4\\uC5D0\\uC11C \\uC790\\uC8FC \\uC4F0\\uC774\\uB294 \\uD3EC\\uB9F7\\uC778 \", mdx(\"inlineCode\", {\n      parentName: \"p\"\n    }, \".tar.gz\"), \"\\uC758 \\uC608\\uB97C \\uB4E4\\uC5B4 \\uC124\\uBA85\\uD558\\uC790\\uBA74 tar \\uC790\\uCCB4\\uB294 \\uC555\\uCD95\\uC758 \\uAE30\\uB2A5\\uC774 \\uC5C6\\uC774 \\uC5EC\\uB7EC \\uD30C\\uC77C\\uC744 \\uBB36\\uC5B4\\uC8FC\\uB294 \\uC544\\uCE74\\uC774\\uBE59 \\uD3EC\\uB9F7\\uC774\\uACE0, gz\\uB294 GNUZip\\uC774\\uB77C\\uB294 \\uC555\\uCD95 \\uD3EC\\uB9F7\\uC778 \\uAC83\\uC774\\uB2E4. \", mdx(\"inlineCode\", {\n      parentName: \"p\"\n    }, \".zip\"), \"\\uACFC \\uAC19\\uC774 \\uC774 \\uB450 \\uC5ED\\uD560\\uC744 \\uB3D9\\uC2DC\\uC5D0 \\uC218\\uD589\\uD558\\uB294 \\uD3EC\\uB9F7\\uC774 \\uC874\\uC7AC\\uD560 \\uBFD0\\uC774\\uB2E4.\")),\n    mdxType: \"Block\"\n  })), mdx(Block, {\n    id: \"hr86AyoKV\",\n    content: mdx(React.Fragment, null, mdx(\"h1\", {\n      \"id\": \"링크\"\n    }, \"\\uB9C1\\uD06C\")),\n    mdxType: \"Block\"\n  }, mdx(Block, {\n    id: \"R1dW_SkhP\",\n    content: mdx(React.Fragment, null, mdx(\"p\", null, \"\\uC555\\uCD95 \\uC54C\\uACE0\\uB9AC\\uC998 \\uB974\\uB124\\uC0C1\\uC2A4 \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://j.mearie.org/post/155896363363/compression-algorithm-renaissance-part-1\"\n    }, \"1\\uD3B8\"), \" \", mdx(\"a\", {\n      parentName: \"p\",\n      \"href\": \"https://j.mearie.org/post/155924859934/compression-algorithm-renaissance-part-2\"\n    }, \"2\\uD3B8\"))),\n    mdxType: \"Block\"\n  })));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"RoamPage","id":"e353f01c-df77-51af-b902-d3ecead7c0a8","title":"압축","fields":{"slug":"/30d6a"}}}],"inboundReferences":[]},"fields":{"slug":"/November-19th-2021"}}},"pageContext":{"id":"27d2057f-b83b-508c-89e4-2d11cfab283c"}},"staticQueryHashes":["2131059104","2221750479","2468095761"]}