export default { '/babel-cha-jian-tong-guan-mi-ji/': [{ text: 'Babel 插件通关秘籍', collapsible: true, items: [{ text: 'Babel Macros', link: '/babel-cha-jian-tong-guan-mi-ji/babel-macros.md' }, { text: 'Babel 插件和 preset', link: '/babel-cha-jian-tong-guan-mi-ji/babel-cha-jian-he-preset.md' }, { text: 'Babel 插件的单元测试', link: '/babel-cha-jian-tong-guan-mi-ji/babel-cha-jian-de-dan-yuan-ce-shi.md' }, { text: 'Babel 的 API', link: '/babel-cha-jian-tong-guan-mi-ji/babel-de-api.md' }, { text: 'Babel 的 AST', link: '/babel-cha-jian-tong-guan-mi-ji/babel-de-ast.md' }, { text: 'Babel 的介绍', link: '/babel-cha-jian-tong-guan-mi-ji/babel-de-jie-shao.md' }, { text: 'Babel 的内置功能(上)', link: '/babel-cha-jian-tong-guan-mi-ji/babel-de-nei-zhi-gong-neng-shang-.md' }, { text: 'Babel 的内置功能(下)', link: '/babel-cha-jian-tong-guan-mi-ji/babel-de-nei-zhi-gong-neng-xia-.md' }, { text: 'Babel 的编译流程', link: '/babel-cha-jian-tong-guan-mi-ji/babel-de-bian-yi-liu-cheng.md' }, { text: 'Babel 配置的原理', link: '/babel-cha-jian-tong-guan-mi-ji/babel-pei-zhi-de-yuan-li.md' }, { text: 'Code- Frame 和代码高亮原理', link: '/babel-cha-jian-tong-guan-mi-ji/code--frame-he-dai-ma-gao-liang-yuan-li.md' }, { text: 'Generator 和 SourceMap 的奥秘', link: '/babel-cha-jian-tong-guan-mi-ji/generator-he-sourcemap-de-ao-mi.md' }, { text: 'JS Parser 的历史', link: '/babel-cha-jian-tong-guan-mi-ji/js-parser-de-li-shi.md' }, { text: 'traverse 的 path、scope、visitor', link: '/babel-cha-jian-tong-guan-mi-ji/traverse-de-path-scope-visitor.md' }, { text: '实战案例- JS 解释器', link: '/babel-cha-jian-tong-guan-mi-ji/shi-zhan-an-li--js-jie-shi-qi.md' }, { text: '实战案例- Linter', link: '/babel-cha-jian-tong-guan-mi-ji/shi-zhan-an-li--linter.md' }, { text: '实战案例- 压缩混淆', link: '/babel-cha-jian-tong-guan-mi-ji/shi-zhan-an-li--ya-suo-hun-yao.md' }, { text: '实战案例- 模块遍历器', link: '/babel-cha-jian-tong-guan-mi-ji/shi-zhan-an-li--mo-kuai-bian-li-qi.md' }, { text: '实战案例- 类型检查', link: '/babel-cha-jian-tong-guan-mi-ji/shi-zhan-an-li--lei-xing-jian-cha.md' }, { text: '实战案例- 自动国际化', link: '/babel-cha-jian-tong-guan-mi-ji/shi-zhan-an-li--zi-dong-guo-ji-hua.md' }, { text: '实战案例-插入函数调用参数', link: '/babel-cha-jian-tong-guan-mi-ji/shi-zhan-an-li-cha-ru-han-shu-diao-yong-can-shu.md' }, { text: '实战案例-自动埋点', link: '/babel-cha-jian-tong-guan-mi-ji/shi-zhan-an-li-zi-dong-mai-dian.md' }, { text: '实战案例-自动生成 API 文档', link: '/babel-cha-jian-tong-guan-mi-ji/shi-zhan-an-li-zi-dong-sheng-cheng-api-wen-dang.md' }, { text: '小册总结', link: '/babel-cha-jian-tong-guan-mi-ji/xiao-ce-zong-jie.md' }, { text: '工具介绍-VSCode Debugger 的使用', link: '/babel-cha-jian-tong-guan-mi-ji/gong-ju-jie-shao-vscode-debugger-de-shi-yong.md' }, { text: '手写 Babel- cli篇', link: '/babel-cha-jian-tong-guan-mi-ji/shou-xie-babel--clipian.md' }, { text: '手写 Babel- core篇', link: '/babel-cha-jian-tong-guan-mi-ji/shou-xie-babel--corepian.md' }, { text: '手写 Babel- generator篇', link: '/babel-cha-jian-tong-guan-mi-ji/shou-xie-babel--generatorpian.md' }, { text: '手写 Babel- parser 篇', link: '/babel-cha-jian-tong-guan-mi-ji/shou-xie-babel--parser-pian.md' }, { text: '手写 Babel- traverse -- path篇', link: '/babel-cha-jian-tong-guan-mi-ji/shou-xie-babel--traverse----pathpian.md' }, { text: '手写 Babel- traverse -- scope篇', link: '/babel-cha-jian-tong-guan-mi-ji/shou-xie-babel--traverse----scopepian.md' }, { text: '手写 Babel- traverse 篇', link: '/babel-cha-jian-tong-guan-mi-ji/shou-xie-babel--traverse-pian.md' }, { text: '手写 Babel- 总结', link: '/babel-cha-jian-tong-guan-mi-ji/shou-xie-babel--zong-jie.md' }, { text: '手写 Babel-思路篇', link: '/babel-cha-jian-tong-guan-mi-ji/shou-xie-babel-si-lu-pian.md' }, ] }],'/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/': [{ text: 'Electron and React 从 0 到 1 实现简历平台实战', collapsible: true, items: [{ text: '1000米里程碑-简历主流程完成', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/1000mi-li-cheng-bei-jian-li-zhu-liu-cheng-wan-cheng.md' }, { text: '1500米里程碑-丰富功能', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/1500mi-li-cheng-bei-feng-fu-gong-neng.md' }, { text: '500米里程-环境搭建篇完成', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/500mi-li-cheng-huan-jing-da-jian-pian-wan-cheng.md' }, { text: '业务篇-如何写我们的Redux与File', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/ye-wu-pian-ru-he-xie-wo-men-de-reduxyu-file.md' }, { text: '业务篇-思考并补全遗漏的功能细节,整体优化代码,让应用更健壮', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/ye-wu-pian-si-kao-bing-bu-quan-yi-lou-de-gong-neng-xi-jie-zheng-ti-you-hua-dai-ma-rang-ying-yong-geng-jian-zhuang.md' }, { text: '业务篇-简历制作之入口页面开发', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/ye-wu-pian-jian-li-zhi-zuo-zhi-ru-kou-ye-mian-kai-fa.md' }, { text: '业务篇-简历制作之导出PDF', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/ye-wu-pian-jian-li-zhi-zuo-zhi-dao-chu-pdf.md' }, { text: '业务篇-简历制作之工具条模块与简历模版之间通信', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/ye-wu-pian-jian-li-zhi-zuo-zhi-gong-ju-tiao-mo-kuai-yu-jian-li-mo-ban-zhi-jian-tong-xin.md' }, { text: '业务篇-简历制作之常用组件设计与简历数据设计', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/ye-wu-pian-jian-li-zhi-zuo-zhi-chang-yong-zu-jian-she-ji-yu-jian-li-shu-ju-she-ji.md' }, { text: '业务篇-简历制作之数据的录入与展示', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/ye-wu-pian-jian-li-zhi-zuo-zhi-shu-ju-de-lu-ru-yu-zhan-shi.md' }, { text: '业务篇-简历数据存档且自定义存储路径(多窗口)', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/ye-wu-pian-jian-li-shu-ju-cun-dang-qie-zi-ding-yi-cun-chu-lu-jing-duo-chuang-kou-.md' }, { text: '业务篇-简历模版列表实现与侧边栏交互效果', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/ye-wu-pian-jian-li-mo-ban-lie-biao-shi-xian-yu-ce-bian-lan-jiao-hu-xiao-guo.md' }, { text: '业务篇-首页主题换肤功能实现且Hooks优化逻辑', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/ye-wu-pian-shou-ye-zhu-ti-huan-fu-gong-neng-shi-xian-qie-hooksyou-hua-luo-ji.md' }, { text: '业务篇-首页开发,好的印象能加分', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/ye-wu-pian-shou-ye-kai-fa-hao-de-yin-xiang-neng-jia-fen.md' }, { text: '优化篇-公共弹窗拆解优化,让职能更加单一', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/you-hua-pian-gong-gong-dan-chuang-chai-jie-you-hua-rang-zhi-neng-geng-jia-dan-yi.md' }, { text: '到达目的地-应用程序发布', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/dao-da-mu-de-di-ying-yong-cheng-xu-fa-bu.md' }, { text: '基础篇-Electron初步认识并掌握基础知识', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/ji-chu-pian-electronchu-bu-ren-shi-bing-zhang-wo-ji-chu-zhi-shi.md' }, { text: '定制篇-自定义 Electron 原生应用菜单', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/ding-zhi-pian-zi-ding-yi-electron-yuan-sheng-ying-yong-cai-dan.md' }, { text: '开篇-技术选型和项目结构', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/kai-pian-ji-shu-xuan-xing-he-xiang-mu-jie-gou.md' }, { text: '彩蛋篇-RcReduxModel中间件开发设计', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/cai-dan-pian-rcreduxmodelzhong-jian-jian-kai-fa-she-ji.md' }, { text: '彩蛋篇-Webpack基础介绍与两大利器', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/cai-dan-pian-webpackji-chu-jie-shao-yu-liang-da-li-qi.md' }, { text: '打包篇-Electron打包体积优化', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/da-bao-pian-electronda-bao-ti-ji-you-hua.md' }, { text: '打包篇-Webpack打包优化', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/da-bao-pian-webpackda-bao-you-hua.md' }, { text: '打包篇-应用程序生产环境构建', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/da-bao-pian-ying-yong-cheng-xu-sheng-chan-huan-jing-gou-jian.md' }, { text: '打包篇-生产环境疑难杂症的解决', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/da-bao-pian-sheng-chan-huan-jing-yi-nan-za-zheng-de-jie-jue.md' }, { text: '支线篇-打包生成第一个桌面应用(骄傲自豪)', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/zhi-xian-pian-da-bao-sheng-cheng-di-yi-ge-zhuo-mian-ying-yong-jiao-ao-zi-hao-.md' }, { text: '期望篇-可视化自定义独特的简历模版', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/qi-wang-pian-ke-shi-hua-zi-ding-yi-du-te-de-jian-li-mo-ban.md' }, { text: '环境篇-动手搭建我们的简历平台', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/huan-jing-pian-dong-shou-da-jian-wo-men-de-jian-li-ping-tai.md' }, { text: '结尾篇-行而不辍,未来可期', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/jie-wei-pian-xing-er-bu-chuo-wei-lai-ke-qi.md' }, { text: '设计篇-需求功能设计与数据存储方案设计', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/she-ji-pian-xu-qiu-gong-neng-she-ji-yu-shu-ju-cun-chu-fang-an-she-ji.md' }, { text: '问题篇-常见问题解决', link: '/electron-and-react-cong-0-dao-1-shi-xian-jian-li-ping-tai-shi-zhan/wen-ti-pian-chang-jian-wen-ti-jie-jue.md' }, ] }],'/git-yuan-li-xiang-jie-ji-shi-yong-zhi-nan/': [{ text: 'Git 原理详解及实用指南', collapsible: true, items: [{ text: '上手 1-新公司用 Git 管理代码,怎么快速上手?', link: '/git-yuan-li-xiang-jie-ji-shi-yong-zhi-nan/shang-shou-1-xin-gong-si-yong-git-guan-li-dai-ma-zen-me-kuai-su-shang-shou-.md' }, { text: '上手 2-团队工作的基本工作模型', link: '/git-yuan-li-xiang-jie-ji-shi-yong-zhi-nan/shang-shou-2-tuan-dui-gong-zuo-de-ji-ben-gong-zuo-mo-xing.md' }, { text: '什么是分布式版本控制系统(DVCS)', link: '/git-yuan-li-xiang-jie-ji-shi-yong-zhi-nan/shi-me-shi-fen-bu-shi-ban-ben-kong-zhi-xi-tong-dvcs-.md' }, { text: '什么是版本控制系统(VCS)', link: '/git-yuan-li-xiang-jie-ji-shi-yong-zhi-nan/shi-me-shi-ban-ben-kong-zhi-xi-tong-vcs-.md' }, { text: '总结', link: '/git-yuan-li-xiang-jie-ji-shi-yong-zhi-nan/zong-jie.md' }, { text: '进阶 1-HEAD、master 与 branch', link: '/git-yuan-li-xiang-jie-ji-shi-yong-zhi-nan/jin-jie-1-head-master-yu-branch.md' }, { text: '进阶 2-push 的本质', link: '/git-yuan-li-xiang-jie-ji-shi-yong-zhi-nan/jin-jie-2-push-de-ben-zhi.md' }, { text: '进阶 3-merge-合并 commits', link: '/git-yuan-li-xiang-jie-ji-shi-yong-zhi-nan/jin-jie-3-merge-he-bing-commits.md' }, { text: '进阶 4-Feature Branching-最流行的工作流', link: '/git-yuan-li-xiang-jie-ji-shi-yong-zhi-nan/jin-jie-4-feature-branching-zui-liu-xing-de-gong-zuo-liu.md' }, { text: '进阶 5-关于 add', link: '/git-yuan-li-xiang-jie-ji-shi-yong-zhi-nan/jin-jie-5-guan-yu-add.md' }, { text: '进阶 6-看看我都改了什么', link: '/git-yuan-li-xiang-jie-ji-shi-yong-zhi-nan/jin-jie-6-kan-kan-wo-du-gai-liao-shi-me.md' }, { text: '额外说点-.gitignore——排除不想被管理的文件和目录', link: '/git-yuan-li-xiang-jie-ji-shi-yong-zhi-nan/e-wai-shuo-dian-.gitignore----pai-chu-bu-xiang-bei-guan-li-de-wen-jian-he-mu-lu.md' }, { text: '高级 1-不喜欢 merge 的分叉?用 rebase 吧', link: '/git-yuan-li-xiang-jie-ji-shi-yong-zhi-nan/gao-ji-1-bu-xi-huan-merge-de-fen-cha-yong-rebase-ba.md' }, { text: '高级 10-branch 删过了才想起来有用?', link: '/git-yuan-li-xiang-jie-ji-shi-yong-zhi-nan/gao-ji-10-branch-shan-guo-liao-cai-xiang-qi-lai-you-yong-.md' }, { text: '高级 2-刚刚提交的代码,发现写错了怎么办?', link: '/git-yuan-li-xiang-jie-ji-shi-yong-zhi-nan/gao-ji-2-gang-gang-ti-jiao-de-dai-ma-fa-xian-xie-cuo-liao-zen-me-ban-.md' }, { text: '高级 3-写错的不是最新的提交,而是倒数第二个?', link: '/git-yuan-li-xiang-jie-ji-shi-yong-zhi-nan/gao-ji-3-xie-cuo-de-bu-shi-zui-xin-de-ti-jiao-er-shi-dao-shu-di-er-ge-.md' }, { text: '高级 4-比错还错,想直接丢弃刚写的提交?', link: '/git-yuan-li-xiang-jie-ji-shi-yong-zhi-nan/gao-ji-4-bi-cuo-huan-cuo-xiang-zhi-jie-diu-qi-gang-xie-de-ti-jiao-.md' }, { text: '高级 5-想丢弃的也不是最新的提交?', link: '/git-yuan-li-xiang-jie-ji-shi-yong-zhi-nan/gao-ji-5-xiang-diu-qi-de-ye-bu-shi-zui-xin-de-ti-jiao-.md' }, { text: '高级 6-代码已经 push 上去了才发现写错?', link: '/git-yuan-li-xiang-jie-ji-shi-yong-zhi-nan/gao-ji-6-dai-ma-yi-jing-push-shang-qu-liao-cai-fa-xian-xie-cuo-.md' }, { text: '高级 7-reset 的本质——不止可以撤销提交', link: '/git-yuan-li-xiang-jie-ji-shi-yong-zhi-nan/gao-ji-7-reset-de-ben-zhi----bu-zhi-ke-yi-che-xiao-ti-jiao.md' }, { text: '高级 8-checkout 的本质', link: '/git-yuan-li-xiang-jie-ji-shi-yong-zhi-nan/gao-ji-8-checkout-de-ben-zhi.md' }, { text: '高级 9-紧急情况-「立即给我打个包,现在马上!」', link: '/git-yuan-li-xiang-jie-ji-shi-yong-zhi-nan/gao-ji-9-jin-ji-qing-kuang--li-ji-gei-wo-da-ge-bao-xian-zai-ma-shang-.md' }, ] }],'/javascript-she-ji-mo-shi-he-xin-yuan-li-yu-ying-yong-shi-jian/': [{ text: 'JavaScript 设计模式核心原理与应用实践', collapsible: true, items: [{ text: '创建型-单例模式——Vuex的数据管理哲学', link: '/javascript-she-ji-mo-shi-he-xin-yuan-li-yu-ying-yong-shi-jian/chuang-jian-xing-dan-li-mo-shi----vuexde-shu-ju-guan-li-zhe-xue.md' }, { text: '创建型-单例模式——面试真题手把手教学', link: '/javascript-she-ji-mo-shi-he-xin-yuan-li-yu-ying-yong-shi-jian/chuang-jian-xing-dan-li-mo-shi----mian-shi-zhen-ti-shou-ba-shou-jiao-xue.md' }, { text: '创建型-原型模式——谈Prototype无小事', link: '/javascript-she-ji-mo-shi-he-xin-yuan-li-yu-ying-yong-shi-jian/chuang-jian-xing-yuan-xing-mo-shi----tan-prototypewu-xiao-shi.md' }, { text: '创建型-工厂模式·抽象工厂——理解“开放封闭”', link: '/javascript-she-ji-mo-shi-he-xin-yuan-li-yu-ying-yong-shi-jian/chuang-jian-xing-gong-han-mo-shi-chou-xiang-gong-han----li-jie-kai-fang-feng-bi-.md' }, { text: '创建型-工厂模式·简单工厂——区分“变与不变”', link: '/javascript-she-ji-mo-shi-he-xin-yuan-li-yu-ying-yong-shi-jian/chuang-jian-xing-gong-han-mo-shi-jian-dan-gong-han----qu-fen-bian-yu-bu-bian-.md' }, { text: '前方的路', link: '/javascript-she-ji-mo-shi-he-xin-yuan-li-yu-ying-yong-shi-jian/qian-fang-de-lu.md' }, { text: '开篇-前端工程师的成长论', link: '/javascript-she-ji-mo-shi-he-xin-yuan-li-yu-ying-yong-shi-jian/kai-pian-qian-duan-gong-cheng-shi-de-cheng-chang-lun.md' }, { text: '结构型-代理模式——一家小型婚介所的发家致富之路', link: '/javascript-she-ji-mo-shi-he-xin-yuan-li-yu-ying-yong-shi-jian/jie-gou-xing-dai-li-mo-shi----yi-jia-xiao-xing-hun-jie-suo-de-fa-jia-zhi-fu-zhi-lu.md' }, { text: '结构型-代理模式——应用实践范例解析', link: '/javascript-she-ji-mo-shi-he-xin-yuan-li-yu-ying-yong-shi-jian/jie-gou-xing-dai-li-mo-shi----ying-yong-shi-jian-fan-li-jie-xi.md' }, { text: '结构型-装饰器模式——对象装上它,就像开了挂', link: '/javascript-she-ji-mo-shi-he-xin-yuan-li-yu-ying-yong-shi-jian/jie-gou-xing-zhuang-shi-qi-mo-shi----dui-xiang-zhuang-shang-ta-jiu-xiang-kai-liao-gua.md' }, { text: '结构型-装饰器模式——深入装饰器原理与优秀案例', link: '/javascript-she-ji-mo-shi-he-xin-yuan-li-yu-ying-yong-shi-jian/jie-gou-xing-zhuang-shi-qi-mo-shi----shen-ru-zhuang-shi-qi-yuan-li-yu-you-xiu-an-li.md' }, { text: '结构型-适配器模式——兼容代码就是一把梭', link: '/javascript-she-ji-mo-shi-he-xin-yuan-li-yu-ying-yong-shi-jian/jie-gou-xing-gua-pei-qi-mo-shi----jian-rong-dai-ma-jiu-shi-yi-ba-suo.md' }, { text: '行为型-状态模式——自助咖啡机背后的力量', link: '/javascript-she-ji-mo-shi-he-xin-yuan-li-yu-ying-yong-shi-jian/xing-wei-xing-zhuang-tai-mo-shi----zi-zhu-ka-pei-ji-bei-hou-de-li-liang.md' }, { text: '行为型-策略模式——重构小能手,拆分“胖逻辑”', link: '/javascript-she-ji-mo-shi-he-xin-yuan-li-yu-ying-yong-shi-jian/xing-wei-xing-ce-lue-mo-shi----chong-gou-xiao-neng-shou-chai-fen-pang-luo-ji-.md' }, { text: '行为型-观察者模式——面试真题手把手教学', link: '/javascript-she-ji-mo-shi-he-xin-yuan-li-yu-ying-yong-shi-jian/xing-wei-xing-guan-cha-zhe-mo-shi----mian-shi-zhen-ti-shou-ba-shou-jiao-xue.md' }, { text: '行为型-观察者模式——鬼故事-产品经理拉了一个钉钉群', link: '/javascript-she-ji-mo-shi-he-xin-yuan-li-yu-ying-yong-shi-jian/xing-wei-xing-guan-cha-zhe-mo-shi----gui-gu-shi-chan-pin-jing-li-la-liao-yi-ge-ding-ding-qun.md' }, { text: '行为型-迭代器模式——真·遍历专家', link: '/javascript-she-ji-mo-shi-he-xin-yuan-li-yu-ying-yong-shi-jian/xing-wei-xing-die-dai-qi-mo-shi----zhen-bian-li-zhuan-jia.md' }, { text: '设计模式的“道”与“术”', link: '/javascript-she-ji-mo-shi-he-xin-yuan-li-yu-ying-yong-shi-jian/she-ji-mo-shi-de-dao-yu-shu-.md' }, ] }],'/nestjs-xiang-mu-shi-zhan/': [{ text: 'NestJS 项目实战', collapsible: true, items: [{ text: 'FAQ-学习篇', link: '/nestjs-xiang-mu-shi-zhan/faq-xue-xi-pian.md' }, { text: '基础篇-自定义日志', link: '/nestjs-xiang-mu-shi-zhan/ji-chu-pian-zi-ding-yi-ri-zhi.md' }, { text: '基础篇-鉴权与登录', link: '/nestjs-xiang-mu-shi-zhan/ji-chu-pian-jian-quan-yu-deng-lu.md' }, { text: '学习里程碑-基础篇完结', link: '/nestjs-xiang-mu-shi-zhan/xue-xi-li-cheng-bei-ji-chu-pian-wan-jie.md' }, { text: '完结篇-课程总结', link: '/nestjs-xiang-mu-shi-zhan/wan-jie-pian-ke-cheng-zong-jie.md' }, { text: '工具篇-数据库', link: '/nestjs-xiang-mu-shi-zhan/gong-ju-pian-shu-ju-ku.md' }, { text: '工具篇-飞书应用对接', link: '/nestjs-xiang-mu-shi-zhan/gong-ju-pian-fei-shu-ying-yong-dui-jie.md' }, { text: '新手篇-熟悉 NestJS', link: '/nestjs-xiang-mu-shi-zhan/xin-shou-pian-shou-xi-nestjs.md' }, { text: '物料篇-物料开发与构建', link: '/nestjs-xiang-mu-shi-zhan/wu-liao-pian-wu-liao-kai-fa-yu-gou-jian.md' }, { text: '物料篇-物料系统设计', link: '/nestjs-xiang-mu-shi-zhan/wu-liao-pian-wu-liao-xi-tong-she-ji.md' }, { text: '用户篇-RBAC 权限设计', link: '/nestjs-xiang-mu-shi-zhan/yong-hu-pian-rbac-quan-xian-she-ji.md' }, { text: '网关篇-代理与缓存', link: '/nestjs-xiang-mu-shi-zhan/wang-guan-pian-dai-li-yu-huan-cun.md' }, { text: '设计篇-技术选型', link: '/nestjs-xiang-mu-shi-zhan/she-ji-pian-ji-shu-xuan-xing.md' }, { text: '设计篇-需求分析', link: '/nestjs-xiang-mu-shi-zhan/she-ji-pian-xu-qiu-fen-xi.md' }, { text: '进阶篇-应用部署', link: '/nestjs-xiang-mu-shi-zhan/jin-jie-pian-ying-yong-bu-shu.md' }, { text: '进阶篇-微服务', link: '/nestjs-xiang-mu-shi-zhan/jin-jie-pian-wei-fu-wu.md' }, { text: '进阶篇-自动化测试', link: '/nestjs-xiang-mu-shi-zhan/jin-jie-pian-zi-dong-hua-ce-shi.md' }, { text: '进阶篇-项目拆分', link: '/nestjs-xiang-mu-shi-zhan/jin-jie-pian-xiang-mu-chai-fen.md' }, { text: '配置篇-基础功能配置', link: '/nestjs-xiang-mu-shi-zhan/pei-zhi-pian-ji-chu-gong-neng-pei-zhi.md' }, ] }],'/node-and-react-shi-zhan-cong-0-dao-1-shi-xian-ji-zhang-ben/': [{ text: 'Node and React 实战:从 0 到 1 实现记账本', collapsible: true, items: [{ text: '上半场结束|服务端总结', link: '/node-and-react-shi-zhan-cong-0-dao-1-shi-xian-ji-zhang-ben/shang-ban-chang-jie-shu-fu-wu-duan-zong-jie.md' }, { text: '前端实战-Vite 2.0 React ZarmUI 搭建前端 H5 开发环境', link: '/node-and-react-shi-zhan-cong-0-dao-1-shi-xian-ji-zhang-ben/qian-duan-shi-zhan-vite-2.0-react-zarmui-da-jian-qian-duan-h5-kai-fa-huan-jing.md' }, { text: '前端实战-个人中心', link: '/node-and-react-shi-zhan-cong-0-dao-1-shi-xian-ji-zhang-ben/qian-duan-shi-zhan-ge-ren-zhong-xin.md' }, { text: '前端实战-底部导航栏', link: '/node-and-react-shi-zhan-cong-0-dao-1-shi-xian-ji-zhang-ben/qian-duan-shi-zhan-di-bu-dao-hang-lan.md' }, { text: '前端实战-新增账单弹窗封装', link: '/node-and-react-shi-zhan-cong-0-dao-1-shi-xian-ji-zhang-ben/qian-duan-shi-zhan-xin-zeng-zhang-dan-dan-chuang-feng-zhuang.md' }, { text: '前端实战-登录注册页面', link: '/node-and-react-shi-zhan-cong-0-dao-1-shi-xian-ji-zhang-ben/qian-duan-shi-zhan-deng-lu-zhu-ce-ye-mian.md' }, { text: '前端实战-账单列表页', link: '/node-and-react-shi-zhan-cong-0-dao-1-shi-xian-ji-zhang-ben/qian-duan-shi-zhan-zhang-dan-lie-biao-ye.md' }, { text: '前端实战-账单数据统计页', link: '/node-and-react-shi-zhan-cong-0-dao-1-shi-xian-ji-zhang-ben/qian-duan-shi-zhan-zhang-dan-shu-ju-tong-ji-ye.md' }, { text: '前端实战-账单详情页', link: '/node-and-react-shi-zhan-cong-0-dao-1-shi-xian-ji-zhang-ben/qian-duan-shi-zhan-zhang-dan-xiang-qing-ye.md' }, { text: '前端预备-Vite 2.0 下一代前度开发构建工具', link: '/node-and-react-shi-zhan-cong-0-dao-1-shi-xian-ji-zhang-ben/qian-duan-yu-bei-vite-2.0-xia-yi-dai-qian-du-kai-fa-gou-jian-gong-ju.md' }, { text: '前端预备-从一个数据请求,入门 React Hooks', link: '/node-and-react-shi-zhan-cong-0-dao-1-shi-xian-ji-zhang-ben/qian-duan-yu-bei-cong-yi-ge-shu-ju-qing-qiu-ru-men-react-hooks.md' }, { text: '前端预备-现代前端框架单页面概念', link: '/node-and-react-shi-zhan-cong-0-dao-1-shi-xian-ji-zhang-ben/qian-duan-yu-bei-xian-dai-qian-duan-kuang-jia-dan-ye-mian-gai-nian.md' }, { text: '后端实战-egg-jwt 实现用户鉴权(注册、登录)', link: '/node-and-react-shi-zhan-cong-0-dao-1-shi-xian-ji-zhang-ben/hou-duan-shi-zhan-egg-jwt-shi-xian-yong-hu-jian-quan-zhu-ce-deng-lu-.md' }, { text: '后端实战-后端实战-用户信息相关接口实现(修改个签、修改密码、上传头像)', link: '/node-and-react-shi-zhan-cong-0-dao-1-shi-xian-ji-zhang-ben/hou-duan-shi-zhan-hou-duan-shi-zhan-yong-hu-xin-xi-xiang-guan-jie-kou-shi-xian-xiu-gai-ge-qian-xiu-gai-mi-ma-shang-chuan-tou-xiang-.md' }, { text: '后端实战-数据库表的设计', link: '/node-and-react-shi-zhan-cong-0-dao-1-shi-xian-ji-zhang-ben/hou-duan-shi-zhan-shu-ju-ku-biao-de-she-ji.md' }, { text: '后端实战-账单及其相关接口实现', link: '/node-and-react-shi-zhan-cong-0-dao-1-shi-xian-ji-zhang-ben/hou-duan-shi-zhan-zhang-dan-ji-qi-xiang-guan-jie-kou-shi-xian.md' }, { text: '后端预备-Egg.js 基础入门及项目初始化介绍', link: '/node-and-react-shi-zhan-cong-0-dao-1-shi-xian-ji-zhang-ben/hou-duan-yu-bei-egg.js-ji-chu-ru-men-ji-xiang-mu-chu-shi-hua-jie-shao.md' }, { text: '后端预备-MySql 本地安装(Win Mac)', link: '/node-and-react-shi-zhan-cong-0-dao-1-shi-xian-ji-zhang-ben/hou-duan-yu-bei-mysql-ben-di-an-zhuang-win-mac-.md' }, { text: '后端预备-可视化数据库工具 DBeaver 的安装和使用', link: '/node-and-react-shi-zhan-cong-0-dao-1-shi-xian-ji-zhang-ben/hou-duan-yu-bei-ke-shi-hua-shu-ju-ku-gong-ju-dbeaver-de-an-zhuang-he-shi-yong.md' }, { text: '开篇词', link: '/node-and-react-shi-zhan-cong-0-dao-1-shi-xian-ji-zhang-ben/kai-pian-ci.md' }, { text: '问题汇总(持续更新)', link: '/node-and-react-shi-zhan-cong-0-dao-1-shi-xian-ji-zhang-ben/wen-ti-hui-zong-chi-xu-geng-xin-.md' }, { text: '项目部署上线', link: '/node-and-react-shi-zhan-cong-0-dao-1-shi-xian-ji-zhang-ben/xiang-mu-bu-shu-shang-xian.md' }, ] }],'/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/': [{ text: 'Python数据分析实战:构建股票量化交易系统', collapsible: true, items: [{ text: '前置基础-Matplotlib函数式绘图的方式', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/qian-zhi-ji-chu-matplotlibhan-shu-shi-hui-tu-de-fang-shi.md' }, { text: '前置基础-Matplotlib对象式绘图的方式', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/qian-zhi-ji-chu-matplotlibdui-xiang-shi-hui-tu-de-fang-shi.md' }, { text: '前置基础-Matplotlib模拟随机漫步轨迹【加推篇】', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/qian-zhi-ji-chu-matplotlibmo-ni-sui-ji-man-bu-gui-ji-jia-tui-pian-.md' }, { text: '前置基础-NumPy模拟随机漫步理论', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/qian-zhi-ji-chu-numpymo-ni-sui-ji-man-bu-li-lun.md' }, { text: '前置基础-Pandas构建DataFrame股票数据', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/qian-zhi-ji-chu-pandasgou-jian-dataframegu-piao-shu-ju.md' }, { text: '前置基础-Python变量类型及动态特性【加推篇】', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/qian-zhi-ji-chu-pythonbian-liang-lei-xing-ji-dong-tai-te-xing-jia-tui-pian-.md' }, { text: '前置基础-从概率角度谈市场中的博弈', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/qian-zhi-ji-chu-cong-gai-lu-jiao-du-tan-shi-chang-zhong-de-bo-yi.md' }, { text: '前置基础-创建一个Python文件的细节【加推篇】', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/qian-zhi-ji-chu-chuang-jian-yi-ge-pythonwen-jian-de-xi-jie-jia-tui-pian-.md' }, { text: '前置基础-开发环境及基础工具说明', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/qian-zhi-ji-chu-kai-fa-huan-jing-ji-ji-chu-gong-ju-shuo-ming.md' }, { text: '前置基础-无可或缺的Python异常处理【加推篇】', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/qian-zhi-ji-chu-wu-ke-huo-que-de-pythonyi-chang-chu-li-jia-tui-pian-.md' }, { text: '前置基础-玩转Python遍历工具for..in【加推篇】', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/qian-zhi-ji-chu-wan-zhuan-pythonbian-li-gong-ju-for..in-jia-tui-pian-.md' }, { text: '前置基础-量化交易及应用场景简介', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/qian-zhi-ji-chu-liang-hua-jiao-yi-ji-ying-yong-chang-jing-jian-jie.md' }, { text: '技术指标可视化-pyecharts从V0.5至V1版的转变', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/ji-shu-zhi-biao-ke-shi-hua-pyechartscong-v0.5zhi-v1ban-de-zhuan-bian.md' }, { text: '技术指标可视化-pyecharts实现Web版股票行情界面', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/ji-shu-zhi-biao-ke-shi-hua-pyechartsshi-xian-webban-gu-piao-xing-qing-jie-mian.md' }, { text: '技术指标可视化-TA-Lib技术指标库的扩展应用【加推篇】', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/ji-shu-zhi-biao-ke-shi-hua-ta-libji-shu-zhi-biao-ku-de-kuo-zhan-ying-yong-jia-tui-pian-.md' }, { text: '技术指标可视化-用TA-Lib封装更灵活的指标库【加推篇】', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/ji-shu-zhi-biao-ke-shi-hua-yong-ta-libfeng-zhuang-geng-ling-huo-de-zhi-biao-ku-jia-tui-pian-.md' }, { text: '技术指标可视化-自定义Matplotlib版股票行情界面', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/ji-shu-zhi-biao-ke-shi-hua-zi-ding-yi-matplotlibban-gu-piao-xing-qing-jie-mian.md' }, { text: '效率优化措施-Python扩展C or C加加 加速执行【加推篇】', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/xiao-lu-you-hua-cuo-shi-pythonkuo-zhan-c-or-cjia-jia-jia-su-zhi-xing-jia-tui-pian-.md' }, { text: '结尾篇-贯穿知识点才能学以致用', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/jie-wei-pian-guan-chuan-zhi-shi-dian-cai-neng-xue-yi-zhi-yong.md' }, { text: '股票交易策略-基于凯利公式的仓位管理', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/gu-piao-jiao-yi-ce-lue-ji-yu-kai-li-gong-shi-de-cang-wei-guan-li.md' }, { text: '股票交易策略-基于欧奈尔RPS指标选股策略【加推篇】', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/gu-piao-jiao-yi-ce-lue-ji-yu-ou-nai-er-rpszhi-biao-xuan-gu-ce-lue-jia-tui-pian-.md' }, { text: '股票交易策略-择时策略融入ATR动态仓位管理【加推篇】', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/gu-piao-jiao-yi-ce-lue-ze-shi-ce-lue-rong-ru-atrdong-tai-cang-wei-guan-li-jia-tui-pian-.md' }, { text: '股票交易策略-择时策略融入ATR风险控制', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/gu-piao-jiao-yi-ce-lue-ze-shi-ce-lue-rong-ru-atrfeng-xian-kong-zhi.md' }, { text: '股票交易策略-收益与风险维度度量策略效果', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/gu-piao-jiao-yi-ce-lue-shou-yi-yu-feng-xian-wei-du-du-liang-ce-lue-xiao-guo.md' }, { text: '股票交易策略-海龟择时策略入门量化交易', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/gu-piao-jiao-yi-ce-lue-hai-gui-ze-shi-ce-lue-ru-men-liang-hua-jiao-yi.md' }, { text: '股票交易策略-线性回归算法建立选股策略', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/gu-piao-jiao-yi-ce-lue-xian-xing-hui-gui-suan-fa-jian-li-xuan-gu-ce-lue.md' }, { text: '股票交易策略-蒙特卡洛算法最优化策略参数', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/gu-piao-jiao-yi-ce-lue-meng-te-qia-luo-suan-fa-zui-you-hua-ce-lue-can-shu.md' }, { text: '股票数据分析-全方位访问DataFrame格式股票数据', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/gu-piao-shu-ju-fen-xi-quan-fang-wei-fang-wen-dataframege-shi-gu-piao-shu-ju.md' }, { text: '股票数据分析-分时明细数据周期重采样【加推篇】', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/gu-piao-shu-ju-fen-xi-fen-shi-ming-xi-shu-ju-zhou-qi-chong-cai-yang-jia-tui-pian-.md' }, { text: '股票数据分析-如何计算主力资金的流入流出【加推篇】', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/gu-piao-shu-ju-fen-xi-ru-he-ji-suan-zhu-li-zi-jin-de-liu-ru-liu-chu-jia-tui-pian-.md' }, { text: '股票数据分析-股票分时明细数据的获取【加推篇】', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/gu-piao-shu-ju-fen-xi-gu-piao-fen-shi-ming-xi-shu-ju-de-huo-qu-jia-tui-pian-.md' }, { text: '股票数据分析-遍历DataFrame格式股票数据的方法', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/gu-piao-shu-ju-fen-xi-bian-li-dataframege-shi-gu-piao-shu-ju-de-fang-fa.md' }, { text: '股票数据分析-除权数据前复权和后复权处理【加推篇】', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/gu-piao-shu-ju-fen-xi-chu-quan-shu-ju-qian-fu-quan-he-hou-fu-quan-chu-li-jia-tui-pian-.md' }, { text: '股票数据获取-Pandas金融模块获取股票数据', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/gu-piao-shu-ju-huo-qu-pandasjin-rong-mo-kuai-huo-qu-gu-piao-shu-ju.md' }, { text: '股票数据获取-差异化分析常用股票数据接口', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/gu-piao-shu-ju-huo-qu-chai-yi-hua-fen-xi-chang-yong-gu-piao-shu-ju-jie-kou.md' }, { text: '股票数据获取-爬虫抓取东方财富网股吧帖子【加推篇】', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/gu-piao-shu-ju-huo-qu-pa-chong-zhua-qu-dong-fang-cai-fu-wang-gu-ba-tie-zi-jia-tui-pian-.md' }, { text: '股票数据获取-爬虫方式获取行业板块数据', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/gu-piao-shu-ju-huo-qu-pa-chong-fang-shi-huo-qu-xing-ye-ban-kuai-shu-ju.md' }, { text: '股票数据获取-详解网络爬虫的原理和过程', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/gu-piao-shu-ju-huo-qu-xiang-jie-wang-luo-pa-chong-de-yuan-li-he-guo-cheng.md' }, { text: '自动交易方案-模拟股票客户端交易的原理【加推篇】', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/zi-dong-jiao-yi-fang-an-mo-ni-gu-piao-ke-hu-duan-jiao-yi-de-yuan-li-jia-tui-pian-.md' }, { text: '贯穿小册-Python金融数据分析实战型项目【加推篇】', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/guan-chuan-xiao-ce-pythonjin-rong-shu-ju-fen-xi-shi-zhan-xing-xiang-mu-jia-tui-pian-.md' }, { text: '远程下单方案-SMTP邮件实时提醒交易【加推篇】', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/yuan-cheng-xia-dan-fang-an-smtpyou-jian-shi-shi-ti-xing-jiao-yi-jia-tui-pian-.md' }, { text: '远程下单方案-微信机器人实时提醒交易【加推篇】', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/yuan-cheng-xia-dan-fang-an-wei-xin-ji-qi-ren-shi-shi-ti-xing-jiao-yi-jia-tui-pian-.md' }, { text: '远程下单方案-钉钉机器人实时提醒交易【加推篇】', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/yuan-cheng-xia-dan-fang-an-ding-ding-ji-qi-ren-shi-shi-ti-xing-jiao-yi-jia-tui-pian-.md' }, { text: '量化策略回测-创建属于自己的回测框架【加推篇】', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/liang-hua-ce-lue-hui-ce-chuang-jian-shu-yu-zi-ji-de-hui-ce-kuang-jia-jia-tui-pian-.md' }, { text: '量化策略回测-基于BackTrader建立双均线策略【加推篇】', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/liang-hua-ce-lue-hui-ce-ji-yu-backtraderjian-li-shuang-jun-xian-ce-lue-jia-tui-pian-.md' }, { text: '量化策略回测-如何利用聚宽平台回测交易策略【加推篇】', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/liang-hua-ce-lue-hui-ce-ru-he-li-yong-ju-kuan-ping-tai-hui-ce-jiao-yi-ce-lue-jia-tui-pian-.md' }, { text: '量化策略回测-扒一扒量化回测中常见的陷阱【加推篇】', link: '/pythonshu-ju-fen-xi-shi-zhan-gou-jian-gu-piao-liang-hua-jiao-yi-xi-tong/liang-hua-ce-lue-hui-ce-ba-yi-ba-liang-hua-hui-ce-zhong-chang-jian-de-xian-jing-jia-tui-pian-.md' }, ] }],'/react-zu-he-shi-kai-fa-shi-jian-da-zao-qi-ye-guan-li-xi-tong-wu-da-he-xin-mo-kuai/': [{ text: 'React 组合式开发实践:打造企业管理系统五大核心模块', collapsible: true, items: [{ text: '以史为鉴-前端开发的四个时代', link: '/react-zu-he-shi-kai-fa-shi-jian-da-zao-qi-ye-guan-li-xi-tong-wu-da-he-xin-mo-kuai/yi-shi-wei-jian-qian-duan-kai-fa-de-si-ge-shi-dai.md' }, { text: '似水流年-企业管理系统的前世今生', link: '/react-zu-he-shi-kai-fa-shi-jian-da-zao-qi-ye-guan-li-xi-tong-wu-da-he-xin-mo-kuai/si-shui-liu-nian-qi-ye-guan-li-xi-tong-de-qian-shi-jin-sheng.md' }, { text: '实战篇 01-开发前准备', link: '/react-zu-he-shi-kai-fa-shi-jian-da-zao-qi-ye-guan-li-xi-tong-wu-da-he-xin-mo-kuai/shi-zhan-pian-01-kai-fa-qian-zhun-bei.md' }, { text: '实战篇 02-项目脚手架', link: '/react-zu-he-shi-kai-fa-shi-jian-da-zao-qi-ye-guan-li-xi-tong-wu-da-he-xin-mo-kuai/shi-zhan-pian-02-xiang-mu-jiao-shou-jia.md' }, { text: '实战篇 03-页面布局方案', link: '/react-zu-he-shi-kai-fa-shi-jian-da-zao-qi-ye-guan-li-xi-tong-wu-da-he-xin-mo-kuai/shi-zhan-pian-03-ye-mian-bu-ju-fang-an.md' }, { text: '实战篇 04-权限管理机制', link: '/react-zu-he-shi-kai-fa-shi-jian-da-zao-qi-ye-guan-li-xi-tong-wu-da-he-xin-mo-kuai/shi-zhan-pian-04-quan-xian-guan-li-ji-zhi.md' }, { text: '实战篇 05-菜单匹配逻辑', link: '/react-zu-he-shi-kai-fa-shi-jian-da-zao-qi-ye-guan-li-xi-tong-wu-da-he-xin-mo-kuai/shi-zhan-pian-05-cai-dan-pi-pei-luo-ji.md' }, { text: '实战篇 06-消息通知设计', link: '/react-zu-he-shi-kai-fa-shi-jian-da-zao-qi-ye-guan-li-xi-tong-wu-da-he-xin-mo-kuai/shi-zhan-pian-06-xiao-xi-tong-zhi-she-ji.md' }, { text: '实战篇 07-多语言支持', link: '/react-zu-he-shi-kai-fa-shi-jian-da-zao-qi-ye-guan-li-xi-tong-wu-da-he-xin-mo-kuai/shi-zhan-pian-07-duo-yu-yan-zhi-chi.md' }, { text: '总结', link: '/react-zu-he-shi-kai-fa-shi-jian-da-zao-qi-ye-guan-li-xi-tong-wu-da-he-xin-mo-kuai/zong-jie.md' }, { text: '继往开来-可视化页面搭建工具', link: '/react-zu-he-shi-kai-fa-shi-jian-da-zao-qi-ye-guan-li-xi-tong-wu-da-he-xin-mo-kuai/ji-wang-kai-lai-ke-shi-hua-ye-mian-da-jian-gong-ju.md' }, ] }],'/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/': [{ text: 'Redis 深度历险:核心原理与应用实践', collapsible: true, items: [{ text: '原理 1-鞭辟入里 —— 线程 IO 模型', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/yuan-li-1-bian-pi-ru-li------xian-cheng-io-mo-xing.md' }, { text: '原理 2-交头接耳 —— 通信协议', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/yuan-li-2-jiao-tou-jie-er------tong-xin-xie-yi.md' }, { text: '原理 3-未雨绸缪 —— 持久化', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/yuan-li-3-wei-yu-chou-mou------chi-jiu-hua.md' }, { text: '原理 4-雷厉风行 —— 管道', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/yuan-li-4-lei-li-feng-xing------guan-dao.md' }, { text: '原理 5-同舟共济 —— 事务', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/yuan-li-5-tong-zhou-gong-ji------shi-wu.md' }, { text: '原理 6-小道消息 —— PubSub', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/yuan-li-6-xiao-dao-xiao-xi------pubsub.md' }, { text: '原理 7-开源节流 —— 小对象压缩', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/yuan-li-7-kai-yuan-jie-liu------xiao-dui-xiang-ya-suo.md' }, { text: '原理 8-有备无患 —— 主从同步', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/yuan-li-8-you-bei-wu-huan------zhu-cong-tong-bu.md' }, { text: '基础-万丈高楼平地起 —— Redis 基础数据结构', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/ji-chu-wan-zhang-gao-lou-ping-di-qi------redis-ji-chu-shu-ju-jie-gou.md' }, { text: '尾声-百尺竿头 —— 继续深造指南', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/wei-sheng-bai-chi-gan-tou------ji-xu-shen-zao-zhi-nan.md' }, { text: '应用 1-千帆竞发 —— 分布式锁', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/ying-yong-1-qian-fan-jing-fa------fen-bu-shi-suo.md' }, { text: '应用 2-缓兵之计 —— 延时队列', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/ying-yong-2-huan-bing-zhi-ji------yan-shi-dui-lie.md' }, { text: '应用 3-节衣缩食 —— 位图', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/ying-yong-3-jie-yi-suo-shi------wei-tu.md' }, { text: '应用 4-四两拨千斤 —— HyperLogLog', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/ying-yong-4-si-liang-bo-qian-jin------hyperloglog.md' }, { text: '应用 5-层峦叠嶂 —— 布隆过滤器', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/ying-yong-5-ceng-luan-die-zhang------bu-long-guo-lu-qi.md' }, { text: '应用 6-断尾求生 —— 简单限流', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/ying-yong-6-duan-wei-qiu-sheng------jian-dan-xian-liu.md' }, { text: '应用 7-一毛不拔 —— 漏斗限流', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/ying-yong-7-yi-mao-bu-ba------lou-dou-xian-liu.md' }, { text: '应用 8-近水楼台 —— GeoHash', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/ying-yong-8-jin-shui-lou-tai------geohash.md' }, { text: '应用 9-大海捞针 —— Scan', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/ying-yong-9-da-hai-lao-zhen------scan.md' }, { text: '开篇-授人以鱼不若授人以渔 —— Redis 可以用来做什么?', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/kai-pian-shou-ren-yi-yu-bu-ruo-shou-ren-yi-yu------redis-ke-yi-yong-lai-zuo-shi-me-.md' }, { text: '拓展 1-耳听八方 —— Stream', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/tuo-zhan-1-er-ting-ba-fang------stream.md' }, { text: '拓展 10-法力无边 —— Redis Lua 脚本执行原理', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/tuo-zhan-10-fa-li-wu-bian------redis-lua-jiao-ben-zhi-xing-yuan-li.md' }, { text: '拓展 11-短小精悍 —— 命令行工具的妙用', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/tuo-zhan-11-duan-xiao-jing-han------ming-ling-xing-gong-ju-de-miao-yong.md' }, { text: '拓展 2-无所不知 —— Info 指令', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/tuo-zhan-2-wu-suo-bu-zhi------info-zhi-ling.md' }, { text: '拓展 3-拾遗补漏 —— 再谈分布式锁', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/tuo-zhan-3-shi-yi-bu-lou------zai-tan-fen-bu-shi-suo.md' }, { text: '拓展 4-朝生暮死 —— 过期策略', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/tuo-zhan-4-zhao-sheng-mu-si------guo-qi-ce-lue.md' }, { text: '拓展 5-优胜劣汰 —— LRU', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/tuo-zhan-5-you-sheng-lie-tai------lru.md' }, { text: '拓展 6-平波缓进 —— 懒惰删除', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/tuo-zhan-6-ping-bo-huan-jin------lan-duo-shan-chu.md' }, { text: '拓展 7-妙手仁心 —— 优雅地使用 Jedis', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/tuo-zhan-7-miao-shou-ren-xin------you-ya-di-shi-yong-jedis.md' }, { text: '拓展 8-居安思危 —— 保护 Redis', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/tuo-zhan-8-ju-an-si-wei------bao-hu-redis.md' }, { text: '拓展 9-隔墙有耳 —— Redis 安全通信', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/tuo-zhan-9-ge-qiang-you-er------redis-an-quan-tong-xin.md' }, { text: '源码 1-丝分缕析 —— 探索「字符串」内部', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/yuan-ma-1-si-fen-lu-xi------tan-suo-zi-fu-chuan-nei-bu.md' }, { text: '源码 10-跋山涉水 —— 深入字典遍历', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/yuan-ma-10-ba-shan-she-shui------shen-ru-zi-dian-bian-li.md' }, { text: '源码 11-见缝插针 —— 探索 HyperLogLog 内部', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/yuan-ma-11-jian-feng-cha-zhen------tan-suo-hyperloglog-nei-bu.md' }, { text: '源码 2-循序渐进 —— 探索「字典」内部', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/yuan-ma-2-xun-xu-jian-jin------tan-suo-zi-dian-nei-bu.md' }, { text: '源码 3-挨肩迭背 —— 探索「压缩列表」内部', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/yuan-ma-3-ai-jian-die-bei------tan-suo-ya-suo-lie-biao-nei-bu.md' }, { text: '源码 4-风驰电掣 —— 探索「快速列表」内部', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/yuan-ma-4-feng-chi-dian-che------tan-suo-kuai-su-lie-biao-nei-bu.md' }, { text: '源码 5-凌波微步 —— 探索「跳跃列表」内部', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/yuan-ma-5-ling-bo-wei-bu------tan-suo-tiao-yue-lie-biao-nei-bu.md' }, { text: '源码 6-破旧立新 —— 探索「紧凑列表」内部', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/yuan-ma-6-po-jiu-li-xin------tan-suo-jin-cou-lie-biao-nei-bu.md' }, { text: '源码 7-金枝玉叶 —— 探索「基数树」内部', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/yuan-ma-7-jin-zhi-yu-ye------tan-suo-ji-shu-shu-nei-bu.md' }, { text: '源码 8-精益求精 —— LFU vs LRU', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/yuan-ma-8-jing-yi-qiu-jing------lfu-vs-lru.md' }, { text: '源码 9-如履薄冰 —— 懒惰删除的巨大牺牲', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/yuan-ma-9-ru-lu-bo-bing------lan-duo-shan-chu-de-ju-da-xi-sheng.md' }, { text: '集群 1-李代桃僵 —— Sentinel', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/ji-qun-1-li-dai-tao-jiang------sentinel.md' }, { text: '集群 2-分而治之 —— Codis', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/ji-qun-2-fen-er-zhi-zhi------codis.md' }, { text: '集群 3-众志成城 —— Cluster', link: '/redis-shen-du-li-xian-he-xin-yuan-li-yu-ying-yong-shi-jian/ji-qun-3-zhong-zhi-cheng-cheng------cluster.md' }, ] }],'/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/': [{ text: 'Taro 多端开发实现原理与项目实战', collapsible: true, items: [{ text: '基础篇 1-React 核心语法初识', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/ji-chu-pian-1-react-he-xin-yu-fa-chu-shi.md' }, { text: '基础篇 2-微信小程序开发入门与技术选型', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/ji-chu-pian-2-wei-xin-xiao-cheng-xu-kai-fa-ru-men-yu-ji-shu-xuan-xing.md' }, { text: '基础篇 3-多端统一开发框架 Taro 的安装与使用', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/ji-chu-pian-3-duo-duan-tong-yi-kai-fa-kuang-jia-taro-de-an-zhuang-yu-shi-yong.md' }, { text: '基础篇 4-Taro 开发说明与注意事项', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/ji-chu-pian-4-taro-kai-fa-shuo-ming-yu-zhu-yi-shi-xiang.md' }, { text: '基础篇 5-用 Taro 实现一个简单的 Todo 项目', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/ji-chu-pian-5-yong-taro-shi-xian-yi-ge-jian-dan-de-todo-xiang-mu.md' }, { text: '基础篇 6-在 Taro 中使用 Redux', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/ji-chu-pian-6-zai-taro-zhong-shi-yong-redux.md' }, { text: '实战篇 1-多端电商平台完整项目概述及开发准备', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/shi-zhan-pian-1-duo-duan-dian-shang-ping-tai-wan-zheng-xiang-mu-gai-shu-ji-kai-fa-zhun-bei.md' }, { text: '实战篇 10-微信小程序端及 H5 端预览适配与发布', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/shi-zhan-pian-10-wei-xin-xiao-cheng-xu-duan-ji-h5-duan-yu-lan-gua-pei-yu-fa-bu.md' }, { text: '实战篇 11-React Native 端打包与发布', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/shi-zhan-pian-11-react-native-duan-da-bao-yu-fa-bu.md' }, { text: '实战篇 2-小程序云的介绍与使用', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/shi-zhan-pian-2-xiao-cheng-xu-yun-de-jie-shao-yu-shi-yong.md' }, { text: '实战篇 3-通过小程序云搭建电商后台服务', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/shi-zhan-pian-3-tong-guo-xiao-cheng-xu-yun-da-jian-dian-shang-hou-tai-fu-wu.md' }, { text: '实战篇 4-商品列表页开发及性能优化', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/shi-zhan-pian-4-shang-pin-lie-biao-ye-kai-fa-ji-xing-neng-you-hua.md' }, { text: '实战篇 5-商品详情页面开发', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/shi-zhan-pian-5-shang-pin-xiang-qing-ye-mian-kai-fa.md' }, { text: '实战篇 6-购物车开发', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/shi-zhan-pian-6-gou-wu-che-kai-fa.md' }, { text: '实战篇 7-结算页面开发', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/shi-zhan-pian-7-jie-suan-ye-mian-kai-fa.md' }, { text: '实战篇 8-微信小程序端用户授权处理', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/shi-zhan-pian-8-wei-xin-xiao-cheng-xu-duan-yong-hu-shou-quan-chu-li.md' }, { text: '实战篇 9-微信小程序开发填坑指南', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/shi-zhan-pian-9-wei-xin-xiao-cheng-xu-kai-fa-tian-keng-zhi-nan.md' }, { text: '开篇-前端多端统一开发背景与趋势介绍', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/kai-pian-qian-duan-duo-duan-tong-yi-kai-fa-bei-jing-yu-qu-shi-jie-shao.md' }, { text: '总结', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/zong-jie.md' }, { text: '进阶篇 1-Taro 设计思想及架构', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/jin-jie-pian-1-taro-she-ji-si-xiang-ji-jia-gou.md' }, { text: '进阶篇 2-CLI 原理及不同端的运行机制', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/jin-jie-pian-2-cli-yuan-li-ji-bu-tong-duan-de-yun-xing-ji-zhi.md' }, { text: '进阶篇 3-组件库及 API 的设计与适配', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/jin-jie-pian-3-zu-jian-ku-ji-api-de-she-ji-yu-gua-pei.md' }, { text: '进阶篇 4-JSX 转换微信小程序模板的实现(上)', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/jin-jie-pian-4-jsx-zhuan-huan-wei-xin-xiao-cheng-xu-mo-ban-de-shi-xian-shang-.md' }, { text: '进阶篇 5-JSX 转换微信小程序模板的实现(下)', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/jin-jie-pian-5-jsx-zhuan-huan-wei-xin-xiao-cheng-xu-mo-ban-de-shi-xian-xia-.md' }, { text: '进阶篇 6-运行时揭秘 - 小程序运行时', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/jin-jie-pian-6-yun-xing-shi-jie-mi---xiao-cheng-xu-yun-xing-shi.md' }, { text: '进阶篇 7-运行时揭秘 - H5 运行时', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/jin-jie-pian-7-yun-xing-shi-jie-mi---h5-yun-xing-shi.md' }, { text: '进阶篇 8-运行时揭秘 - RN 运行时', link: '/taro-duo-duan-kai-fa-shi-xian-yuan-li-yu-xiang-mu-shi-zhan/jin-jie-pian-8-yun-xing-shi-jie-mi---rn-yun-xing-shi.md' }, ] }],'/typescript-quan-mian-jin-jie-zhi-nan/': [{ text: 'TypeScript 全面进阶指南', collapsible: true, items: [{ text: 'TSConfig 全解(上)-构建相关配置', link: '/typescript-quan-mian-jin-jie-zhi-nan/tsconfig-quan-jie-shang--gou-jian-xiang-guan-pei-zhi.md' }, { text: 'TSConfig 全解(下)-检查相关、工程相关配置', link: '/typescript-quan-mian-jin-jie-zhi-nan/tsconfig-quan-jie-xia--jian-cha-xiang-guan-gong-cheng-xiang-guan-pei-zhi.md' }, { text: 'TypeScript Compiler API 上手-打造 AST Checker 与 CodeMod', link: '/typescript-quan-mian-jin-jie-zhi-nan/typescript-compiler-api-shang-shou-da-zao-ast-checker-yu-codemod.md' }, { text: '了解类型编程与类型体操的意义,找到平衡点', link: '/typescript-quan-mian-jin-jie-zhi-nan/liao-jie-lei-xing-bian-cheng-yu-lei-xing-ti-cao-de-yi-yi-zhao-dao-ping-heng-dian.md' }, { text: '全链路 TypeScript 工具库,找到适合你的工具', link: '/typescript-quan-mian-jin-jie-zhi-nan/quan-lian-lu-typescript-gong-ju-ku-zhao-dao-gua-he-ni-de-gong-ju.md' }, { text: '内置工具类型基础-别再妖魔化工具类型了!', link: '/typescript-quan-mian-jin-jie-zhi-nan/nei-zhi-gong-ju-lei-xing-ji-chu-bie-zai-yao-mo-hua-gong-ju-lei-xing-liao-.md' }, { text: '内置工具类型进阶-类型编程进阶', link: '/typescript-quan-mian-jin-jie-zhi-nan/nei-zhi-gong-ju-lei-xing-jin-jie-lei-xing-bian-cheng-jin-jie.md' }, { text: '函数与 Class 中的类型-详解函数重载与面向对象', link: '/typescript-quan-mian-jin-jie-zhi-nan/han-shu-yu-class-zhong-de-lei-xing-xiang-jie-han-shu-chong-zai-yu-mian-xiang-dui-xiang.md' }, { text: '函数类型-协变与逆变的比较', link: '/typescript-quan-mian-jin-jie-zhi-nan/han-shu-lei-xing-xie-bian-yu-ni-bian-de-bi-jiao.md' }, { text: '反方向类型推导-用好上下文相关类型', link: '/typescript-quan-mian-jin-jie-zhi-nan/fan-fang-xiang-lei-xing-tui-dao-yong-hao-shang-xia-wen-xiang-guan-lei-xing.md' }, { text: '在 React 中愉快地使用 TypeScript-内置类型与泛型坑位', link: '/typescript-quan-mian-jin-jie-zhi-nan/zai-react-zhong-yu-kuai-di-shi-yong-typescript-nei-zhi-lei-xing-yu-fan-xing-keng-wei.md' }, { text: '基于 Prisma NestJs 的 Node API -前置知识储备', link: '/typescript-quan-mian-jin-jie-zhi-nan/ji-yu-prisma-nestjs-de-node-api--qian-zhi-zhi-shi-chu-bei.md' }, { text: '基于 Prisma NestJs 的 Node API -项目开发与基于 Heroku 部署', link: '/typescript-quan-mian-jin-jie-zhi-nan/ji-yu-prisma-nestjs-de-node-api--xiang-mu-kai-fa-yu-ji-yu-heroku-bu-shu.md' }, { text: '基础类型新成员-模板字符串类型入门', link: '/typescript-quan-mian-jin-jie-zhi-nan/ji-chu-lei-xing-xin-cheng-yuan-mo-ban-zi-fu-chuan-lei-xing-ru-men.md' }, { text: '工欲善其事-打造最舒适的 TypeScript 开发环境', link: '/typescript-quan-mian-jin-jie-zhi-nan/gong-yu-shan-qi-shi-da-zao-zui-shu-gua-de-typescript-kai-fa-huan-jing.md' }, { text: '工程层面的类型能力-类型声明、类型指令与命名空间', link: '/typescript-quan-mian-jin-jie-zhi-nan/gong-cheng-ceng-mian-de-lei-xing-neng-li-lei-xing-sheng-ming-lei-xing-zhi-ling-yu-ming-ming-kong-jian.md' }, { text: '开篇-用正确的方式学习 TypeScript', link: '/typescript-quan-mian-jin-jie-zhi-nan/kai-pian-yong-zheng-que-de-fang-shi-xue-xi-typescript.md' }, { text: '总结-是结束,也是开始', link: '/typescript-quan-mian-jin-jie-zhi-nan/zong-jie-shi-jie-shu-ye-shi-kai-shi.md' }, { text: '掌握字面量类型与枚举,让你的类型再精确一些', link: '/typescript-quan-mian-jin-jie-zhi-nan/zhang-wo-zi-mian-liang-lei-xing-yu-mei-ju-rang-ni-de-lei-xing-zai-jing-que-yi-xie.md' }, { text: '探秘内置类型-any、unknown、never 与类型断言', link: '/typescript-quan-mian-jin-jie-zhi-nan/tan-mi-nei-zhi-lei-xing-any-unknown-never-yu-lei-xing-duan-yan.md' }, { text: '控制反转与依赖注入-基于装饰器的依赖注入实现', link: '/typescript-quan-mian-jin-jie-zhi-nan/kong-zhi-fan-zhuan-yu-yi-lai-zhu-ru-ji-yu-zhuang-shi-qi-de-yi-lai-zhu-ru-shi-xian.md' }, { text: '漫谈-大厂一般是怎么考察候选人 TypeScript 技能水平的?', link: '/typescript-quan-mian-jin-jie-zhi-nan/man-tan-da-han-yi-ban-shi-zen-me-kao-cha-hou-xuan-ren-typescript-ji-neng-shui-ping-de-.md' }, { text: '漫谈-拥抱下一代 Node 框架—— DeepKit', link: '/typescript-quan-mian-jin-jie-zhi-nan/man-tan-yong-bao-xia-yi-dai-node-kuang-jia-----deepkit.md' }, { text: '类型系统层级-从 Top Type 到 Bottom Type', link: '/typescript-quan-mian-jin-jie-zhi-nan/lei-xing-xi-tong-ceng-ji-cong-top-type-dao-bottom-type.md' }, { text: '类型编程基石-TypeScript 中无处不在的泛型', link: '/typescript-quan-mian-jin-jie-zhi-nan/lei-xing-bian-cheng-ji-shi-typescript-zhong-wu-chu-bu-zai-de-fan-xing.md' }, { text: '类型编程好帮手-TypeScript 类型工具(上)', link: '/typescript-quan-mian-jin-jie-zhi-nan/lei-xing-bian-cheng-hao-bang-shou-typescript-lei-xing-gong-ju-shang-.md' }, { text: '类型编程好帮手-TypeScript 类型工具(下)', link: '/typescript-quan-mian-jin-jie-zhi-nan/lei-xing-bian-cheng-hao-bang-shou-typescript-lei-xing-gong-ju-xia-.md' }, { text: '类型编程新范式-模板字符串工具类型进阶', link: '/typescript-quan-mian-jin-jie-zhi-nan/lei-xing-bian-cheng-xin-fan-shi-mo-ban-zi-fu-chuan-gong-ju-lei-xing-jin-jie.md' }, { text: '类型里的逻辑运算-条件类型与 infer', link: '/typescript-quan-mian-jin-jie-zhi-nan/lei-xing-li-de-luo-ji-yun-suan-tiao-jian-lei-xing-yu-infer.md' }, { text: '结构化类型系统-类型兼容性判断的幕后', link: '/typescript-quan-mian-jin-jie-zhi-nan/jie-gou-hua-lei-xing-xi-tong-lei-xing-jian-rong-xing-pan-duan-de-mu-hou.md' }, { text: '装饰器与反射元数据-了解装饰器基本原理与应用', link: '/typescript-quan-mian-jin-jie-zhi-nan/zhuang-shi-qi-yu-fan-she-yuan-shu-ju-liao-jie-zhuang-shi-qi-ji-ben-yuan-li-yu-ying-yong.md' }, { text: '让 ESLint 来约束你的 TypeScript 代码-配置与规则集介绍', link: '/typescript-quan-mian-jin-jie-zhi-nan/rang-eslint-lai-yue-shu-ni-de-typescript-dai-ma-pei-zhi-yu-gui-ze-ji-jie-shao.md' }, { text: '说说 TypeScript 和 ECMAScript 之间那些事儿', link: '/typescript-quan-mian-jin-jie-zhi-nan/shuo-shuo-typescript-he-ecmascript-zhi-jian-na-xie-shi-er.md' }, { text: '进入类型的世界-理解原始类型与对象类型', link: '/typescript-quan-mian-jin-jie-zhi-nan/jin-ru-lei-xing-de-shi-jie-li-jie-yuan-shi-lei-xing-yu-dui-xiang-lei-xing.md' }, ] }],'/vue.js-zu-jian-jing-jiang/': [{ text: 'Vue.js 组件精讲', collapsible: true, items: [{ text: 'Vue 的构造器—extend 与手动挂载—mount', link: '/vue.js-zu-jian-jing-jiang/vue-de-gou-zao-qi--extend-yu-shou-dong-gua-zai--mount.md' }, { text: '写在最后', link: '/vue.js-zu-jian-jing-jiang/xie-zai-zui-hou.md' }, { text: '基础-Vue.js 组件的三个 API-prop、event、slot', link: '/vue.js-zu-jian-jing-jiang/ji-chu-vue.js-zu-jian-de-san-ge-api-prop-event-slot.md' }, { text: '实战 1-具有数据校验功能的表单组件——Form', link: '/vue.js-zu-jian-jing-jiang/shi-zhan-1-ju-you-shu-ju-xiao-yan-gong-neng-de-biao-dan-zu-jian----form.md' }, { text: '实战 2-组合多选框组件——CheckboxGroup and Checkbox', link: '/vue.js-zu-jian-jing-jiang/shi-zhan-2-zu-he-duo-xuan-kuang-zu-jian----checkboxgroup-and-checkbox.md' }, { text: '实战 3-动态渲染 .vue 文件的组件—— Display', link: '/vue.js-zu-jian-jing-jiang/shi-zhan-3-dong-tai-xuan-ran-.vue-wen-jian-de-zu-jian-----display.md' }, { text: '实战 4-全局提示组件——Alert', link: '/vue.js-zu-jian-jing-jiang/shi-zhan-4-quan-ju-ti-shi-zu-jian----alert.md' }, { text: '实战 5-可用 Render 自定义列的表格组件——Table', link: '/vue.js-zu-jian-jing-jiang/shi-zhan-5-ke-yong-render-zi-ding-yi-lie-de-biao-ge-zu-jian----table.md' }, { text: '实战 6-可用 slot-scope 自定义列的表格组件——Table', link: '/vue.js-zu-jian-jing-jiang/shi-zhan-6-ke-yong-slot-scope-zi-ding-yi-lie-de-biao-ge-zu-jian----table.md' }, { text: '实战 7-树形控件——Tree', link: '/vue.js-zu-jian-jing-jiang/shi-zhan-7-shu-xing-kong-jian----tree.md' }, { text: '开篇-Vue.js 的精髓——组件', link: '/vue.js-zu-jian-jing-jiang/kai-pian-vue.js-de-jing-sui----zu-jian.md' }, { text: '拓展-Vue.js 容易忽略的 API 详解', link: '/vue.js-zu-jian-jing-jiang/tuo-zhan-vue.js-rong-yi-hu-lue-de-api-xiang-jie.md' }, { text: '拓展-Vue.js 面试、常见问题答疑', link: '/vue.js-zu-jian-jing-jiang/tuo-zhan-vue.js-mian-shi-chang-jian-wen-ti-da-yi.md' }, { text: '拓展-如何做好一个开源项目(上篇)', link: '/vue.js-zu-jian-jing-jiang/tuo-zhan-ru-he-zuo-hao-yi-ge-kai-yuan-xiang-mu-shang-pian-.md' }, { text: '拓展-如何做好一个开源项目(下篇)', link: '/vue.js-zu-jian-jing-jiang/tuo-zhan-ru-he-zuo-hao-yi-ge-kai-yuan-xiang-mu-xia-pian-.md' }, { text: '更灵活的组件-Render 函数与 Functional Render', link: '/vue.js-zu-jian-jing-jiang/geng-ling-huo-de-zu-jian-render-han-shu-yu-functional-render.md' }, { text: '组件的通信 1-provide or inject', link: '/vue.js-zu-jian-jing-jiang/zu-jian-de-tong-xin-1-provide-or-inject.md' }, { text: '组件的通信 2-派发与广播——自行实现 dispatch 和 broadcast 方法', link: '/vue.js-zu-jian-jing-jiang/zu-jian-de-tong-xin-2-pai-fa-yu-guang-bo----zi-xing-shi-xian-dispatch-he-broadcast-fang-fa.md' }, { text: '组件的通信 3-找到任意组件实例——findComponents 系列方法', link: '/vue.js-zu-jian-jing-jiang/zu-jian-de-tong-xin-3-zhao-dao-ren-yi-zu-jian-shi-li----findcomponents-xi-lie-fang-fa.md' }, { text: '递归组件与动态组件', link: '/vue.js-zu-jian-jing-jiang/di-gui-zu-jian-yu-dong-tai-zu-jian.md' }, ] }],'/web-qian-duan-mian-shi-zhi-nan-yu-gao-pin-kao-ti-jie-xi/': [{ text: 'Web 前端面试指南与高频考题解析', collapsible: true, items: [{ text: 'HR 面-谈钱不伤感情', link: '/web-qian-duan-mian-shi-zhi-nan-yu-gao-pin-kao-ti-jie-xi/hr-mian-tan-qian-bu-shang-gan-qing.md' }, { text: '一面 1-ES 基础知识点与高频考题解析', link: '/web-qian-duan-mian-shi-zhi-nan-yu-gao-pin-kao-ti-jie-xi/yi-mian-1-es-ji-chu-zhi-shi-dian-yu-gao-pin-kao-ti-jie-xi.md' }, { text: '一面 2-JS-Web-API 知识点与高频考题解析', link: '/web-qian-duan-mian-shi-zhi-nan-yu-gao-pin-kao-ti-jie-xi/yi-mian-2-js-web-api-zhi-shi-dian-yu-gao-pin-kao-ti-jie-xi.md' }, { text: '一面 3-CSS-HTML 知识点与高频考题解析', link: '/web-qian-duan-mian-shi-zhi-nan-yu-gao-pin-kao-ti-jie-xi/yi-mian-3-css-html-zhi-shi-dian-yu-gao-pin-kao-ti-jie-xi.md' }, { text: '一面 4-从容应对算法题目', link: '/web-qian-duan-mian-shi-zhi-nan-yu-gao-pin-kao-ti-jie-xi/yi-mian-4-cong-rong-ying-dui-suan-fa-ti-mu.md' }, { text: '一面 5-浏览器相关知识点与高频考题解析', link: '/web-qian-duan-mian-shi-zhi-nan-yu-gao-pin-kao-ti-jie-xi/yi-mian-5-liu-lan-qi-xiang-guan-zhi-shi-dian-yu-gao-pin-kao-ti-jie-xi.md' }, { text: '一面 6-开发环境相关知识点与高频考题解析', link: '/web-qian-duan-mian-shi-zhi-nan-yu-gao-pin-kao-ti-jie-xi/yi-mian-6-kai-fa-huan-jing-xiang-guan-zhi-shi-dian-yu-gao-pin-kao-ti-jie-xi.md' }, { text: '二面 1-如何回答常见的软技能问题', link: '/web-qian-duan-mian-shi-zhi-nan-yu-gao-pin-kao-ti-jie-xi/er-mian-1-ru-he-hui-da-chang-jian-de-ruan-ji-neng-wen-ti.md' }, { text: '二面 2-如何介绍项目及应对项目细节追问', link: '/web-qian-duan-mian-shi-zhi-nan-yu-gao-pin-kao-ti-jie-xi/er-mian-2-ru-he-jie-shao-xiang-mu-ji-ying-dui-xiang-mu-xi-jie-zhui-wen.md' }, { text: '其他-面试注意事项', link: '/web-qian-duan-mian-shi-zhi-nan-yu-gao-pin-kao-ti-jie-xi/qi-ta-mian-shi-zhu-yi-shi-xiang.md' }, { text: '准备-简历编写和面试前准备', link: '/web-qian-duan-mian-shi-zhi-nan-yu-gao-pin-kao-ti-jie-xi/zhun-bei-jian-li-bian-xie-he-mian-shi-qian-zhun-bei.md' }, { text: '总结与补充说明', link: '/web-qian-duan-mian-shi-zhi-nan-yu-gao-pin-kao-ti-jie-xi/zong-jie-yu-bu-chong-shuo-ming.md' }, ] }],'/cong-ling-kai-fa-h5ke-shi-hua-da-jian-xiang-mu/': [{ text: '从零开发H5可视化搭建项目', collapsible: true, items: [{ text: 'Server 端编译实现', link: '/cong-ling-kai-fa-h5ke-shi-hua-da-jian-xiang-mu/server-duan-bian-yi-shi-xian.md' }, { text: 'vue3 Form render 实现', link: '/cong-ling-kai-fa-h5ke-shi-hua-da-jian-xiang-mu/vue3-form-render-shi-xian.md' }, { text: '全局组件注册', link: '/cong-ling-kai-fa-h5ke-shi-hua-da-jian-xiang-mu/quan-ju-zu-jian-zhu-ce.md' }, { text: '全局组件设计', link: '/cong-ling-kai-fa-h5ke-shi-hua-da-jian-xiang-mu/quan-ju-zu-jian-she-ji.md' }, { text: '写在最后', link: '/cong-ling-kai-fa-h5ke-shi-hua-da-jian-xiang-mu/xie-zai-zui-hou.md' }, { text: '前置基础知识准备', link: '/cong-ling-kai-fa-h5ke-shi-hua-da-jian-xiang-mu/qian-zhi-ji-chu-zhi-shi-zhun-bei.md' }, { text: '前言-可视化搭建诞生背景', link: '/cong-ling-kai-fa-h5ke-shi-hua-da-jian-xiang-mu/qian-yan-ke-shi-hua-da-jian-dan-sheng-bei-jing.md' }, { text: '加餐-H5 可视化搭建项目如何在本地跑起来', link: '/cong-ling-kai-fa-h5ke-shi-hua-da-jian-xiang-mu/jia-can-h5-ke-shi-hua-da-jian-xiang-mu-ru-he-zai-ben-di-pao-qi-lai.md' }, { text: '加餐-当前可视化搭建未解决的问题', link: '/cong-ling-kai-fa-h5ke-shi-hua-da-jian-xiang-mu/jia-can-dang-qian-ke-shi-hua-da-jian-wei-jie-jue-de-wen-ti.md' }, { text: '发布流程设计', link: '/cong-ling-kai-fa-h5ke-shi-hua-da-jian-xiang-mu/fa-bu-liu-cheng-she-ji.md' }, { text: '可视化编辑区mock and 预览', link: '/cong-ling-kai-fa-h5ke-shi-hua-da-jian-xiang-mu/ke-shi-hua-bian-ji-qu-mock-and-yu-lan.md' }, { text: '可视化编辑区实现', link: '/cong-ling-kai-fa-h5ke-shi-hua-da-jian-xiang-mu/ke-shi-hua-bian-ji-qu-shi-xian.md' }, { text: '架构设计', link: '/cong-ling-kai-fa-h5ke-shi-hua-da-jian-xiang-mu/jia-gou-she-ji.md' }, { text: '模板动态化交互', link: '/cong-ling-kai-fa-h5ke-shi-hua-da-jian-xiang-mu/mo-ban-dong-tai-hua-jiao-hu.md' }, { text: '模板设计', link: '/cong-ling-kai-fa-h5ke-shi-hua-da-jian-xiang-mu/mo-ban-she-ji.md' }, { text: '模板通信设计', link: '/cong-ling-kai-fa-h5ke-shi-hua-da-jian-xiang-mu/mo-ban-tong-xin-she-ji.md' }, { text: '稳定性-模板更新策略', link: '/cong-ling-kai-fa-h5ke-shi-hua-da-jian-xiang-mu/wen-ding-xing-mo-ban-geng-xin-ce-lue.md' }, { text: '稳定性-组件更新策略', link: '/cong-ling-kai-fa-h5ke-shi-hua-da-jian-xiang-mu/wen-ding-xing-zu-jian-geng-xin-ce-lue.md' }, { text: '设计实现 CLI 为开发助力', link: '/cong-ling-kai-fa-h5ke-shi-hua-da-jian-xiang-mu/she-ji-shi-xian-cli-wei-kai-fa-zhu-li.md' }, ] }],'/chu-tan-qian-duan-gong-cheng-hua/': [{ text: '初探前端工程化', collapsible: true, items: [{ text: 'Polyfill 垫片思想在前端的应用', link: '/chu-tan-qian-duan-gong-cheng-hua/polyfill-dian-pian-si-xiang-zai-qian-duan-de-ying-yong.md' }, { text: '下一代 JS 编译器-Babel', link: '/chu-tan-qian-duan-gong-cheng-hua/xia-yi-dai-js-bian-yi-qi-babel.md' }, { text: '下一代构建方案-no-bundle 构建', link: '/chu-tan-qian-duan-gong-cheng-hua/xia-yi-dai-gou-jian-fang-an-no-bundle-gou-jian.md' }, { text: '优化 webpack 配置(一)-提升开发体验', link: '/chu-tan-qian-duan-gong-cheng-hua/you-hua-webpack-pei-zhi-yi--ti-sheng-kai-fa-ti-yan.md' }, { text: '优化 webpack 配置(二)-提升构建产物质量', link: '/chu-tan-qian-duan-gong-cheng-hua/you-hua-webpack-pei-zhi-er--ti-sheng-gou-jian-chan-wu-zhi-liang.md' }, { text: '团队协作规范(一)-命名规范、UI 设计规范', link: '/chu-tan-qian-duan-gong-cheng-hua/tuan-dui-xie-zuo-gui-fan-yi--ming-ming-gui-fan-ui-she-ji-gui-fan.md' }, { text: '团队协作规范(二)-项目结构、workflow、git commit', link: '/chu-tan-qian-duan-gong-cheng-hua/tuan-dui-xie-zuo-gui-fan-er--xiang-mu-jie-gou-workflow-git-commit.md' }, { text: '在 Babel 中使用 Polyfill', link: '/chu-tan-qian-duan-gong-cheng-hua/zai-babel-zhong-shi-yong-polyfill.md' }, { text: '如何从 0 到 1 搭建一个现代前端项目?', link: '/chu-tan-qian-duan-gong-cheng-hua/ru-he-cong-0-dao-1-da-jian-yi-ge-xian-dai-qian-duan-xiang-mu-.md' }, { text: '容器化部署方案-Docker', link: '/chu-tan-qian-duan-gong-cheng-hua/rong-qi-hua-bu-shu-fang-an-docker.md' }, { text: '常见构建工具及其对比', link: '/chu-tan-qian-duan-gong-cheng-hua/chang-jian-gou-jian-gong-ju-ji-qi-dui-bi.md' }, { text: '开篇词-什么是前端工程?', link: '/chu-tan-qian-duan-gong-cheng-hua/kai-pian-ci-shi-me-shi-qian-duan-gong-cheng-.md' }, { text: '探索 npm 安装机制', link: '/chu-tan-qian-duan-gong-cheng-hua/tan-suo-npm-an-zhuang-ji-zhi.md' }, { text: '模块化-分治思想在前端的应用', link: '/chu-tan-qian-duan-gong-cheng-hua/mo-kuai-hua-fen-zhi-si-xiang-zai-qian-duan-de-ying-yong.md' }, { text: '组件化-为前端开发降本提效', link: '/chu-tan-qian-duan-gong-cheng-hua/zu-jian-hua-wei-qian-duan-kai-fa-jiang-ben-ti-xiao.md' }, { text: '结束语-未来展望', link: '/chu-tan-qian-duan-gong-cheng-hua/jie-shu-yu-wei-lai-zhan-wang.md' }, { text: '脚手架-提升团队开发利器', link: '/chu-tan-qian-duan-gong-cheng-hua/jiao-shou-jia-ti-sheng-tuan-dui-kai-fa-li-qi.md' }, { text: '软件开发“最后一公里”-持续集成和持续部署', link: '/chu-tan-qian-duan-gong-cheng-hua/ruan-jian-kai-fa-zui-hou-yi-gong-li--chi-xu-ji-cheng-he-chi-xu-bu-shu.md' }, ] }],'/qian-duan-xing-neng-you-hua-yuan-li-yu-shi-jian/': [{ text: '前端性能优化原理与实践', collapsible: true, items: [{ text: '前方的路-希望以此为你的起点', link: '/qian-duan-xing-neng-you-hua-yuan-li-yu-shi-jian/qian-fang-de-lu-xi-wang-yi-ci-wei-ni-de-qi-dian.md' }, { text: '存储篇 1-浏览器缓存机制介绍与缓存策略剖析', link: '/qian-duan-xing-neng-you-hua-yuan-li-yu-shi-jian/cun-chu-pian-1-liu-lan-qi-huan-cun-ji-zhi-jie-shao-yu-huan-cun-ce-lue-pou-xi.md' }, { text: '存储篇 2-本地存储——从 Cookie 到 Web Storage、IndexedDB', link: '/qian-duan-xing-neng-you-hua-yuan-li-yu-shi-jian/cun-chu-pian-2-ben-di-cun-chu----cong-cookie-dao-web-storage-indexeddb.md' }, { text: '应用篇 1-优化首屏体验——Lazy-Load 初探', link: '/qian-duan-xing-neng-you-hua-yuan-li-yu-shi-jian/ying-yong-pian-1-you-hua-shou-ping-ti-yan----lazy-load-chu-tan.md' }, { text: '应用篇 2-事件的节流(throttle)与防抖(debounce)', link: '/qian-duan-xing-neng-you-hua-yuan-li-yu-shi-jian/ying-yong-pian-2-shi-jian-de-jie-liu-throttle-yu-fang-dou-debounce-.md' }, { text: '开篇-知识体系与小册格局', link: '/qian-duan-xing-neng-you-hua-yuan-li-yu-shi-jian/kai-pian-zhi-shi-ti-xi-yu-xiao-ce-ge-ju.md' }, { text: '彩蛋篇-CDN 的缓存与回源机制解析', link: '/qian-duan-xing-neng-you-hua-yuan-li-yu-shi-jian/cai-dan-pian-cdn-de-huan-cun-yu-hui-yuan-ji-zhi-jie-xi.md' }, { text: '性能监测篇-Performance、LightHouse 与性能 API', link: '/qian-duan-xing-neng-you-hua-yuan-li-yu-shi-jian/xing-neng-jian-ce-pian-performance-lighthouse-yu-xing-neng-api.md' }, { text: '渲染篇 1-服务端渲染的探索与实践', link: '/qian-duan-xing-neng-you-hua-yuan-li-yu-shi-jian/xuan-ran-pian-1-fu-wu-duan-xuan-ran-de-tan-suo-yu-shi-jian.md' }, { text: '渲染篇 2-知己知彼——解锁浏览器背后的运行机制', link: '/qian-duan-xing-neng-you-hua-yuan-li-yu-shi-jian/xuan-ran-pian-2-zhi-ji-zhi-bi----jie-suo-liu-lan-qi-bei-hou-de-yun-xing-ji-zhi.md' }, { text: '渲染篇 3-对症下药——DOM 优化原理与基本实践', link: '/qian-duan-xing-neng-you-hua-yuan-li-yu-shi-jian/xuan-ran-pian-3-dui-zheng-xia-yao----dom-you-hua-yuan-li-yu-ji-ben-shi-jian.md' }, { text: '渲染篇 4-千方百计——Event Loop 与异步更新策略', link: '/qian-duan-xing-neng-you-hua-yuan-li-yu-shi-jian/xuan-ran-pian-4-qian-fang-bai-ji----event-loop-yu-yi-bu-geng-xin-ce-lue.md' }, { text: '渲染篇 5-最后一击——回流(Reflow)与重绘(Repaint)', link: '/qian-duan-xing-neng-you-hua-yuan-li-yu-shi-jian/xuan-ran-pian-5-zui-hou-yi-ji----hui-liu-reflow-yu-chong-hui-repaint-.md' }, { text: '网络篇 1-webpack 性能调优与 Gzip 原理', link: '/qian-duan-xing-neng-you-hua-yuan-li-yu-shi-jian/wang-luo-pian-1-webpack-xing-neng-diao-you-yu-gzip-yuan-li.md' }, { text: '网络篇 2-图片优化——质量与性能的博弈', link: '/qian-duan-xing-neng-you-hua-yuan-li-yu-shi-jian/wang-luo-pian-2-tu-pian-you-hua----zhi-liang-yu-xing-neng-de-bo-yi.md' }, ] }],'/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/': [{ text: '前端算法与数据结构面试:底层逻辑解读与大厂真题训练', collapsible: true, items: [{ text: '二叉树真题归纳与解读', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/er-cha-shu-zhen-ti-gui-na-yu-jie-du.md' }, { text: '场景化解读-递归与回溯思想在真题中的应用', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/chang-jing-hua-jie-du-di-gui-yu-hui-su-si-xiang-zai-zhen-ti-zhong-de-ying-yong.md' }, { text: '大厂真题训练与解读——Google 真题', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/da-han-zhen-ti-xun-lian-yu-jie-du----google-zhen-ti.md' }, { text: '大厂真题训练与解读——头条真题', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/da-han-zhen-ti-xun-lian-yu-jie-du----tou-tiao-zhen-ti.md' }, { text: '大厂真题训练与解读——微软真题', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/da-han-zhen-ti-xun-lian-yu-jie-du----wei-ruan-zhen-ti.md' }, { text: '大厂真题训练与解读——腾讯真题', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/da-han-zhen-ti-xun-lian-yu-jie-du----teng-xun-zhen-ti.md' }, { text: '姿势特别的链表——环形链表专题', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/zi-shi-te-bie-de-lian-biao----huan-xing-lian-biao-zhuan-ti.md' }, { text: '字符串的应用——真题归纳与解读', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/zi-fu-chuan-de-ying-yong----zhen-ti-gui-na-yu-jie-du.md' }, { text: '快慢指针与多指针——玩转链表复杂操作', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/kuai-man-zhi-zhen-yu-duo-zhi-zhen----wan-zhuan-lian-biao-fu-za-cao-zuo.md' }, { text: '快速上手——从0到1掌握算法面试需要的数据结构(一)', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/kuai-su-shang-shou----cong-0dao-1zhang-wo-suan-fa-mian-shi-xu-yao-de-shu-ju-jie-gou-yi-.md' }, { text: '快速上手——从0到1掌握算法面试需要的数据结构(三)', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/kuai-su-shang-shou----cong-0dao-1zhang-wo-suan-fa-mian-shi-xu-yao-de-shu-ju-jie-gou-san-.md' }, { text: '快速上手——从0到1掌握算法面试需要的数据结构(二)', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/kuai-su-shang-shou----cong-0dao-1zhang-wo-suan-fa-mian-shi-xu-yao-de-shu-ju-jie-gou-er-.md' }, { text: '思维课-算法面试的评价逻辑', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/si-wei-ke-suan-fa-mian-shi-de-ping-jie-luo-ji.md' }, { text: '排序算法专题(上)', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/pai-xu-suan-fa-zhuan-ti-shang-.md' }, { text: '排序算法专题(下)', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/pai-xu-suan-fa-zhuan-ti-xia-.md' }, { text: '数组的应用——真题归纳与解读', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/shu-zu-de-ying-yong----zhen-ti-gui-na-yu-jie-du.md' }, { text: '普通人也能吃透的动态规划思想专题(上)', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/pu-tong-ren-ye-neng-chi-tou-de-dong-tai-gui-hua-si-xiang-zhuan-ti-shang-.md' }, { text: '普通人也能吃透的动态规划思想专题(下)', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/pu-tong-ren-ye-neng-chi-tou-de-dong-tai-gui-hua-si-xiang-zhuan-ti-xia-.md' }, { text: '栈与队列怎么玩(上)', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/zhan-yu-dui-lie-zen-me-wan-shang-.md' }, { text: '栈与队列怎么玩(下)', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/zhan-yu-dui-lie-zen-me-wan-xia-.md' }, { text: '特殊的二叉树——二叉搜索树专题', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/te-shu-de-er-cha-shu----er-cha-sou-suo-shu-zhuan-ti.md' }, { text: '特殊的二叉树——堆结构及其在排序中的应用', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/te-shu-de-er-cha-shu----dui-jie-gou-ji-qi-zai-pai-xu-zhong-de-ying-yong.md' }, { text: '特殊的二叉树——平衡二叉树专题', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/te-shu-de-er-cha-shu----ping-heng-er-cha-shu-zhuan-ti.md' }, { text: '算法的衡量——轻松理解时间复杂度与空间复杂度', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/suan-fa-de-heng-liang----qing-song-li-jie-shi-jian-fu-za-du-yu-kong-jian-fu-za-du.md' }, { text: '递归初相见——二叉树递归遍历的三种姿势', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/di-gui-chu-xiang-jian----er-cha-shu-di-gui-bian-li-de-san-zhong-zi-shi.md' }, { text: '遍历专题-DFS 与 BFS', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/bian-li-zhuan-ti-dfs-yu-bfs.md' }, { text: '链表的应用——真题归纳与解读', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/lian-biao-de-ying-yong----zhen-ti-gui-na-yu-jie-du.md' }, { text: '面试总有套路,算法不是玄学——写给普通人的前端算法面试攻略', link: '/qian-duan-suan-fa-yu-shu-ju-jie-gou-mian-shi-di-ceng-luo-ji-jie-du-yu-da-han-zhen-ti-xun-lian/mian-shi-zong-you-tao-lu-suan-fa-bu-shi-xuan-xue----xie-gei-pu-tong-ren-de-qian-duan-suan-fa-mian-shi-gong-lue.md' }, ] }],'/qian-duan-mian-shi-zhi-dao/': [{ text: '前端面试之道', collapsible: true, items: [{ text: 'CSS 常考面试题资料', link: '/qian-duan-mian-shi-zhi-dao/css-chang-kao-mian-shi-ti-zi-liao.md' }, { text: 'DevTools Tips', link: '/qian-duan-mian-shi-zhi-dao/devtools-tips.md' }, { text: 'ES6 知识点及常考面试题', link: '/qian-duan-mian-shi-zhi-dao/es6-zhi-shi-dian-ji-chang-kao-mian-shi-ti.md' }, { text: 'Event Loop', link: '/qian-duan-mian-shi-zhi-dao/event-loop.md' }, { text: 'HTTP or 2 及 HTTP or 3', link: '/qian-duan-mian-shi-zhi-dao/http-or-2-ji-http-or-3.md' }, { text: 'HTTP 及 TLS', link: '/qian-duan-mian-shi-zhi-dao/http-ji-tls.md' }, { text: 'JS 基础知识点及常考面试题(一)', link: '/qian-duan-mian-shi-zhi-dao/js-ji-chu-zhi-shi-dian-ji-chang-kao-mian-shi-ti-yi-.md' }, { text: 'JS 基础知识点及常考面试题(二)', link: '/qian-duan-mian-shi-zhi-dao/js-ji-chu-zhi-shi-dian-ji-chang-kao-mian-shi-ti-er-.md' }, { text: 'JS 异步编程及常考面试题', link: '/qian-duan-mian-shi-zhi-dao/js-yi-bu-bian-cheng-ji-chang-kao-mian-shi-ti.md' }, { text: 'JS 思考题', link: '/qian-duan-mian-shi-zhi-dao/js-si-kao-ti.md' }, { text: 'JS 进阶知识点及常考面试题', link: '/qian-duan-mian-shi-zhi-dao/js-jin-jie-zhi-shi-dian-ji-chang-kao-mian-shi-ti.md' }, { text: 'React 和 Vue 两大框架之间的相爱相杀', link: '/qian-duan-mian-shi-zhi-dao/react-he-vue-liang-da-kuang-jia-zhi-jian-de-xiang-ai-xiang-sha.md' }, { text: 'React 常考基础知识点', link: '/qian-duan-mian-shi-zhi-dao/react-chang-kao-ji-chu-zhi-shi-dian.md' }, { text: 'React 常考进阶知识点', link: '/qian-duan-mian-shi-zhi-dao/react-chang-kao-jin-jie-zhi-shi-dian.md' }, { text: 'TCP', link: '/qian-duan-mian-shi-zhi-dao/tcp.md' }, { text: 'UDP', link: '/qian-duan-mian-shi-zhi-dao/udp.md' }, { text: 'Vue 常考基础知识点', link: '/qian-duan-mian-shi-zhi-dao/vue-chang-kao-ji-chu-zhi-shi-dian.md' }, { text: 'Vue 常考进阶知识点', link: '/qian-duan-mian-shi-zhi-dao/vue-chang-kao-jin-jie-zhi-shi-dian.md' }, { text: 'Webpack 性能优化', link: '/qian-duan-mian-shi-zhi-dao/webpack-xing-neng-you-hua.md' }, { text: '从 V8 中看 JS 性能优化', link: '/qian-duan-mian-shi-zhi-dao/cong-v8-zhong-kan-js-xing-neng-you-hua.md' }, { text: '前方的路,让我们结伴同行', link: '/qian-duan-mian-shi-zhi-dao/qian-fang-de-lu-rang-wo-men-jie-ban-tong-xing.md' }, { text: '如何写好一封简历', link: '/qian-duan-mian-shi-zhi-dao/ru-he-xie-hao-yi-feng-jian-li.md' }, { text: '安全防范知识点', link: '/qian-duan-mian-shi-zhi-dao/an-quan-fang-fan-zhi-shi-dian.md' }, { text: '实现小型打包工具', link: '/qian-duan-mian-shi-zhi-dao/shi-xian-xiao-xing-da-bao-gong-ju.md' }, { text: '小册食用指南', link: '/qian-duan-mian-shi-zhi-dao/xiao-ce-shi-yong-zhi-nan.md' }, { text: '常考算法题解析', link: '/qian-duan-mian-shi-zhi-dao/chang-kao-suan-fa-ti-jie-xi.md' }, { text: '常见数据结构', link: '/qian-duan-mian-shi-zhi-dao/chang-jian-shu-ju-jie-gou.md' }, { text: '性能优化琐碎事', link: '/qian-duan-mian-shi-zhi-dao/xing-neng-you-hua-suo-sui-shi.md' }, { text: '手写 Promise', link: '/qian-duan-mian-shi-zhi-dao/shou-xie-promise.md' }, { text: '浏览器基础知识点及常考面试题', link: '/qian-duan-mian-shi-zhi-dao/liu-lan-qi-ji-chu-zhi-shi-dian-ji-chang-kao-mian-shi-ti.md' }, { text: '浏览器渲染原理', link: '/qian-duan-mian-shi-zhi-dao/liu-lan-qi-xuan-ran-yuan-li.md' }, { text: '浏览器缓存机制', link: '/qian-duan-mian-shi-zhi-dao/liu-lan-qi-huan-cun-ji-zhi.md' }, { text: '监控', link: '/qian-duan-mian-shi-zhi-dao/jian-kong.md' }, { text: '设计模式', link: '/qian-duan-mian-shi-zhi-dao/she-ji-mo-shi.md' }, { text: '输入 URL 到页面渲染的整个流程', link: '/qian-duan-mian-shi-zhi-dao/shu-ru-url-dao-ye-mian-xuan-ran-de-zheng-ge-liu-cheng.md' }, { text: '面试常用技巧', link: '/qian-duan-mian-shi-zhi-dao/mian-shi-chang-yong-ji-qiao.md' }, ] }],'/pou-xi-vue.js-nei-bu-yun-xing-ji-zhi/': [{ text: '剖析 Vue.js 内部运行机制', collapsible: true, items: [{ text: 'template 模板是怎样通过 Compile 编译的', link: '/pou-xi-vue.js-nei-bu-yun-xing-ji-zhi/template-mo-ban-shi-zen-yang-tong-guo-compile-bian-yi-de.md' }, { text: 'Vue.js 运行机制全局概览', link: '/pou-xi-vue.js-nei-bu-yun-xing-ji-zhi/vue.js-yun-xing-ji-zhi-quan-ju-gai-lan.md' }, { text: 'Vuex 状态管理的工作原理', link: '/pou-xi-vue.js-nei-bu-yun-xing-ji-zhi/vuex-zhuang-tai-guan-li-de-gong-zuo-yuan-li.md' }, { text: '响应式系统的依赖收集追踪原理', link: '/pou-xi-vue.js-nei-bu-yun-xing-ji-zhi/xiang-ying-shi-xi-tong-de-yi-lai-shou-ji-zhui-zong-yuan-li.md' }, { text: '响应式系统的基本原理', link: '/pou-xi-vue.js-nei-bu-yun-xing-ji-zhi/xiang-ying-shi-xi-tong-de-ji-ben-yuan-li.md' }, { text: '实现 Virtual DOM 下的一个 VNode 节点', link: '/pou-xi-vue.js-nei-bu-yun-xing-ji-zhi/shi-xian-virtual-dom-xia-de-yi-ge-vnode-jie-dian.md' }, { text: '总结 and 常见问题解答', link: '/pou-xi-vue.js-nei-bu-yun-xing-ji-zhi/zong-jie-and-chang-jian-wen-ti-jie-da.md' }, { text: '批量异步更新策略及 nextTick 原理', link: '/pou-xi-vue.js-nei-bu-yun-xing-ji-zhi/pi-liang-yi-bu-geng-xin-ce-lue-ji-nexttick-yuan-li.md' }, { text: '数据状态更新时的差异 diff 及 patch 机制', link: '/pou-xi-vue.js-nei-bu-yun-xing-ji-zhi/shu-ju-zhuang-tai-geng-xin-shi-de-chai-yi-diff-ji-patch-ji-zhi.md' }, ] }],'/ke-shi-hua-ru-men-cong-0-dao-1-kai-fa-yi-ge-tu-biao-ku/': [{ text: '可视化入门:从 0 到 1 开发一个图表库', collapsible: true, items: [{ text: '分析-压抑的中世纪发生了什么?', link: '/ke-shi-hua-ru-men-cong-0-dao-1-kai-fa-yi-ge-tu-biao-ku/fen-xi-ya-yi-de-zhong-shi-ji-fa-sheng-liao-shi-me-.md' }, { text: '分析-哲学家之间在讨论啥“八卦”?', link: '/ke-shi-hua-ru-men-cong-0-dao-1-kai-fa-yi-ge-tu-biao-ku/fen-xi-zhe-xue-jia-zhi-jian-zai-tao-lun-sha-ba-gua-.md' }, { text: '分析-哲学流派的“组织架构”是啥样的?', link: '/ke-shi-hua-ru-men-cong-0-dao-1-kai-fa-yi-ge-tu-biao-ku/fen-xi-zhe-xue-liu-pai-de-zu-zhi-jia-gou-shi-sha-yang-de-.md' }, { text: '分析-抽象的哲学问题又有谁来解?', link: '/ke-shi-hua-ru-men-cong-0-dao-1-kai-fa-yi-ge-tu-biao-ku/fen-xi-chou-xiang-de-zhe-xue-wen-ti-you-you-shui-lai-jie-.md' }, { text: '分析-表格带你浅尝数据分析', link: '/ke-shi-hua-ru-men-cong-0-dao-1-kai-fa-yi-ge-tu-biao-ku/fen-xi-biao-ge-dai-ni-qian-chang-shu-ju-fen-xi.md' }, { text: '分析-西方哲学中心的“迁徙之旅”', link: '/ke-shi-hua-ru-men-cong-0-dao-1-kai-fa-yi-ge-tu-biao-ku/fen-xi-xi-fang-zhe-xue-zhong-xin-de-qian-xi-zhi-lu-.md' }, { text: '基础-可视化工具概览', link: '/ke-shi-hua-ru-men-cong-0-dao-1-kai-fa-yi-ge-tu-biao-ku/ji-chu-ke-shi-hua-gong-ju-gai-lan.md' }, { text: '基础-数据分析模型', link: '/ke-shi-hua-ru-men-cong-0-dao-1-kai-fa-yi-ge-tu-biao-ku/ji-chu-shu-ju-fen-xi-mo-xing.md' }, { text: '基础-绘制一个条形图', link: '/ke-shi-hua-ru-men-cong-0-dao-1-kai-fa-yi-ge-tu-biao-ku/ji-chu-hui-zhi-yi-ge-tiao-xing-tu.md' }, { text: '实战-几何图形 - Geometry', link: '/ke-shi-hua-ru-men-cong-0-dao-1-kai-fa-yi-ge-tu-biao-ku/shi-zhan-ji-he-tu-xing---geometry.md' }, { text: '实战-坐标系 - Coordinate', link: '/ke-shi-hua-ru-men-cong-0-dao-1-kai-fa-yi-ge-tu-biao-ku/shi-zhan-zuo-biao-xi---coordinate.md' }, { text: '实战-搭建开发环境', link: '/ke-shi-hua-ru-men-cong-0-dao-1-kai-fa-yi-ge-tu-biao-ku/shi-zhan-da-jian-kai-fa-huan-jing.md' }, { text: '实战-比例尺 - Scale', link: '/ke-shi-hua-ru-men-cong-0-dao-1-kai-fa-yi-ge-tu-biao-ku/shi-zhan-bi-li-chi---scale.md' }, { text: '实战-渲染引擎 - Renderer', link: '/ke-shi-hua-ru-men-cong-0-dao-1-kai-fa-yi-ge-tu-biao-ku/shi-zhan-xuan-ran-yin-qing---renderer.md' }, { text: '实战-渲染流程 - Plot', link: '/ke-shi-hua-ru-men-cong-0-dao-1-kai-fa-yi-ge-tu-biao-ku/shi-zhan-xuan-ran-liu-cheng---plot.md' }, { text: '实战-统计 - Statistic', link: '/ke-shi-hua-ru-men-cong-0-dao-1-kai-fa-yi-ge-tu-biao-ku/shi-zhan-tong-ji---statistic.md' }, { text: '实战-视图 - View', link: '/ke-shi-hua-ru-men-cong-0-dao-1-kai-fa-yi-ge-tu-biao-ku/shi-zhan-shi-tu---view.md' }, { text: '实战-辅助组件 - Guide', link: '/ke-shi-hua-ru-men-cong-0-dao-1-kai-fa-yi-ge-tu-biao-ku/shi-zhan-fu-zhu-zu-jian---guide.md' }, { text: '开篇-可视化介绍', link: '/ke-shi-hua-ru-men-cong-0-dao-1-kai-fa-yi-ge-tu-biao-ku/kai-pian-ke-shi-hua-jie-shao.md' }, { text: '总结-回顾过去,展望未来', link: '/ke-shi-hua-ru-men-cong-0-dao-1-kai-fa-yi-ge-tu-biao-ku/zong-jie-hui-gu-guo-qu-zhan-wang-wei-lai.md' }, ] }],'/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/': [{ text: '周爱民-JavaScript核心原理解析', collapsible: true, items: [{ text: '01-delete0-JavaScript中到底有什么是可以销毁的', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/01-delete0-javascriptzhong-dao-di-you-shi-me-shi-ke-yi-xiao-hui-de.md' }, { text: '02-声明语句与语法改变了JavaScript语言核心性质', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/02-sheng-ming-yu-ju-yu-yu-fa-gai-bian-liao-javascriptyu-yan-he-xin-xing-zhi.md' }, { text: '03-一道被无数人无数次地解释过的经典面试题', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/03-yi-dao-bei-wu-shu-ren-wu-shu-ci-di-jie-shi-guo-de-jing-dian-mian-shi-ti.md' }, { text: '04-你无法导出一个匿名函数表达式', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/04-ni-wu-fa-dao-chu-yi-ge-ni-ming-han-shu-biao-da-shi.md' }, { text: '05-for循环并不比使用函数递归节省开销', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/05-forxun-huan-bing-bu-bi-shi-yong-han-shu-di-gui-jie-sheng-kai-xiao.md' }, { text: '06-搞懂如何在循环外使用break-方知语句执行真解', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/06-gao-dong-ru-he-zai-xun-huan-wai-shi-yong-break-fang-zhi-yu-ju-zhi-xing-zhen-jie.md' }, { text: '07-详解JavaScript中特殊的可执行结构', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/07-xiang-jie-javascriptzhong-te-shu-de-ke-zhi-xing-jie-gou.md' }, { text: '08-函数式语言的核心抽象-函数与表达式的同一性', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/08-han-shu-shi-yu-yan-de-he-xin-chou-xiang-han-shu-yu-biao-da-shi-de-tong-yi-xing.md' }, { text: '09-不是表达式、语句、函数-但它却能执行', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/09-bu-shi-biao-da-shi-yu-ju-han-shu-dan-ta-que-neng-zhi-xing.md' }, { text: '10-迭代过程的“函数式化”', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/10-die-dai-guo-cheng-de-han-shu-shi-hua-.md' }, { text: '11-它在“最简单语法榜”上排名第三', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/11-ta-zai-zui-jian-dan-yu-fa-bang-shang-pai-ming-di-san.md' }, { text: '12-这行代码的结果-既可能是true-也可能是false', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/12-zhe-xing-dai-ma-de-jie-guo-ji-ke-neng-shi-true-ye-ke-neng-shi-false.md' }, { text: '13-newX-从构造器到类-为你揭密对象构造的全程', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/13-newx-cong-gou-zao-qi-dao-lei-wei-ni-jie-mi-dui-xiang-gou-zao-de-quan-cheng.md' }, { text: '14-虽然直到ES10还是个半吊子实现-却也值得一讲', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/14-sui-ran-zhi-dao-es10huan-shi-ge-ban-diao-zi-shi-xian-que-ye-zhi-de-yi-jiang.md' }, { text: '15-做框架设计的基本功-写一个根类', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/15-zuo-kuang-jia-she-ji-de-ji-ben-gong-xie-yi-ge-gen-lei.md' }, { text: '16-让你从一行代码看到对象的本质', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/16-rang-ni-cong-yi-xing-dai-ma-kan-dao-dui-xiang-de-ben-zhi.md' }, { text: '17-连BrendanEich都认错-但null值还活着', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/17-lian-brendaneichdu-ren-cuo-dan-nullzhi-huan-huo-zhao.md' }, { text: '18-动态类型是灾难之源还是最好的特性(上)', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/18-dong-tai-lei-xing-shi-zai-nan-zhi-yuan-huan-shi-zui-hao-de-te-xing-shang-.md' }, { text: '19-动态类型是灾难之源还是最好的特性(下)', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/19-dong-tai-lei-xing-shi-zai-nan-zhi-yuan-huan-shi-zui-hao-de-te-xing-xia-.md' }, { text: '20-一行让严格模式形同虚设的破坏性设计(上)', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/20-yi-xing-rang-yan-ge-mo-shi-xing-tong-xu-she-de-po-pi-xing-she-ji-shang-.md' }, { text: '21-一行让严格模式形同虚设的破坏性设计(下)', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/21-yi-xing-rang-yan-ge-mo-shi-xing-tong-xu-she-de-po-pi-xing-she-ji-xia-.md' }, { text: '22-函数的类化是对动态与静态系统的再次统一', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/22-han-shu-de-lei-hua-shi-dui-dong-tai-yu-jing-tai-xi-tong-de-zai-ci-tong-yi.md' }, { text: '加餐-捡豆吃豆的学问(上)-这门课讲的是什么', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/jia-can-jian-dou-chi-dou-de-xue-wen-shang--zhe-men-ke-jiang-de-shi-shi-me.md' }, { text: '加餐-捡豆吃豆的学问(下)-这门课该怎么学', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/jia-can-jian-dou-chi-dou-de-xue-wen-xia--zhe-men-ke-gai-zen-me-xue.md' }, { text: '加餐-让JavaScript运行起来', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/jia-can-rang-javascriptyun-xing-qi-lai.md' }, { text: '开篇词-如何解决语言问题', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/kai-pian-ci-ru-he-jie-jue-yu-yan-wen-ti.md' }, { text: '结束语-愿你能做一个真正“懂”的程序员', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/jie-shu-yu-yuan-ni-neng-zuo-yi-ge-zhen-zheng-dong-de-cheng-xu-yuan.md' }, { text: '结课测试-这些JavaScript知识-你真的掌握了吗', link: '/zhou-ai-min-javascripthe-xin-yuan-li-jie-xi/jie-ke-ce-shi-zhe-xie-javascriptzhi-shi-ni-zhen-de-zhang-wo-liao-ma.md' }, ] }],'/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/': [{ text: '基于 Go 语言构建企业级的 RESTful API 服务', collapsible: true, items: [{ text: 'API 流程和代码结构', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/api-liu-cheng-he-dai-ma-jie-gou.md' }, { text: 'Go API 开发环境配置', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/go-api-kai-fa-huan-jing-pei-zhi.md' }, { text: 'RESTful API 介绍', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/restful-api-jie-shao.md' }, { text: '基础 1-启动一个最简单的 RESTful API 服务器', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/ji-chu-1-qi-dong-yi-ge-zui-jian-dan-de-restful-api-fu-wu-qi.md' }, { text: '基础 10-API 身份验证', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/ji-chu-10-api-shen-fen-yan-zheng.md' }, { text: '基础 2-配置文件读取', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/ji-chu-2-pei-zhi-wen-jian-du-qu.md' }, { text: '基础 3-记录和管理 API 日志', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/ji-chu-3-ji-lu-he-guan-li-api-ri-zhi.md' }, { text: '基础 4-安装 MySQL 并初始化表', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/ji-chu-4-an-zhuang-mysql-bing-chu-shi-hua-biao.md' }, { text: '基础 5-初始化 MySQL 数据库并建立连接', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/ji-chu-5-chu-shi-hua-mysql-shu-ju-ku-bing-jian-li-lian-jie.md' }, { text: '基础 6-自定义业务错误信息', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/ji-chu-6-zi-ding-yi-ye-wu-cuo-wu-xin-xi.md' }, { text: '基础 7-读取和返回 HTTP 请求', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/ji-chu-7-du-qu-he-fan-hui-http-qing-qiu.md' }, { text: '基础 8-用户业务逻辑处理', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/ji-chu-8-yong-hu-ye-wu-luo-ji-chu-li.md' }, { text: '基础 9-HTTP 调用添加自定义处理逻辑', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/ji-chu-9-http-diao-yong-tian-jia-zi-ding-yi-chu-li-luo-ji.md' }, { text: '总结', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/zong-jie.md' }, { text: '拓展 1-Go 开发技巧', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/tuo-zhan-1-go-kai-fa-ji-qiao.md' }, { text: '拓展 2-Go 规范指南', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/tuo-zhan-2-go-gui-fan-zhi-nan.md' }, { text: '本小册所实现的 API 功能', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/ben-xiao-ce-suo-shi-xian-de-api-gong-neng.md' }, { text: '进阶 1-用 HTTPS 加密 API 请求', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/jin-jie-1-yong-https-jia-mi-api-qing-qiu.md' }, { text: '进阶 10-API 性能测试和调优', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/jin-jie-10-api-xing-neng-ce-shi-he-diao-you.md' }, { text: '进阶 2-用 Makefile 管理 API 项目', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/jin-jie-2-yong-makefile-guan-li-api-xiang-mu.md' }, { text: '进阶 3-给 API 命令增加版本功能', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/jin-jie-3-gei-api-ming-ling-zeng-jia-ban-ben-gong-neng.md' }, { text: '进阶 4-给 API 增加启动脚本', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/jin-jie-4-gei-api-zeng-jia-qi-dong-jiao-ben.md' }, { text: '进阶 5-基于 Nginx 的 API 部署方案', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/jin-jie-5-ji-yu-nginx-de-api-bu-shu-fang-an.md' }, { text: '进阶 6-API 高可用方案', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/jin-jie-6-api-gao-ke-yong-fang-an.md' }, { text: '进阶 7-go test 测试你的代码', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/jin-jie-7-go-test-ce-shi-ni-de-dai-ma.md' }, { text: '进阶 8-API 性能分析', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/jin-jie-8-api-xing-neng-fen-xi.md' }, { text: '进阶 9-生成 Swagger 在线文档', link: '/ji-yu-go-yu-yan-gou-jian-qi-ye-ji-de-restful-api-fu-wu/jin-jie-9-sheng-cheng-swagger-zai-xian-wen-dang.md' }, ] }],'/ji-yu-hapi-de-node.js-xiao-cheng-xu-hou-duan-kai-fa-shi-jian-zhi-nan/': [{ text: '基于 hapi 的 Node.js 小程序后端开发实践指南', collapsible: true, items: [{ text: '基础篇 1-小程序需求分析与基础设计', link: '/ji-yu-hapi-de-node.js-xiao-cheng-xu-hou-duan-kai-fa-shi-jian-zhi-nan/ji-chu-pian-1-xiao-cheng-xu-xu-qiu-fen-xi-yu-ji-chu-she-ji.md' }, { text: '基础篇 2-后端技术选型 —— Node.js and hapi', link: '/ji-yu-hapi-de-node.js-xiao-cheng-xu-hou-duan-kai-fa-shi-jian-zhi-nan/ji-chu-pian-2-hou-duan-ji-shu-xuan-xing------node.js-and-hapi.md' }, { text: '基础篇 3-欲善事先利器 —— Node.js 调试技巧', link: '/ji-yu-hapi-de-node.js-xiao-cheng-xu-hou-duan-kai-fa-shi-jian-zhi-nan/ji-chu-pian-3-yu-shan-shi-xian-li-qi------node.js-diao-shi-ji-qiao.md' }, { text: '实战篇 1-项目工程初始化 —— 使用 hapi', link: '/ji-yu-hapi-de-node.js-xiao-cheng-xu-hou-duan-kai-fa-shi-jian-zhi-nan/shi-zhan-pian-1-xiang-mu-gong-cheng-chu-shi-hua------shi-yong-hapi.md' }, { text: '实战篇 10-服务部署发布 —— 使用小程序开发者工具', link: '/ji-yu-hapi-de-node.js-xiao-cheng-xu-hou-duan-kai-fa-shi-jian-zhi-nan/shi-zhan-pian-10-fu-wu-bu-shu-fa-bu------shi-yong-xiao-cheng-xu-kai-fa-zhe-gong-ju.md' }, { text: '实战篇 2-接口契约与入参校验 —— 使用 Swagger and Joi', link: '/ji-yu-hapi-de-node.js-xiao-cheng-xu-hou-duan-kai-fa-shi-jian-zhi-nan/shi-zhan-pian-2-jie-kou-qi-yue-yu-ru-can-xiao-yan------shi-yong-swagger-and-joi.md' }, { text: '实战篇 3-表结构设计、迁移与数据填充 —— 使用 Sequelize-cli', link: '/ji-yu-hapi-de-node.js-xiao-cheng-xu-hou-duan-kai-fa-shi-jian-zhi-nan/shi-zhan-pian-3-biao-jie-gou-she-ji-qian-yi-yu-shu-ju-tian-chong------shi-yong-sequelize-cli.md' }, { text: '实战篇 4-小程序列表获取 —— 使用 Sequelize', link: '/ji-yu-hapi-de-node.js-xiao-cheng-xu-hou-duan-kai-fa-shi-jian-zhi-nan/shi-zhan-pian-4-xiao-cheng-xu-lie-biao-huo-qu------shi-yong-sequelize.md' }, { text: '实战篇 5-身份验证设计 —— 使用 JWT', link: '/ji-yu-hapi-de-node.js-xiao-cheng-xu-hou-duan-kai-fa-shi-jian-zhi-nan/shi-zhan-pian-5-shen-fen-yan-zheng-she-ji------shi-yong-jwt.md' }, { text: '实战篇 6-身份验证实现 —— 使用 hapi-auth-jwt2', link: '/ji-yu-hapi-de-node.js-xiao-cheng-xu-hou-duan-kai-fa-shi-jian-zhi-nan/shi-zhan-pian-6-shen-fen-yan-zheng-shi-xian------shi-yong-hapi-auth-jwt2.md' }, { text: '实战篇 7-小程序登录授权 与 JWT 签发', link: '/ji-yu-hapi-de-node.js-xiao-cheng-xu-hou-duan-kai-fa-shi-jian-zhi-nan/shi-zhan-pian-7-xiao-cheng-xu-deng-lu-shou-quan-yu-jwt-qian-fa.md' }, { text: '实战篇 8-小程序订单创建 —— 使用事务', link: '/ji-yu-hapi-de-node.js-xiao-cheng-xu-hou-duan-kai-fa-shi-jian-zhi-nan/shi-zhan-pian-8-xiao-cheng-xu-ding-dan-chuang-jian------shi-yong-shi-wu.md' }, { text: '实战篇 9-小程序订单支付 —— 微信支付', link: '/ji-yu-hapi-de-node.js-xiao-cheng-xu-hou-duan-kai-fa-shi-jian-zhi-nan/shi-zhan-pian-9-xiao-cheng-xu-ding-dan-zhi-fu------wei-xin-zhi-fu.md' }, { text: '尾声 -项目回顾,温故知新', link: '/ji-yu-hapi-de-node.js-xiao-cheng-xu-hou-duan-kai-fa-shi-jian-zhi-nan/wei-sheng--xiang-mu-hui-gu-wen-gu-zhi-xin.md' }, { text: '开篇- 小程序的 Node.js 全栈之路', link: '/ji-yu-hapi-de-node.js-xiao-cheng-xu-hou-duan-kai-fa-shi-jian-zhi-nan/kai-pian--xiao-cheng-xu-de-node.js-quan-zhan-zhi-lu.md' }, { text: '拓展篇 1-系统监控与记录 —— 使用 Good 插件', link: '/ji-yu-hapi-de-node.js-xiao-cheng-xu-hou-duan-kai-fa-shi-jian-zhi-nan/tuo-zhan-pian-1-xi-tong-jian-kong-yu-ji-lu------shi-yong-good-cha-jian.md' }, { text: '拓展篇 2-系统稳定性测试 —— 使用 Lab and Code', link: '/ji-yu-hapi-de-node.js-xiao-cheng-xu-hou-duan-kai-fa-shi-jian-zhi-nan/tuo-zhan-pian-2-xi-tong-wen-ding-xing-ce-shi------shi-yong-lab-and-code.md' }, ] }],'/ji-yu-javascript-kai-fa-ling-huo-de-shu-ju-ying-yong/': [{ text: '基于 JavaScript 开发灵活的数据应用', collapsible: true, items: [{ text: '动态数据应用 · 使用 Vue.js 为数据流添加动态转换过滤器', link: '/ji-yu-javascript-kai-fa-ling-huo-de-shu-ju-ying-yong/dong-tai-shu-ju-ying-yong-shi-yong-vue.js-wei-shu-ju-liu-tian-jia-dong-tai-zhuan-huan-guo-lu-qi.md' }, { text: '动态数据应用 · 应用高大上的动态数据流(上)', link: '/ji-yu-javascript-kai-fa-ling-huo-de-shu-ju-ying-yong/dong-tai-shu-ju-ying-yong-ying-yong-gao-da-shang-de-dong-tai-shu-ju-liu-shang-.md' }, { text: '动态数据应用 · 应用高大上的动态数据流(下)', link: '/ji-yu-javascript-kai-fa-ling-huo-de-shu-ju-ying-yong/dong-tai-shu-ju-ying-yong-ying-yong-gao-da-shang-de-dong-tai-shu-ju-liu-xia-.md' }, { text: '动态数据应用 · 用数据流概念重新理解数据转换', link: '/ji-yu-javascript-kai-fa-ling-huo-de-shu-ju-ying-yong/dong-tai-shu-ju-ying-yong-yong-shu-ju-liu-gai-nian-chong-xin-li-jie-shu-ju-zhuan-huan.md' }, { text: '基于 JavaScript 的数据应用开发概述', link: '/ji-yu-javascript-kai-fa-ling-huo-de-shu-ju-ying-yong/ji-yu-javascript-de-shu-ju-ying-yong-kai-fa-gai-shu.md' }, { text: '基于ECharts 的基础表达性统计图表 · 散点图与折线图', link: '/ji-yu-javascript-kai-fa-ling-huo-de-shu-ju-ying-yong/ji-yu-echarts-de-ji-chu-biao-da-xing-tong-ji-tu-biao-san-dian-tu-yu-zhe-xian-tu.md' }, { text: '基于ECharts 的基础表达性统计图表 · 柱状图与饼图', link: '/ji-yu-javascript-kai-fa-ling-huo-de-shu-ju-ying-yong/ji-yu-echarts-de-ji-chu-biao-da-xing-tong-ji-tu-biao-zhu-zhuang-tu-yu-bing-tu.md' }, { text: '基本数据处理 · 基本统计', link: '/ji-yu-javascript-kai-fa-ling-huo-de-shu-ju-ying-yong/ji-ben-shu-ju-chu-li-ji-ben-tong-ji.md' }, { text: '基本数据处理 · 字符串和数字', link: '/ji-yu-javascript-kai-fa-ling-huo-de-shu-ju-ying-yong/ji-ben-shu-ju-chu-li-zi-fu-chuan-he-shu-zi.md' }, { text: '基本数据处理 · 对象字面量', link: '/ji-yu-javascript-kai-fa-ling-huo-de-shu-ju-ying-yong/ji-ben-shu-ju-chu-li-dui-xiang-zi-mian-liang.md' }, { text: '基本数据处理 · 数组', link: '/ji-yu-javascript-kai-fa-ling-huo-de-shu-ju-ying-yong/ji-ben-shu-ju-chu-li-shu-zu.md' }, { text: '复杂数据图表 · 关系图谱', link: '/ji-yu-javascript-kai-fa-ling-huo-de-shu-ju-ying-yong/fu-za-shu-ju-tu-biao-guan-xi-tu-pu.md' }, { text: '复杂数据图表 · 树形图', link: '/ji-yu-javascript-kai-fa-ling-huo-de-shu-ju-ying-yong/fu-za-shu-ju-tu-biao-shu-xing-tu.md' }, { text: '复杂数据图表 · 箱线图', link: '/ji-yu-javascript-kai-fa-ling-huo-de-shu-ju-ying-yong/fu-za-shu-ju-tu-biao-xiang-xian-tu.md' }, { text: '复杂数据处理 · 使用序列', link: '/ji-yu-javascript-kai-fa-ling-huo-de-shu-ju-ying-yong/fu-za-shu-ju-chu-li-shi-yong-xu-lie.md' }, { text: '复杂数据处理 · 关系图谱', link: '/ji-yu-javascript-kai-fa-ling-huo-de-shu-ju-ying-yong/fu-za-shu-ju-chu-li-guan-xi-tu-pu.md' }, { text: '复杂数据处理 · 树形', link: '/ji-yu-javascript-kai-fa-ling-huo-de-shu-ju-ying-yong/fu-za-shu-ju-chu-li-shu-xing.md' }, { text: '复杂数据处理 · 结构转换(上)', link: '/ji-yu-javascript-kai-fa-ling-huo-de-shu-ju-ying-yong/fu-za-shu-ju-chu-li-jie-gou-zhuan-huan-shang-.md' }, { text: '复杂数据处理 · 结构转换(下)', link: '/ji-yu-javascript-kai-fa-ling-huo-de-shu-ju-ying-yong/fu-za-shu-ju-chu-li-jie-gou-zhuan-huan-xia-.md' }, { text: '数据分析师的好帮手 · 辅助线', link: '/ji-yu-javascript-kai-fa-ling-huo-de-shu-ju-ying-yong/shu-ju-fen-xi-shi-de-hao-bang-shou-fu-zhu-xian.md' }, { text: '更高维度的数据可视化图表', link: '/ji-yu-javascript-kai-fa-ling-huo-de-shu-ju-ying-yong/geng-gao-wei-du-de-shu-ju-ke-shi-hua-tu-biao.md' }, ] }],'/ji-yu-node-de-devops-shi-zhan/': [{ text: '基于 Node 的 DevOps 实战', collapsible: true, items: [{ text: 'Node 业务篇 - Jenkins and Node', link: '/ji-yu-node-de-devops-shi-zhan/node-ye-wu-pian---jenkins-and-node.md' }, { text: 'Node 业务篇 - 流程开发', link: '/ji-yu-node-de-devops-shi-zhan/node-ye-wu-pian---liu-cheng-kai-fa.md' }, { text: 'Node 工具篇 - Gitlab Api', link: '/ji-yu-node-de-devops-shi-zhan/node-gong-ju-pian---gitlab-api.md' }, { text: 'Node 工具篇 - 全局与工具类', link: '/ji-yu-node-de-devops-shi-zhan/node-gong-ju-pian---quan-ju-yu-gong-ju-lei.md' }, { text: 'Node 新手篇 - Egg', link: '/ji-yu-node-de-devops-shi-zhan/node-xin-shou-pian---egg.md' }, { text: 'React 基础篇 - 前端界面开发', link: '/ji-yu-node-de-devops-shi-zhan/react-ji-chu-pian---qian-duan-jie-mian-kai-fa.md' }, { text: '学习里程碑 - 客户端完结', link: '/ji-yu-node-de-devops-shi-zhan/xue-xi-li-cheng-bei---ke-hu-duan-wan-jie.md' }, { text: '学习里程碑 - 服务端完结', link: '/ji-yu-node-de-devops-shi-zhan/xue-xi-li-cheng-bei---fu-wu-duan-wan-jie.md' }, { text: '插件篇 - Vscode', link: '/ji-yu-node-de-devops-shi-zhan/cha-jian-pian---vscode.md' }, { text: '最终章-旅程的终点', link: '/ji-yu-node-de-devops-shi-zhan/zui-zhong-zhang-lu-cheng-de-zhong-dian.md' }, { text: '构建篇 - Docker', link: '/ji-yu-node-de-devops-shi-zhan/gou-jian-pian---docker.md' }, { text: '构建篇 - Jenkins 进阶', link: '/ji-yu-node-de-devops-shi-zhan/gou-jian-pian---jenkins-jin-jie.md' }, { text: '构建篇 - 代码审查卡点', link: '/ji-yu-node-de-devops-shi-zhan/gou-jian-pian---dai-ma-shen-cha-qia-dian.md' }, { text: '环境篇 - 环境配置', link: '/ji-yu-node-de-devops-shi-zhan/huan-jing-pian---huan-jing-pei-zhi.md' }, { text: '环境篇 - 虚拟机 and GitLab', link: '/ji-yu-node-de-devops-shi-zhan/huan-jing-pian---xu-ni-ji-and-gitlab.md' }, { text: '监控篇 - 服务性能监控', link: '/ji-yu-node-de-devops-shi-zhan/jian-kong-pian---fu-wu-xing-neng-jian-kong.md' }, { text: '监控篇 - 线上埋点、预警', link: '/ji-yu-node-de-devops-shi-zhan/jian-kong-pian---xian-shang-mai-dian-yu-jing.md' }, { text: '综合篇 - 整体流程打通', link: '/ji-yu-node-de-devops-shi-zhan/zong-he-pian---zheng-ti-liu-cheng-da-tong.md' }, { text: '脚手架篇 - CLI 工具', link: '/ji-yu-node-de-devops-shi-zhan/jiao-shou-jia-pian---cli-gong-ju.md' }, { text: '脚手架篇 - 基础模板', link: '/ji-yu-node-de-devops-shi-zhan/jiao-shou-jia-pian---ji-chu-mo-ban.md' }, { text: '设计篇- 项目分析与设计', link: '/ji-yu-node-de-devops-shi-zhan/she-ji-pian--xiang-mu-fen-xi-yu-she-ji.md' }, { text: '部署篇 - Kubernetes', link: '/ji-yu-node-de-devops-shi-zhan/bu-shu-pian---kubernetes.md' }, ] }],'/ji-yu-python-shi-xian-wei-xin-gong-zhong-hao-pa-chong/': [{ text: '基于 Python 实现微信公众号爬虫', collapsible: true, items: [{ text: '使用 Fiddler 抓包分析公众号请求过程', link: '/ji-yu-python-shi-xian-wei-xin-gong-zhong-hao-pa-chong/shi-yong-fiddler-zhua-bao-fen-xi-gong-zhong-hao-qing-qiu-guo-cheng.md' }, { text: '使用 Requests 实现一个简单网页爬虫', link: '/ji-yu-python-shi-xian-wei-xin-gong-zhong-hao-pa-chong/shi-yong-requests-shi-xian-yi-ge-jian-dan-wang-ye-pa-chong.md' }, { text: '利用 Pandas 对爬取数据进行分析', link: '/ji-yu-python-shi-xian-wei-xin-gong-zhong-hao-pa-chong/li-yong-pandas-dui-pa-qu-shu-ju-jin-xing-fen-xi.md' }, { text: '基于 Matplotlib 实现数据可视化展示', link: '/ji-yu-python-shi-xian-wei-xin-gong-zhong-hao-pa-chong/ji-yu-matplotlib-shi-xian-shu-ju-ke-shi-hua-zhan-shi.md' }, { text: '将爬取的文章存储到MongoDB', link: '/ji-yu-python-shi-xian-wei-xin-gong-zhong-hao-pa-chong/jiang-pa-qu-de-wen-zhang-cun-chu-dao-mongodb.md' }, { text: '小结', link: '/ji-yu-python-shi-xian-wei-xin-gong-zhong-hao-pa-chong/xiao-jie.md' }, { text: '微信公众号爬虫的基本原理', link: '/ji-yu-python-shi-xian-wei-xin-gong-zhong-hao-pa-chong/wei-xin-gong-zhong-hao-pa-chong-de-ji-ben-yuan-li.md' }, { text: '抓取微信公众号所有历史文章', link: '/ji-yu-python-shi-xian-wei-xin-gong-zhong-hao-pa-chong/zhua-qu-wei-xin-gong-zhong-hao-suo-you-li-shi-wen-zhang.md' }, { text: '抓取微信公众号第一篇文章', link: '/ji-yu-python-shi-xian-wei-xin-gong-zhong-hao-pa-chong/zhua-qu-wei-xin-gong-zhong-hao-di-yi-pian-wen-zhang.md' }, { text: '搭建数据分析环境-Anaconda、Jupyter Notebook', link: '/ji-yu-python-shi-xian-wei-xin-gong-zhong-hao-pa-chong/da-jian-shu-ju-fen-xi-huan-jing-anaconda-jupyter-notebook.md' }, { text: '获取文章阅读数、点赞数、评论数、赞赏数', link: '/ji-yu-python-shi-xian-wei-xin-gong-zhong-hao-pa-chong/huo-qu-wen-zhang-yue-du-shu-dian-zan-shu-ping-lun-shu-zan-shang-shu.md' }, ] }],'/ru-he-shi-yong-canvas-zhi-zuo-chu-xuan-ku-de-wang-ye-bei-jing-te-xiao/': [{ text: '如何使用 Canvas 制作出炫酷的网页背景特效', collapsible: true, items: [{ text: 'Canvas 的应用场景', link: '/ru-he-shi-yong-canvas-zhi-zuo-chu-xuan-ku-de-wang-ye-bei-jing-te-xiao/canvas-de-ying-yong-chang-jing.md' }, { text: '什么是 Canvas', link: '/ru-he-shi-yong-canvas-zhi-zuo-chu-xuan-ku-de-wang-ye-bei-jing-te-xiao/shi-me-shi-canvas.md' }, { text: '使你的 Canvas 更加优雅', link: '/ru-he-shi-yong-canvas-zhi-zuo-chu-xuan-ku-de-wang-ye-bei-jing-te-xiao/shi-ni-de-canvas-geng-jia-you-ya.md' }, { text: '使你的随机粒子动起来', link: '/ru-he-shi-yong-canvas-zhi-zuo-chu-xuan-ku-de-wang-ye-bei-jing-te-xiao/shi-ni-de-sui-ji-li-zi-dong-qi-lai.md' }, { text: '使你的鼠标和屏幕互动', link: '/ru-he-shi-yong-canvas-zhi-zuo-chu-xuan-ku-de-wang-ye-bei-jing-te-xiao/shi-ni-de-shu-biao-he-ping-mu-hu-dong.md' }, { text: '制作属于你自己的特效', link: '/ru-he-shi-yong-canvas-zhi-zuo-chu-xuan-ku-de-wang-ye-bei-jing-te-xiao/zhi-zuo-shu-yu-ni-zi-ji-de-te-xiao.md' }, { text: '怎么实现随机粒子', link: '/ru-he-shi-yong-canvas-zhi-zuo-chu-xuan-ku-de-wang-ye-bei-jing-te-xiao/zen-me-shi-xian-sui-ji-li-zi.md' }, { text: '手摸手带你入门 Canvas', link: '/ru-he-shi-yong-canvas-zhi-zuo-chu-xuan-ku-de-wang-ye-bei-jing-te-xiao/shou-mo-shou-dai-ni-ru-men-canvas.md' }, { text: '炫酷背景特效的通性', link: '/ru-he-shi-yong-canvas-zhi-zuo-chu-xuan-ku-de-wang-ye-bei-jing-te-xiao/xuan-ku-bei-jing-te-xiao-de-tong-xing.md' }, ] }],'/wei-xin-xiao-you-xi-kai-fa-ru-men-cong-0-dao-1-shi-xian-jing-zi-qi-you-xi/': [{ text: '微信小游戏开发入门:从 0 到 1 实现井字棋游戏', collapsible: true, items: [{ text: '基础篇 1-微信小游戏开发基础', link: '/wei-xin-xiao-you-xi-kai-fa-ru-men-cong-0-dao-1-shi-xian-jing-zi-qi-you-xi/ji-chu-pian-1-wei-xin-xiao-you-xi-kai-fa-ji-chu.md' }, { text: '基础篇 2-微信小游戏开放能力', link: '/wei-xin-xiao-you-xi-kai-fa-ru-men-cong-0-dao-1-shi-xian-jing-zi-qi-you-xi/ji-chu-pian-2-wei-xin-xiao-you-xi-kai-fang-neng-li.md' }, { text: '基础篇 3-游戏开发引擎及支持情况', link: '/wei-xin-xiao-you-xi-kai-fa-ru-men-cong-0-dao-1-shi-xian-jing-zi-qi-you-xi/ji-chu-pian-3-you-xi-kai-fa-yin-qing-ji-zhi-chi-qing-kuang.md' }, { text: '实战篇 1-开发前的准备', link: '/wei-xin-xiao-you-xi-kai-fa-ru-men-cong-0-dao-1-shi-xian-jing-zi-qi-you-xi/shi-zhan-pian-1-kai-fa-qian-de-zhun-bei.md' }, { text: '实战篇 2-单机游戏实现', link: '/wei-xin-xiao-you-xi-kai-fa-ru-men-cong-0-dao-1-shi-xian-jing-zi-qi-you-xi/shi-zhan-pian-2-dan-ji-you-xi-shi-xian.md' }, { text: '实战篇 3-基于腾讯云的服务器环境搭建', link: '/wei-xin-xiao-you-xi-kai-fa-ru-men-cong-0-dao-1-shi-xian-jing-zi-qi-you-xi/shi-zhan-pian-3-ji-yu-teng-xun-yun-de-fu-wu-qi-huan-jing-da-jian.md' }, { text: '实战篇 4-基于 Socket.IO 的对战服务详解', link: '/wei-xin-xiao-you-xi-kai-fa-ru-men-cong-0-dao-1-shi-xian-jing-zi-qi-you-xi/shi-zhan-pian-4-ji-yu-socket.io-de-dui-zhan-fu-wu-xiang-jie.md' }, { text: '实战篇 5-对战游戏实现', link: '/wei-xin-xiao-you-xi-kai-fa-ru-men-cong-0-dao-1-shi-xian-jing-zi-qi-you-xi/shi-zhan-pian-5-dui-zhan-you-xi-shi-xian.md' }, { text: '实战篇 6-游戏排行实现', link: '/wei-xin-xiao-you-xi-kai-fa-ru-men-cong-0-dao-1-shi-xian-jing-zi-qi-you-xi/shi-zhan-pian-6-you-xi-pai-xing-shi-xian.md' }, { text: '实战篇 7-游戏生态接入', link: '/wei-xin-xiao-you-xi-kai-fa-ru-men-cong-0-dao-1-shi-xian-jing-zi-qi-you-xi/shi-zhan-pian-7-you-xi-sheng-tai-jie-ru.md' }, { text: '实战篇 8-发布小游戏', link: '/wei-xin-xiao-you-xi-kai-fa-ru-men-cong-0-dao-1-shi-xian-jing-zi-qi-you-xi/shi-zhan-pian-8-fa-bu-xiao-you-xi.md' }, { text: '开篇-微信小游戏介绍', link: '/wei-xin-xiao-you-xi-kai-fa-ru-men-cong-0-dao-1-shi-xian-jing-zi-qi-you-xi/kai-pian-wei-xin-xiao-you-xi-jie-shao.md' }, { text: '总结篇-优化与总结', link: '/wei-xin-xiao-you-xi-kai-fa-ru-men-cong-0-dao-1-shi-xian-jing-zi-qi-you-xi/zong-jie-pian-you-hua-yu-zong-jie.md' }, ] }],'/zhu-wei-gang-chong-xue-xian-xing-dai-shu/': [{ text: '朱维刚-重学线性代数', collapsible: true, items: [{ text: '01-导读-如何在机器学习中运用线性代数工具', link: '/zhu-wei-gang-chong-xue-xian-xing-dai-shu/01-dao-du-ru-he-zai-ji-qi-xue-xi-zhong-yun-yong-xian-xing-dai-shu-gong-ju.md' }, { text: '02-基本概念-线性代数研究的到底是什么问题', link: '/zhu-wei-gang-chong-xue-xian-xing-dai-shu/02-ji-ben-gai-nian-xian-xing-dai-shu-yan-jiu-de-dao-di-shi-shi-me-wen-ti.md' }, { text: '03-矩阵-为什么说矩阵是线性方程组的另一种表达', link: '/zhu-wei-gang-chong-xue-xian-xing-dai-shu/03-ju-zhen-wei-shi-me-shuo-ju-zhen-shi-xian-xing-fang-cheng-zu-de-ling-yi-zhong-biao-da.md' }, { text: '04-解线性方程组-为什么用矩阵求解的效率这么高', link: '/zhu-wei-gang-chong-xue-xian-xing-dai-shu/04-jie-xian-xing-fang-cheng-zu-wei-shi-me-yong-ju-zhen-qiu-jie-de-xiao-lu-zhe-me-gao.md' }, { text: '05-线性空间-如何通过向量的结构化空间在机器学习中做降维处理', link: '/zhu-wei-gang-chong-xue-xian-xing-dai-shu/05-xian-xing-kong-jian-ru-he-tong-guo-xiang-liang-de-jie-gou-hua-kong-jian-zai-ji-qi-xue-xi-zhong-zuo-jiang-wei-chu-li.md' }, { text: '06-线性无关-如何理解向量在N维空间的几何意义', link: '/zhu-wei-gang-chong-xue-xian-xing-dai-shu/06-xian-xing-wu-guan-ru-he-li-jie-xiang-liang-zai-nwei-kong-jian-de-ji-he-yi-yi.md' }, { text: '07-基和秩-为什么说它表达了向量空间中“有用”的向量个数', link: '/zhu-wei-gang-chong-xue-xian-xing-dai-shu/07-ji-he-zhi-wei-shi-me-shuo-ta-biao-da-liao-xiang-liang-kong-jian-zhong-you-yong-de-xiang-liang-ge-shu.md' }, { text: '08-线性映射-如何从坐标系角度理解两个向量空间之间的函数', link: '/zhu-wei-gang-chong-xue-xian-xing-dai-shu/08-xian-xing-ying-she-ru-he-cong-zuo-biao-xi-jiao-du-li-jie-liang-ge-xiang-liang-kong-jian-zhi-jian-de-han-shu.md' }, { text: '09-仿射空间-如何在图形的平移操作中大显身手', link: '/zhu-wei-gang-chong-xue-xian-xing-dai-shu/09-fang-she-kong-jian-ru-he-zai-tu-xing-de-ping-yi-cao-zuo-zhong-da-xian-shen-shou.md' }, { text: '10-解析几何-为什么说它是向量从抽象到具象的表达', link: '/zhu-wei-gang-chong-xue-xian-xing-dai-shu/10-jie-xi-ji-he-wei-shi-me-shuo-ta-shi-xiang-liang-cong-chou-xiang-dao-ju-xiang-de-biao-da.md' }, { text: '11-如何运用线性代数方法解决图论问题', link: '/zhu-wei-gang-chong-xue-xian-xing-dai-shu/11-ru-he-yun-yong-xian-xing-dai-shu-fang-fa-jie-jue-tu-lun-wen-ti.md' }, { text: '12-如何通过矩阵转换让3D图形显示到二维屏幕上', link: '/zhu-wei-gang-chong-xue-xian-xing-dai-shu/12-ru-he-tong-guo-ju-zhen-zhuan-huan-rang-3dtu-xing-xian-shi-dao-er-wei-ping-mu-shang.md' }, { text: '13-如何通过有限向量空间加持的希尔密码-提高密码被破译的难度', link: '/zhu-wei-gang-chong-xue-xian-xing-dai-shu/13-ru-he-tong-guo-you-xian-xiang-liang-kong-jian-jia-chi-de-xi-er-mi-ma-ti-gao-mi-ma-bei-po-yi-de-nan-du.md' }, { text: '14-如何在深度学习中运用数值代数的迭代法做训练', link: '/zhu-wei-gang-chong-xue-xian-xing-dai-shu/14-ru-he-zai-shen-du-xue-xi-zhong-yun-yong-shu-zhi-dai-shu-de-die-dai-fa-zuo-xun-lian.md' }, { text: '15-如何从计算机的角度来理解线性代数', link: '/zhu-wei-gang-chong-xue-xian-xing-dai-shu/15-ru-he-cong-ji-suan-ji-de-jiao-du-lai-li-jie-xian-xing-dai-shu.md' }, { text: '基础通关-线性代数5道典型例题及解析', link: '/zhu-wei-gang-chong-xue-xian-xing-dai-shu/ji-chu-tong-guan-xian-xing-dai-shu-5dao-dian-xing-li-ti-ji-jie-xi.md' }, { text: '开篇词-从今天起-学会线性代数', link: '/zhu-wei-gang-chong-xue-xian-xing-dai-shu/kai-pian-ci-cong-jin-tian-qi-xue-hui-xian-xing-dai-shu.md' }, { text: '强化通关-线性代数水平测试20题', link: '/zhu-wei-gang-chong-xue-xian-xing-dai-shu/qiang-hua-tong-guan-xian-xing-dai-shu-shui-ping-ce-shi-20ti.md' }, { text: '结束语-和数学打交道这么多年-我的三点感悟', link: '/zhu-wei-gang-chong-xue-xian-xing-dai-shu/jie-shu-yu-he-shu-xue-da-jiao-dao-zhe-me-duo-nian-wo-de-san-dian-gan-wu.md' }, ] }],'/li-bing-tu-jie-googlev8/': [{ text: '李兵-图解GoogleV8', collapsible: true, items: [{ text: '01-V8是如何执行一段JavaScript代码的', link: '/li-bing-tu-jie-googlev8/01-v8shi-ru-he-zhi-xing-yi-duan-javascriptdai-ma-de.md' }, { text: '02-函数即对象-一篇文章彻底搞懂JavaScript的函数特点', link: '/li-bing-tu-jie-googlev8/02-han-shu-ji-dui-xiang-yi-pian-wen-zhang-che-di-gao-dong-javascriptde-han-shu-te-dian.md' }, { text: '03-快属性和慢属性-V8是怎样提升对象属性访问速度的', link: '/li-bing-tu-jie-googlev8/03-kuai-shu-xing-he-man-shu-xing-v8shi-zen-yang-ti-sheng-dui-xiang-shu-xing-fang-wen-su-du-de.md' }, { text: '04-函数表达式-涉及大量概念-函数表达式到底该怎么学', link: '/li-bing-tu-jie-googlev8/04-han-shu-biao-da-shi-she-ji-da-liang-gai-nian-han-shu-biao-da-shi-dao-di-gai-zen-me-xue.md' }, { text: '05|原型链-V8是如何实现对象继承的', link: '/li-bing-tu-jie-googlev8/05-yuan-xing-lian-v8shi-ru-he-shi-xian-dui-xiang-ji-cheng-de.md' }, { text: '06|作用域链-V8是如何查找变量的', link: '/li-bing-tu-jie-googlev8/06-zuo-yong-yu-lian-v8shi-ru-he-cha-zhao-bian-liang-de.md' }, { text: '07|类型转换-V8是怎么实现1 加 2的', link: '/li-bing-tu-jie-googlev8/07-lei-xing-zhuan-huan-v8shi-zen-me-shi-xian-1-jia-2de.md' }, { text: '08|答疑-如何构建和使用V8的调试工具d8', link: '/li-bing-tu-jie-googlev8/08-da-yi-ru-he-gou-jian-he-shi-yong-v8de-diao-shi-gong-ju-d8.md' }, { text: '09-运行时环境-运行JavaScript代码的基石', link: '/li-bing-tu-jie-googlev8/09-yun-xing-shi-huan-jing-yun-xing-javascriptdai-ma-de-ji-shi.md' }, { text: '10-机器代码-二进制机器码究竟是如何被CPU执行的', link: '/li-bing-tu-jie-googlev8/10-ji-qi-dai-ma-er-jin-zhi-ji-qi-ma-jiu-jing-shi-ru-he-bei-cpuzhi-xing-de.md' }, { text: '11-堆和栈-函数调用是如何影响到内存布局的', link: '/li-bing-tu-jie-googlev8/11-dui-he-zhan-han-shu-diao-yong-shi-ru-he-ying-xiang-dao-nei-cun-bu-ju-de.md' }, { text: '12-延迟解析-V8是如何实现闭包的', link: '/li-bing-tu-jie-googlev8/12-yan-chi-jie-xi-v8shi-ru-he-shi-xian-bi-bao-de.md' }, { text: '13-字节码(一)-V8为什么又重新引入字节码', link: '/li-bing-tu-jie-googlev8/13-zi-jie-ma-yi--v8wei-shi-me-you-chong-xin-yin-ru-zi-jie-ma.md' }, { text: '14|字节码(二)-解释器是如何解释执行字节码的', link: '/li-bing-tu-jie-googlev8/14-zi-jie-ma-er--jie-shi-qi-shi-ru-he-jie-shi-zhi-xing-zi-jie-ma-de.md' }, { text: '15-隐藏类-如何在内存中快速查找对象属性', link: '/li-bing-tu-jie-googlev8/15-yin-cang-lei-ru-he-zai-nei-cun-zhong-kuai-su-cha-zhao-dui-xiang-shu-xing.md' }, { text: '16-答疑-V8是怎么通过内联缓存来提升函数执行效率的', link: '/li-bing-tu-jie-googlev8/16-da-yi-v8shi-zen-me-tong-guo-nei-lian-huan-cun-lai-ti-sheng-han-shu-zhi-xing-xiao-lu-de.md' }, { text: '17-消息队列-V8是怎么实现回调函数的', link: '/li-bing-tu-jie-googlev8/17-xiao-xi-dui-lie-v8shi-zen-me-shi-xian-hui-diao-han-shu-de.md' }, { text: '18-异步编程(一)-V8是如何实现微任务的', link: '/li-bing-tu-jie-googlev8/18-yi-bu-bian-cheng-yi--v8shi-ru-he-shi-xian-wei-ren-wu-de.md' }, { text: '19|异步编程(二)-V8是如何实现async or await的', link: '/li-bing-tu-jie-googlev8/19-yi-bu-bian-cheng-er--v8shi-ru-he-shi-xian-async-or-awaitde.md' }, { text: '20-垃圾回收(一)-V8的两个垃圾回收器是如何工作的', link: '/li-bing-tu-jie-googlev8/20-la-ji-hui-shou-yi--v8de-liang-ge-la-ji-hui-shou-qi-shi-ru-he-gong-zuo-de.md' }, { text: '21-垃圾回收(二)-V8是如何优化垃圾回收器执行效率的', link: '/li-bing-tu-jie-googlev8/21-la-ji-hui-shou-er--v8shi-ru-he-you-hua-la-ji-hui-shou-qi-zhi-xing-xiao-lu-de.md' }, { text: '22|答疑-几种常见内存问题的解决策略', link: '/li-bing-tu-jie-googlev8/22-da-yi-ji-zhong-chang-jian-nei-cun-wen-ti-de-jie-jue-ce-lue.md' }, { text: '开篇词-如何学习谷歌高性能JavaScript引擎V8', link: '/li-bing-tu-jie-googlev8/kai-pian-ci-ru-he-xue-xi-gu-ge-gao-xing-neng-javascriptyin-qing-v8.md' }, { text: '结束语-我的前端学习踩坑史', link: '/li-bing-tu-jie-googlev8/jie-shu-yu-wo-de-qian-duan-xue-xi-cai-keng-shi.md' }, { text: '结课测试-这些V8的知识你都掌握了吗', link: '/li-bing-tu-jie-googlev8/jie-ke-ce-shi-zhe-xie-v8de-zhi-shi-ni-du-zhang-wo-liao-ma.md' }, ] }],'/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/': [{ text: '李兵-浏览器工作原理与实践', collapsible: true, items: [{ text: '01-Chrome架构-仅仅打开了1个页面-为什么有4个进程', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/01-chromejia-gou-jin-jin-da-kai-liao-1ge-ye-mian-wei-shi-me-you-4ge-jin-cheng.md' }, { text: '02-TCP协议-如何保证页面文件能被完整送达浏览器', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/02-tcpxie-yi-ru-he-bao-zheng-ye-mian-wen-jian-neng-bei-wan-zheng-song-da-liu-lan-qi.md' }, { text: '03-HTTP请求流程-为什么很多站点第二次打开速度会很快', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/03-httpqing-qiu-liu-cheng-wei-shi-me-hen-duo-zhan-dian-di-er-ci-da-kai-su-du-hui-hen-kuai.md' }, { text: '04-导航流程-从输入URL到页面展示-这中间发生了什么', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/04-dao-hang-liu-cheng-cong-shu-ru-urldao-ye-mian-zhan-shi-zhe-zhong-jian-fa-sheng-liao-shi-me.md' }, { text: '05-渲染流程(上)-HTML、CSS和JavaScript-是如何变成页面的', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/05-xuan-ran-liu-cheng-shang--html-csshe-javascript-shi-ru-he-bian-cheng-ye-mian-de.md' }, { text: '06-渲染流程(下)-HTML、CSS和JavaScript-是如何变成页面的', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/06-xuan-ran-liu-cheng-xia--html-csshe-javascript-shi-ru-he-bian-cheng-ye-mian-de.md' }, { text: '07-变量提升-JavaScript代码是按顺序执行的吗', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/07-bian-liang-ti-sheng-javascriptdai-ma-shi-an-shun-xu-zhi-xing-de-ma.md' }, { text: '08-调用栈-为什么JavaScript代码会出现栈溢出', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/08-diao-yong-zhan-wei-shi-me-javascriptdai-ma-hui-chu-xian-zhan-yi-chu.md' }, { text: '09-块级作用域-var缺陷以及为什么要引入let和const', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/09-kuai-ji-zuo-yong-yu-varque-xian-yi-ji-wei-shi-me-yao-yin-ru-lethe-const.md' }, { text: '10-作用域链和闭包-代码中出现相同的变量-JavaScript引擎是如何选择的', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/10-zuo-yong-yu-lian-he-bi-bao-dai-ma-zhong-chu-xian-xiang-tong-de-bian-liang-javascriptyin-qing-shi-ru-he-xuan-ze-de.md' }, { text: '11-this-从JavaScript执行上下文的视角讲清楚this', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/11-this-cong-javascriptzhi-xing-shang-xia-wen-de-shi-jiao-jiang-qing-chu-this.md' }, { text: '12-栈空间和堆空间-数据是如何存储的', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/12-zhan-kong-jian-he-dui-kong-jian-shu-ju-shi-ru-he-cun-chu-de.md' }, { text: '13-垃圾回收-垃圾数据是如何自动回收的', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/13-la-ji-hui-shou-la-ji-shu-ju-shi-ru-he-zi-dong-hui-shou-de.md' }, { text: '14-编译器和解释器-V8是如何执行一段JavaScript代码的', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/14-bian-yi-qi-he-jie-shi-qi-v8shi-ru-he-zhi-xing-yi-duan-javascriptdai-ma-de.md' }, { text: '15-消息队列和事件循环-页面是怎么“活”起来的', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/15-xiao-xi-dui-lie-he-shi-jian-xun-huan-ye-mian-shi-zen-me-huo-qi-lai-de.md' }, { text: '16-WebAPI-setTimeout是如何实现的', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/16-webapi-settimeoutshi-ru-he-shi-xian-de.md' }, { text: '17-WebAPI-XMLHttpRequest是怎么实现的', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/17-webapi-xmlhttprequestshi-zen-me-shi-xian-de.md' }, { text: '18-宏任务和微任务-不是所有任务都是一个待遇', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/18-hong-ren-wu-he-wei-ren-wu-bu-shi-suo-you-ren-wu-du-shi-yi-ge-dai-yu.md' }, { text: '19-Promise-使用Promise-告别回调函数', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/19-promise-shi-yong-promise-gao-bie-hui-diao-han-shu.md' }, { text: '20-async or await-使用同步的方式去写异步代码', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/20-async-or-await-shi-yong-tong-bu-de-fang-shi-qu-xie-yi-bu-dai-ma.md' }, { text: '21-Chrome开发者工具-利用网络面板做性能分析', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/21-chromekai-fa-zhe-gong-ju-li-yong-wang-luo-mian-ban-zuo-xing-neng-fen-xi.md' }, { text: '22-DOM树-JavaScript是如何影响DOM树构建的', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/22-domshu-javascriptshi-ru-he-ying-xiang-domshu-gou-jian-de.md' }, { text: '23-渲染流水线-CSS如何影响首次加载时的白屏时间', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/23-xuan-ran-liu-shui-xian-cssru-he-ying-xiang-shou-ci-jia-zai-shi-de-bai-ping-shi-jian.md' }, { text: '24-分层和合成机制-为什么CSS动画比JavaScript高效', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/24-fen-ceng-he-he-cheng-ji-zhi-wei-shi-me-cssdong-hua-bi-javascriptgao-xiao.md' }, { text: '25-页面性能-如何系统地优化页面', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/25-ye-mian-xing-neng-ru-he-xi-tong-di-you-hua-ye-mian.md' }, { text: '26-虚拟DOM-虚拟DOM和实际的DOM有何不同', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/26-xu-ni-dom-xu-ni-domhe-shi-ji-de-domyou-he-bu-tong.md' }, { text: '27-渐进式网页应用(PWA)-它究竟解决了Web应用的哪些问题', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/27-jian-jin-shi-wang-ye-ying-yong-pwa--ta-jiu-jing-jie-jue-liao-webying-yong-de-na-xie-wen-ti.md' }, { text: '28-WebComponent-像搭积木一样构建Web应用', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/28-webcomponent-xiang-da-ji-mu-yi-yang-gou-jian-webying-yong.md' }, { text: '29-HTTP or 1-HTTP性能优化', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/29-http-or-1-httpxing-neng-you-hua.md' }, { text: '30|HTTP or 2-如何提升网络速度', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/30-http-or-2-ru-he-ti-sheng-wang-luo-su-du.md' }, { text: '31|HTTP or 3-甩掉TCP、TLS的包袱-构建高效网络', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/31-http-or-3-shuai-diao-tcp-tlsde-bao-fu-gou-jian-gao-xiao-wang-luo.md' }, { text: '32-同源策略-为什么XMLHttpRequest不能跨域请求资源', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/32-tong-yuan-ce-lue-wei-shi-me-xmlhttprequestbu-neng-kua-yu-qing-qiu-zi-yuan.md' }, { text: '33-跨站脚本攻击(XSS)-为什么Cookie中有HttpOnly属性', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/33-kua-zhan-jiao-ben-gong-ji-xss--wei-shi-me-cookiezhong-you-httponlyshu-xing.md' }, { text: '34-CSRF攻击-陌生链接不要随便点', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/34-csrfgong-ji-mo-sheng-lian-jie-bu-yao-sui-bian-dian.md' }, { text: '35-安全沙箱-页面和系统之间的隔离墙', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/35-an-quan-sha-xiang-ye-mian-he-xi-tong-zhi-jian-de-ge-chi-qiang.md' }, { text: '36-HTTPS-让数据传输更安全', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/36-https-rang-shu-ju-chuan-shu-geng-an-quan.md' }, { text: '加餐一|浏览上下文组-如何计算Chrome中渲染进程的个数', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/jia-can-yi-liu-lan-shang-xia-wen-zu-ru-he-ji-suan-chromezhong-xuan-ran-jin-cheng-de-ge-shu.md' }, { text: '加餐三|加载阶段性能-使用Audits来优化Web性能', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/jia-can-san-jia-zai-jie-duan-xing-neng-shi-yong-auditslai-you-hua-webxing-neng.md' }, { text: '加餐二|任务调度-有了setTimeOut-为什么还要使用rAF', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/jia-can-er-ren-wu-diao-du-you-liao-settimeout-wei-shi-me-huan-yao-shi-yong-raf.md' }, { text: '加餐五-性能分析工具-如何分析Performance中的Main指标', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/jia-can-wu-xing-neng-fen-xi-gong-ju-ru-he-fen-xi-performancezhong-de-mainzhi-biao.md' }, { text: '加餐六|HTTPS-浏览器如何验证数字证书', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/jia-can-liu-https-liu-lan-qi-ru-he-yan-zheng-shu-zi-zheng-shu.md' }, { text: '加餐四|页面性能工具-如何使用Performance', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/jia-can-si-ye-mian-xing-neng-gong-ju-ru-he-shi-yong-performance.md' }, { text: '开篇词-参透了浏览器的工作原理-你就能解决80%的前端难题', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/kai-pian-ci-can-tou-liao-liu-lan-qi-de-gong-zuo-yuan-li-ni-jiu-neng-jie-jue-80-de-qian-duan-nan-ti.md' }, { text: '第二季回归-这次我们来专门聊聊V8', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/di-er-ji-hui-gui-zhe-ci-wo-men-lai-zhuan-men-liao-liao-v8.md' }, { text: '结束语-大道至简', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/jie-shu-yu-da-dao-zhi-jian.md' }, { text: '结课测试-这些浏览器的知识你都掌握了吗', link: '/li-bing-liu-lan-qi-gong-zuo-yuan-li-yu-shi-jian/jie-ke-ce-shi-zhe-xie-liu-lan-qi-de-zhi-shi-ni-du-zhang-wo-liao-ma.md' }, ] }],'/tu-wei-zhong-zheng-ze-biao-da-shi-ru-men-ke/': [{ text: '涂伟忠-正则表达式入门课', collapsible: true, items: [{ text: '01-元字符-如何巧妙记忆正则表达式的基本元件', link: '/tu-wei-zhong-zheng-ze-biao-da-shi-ru-men-ke/01-yuan-zi-fu-ru-he-qiao-miao-ji-yi-zheng-ze-biao-da-shi-de-ji-ben-yuan-jian.md' }, { text: '02-量词与贪婪-小小的正则-也可能把CPU拖垮!', link: '/tu-wei-zhong-zheng-ze-biao-da-shi-ru-men-ke/02-liang-ci-yu-tan-lan-xiao-xiao-de-zheng-ze-ye-ke-neng-ba-cputuo-kua-.md' }, { text: '03-分组与引用-如何用正则实现更复杂的查找和替换操作', link: '/tu-wei-zhong-zheng-ze-biao-da-shi-ru-men-ke/03-fen-zu-yu-yin-yong-ru-he-yong-zheng-ze-shi-xian-geng-fu-za-de-cha-zhao-he-ti-huan-cao-zuo.md' }, { text: '04-匹配模式-一次性掌握正则中常见的4种匹配模式', link: '/tu-wei-zhong-zheng-ze-biao-da-shi-ru-men-ke/04-pi-pei-mo-shi-yi-ci-xing-zhang-wo-zheng-ze-zhong-chang-jian-de-4zhong-pi-pei-mo-shi.md' }, { text: '05-断言-如何用断言更好地实现替换重复出现的单词', link: '/tu-wei-zhong-zheng-ze-biao-da-shi-ru-men-ke/05-duan-yan-ru-he-yong-duan-yan-geng-hao-di-shi-xian-ti-huan-chong-fu-chu-xian-de-dan-ci.md' }, { text: '06-转义-正则中转义需要注意哪些问题', link: '/tu-wei-zhong-zheng-ze-biao-da-shi-ru-men-ke/06-zhuan-yi-zheng-ze-zhong-zhuan-yi-xu-yao-zhu-yi-na-xie-wen-ti.md' }, { text: '07-正则有哪些常见的流派及其特性', link: '/tu-wei-zhong-zheng-ze-biao-da-shi-ru-men-ke/07-zheng-ze-you-na-xie-chang-jian-de-liu-pai-ji-qi-te-xing.md' }, { text: '08-应用1-正则如何处理Unicode编码的文本', link: '/tu-wei-zhong-zheng-ze-biao-da-shi-ru-men-ke/08-ying-yong-1-zheng-ze-ru-he-chu-li-unicodebian-ma-de-wen-ben.md' }, { text: '09-应用2-如何在编辑器中使用正则完成工作', link: '/tu-wei-zhong-zheng-ze-biao-da-shi-ru-men-ke/09-ying-yong-2-ru-he-zai-bian-ji-qi-zhong-shi-yong-zheng-ze-wan-cheng-gong-zuo.md' }, { text: '10-应用3-如何在语言中用正则让文本处理能力上一个台阶', link: '/tu-wei-zhong-zheng-ze-biao-da-shi-ru-men-ke/10-ying-yong-3-ru-he-zai-yu-yan-zhong-yong-zheng-ze-rang-wen-ben-chu-li-neng-li-shang-yi-ge-tai-jie.md' }, { text: '11-如何理解正则的匹配原理以及优化原则', link: '/tu-wei-zhong-zheng-ze-biao-da-shi-ru-men-ke/11-ru-he-li-jie-zheng-ze-de-pi-pei-yuan-li-yi-ji-you-hua-yuan-ze.md' }, { text: '12-问题集锦-详解正则常见问题及解决方案', link: '/tu-wei-zhong-zheng-ze-biao-da-shi-ru-men-ke/12-wen-ti-ji-jin-xiang-jie-zheng-ze-chang-jian-wen-ti-ji-jie-jue-fang-an.md' }, { text: '加餐-从编程语言的角度来理解正则表达式', link: '/tu-wei-zhong-zheng-ze-biao-da-shi-ru-men-ke/jia-can-cong-bian-cheng-yu-yan-de-jiao-du-lai-li-jie-zheng-ze-biao-da-shi.md' }, { text: '导读-余晟-我是怎么学习和使用正则的', link: '/tu-wei-zhong-zheng-ze-biao-da-shi-ru-men-ke/dao-du-yu-cheng-wo-shi-zen-me-xue-xi-he-shi-yong-zheng-ze-de.md' }, { text: '开篇词-学习正则-我们到底要学什么', link: '/tu-wei-zhong-zheng-ze-biao-da-shi-ru-men-ke/kai-pian-ci-xue-xi-zheng-ze-wo-men-dao-di-yao-xue-shi-me.md' }, { text: '结束语-使用正则提高你的人生效率', link: '/tu-wei-zhong-zheng-ze-biao-da-shi-ru-men-ke/jie-shu-yu-shi-yong-zheng-ze-ti-gao-ni-de-ren-sheng-xiao-lu.md' }, { text: '结课测试-这些正则知识-你都掌握了吗', link: '/tu-wei-zhong-zheng-ze-biao-da-shi-ru-men-ke/jie-ke-ce-shi-zhe-xie-zheng-ze-zhi-shi-ni-du-zhang-wo-liao-ma.md' }, ] }],'/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/': [{ text: '深入浅出TypeScript:从基础知识到类型编程', collapsible: true, items: [{ text: 'Reflect Metadata', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/reflect-metadata.md' }, { text: 'TypeScript 与 React 实战(组件篇上)', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/typescript-yu-react-shi-zhan-zu-jian-pian-shang-.md' }, { text: 'TypeScript 与 React 实战(组件篇下)', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/typescript-yu-react-shi-zhan-zu-jian-pian-xia-.md' }, { text: 'Typescript 中其他常见类型', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/typescript-zhong-qi-ta-chang-jian-lei-xing.md' }, { text: 'TypeScript 企业级服务器开发-实战篇', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/typescript-qi-ye-ji-fu-wu-qi-kai-fa-shi-zhan-pian.md' }, { text: 'TypeScript 企业级服务器开发-理论篇', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/typescript-qi-ye-ji-fu-wu-qi-kai-fa-li-lun-pian.md' }, { text: 'TypeScript 工程化-tsconfig.json 配置', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/typescript-gong-cheng-hua-tsconfig.json-pei-zhi.md' }, { text: 'TypeScript 工程化-代码检测', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/typescript-gong-cheng-hua-dai-ma-jian-ce.md' }, { text: 'TypeScript 工程化-单元测试', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/typescript-gong-cheng-hua-dan-yuan-ce-shi.md' }, { text: 'TypeScript 工程化-环境搭建', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/typescript-gong-cheng-hua-huan-jing-da-jian.md' }, { text: 'Typescript 的原始类型', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/typescript-de-yuan-shi-lei-xing.md' }, { text: 'TypeScript 的编译原理', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/typescript-de-bian-yi-yuan-li.md' }, { text: 'TypeScript与React实战(Redux篇)', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/typescriptyu-reactshi-zhan-reduxpian-.md' }, { text: 'TypeScript几个实用技巧', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/typescriptji-ge-shi-yong-ji-qiao.md' }, { text: 'TypeScript的学习之路与君共勉', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/typescriptde-xue-xi-zhi-lu-yu-jun-gong-mian.md' }, { text: 'Vue 实战-TypeScript 下的 Vuex', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/vue-shi-zhan-typescript-xia-de-vuex.md' }, { text: 'Vue 实战-vue-property-decorator', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/vue-shi-zhan-vue-property-decorator.md' }, { text: 'Vue 实战-环境搭建', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/vue-shi-zhan-huan-jing-da-jian.md' }, { text: 'Vue 实战-组件 UI 编写', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/vue-shi-zhan-zu-jian-ui-bian-xie.md' }, { text: '函数(Function)', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/han-shu-function-.md' }, { text: '到底为什么要学习 TypeScript?', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/dao-di-wei-shi-me-yao-xue-xi-typescript-.md' }, { text: '可辨识联合类型', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/ke-bian-shi-lian-he-lei-xing.md' }, { text: '实战-编写 JavaScript 库编写声明文件', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/shi-zhan-bian-xie-javascript-ku-bian-xie-sheng-ming-wen-jian.md' }, { text: '小册食用指南', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/xiao-ce-shi-yong-zhi-nan.md' }, { text: '常用工具类型解读', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/chang-yong-gong-ju-lei-xing-jie-du.md' }, { text: '常见问题答疑', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/chang-jian-wen-ti-da-yi.md' }, { text: '开始使用 TypeScript', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/kai-shi-shi-yong-typescript.md' }, { text: '接口(interface)', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/jie-kou-interface-.md' }, { text: '模块与命名空间', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/mo-kuai-yu-ming-ming-kong-jian.md' }, { text: '泛型(generic)的妙用', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/fan-xing-generic-de-miao-yong.md' }, { text: '深入理解枚举类型', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/shen-ru-li-jie-mei-ju-lei-xing.md' }, { text: '理论-如何为编写声明文件', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/li-lun-ru-he-wei-bian-xie-sheng-ming-wen-jian.md' }, { text: '类(Class)', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/lei-class-.md' }, { text: '类型兼容性', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/lei-xing-jian-rong-xing.md' }, { text: '类型断言与类型守卫', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/lei-xing-duan-yan-yu-lei-xing-shou-wei.md' }, { text: '编写TypeScript Transformer Plugin', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/bian-xie-typescript-transformer-plugin.md' }, { text: '装饰器', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/zhuang-shi-qi.md' }, { text: '解一道 LeetCode 中国招聘面试题', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/jie-yi-dao-leetcode-zhong-guo-zhao-pin-mian-shi-ti.md' }, { text: '赋值断言、is 关键字、可调用类型注解和类型推导', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/fu-zhi-duan-yan-is-guan-jian-zi-ke-diao-yong-lei-xing-zhu-jie-he-lei-xing-tui-dao.md' }, { text: '高级类型之交叉类型、联合类型、类型别名', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/gao-ji-lei-xing-zhi-jiao-cha-lei-xing-lian-he-lei-xing-lei-xing-bie-ming.md' }, { text: '高级类型之强大的infer关键字', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/gao-ji-lei-xing-zhi-qiang-da-de-inferguan-jian-zi.md' }, { text: '高级类型之条件类型', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/gao-ji-lei-xing-zhi-tiao-jian-lei-xing.md' }, { text: '高级类型之索引类型、映射类型', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/gao-ji-lei-xing-zhi-suo-yin-lei-xing-ying-she-lei-xing.md' }, { text: '高级装饰器', link: '/shen-ru-qian-chu-typescript-cong-ji-chu-zhi-shi-dao-lei-xing-bian-cheng/gao-ji-zhuang-shi-qi.md' }, ] }],'/yong-npm-script-da-zao-chao-liu-de-qian-duan-gong-zuo-liu/': [{ text: '用 npm script 打造超溜的前端工作流', collapsible: true, items: [{ text: '为什么选择 npm script', link: '/yong-npm-script-da-zao-chao-liu-de-qian-duan-gong-zuo-liu/wei-shi-me-xuan-ze-npm-script.md' }, { text: '入门篇 01-创建并运行 npm script 命令', link: '/yong-npm-script-da-zao-chao-liu-de-qian-duan-gong-zuo-liu/ru-men-pian-01-chuang-jian-bing-yun-xing-npm-script-ming-ling.md' }, { text: '入门篇 02-运行多个 npm script 的各种姿势', link: '/yong-npm-script-da-zao-chao-liu-de-qian-duan-gong-zuo-liu/ru-men-pian-02-yun-xing-duo-ge-npm-script-de-ge-zhong-zi-shi.md' }, { text: '入门篇 03-给 npm script 传递参数和添加注释', link: '/yong-npm-script-da-zao-chao-liu-de-qian-duan-gong-zuo-liu/ru-men-pian-03-gei-npm-script-chuan-di-can-shu-he-tian-jia-zhu-shi.md' }, { text: '实战篇 01-监听文件变化并自动运行 npm script', link: '/yong-npm-script-da-zao-chao-liu-de-qian-duan-gong-zuo-liu/shi-zhan-pian-01-jian-ting-wen-jian-bian-hua-bing-zi-dong-yun-xing-npm-script.md' }, { text: '实战篇 02-结合 live-reload 实现自动刷新', link: '/yong-npm-script-da-zao-chao-liu-de-qian-duan-gong-zuo-liu/shi-zhan-pian-02-jie-he-live-reload-shi-xian-zi-dong-shua-xin.md' }, { text: '实战篇 03-在 git hooks 中运行 npm script', link: '/yong-npm-script-da-zao-chao-liu-de-qian-duan-gong-zuo-liu/shi-zhan-pian-03-zai-git-hooks-zhong-yun-xing-npm-script.md' }, { text: '实战篇 04-用 npm script 实现构建流水线', link: '/yong-npm-script-da-zao-chao-liu-de-qian-duan-gong-zuo-liu/shi-zhan-pian-04-yong-npm-script-shi-xian-gou-jian-liu-shui-xian.md' }, { text: '实战篇 05-用 npm script 实现服务自动化运维', link: '/yong-npm-script-da-zao-chao-liu-de-qian-duan-gong-zuo-liu/shi-zhan-pian-05-yong-npm-script-shi-xian-fu-wu-zi-dong-hua-yun-wei.md' }, { text: '进阶篇 01-使用 npm script 的钩子', link: '/yong-npm-script-da-zao-chao-liu-de-qian-duan-gong-zuo-liu/jin-jie-pian-01-shi-yong-npm-script-de-gou-zi.md' }, { text: '进阶篇 02-在 npm script 中使用环境变量', link: '/yong-npm-script-da-zao-chao-liu-de-qian-duan-gong-zuo-liu/jin-jie-pian-02-zai-npm-script-zhong-shi-yong-huan-jing-bian-liang.md' }, { text: '进阶篇 03-实现 npm script 命令自动补全', link: '/yong-npm-script-da-zao-chao-liu-de-qian-duan-gong-zuo-liu/jin-jie-pian-03-shi-xian-npm-script-ming-ling-zi-dong-bu-quan.md' }, { text: '高阶篇 01-实现 npm script 跨平台兼容', link: '/yong-npm-script-da-zao-chao-liu-de-qian-duan-gong-zuo-liu/gao-jie-pian-01-shi-xian-npm-script-kua-ping-tai-jian-rong.md' }, { text: '高阶篇 02-把庞大的 npm script 拆到单独文件中', link: '/yong-npm-script-da-zao-chao-liu-de-qian-duan-gong-zuo-liu/gao-jie-pian-02-ba-pang-da-de-npm-script-chai-dao-dan-du-wen-jian-zhong.md' }, { text: '高阶篇 03-用 node.js 脚本替代复杂的 npm script', link: '/yong-npm-script-da-zao-chao-liu-de-qian-duan-gong-zuo-liu/gao-jie-pian-03-yong-node.js-jiao-ben-ti-dai-fu-za-de-npm-script.md' }, ] }],'/cheng-shao-fei-winter--chong-xue-qian-duan/': [{ text: '程劭非(winter)-重学前端', collapsible: true, items: [{ text: 'CSSFlex排版-为什么垂直居中这么难', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/cssflexpai-ban-wei-shi-me-chui-zhi-ju-zhong-zhe-me-nan.md' }, { text: 'CSS动画与交互-为什么动画要用贝塞尔曲线这么奇怪的东西', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/cssdong-hua-yu-jiao-hu-wei-shi-me-dong-hua-yao-yong-bei-sai-er-qu-xian-zhe-me-qi-guai-de-dong-xi.md' }, { text: 'CSS小实验-动手做-用代码挖掘CSS属性', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/cssxiao-shi-yan-dong-shou-zuo-yong-dai-ma-wa-jue-cssshu-xing.md' }, { text: 'CSS排版-从毕升开始-我们就开始用正常流了', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/csspai-ban-cong-bi-sheng-kai-shi-wo-men-jiu-kai-shi-yong-zheng-chang-liu-liao.md' }, { text: 'CSS渲染-CSS是如何绘制颜色的', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/cssxuan-ran-cssshi-ru-he-hui-zhi-yan-se-de.md' }, { text: 'CSS语法-除了属性和选择器-你还需要知道这些带@的规则', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/cssyu-fa-chu-liao-shu-xing-he-xuan-ze-qi-ni-huan-xu-yao-zhi-dao-zhe-xie-dai-de-gui-ze.md' }, { text: 'CSS选择器-伪元素是怎么回事儿', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/cssxuan-ze-qi-wei-yuan-su-shi-zen-me-hui-shi-er.md' }, { text: 'CSS选择器-如何选中svg里的a元素', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/cssxuan-ze-qi-ru-he-xuan-zhong-svgli-de-ayuan-su.md' }, { text: 'HTML·ARIA-可访问性是只给盲人用的特性么', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/html-aria-ke-fang-wen-xing-shi-zhi-gei-mang-ren-yong-de-te-xing-me.md' }, { text: 'HTML元信息类标签-你知道head里一共能写哪几种标签吗', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/htmlyuan-xin-xi-lei-biao-qian-ni-zhi-dao-headli-yi-gong-neng-xie-na-ji-zhong-biao-qian-ma.md' }, { text: 'HTML小实验-用代码分析HTML标准', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/htmlxiao-shi-yan-yong-dai-ma-fen-xi-htmlbiao-zhun.md' }, { text: 'HTML替换型元素-为什么link一个CSS要用href-而引入js要用src呢', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/htmlti-huan-xing-yuan-su-wei-shi-me-linkyi-ge-cssyao-yong-href-er-yin-ru-jsyao-yong-srcni.md' }, { text: 'HTML语义-div和span不是够用了吗', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/htmlyu-yi-divhe-spanbu-shi-gou-yong-liao-ma.md' }, { text: 'HTML语义-如何运用语义类标签来呈现Wiki网页', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/htmlyu-yi-ru-he-yun-yong-yu-yi-lei-biao-qian-lai-cheng-xian-wikiwang-ye.md' }, { text: 'HTML语言-DTD到底是什么', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/htmlyu-yan-dtddao-di-shi-shi-me.md' }, { text: 'HTML链接-除了a标签-还有哪些标签叫链接', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/htmllian-jie-chu-liao-abiao-qian-huan-you-na-xie-biao-qian-jiao-lian-jie.md' }, { text: 'JavaScript对象-你知道全部的对象分类吗', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/javascriptdui-xiang-ni-zhi-dao-quan-bu-de-dui-xiang-fen-lei-ma.md' }, { text: 'JavaScript对象-我们真的需要模拟类吗', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/javascriptdui-xiang-wo-men-zhen-de-xu-yao-mo-ni-lei-ma.md' }, { text: 'JavaScript对象-面向对象还是基于对象', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/javascriptdui-xiang-mian-xiang-dui-xiang-huan-shi-ji-yu-dui-xiang.md' }, { text: 'JavaScript执行(一)-Promise里的代码为什么比setTimeout先执行', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/javascriptzhi-xing-yi--promiseli-de-dai-ma-wei-shi-me-bi-settimeoutxian-zhi-xing.md' }, { text: 'JavaScript执行(三)-你知道现在有多少种函数吗', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/javascriptzhi-xing-san--ni-zhi-dao-xian-zai-you-duo-shao-zhong-han-shu-ma.md' }, { text: 'JavaScript执行(二)-闭包和执行上下文到底是怎么回事', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/javascriptzhi-xing-er--bi-bao-he-zhi-xing-shang-xia-wen-dao-di-shi-zen-me-hui-shi.md' }, { text: 'JavaScript执行(四)-try里面放return-finally还会执行吗', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/javascriptzhi-xing-si--tryli-mian-fang-return-finallyhuan-hui-zhi-xing-ma.md' }, { text: 'JavaScript类型-关于类型-有哪些你不知道的细节', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/javascriptlei-xing-guan-yu-lei-xing-you-na-xie-ni-bu-zhi-dao-de-xi-jie.md' }, { text: 'JavaScript词法-为什么12.toString会报错', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/javascriptci-fa-wei-shi-me-12.tostringhui-bao-cuo.md' }, { text: 'JavaScript语法(一)-在script标签写export为什么会抛错', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/javascriptyu-fa-yi--zai-scriptbiao-qian-xie-exportwei-shi-me-hui-pao-cuo.md' }, { text: 'JavaScript语法(三)-什么是表达式语句', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/javascriptyu-fa-san--shi-me-shi-biao-da-shi-yu-ju.md' }, { text: 'JavaScript语法(二)-你知道哪些JavaScript语句', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/javascriptyu-fa-er--ni-zhi-dao-na-xie-javascriptyu-ju.md' }, { text: 'JavaScript语法(四)-新加入的--运算符-哪里有些不一样呢', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/javascriptyu-fa-si--xin-jia-ru-de--yun-suan-fu-na-li-you-xie-bu-yi-yang-ni.md' }, { text: 'JavaScript语法(预备篇)-到底要不要写分号呢', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/javascriptyu-fa-yu-bei-pian--dao-di-yao-bu-yao-xie-fen-hao-ni.md' }, { text: '免费学习-手把手带你实现一个极简的React框架', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/mian-fei-xue-xi-shou-ba-shou-dai-ni-shi-xian-yi-ge-ji-jian-de-reactkuang-jia.md' }, { text: '列一份前端知识架构图', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/lie-yi-fen-qian-duan-zhi-shi-jia-gou-tu.md' }, { text: '前端架构-前端架构有哪些核心问题', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/qian-duan-jia-gou-qian-duan-jia-gou-you-na-xie-he-xin-wen-ti.md' }, { text: '加餐-一个前端工程师到底需要掌握哪些技能', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/jia-can-yi-ge-qian-duan-gong-cheng-shi-dao-di-xu-yao-zhang-wo-na-xie-ji-neng.md' }, { text: '加餐-前端与图形学', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/jia-can-qian-duan-yu-tu-xing-xue.md' }, { text: '加餐-前端交互基础设施的建设', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/jia-can-qian-duan-jiao-hu-ji-chu-she-shi-de-jian-she.md' }, { text: '尾声-长风破浪会有时-直挂云帆济沧海', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/wei-sheng-chang-feng-po-lang-hui-you-shi-zhi-gua-yun-fan-ji-cang-hai.md' }, { text: '工具链-什么样的工具链才能提升团队效率', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/gong-ju-lian-shi-me-yang-de-gong-ju-lian-cai-neng-ti-sheng-tuan-dui-xiao-lu.md' }, { text: '开篇词-从今天起-重新理解前端', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/kai-pian-ci-cong-jin-tian-qi-chong-xin-li-jie-qian-duan.md' }, { text: '性能-前端的性能到底对业务数据有多大的影响', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/xing-neng-qian-duan-de-xing-neng-dao-di-dui-ye-wu-shu-ju-you-duo-da-de-ying-xiang.md' }, { text: '持续集成-几十个前端一起工作-如何保证工作质量', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/chi-xu-ji-cheng-ji-shi-ge-qian-duan-yi-qi-gong-zuo-ru-he-bao-zheng-gong-zuo-zhi-liang.md' }, { text: '搭建系统-大量的低价值需求应该如何应对', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/da-jian-xi-tong-da-liang-de-di-jie-zhi-xu-qiu-ying-gai-ru-he-ying-dui.md' }, { text: '新年彩蛋-2019-有哪些前端技术值得关注', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/xin-nian-cai-dan-2019-you-na-xie-qian-duan-ji-shu-zhi-de-guan-zhu.md' }, { text: '明确你的前端学习路线与方法', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/ming-que-ni-de-qian-duan-xue-xi-lu-xian-yu-fang-fa.md' }, { text: '期末答疑(一)-前端代码单元测试怎么做', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/qi-mo-da-yi-yi--qian-duan-dai-ma-dan-yuan-ce-shi-zen-me-zuo.md' }, { text: '期末答疑(二)-前端架构中-每个逻辑页面如何可以做到独立发布呢', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/qi-mo-da-yi-er--qian-duan-jia-gou-zhong-mei-ge-luo-ji-ye-mian-ru-he-ke-yi-zuo-dao-du-li-fa-bu-ni.md' }, { text: '浏览器-一个浏览器是如何工作的(阶段一)', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/liu-lan-qi-yi-ge-liu-lan-qi-shi-ru-he-gong-zuo-de-jie-duan-yi-.md' }, { text: '浏览器-一个浏览器是如何工作的(阶段三)', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/liu-lan-qi-yi-ge-liu-lan-qi-shi-ru-he-gong-zuo-de-jie-duan-san-.md' }, { text: '浏览器-一个浏览器是如何工作的(阶段二)', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/liu-lan-qi-yi-ge-liu-lan-qi-shi-ru-he-gong-zuo-de-jie-duan-er-.md' }, { text: '浏览器-一个浏览器是如何工作的(阶段五)', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/liu-lan-qi-yi-ge-liu-lan-qi-shi-ru-he-gong-zuo-de-jie-duan-wu-.md' }, { text: '浏览器-一个浏览器是如何工作的(阶段四)', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/liu-lan-qi-yi-ge-liu-lan-qi-shi-ru-he-gong-zuo-de-jie-duan-si-.md' }, { text: '浏览器API(小实验)-动手整理全部API', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/liu-lan-qi-api-xiao-shi-yan--dong-shou-zheng-li-quan-bu-api.md' }, { text: '浏览器CSSOM-如何获取一个元素的准确位置', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/liu-lan-qi-cssom-ru-he-huo-qu-yi-ge-yuan-su-de-zhun-que-wei-zhi.md' }, { text: '浏览器DOM-你知道HTML的节点有哪几种吗', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/liu-lan-qi-dom-ni-zhi-dao-htmlde-jie-dian-you-na-ji-zhong-ma.md' }, { text: '浏览器事件-为什么会有捕获过程和冒泡过程', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/liu-lan-qi-shi-jian-wei-shi-me-hui-you-bu-huo-guo-cheng-he-mou-pao-guo-cheng.md' }, { text: '用户故事-那些你与“重学前端”的不解之缘', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/yong-hu-gu-shi-na-xie-ni-yu-chong-xue-qian-duan-de-bu-jie-zhi-yuan.md' }, { text: '答疑加餐-学了这么多前端的“小众”知识-到底对我有什么帮助', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/da-yi-jia-can-xue-liao-zhe-me-duo-qian-duan-de-xiao-zhong-zhi-shi-dao-di-dui-wo-you-shi-me-bang-zhu.md' }, { text: '(小实验)理解编译原理-一个四则运算的解释器', link: '/cheng-shao-fei-winter--chong-xue-qian-duan/xiao-shi-yan-li-jie-bian-yi-yuan-li-yi-ge-si-ze-yun-suan-de-jie-shi-qi.md' }, ] }],'/pu-song-yang-qin-yue--serverlessru-men-ke/': [{ text: '蒲松洋(秦粤)-Serverless入门课', collapsible: true, items: [{ text: '01|定义-到底什么是Serverless', link: '/pu-song-yang-qin-yue--serverlessru-men-ke/01-ding-yi-dao-di-shi-me-shi-serverless.md' }, { text: '02-原理-通过一个案例-理解FaaS的运行逻辑', link: '/pu-song-yang-qin-yue--serverlessru-men-ke/02-yuan-li-tong-guo-yi-ge-an-li-li-jie-faasde-yun-xing-luo-ji.md' }, { text: '03-原理-FaaS的两种进程模型及应用场景', link: '/pu-song-yang-qin-yue--serverlessru-men-ke/03-yuan-li-faasde-liang-zhong-jin-cheng-mo-xing-ji-ying-yong-chang-jing.md' }, { text: '04-原理-FaaS应用如何才能快速扩缩容', link: '/pu-song-yang-qin-yue--serverlessru-men-ke/04-yuan-li-faasying-yong-ru-he-cai-neng-kuai-su-kuo-suo-rong.md' }, { text: '05-后端BaaS化(上)-NoOps的微服务', link: '/pu-song-yang-qin-yue--serverlessru-men-ke/05-hou-duan-baashua-shang--noopsde-wei-fu-wu.md' }, { text: '06-后端BaaS化(中)-业务逻辑的拆与合', link: '/pu-song-yang-qin-yue--serverlessru-men-ke/06-hou-duan-baashua-zhong--ye-wu-luo-ji-de-chai-yu-he.md' }, { text: '07-后端BaaS化(下)-ContainerServerless', link: '/pu-song-yang-qin-yue--serverlessru-men-ke/07-hou-duan-baashua-xia--containerserverless.md' }, { text: '08-搭建私有Serverless(一)-K8s和云原生CNCF', link: '/pu-song-yang-qin-yue--serverlessru-men-ke/08-da-jian-si-you-serverless-yi--k8she-yun-yuan-sheng-cncf.md' }, { text: '09-搭建私有Serverless(二)-基于K8s的Serverless', link: '/pu-song-yang-qin-yue--serverlessru-men-ke/09-da-jian-si-you-serverless-er--ji-yu-k8sde-serverless.md' }, { text: '10-经验-Serverless架构应该如何选型', link: '/pu-song-yang-qin-yue--serverlessru-men-ke/10-jing-yan-serverlessjia-gou-ying-gai-ru-he-xuan-xing.md' }, { text: '11-经验-Serverless开发最佳实践', link: '/pu-song-yang-qin-yue--serverlessru-men-ke/11-jing-yan-serverlesskai-fa-zui-jia-shi-jian.md' }, { text: '开篇词-说来说去-到底Serverless要解决什么问题', link: '/pu-song-yang-qin-yue--serverlessru-men-ke/kai-pian-ci-shuo-lai-shuo-qu-dao-di-serverlessyao-jie-jue-shi-me-wen-ti.md' }, { text: '期末测试-有关Serverless-你掌握了多少呢', link: '/pu-song-yang-qin-yue--serverlessru-men-ke/qi-mo-ce-shi-you-guan-serverless-ni-zhang-wo-liao-duo-shao-ni.md' }, { text: '特别放送-为什么阿里要举集团之力趟坑Serverless', link: '/pu-song-yang-qin-yue--serverlessru-men-ke/te-bie-fang-song-wei-shi-me-a-li-yao-ju-ji-tuan-zhi-li-tang-keng-serverless.md' }, { text: '结束语-带你整体回顾我们的Serverless案例', link: '/pu-song-yang-qin-yue--serverlessru-men-ke/jie-shu-yu-dai-ni-zheng-ti-hui-gu-wo-men-de-serverlessan-li.md' }, { text: '结课问卷获奖用户名单', link: '/pu-song-yang-qin-yue--serverlessru-men-ke/jie-ke-wen-juan-huo-jiang-yong-hu-ming-dan.md' }, ] }],'/xiang-jie-laravel-yuan-ma-zhong-you-xiu-de-she-ji-mo-shi/': [{ text: '详解 Laravel 源码中优秀的设计模式', collapsible: true, items: [{ text: '使用代理快速接入第三方库', link: '/xiang-jie-laravel-yuan-ma-zhong-you-xiu-de-she-ji-mo-shi/shi-yong-dai-li-kuai-su-jie-ru-di-san-fang-ku.md' }, { text: '初探 Laravel 和其中的设计模式', link: '/xiang-jie-laravel-yuan-ma-zhong-you-xiu-de-she-ji-mo-shi/chu-tan-laravel-he-qi-zhong-de-she-ji-mo-shi.md' }, { text: '制造工具的工厂模式', link: '/xiang-jie-laravel-yuan-ma-zhong-you-xiu-de-she-ji-mo-shi/zhi-zao-gong-ju-de-gong-han-mo-shi.md' }, { text: '回顾和总结', link: '/xiang-jie-laravel-yuan-ma-zhong-you-xiu-de-she-ji-mo-shi/hui-gu-he-zong-jie.md' }, { text: '基于装饰器的日志写入器', link: '/xiang-jie-laravel-yuan-ma-zhong-you-xiu-de-she-ji-mo-shi/ji-yu-zhuang-shi-qi-de-ri-zhi-xie-ru-qi.md' }, { text: '容易被忽略的迭代器', link: '/xiang-jie-laravel-yuan-ma-zhong-you-xiu-de-she-ji-mo-shi/rong-yi-bei-hu-lue-de-die-dai-qi.md' }, { text: '控制反转和服务容器', link: '/xiang-jie-laravel-yuan-ma-zhong-you-xiu-de-she-ji-mo-shi/kong-zhi-fan-zhuan-he-fu-wu-rong-qi.md' }, { text: '查询语句建造器', link: '/xiang-jie-laravel-yuan-ma-zhong-you-xiu-de-she-ji-mo-shi/cha-xun-yu-ju-jian-zao-qi.md' }, { text: '让观察者监听事件', link: '/xiang-jie-laravel-yuan-ma-zhong-you-xiu-de-she-ji-mo-shi/rang-guan-cha-zhe-jian-ting-shi-jian.md' }, { text: '责任链和管道的协作', link: '/xiang-jie-laravel-yuan-ma-zhong-you-xiu-de-she-ji-mo-shi/ze-ren-lian-he-guan-dao-de-xie-zuo.md' }, { text: '通过容器实现的外观模式', link: '/xiang-jie-laravel-yuan-ma-zhong-you-xiu-de-she-ji-mo-shi/tong-guo-rong-qi-shi-xian-de-wai-guan-mo-shi.md' }, { text: '通过策略选择驱动', link: '/xiang-jie-laravel-yuan-ma-zhong-you-xiu-de-she-ji-mo-shi/tong-guo-ce-lue-xuan-ze-qu-dong.md' }, { text: '附录 1 设计模式的七大原则', link: '/xiang-jie-laravel-yuan-ma-zhong-you-xiu-de-she-ji-mo-shi/fu-lu-1-she-ji-mo-shi-de-qi-da-yuan-ze.md' }, ] }], }