├── .babelrc ├── .gitattributes ├── .gitignore ├── .nojekyll ├── .npmrc ├── .prettierrc ├── .yarnrc ├── README.md ├── _coverpage.md ├── books ├── 专题知识库 │ ├── 01、react专题 │ │ ├── 01、react │ │ │ └── 03、React 性能优化 │ │ │ │ └── README.md │ │ ├── 02、redux │ │ │ ├── 01、redux基础知识点.md │ │ │ ├── 02、深入Redux架构.md │ │ │ ├── 03、理解redux和redux的中间件redux-thunk │ │ │ │ └── README.md │ │ │ ├── 04、redux │ │ │ │ ├── actions │ │ │ │ │ └── counter.js │ │ │ │ ├── reduceres.js │ │ │ │ ├── reducers │ │ │ │ │ └── counter.js │ │ │ │ ├── store.js │ │ │ │ └── testRedux.js │ │ │ └── 05、dva │ │ │ │ └── readme.md │ │ ├── 03、react-router │ │ │ ├── 01、react-router4基本使用.md │ │ │ └── 02、React-router4迁移与旧版本的对比 │ │ │ │ └── README.md │ │ ├── 04、其他 │ │ │ ├── 01、常用react技术栈模块介绍.md │ │ │ ├── 02、构建 │ │ │ │ ├── .eslintrc.js │ │ │ │ ├── actions │ │ │ │ │ ├── confirm_payment.js │ │ │ │ │ └── modal.js │ │ │ │ ├── app.jsx │ │ │ │ ├── pages │ │ │ │ │ └── invoice_list.jsx │ │ │ │ ├── reducers │ │ │ │ │ ├── confirm_payment.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── modal.js │ │ │ │ ├── router.jsx │ │ │ │ └── store.js │ │ │ ├── 03、formik相关系列文章.md │ │ │ ├── 04、React.createRef() │ │ │ │ ├── README.md │ │ │ │ └── index.tsx │ │ │ ├── 05、react portals.md │ │ │ ├── 06、react16高级语法总结以及其他高级模块.md │ │ │ ├── 07、react16 hooks.md │ │ │ ├── 08、react新特性 │ │ │ │ ├── 01、Children和cloneElement的研究 │ │ │ │ │ ├── 01、Children和cloneElement的研究.md │ │ │ │ │ └── PropsChild │ │ │ │ │ │ ├── Child │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── Parent │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ParentChildren │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ ├── 02、useImperativeHandle │ │ │ │ │ ├── 02、useImperativeHandle.md │ │ │ │ │ └── UseImperativeHandle │ │ │ │ │ │ ├── Child │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ └── 08、react新特性.md │ │ │ ├── 09、重学react │ │ │ │ ├── 09、重学react.md │ │ │ │ └── docs │ │ │ │ │ └── 01、高级指引 │ │ │ │ │ ├── 01、代码分割.md │ │ │ │ │ ├── 02、Context.md │ │ │ │ │ ├── 03、错误边界.md │ │ │ │ │ ├── 04、refs 转发.md │ │ │ │ │ ├── 05、深入jsx.md │ │ │ │ │ ├── 06、性能优化.md │ │ │ │ │ ├── 07、Portals.md │ │ │ │ │ ├── 08、Profiler.md │ │ │ │ │ ├── 09、协调.md │ │ │ │ │ ├── 10、RefsAndTheDOM.md │ │ │ │ │ └── 11、RenderProps.md │ │ │ ├── 10、如何科学使用createContext、useReducer、useContext │ │ │ │ └── readme.md │ │ │ ├── 11、一个重复渲染的问题研究 │ │ │ │ └── readme.md │ │ │ ├── 12、useMemo、useCallback、useContext你真的玩明白了吗 │ │ │ │ └── README.md │ │ │ └── 13、react 用有多少个 hooks.md │ │ ├── README.md │ │ ├── img │ │ │ └── react04-01.png │ │ └── test │ │ │ └── 01、递归渲染的一个例子.jsx │ ├── 02、ECMAScript最新语法 │ │ ├── 10、Iterator 和 for...of 循环 │ │ │ ├── 02、forof_and_forin.js │ │ │ ├── README.md │ │ │ └── index.js │ │ ├── 11、Generator │ │ │ ├── README.md │ │ │ └── index.js │ │ ├── 12、Promise对象 │ │ │ ├── README.md │ │ │ └── index.js │ │ ├── 13、其他知识点儿的总结 │ │ │ ├── 01、Proxy和Reflect总结.md │ │ │ ├── 02、Iterator.md │ │ │ ├── 03、Symbol.md │ │ │ ├── 04、Generator总结.md │ │ │ └── demo │ │ │ │ └── 01、Symbol.js │ │ ├── 14、es10的新特性 │ │ │ └── readme.md │ │ ├── 1、let和const │ │ │ └── let和const.md │ │ ├── 2、变量的解构赋值 │ │ │ ├── index.js │ │ │ └── 变量的解构赋值.md │ │ ├── 3、字符串的扩展 │ │ │ ├── 3、字符串的扩展.md │ │ │ ├── JS数组42个方法汇总.md │ │ │ └── index.js │ │ ├── 4、数值的扩展和Math对象的扩展 │ │ │ ├── 4、数值的扩展和Math对象的扩展.md │ │ │ └── index.js │ │ ├── 5、数组的扩展 │ │ │ ├── README.md │ │ │ └── test.js │ │ ├── 6、函数的扩展 │ │ │ └── README.md │ │ ├── 7、对象的扩展 │ │ │ └── README.md │ │ ├── 8、Proxy和Reflect │ │ │ ├── README.md │ │ │ └── index.js │ │ ├── 9、Set和Map数据结构 │ │ │ ├── README.md │ │ │ └── index.js │ │ └── README.md │ ├── 03、css3专题 │ │ ├── 01、css基础.md │ │ ├── 02、css布局.md │ │ ├── 03、css效果.md │ │ ├── 04、css动画.md │ │ ├── 05、@media媒体查询.md │ │ ├── ICSS │ │ │ ├── demo1 │ │ │ │ ├── 实现效果的方式方法1.html │ │ │ │ ├── 实现效果的方式方法2.html │ │ │ │ ├── 实现效果的方式方法3.html │ │ │ │ ├── 实现效果的方式方法4.html │ │ │ │ ├── 实现效果的方式方法5.html │ │ │ │ ├── 实现效果的方式方法6-linearGradient.html │ │ │ │ ├── 实现效果的方式方法7-轮廓outline.html │ │ │ │ └── 实现效果的方式方法8-滚动条.html │ │ │ └── 使用纯 CSS 实现波浪进度图.html │ │ ├── Other │ │ │ ├── 01、css实现文字阴影以及边框阴影 │ │ │ │ ├── 01、文字阴影.html │ │ │ │ ├── 02、渐透明.html │ │ │ │ └── 03、建透明.html │ │ │ ├── 02、animation动画结束状态保持研究 │ │ │ │ ├── index1.html │ │ │ │ ├── index2.html │ │ │ │ └── index3.html │ │ │ ├── 03、tabs │ │ │ │ ├── tabs.html │ │ │ │ └── tabs2.html │ │ │ ├── 04、实现文本选中样式更改 │ │ │ │ └── demo1.html │ │ │ ├── 05、让display出现动画 │ │ │ │ ├── index.html │ │ │ │ └── readme.md │ │ │ └── 06、slider轮播研究 │ │ │ │ └── 01、纯css实现.html │ │ ├── README.md │ │ └── demo │ │ │ ├── 01、3Dtransform.html │ │ │ ├── 02-transition.html │ │ │ ├── 03-keyframe.html │ │ │ ├── 04-animal.html │ │ │ ├── 05-01.html │ │ │ └── animal.png │ ├── 04、js设计模式 │ │ ├── 02篇、创建型设计模式 │ │ │ ├── 03章、简单工程模式 │ │ │ │ ├── demo1.js │ │ │ │ ├── demo2.js │ │ │ │ └── demo3.js │ │ │ ├── 04章、工厂方法模式 │ │ │ │ ├── 1、广告展现的一个demo.js │ │ │ │ ├── 2、安全模式类的错误示例.js │ │ │ │ ├── 3、安全模式类的正确示例.js │ │ │ │ └── 4、安全的工厂方法.js │ │ │ ├── 05章、抽象工厂模式 │ │ │ │ ├── 01、手动抛出错误,模拟抽象类.js │ │ │ │ ├── 02、抽象工厂的实现.js │ │ │ │ └── 03、抽象与实现.js │ │ │ ├── 06章、建造者模式 │ │ │ │ ├── 01、建造者的一个示例.js │ │ │ │ └── 02、创建一位应聘者.js │ │ │ ├── 07章、原型链模式 │ │ │ │ ├── 01、创建一个轮播图.js │ │ │ │ └── 02、原型链的优化.js │ │ │ ├── 08章、单例模式 │ │ │ │ ├── 01、一个滑动特效的例子.js │ │ │ │ ├── 02、通过命名空间优化.js │ │ │ │ ├── 03、无法改变的静态变量.js │ │ │ │ └── 04、惰性单例.js │ │ │ └── README.md │ │ ├── 03篇、结构型设计模式 │ │ │ ├── 09章、外观模式 │ │ │ │ ├── 01、兼容模式下-外观模式的实现.html │ │ │ │ ├── 02、其他兼容问题的解决.html │ │ │ │ └── 03、小型代码库.js │ │ │ ├── 10章、适配器模式 │ │ │ │ ├── 01、一个简单的例子.js │ │ │ │ └── 02、对象参数适配器.js │ │ │ ├── 12章、装饰者模式 │ │ │ │ ├── 01、输入框的新需求.js │ │ │ │ └── 02、装饰已经有的功能对象.js │ │ │ ├── 13章、桥接模式 │ │ │ │ ├── 01、添加事件交互的一个例子.js │ │ │ │ └── 02、多元化对象.js │ │ │ ├── 14章、组合模式 │ │ │ │ ├── 01、一个新闻模块的例子.js │ │ │ │ ├── 02、组合要有容器类.js │ │ │ │ ├── 03、新闻成员类.js │ │ │ │ ├── img │ │ │ │ │ └── 14-01.png │ │ │ │ ├── inheritPrototype.js │ │ │ │ └── test.js │ │ │ ├── 15章、享元模式 │ │ │ │ ├── 01、翻页的需求.js │ │ │ │ ├── 02、享元对象.js │ │ │ │ ├── 03、需求的实现.js │ │ │ │ └── 04、享元动作.js │ │ │ └── README.md │ │ ├── 04篇、行为型设计模式 │ │ │ ├── 16章、模板方法模式 │ │ │ │ ├── 01、创建一个基础提示模板.js │ │ │ │ ├── 02、根据模板创建类.js │ │ │ │ └── 03、创建多类导航.js │ │ │ ├── 17章、观察者模式 │ │ │ │ ├── 01、创建一个订阅者.js │ │ │ │ ├── 02、实现各个模块之间的通信.js │ │ │ │ └── 03、解决对象间的耦合-学生答题的例子.js │ │ │ ├── 18章、状态模式 │ │ │ │ ├── 01、最美图片的一个例子.js │ │ │ │ ├── 02、状态对象的实现.js │ │ │ │ ├── 03、超级玛丽的例子.js │ │ │ │ └── 04、超级玛丽的例子优化.js │ │ │ ├── 19章、策略模式 │ │ │ │ ├── 01、商品促销的例子.js │ │ │ │ └── 02、表单验证.js │ │ │ ├── 20章、责任链模式 │ │ │ │ └── 01、请求模块.js │ │ │ ├── 21章、命令模式 │ │ │ │ ├── 01、自由化创建视图的例子.html │ │ │ │ └── 02、绘图命令.html │ │ │ ├── 22章、访问者模式 │ │ │ │ ├── 01、一个绑定事件的示例在ie低版本不能运作.js │ │ │ │ └── 02、对象访问器.js │ │ │ ├── 23、中介者模式 │ │ │ │ ├── 01、创建中介者对象.js │ │ │ │ └── 02、一个完整的使用场景.js │ │ │ ├── 24、备忘录模式 │ │ │ │ └── 01、新闻缓存器.js │ │ │ ├── 25、迭代器模式 │ │ │ │ ├── 01、迭代器的实现.js │ │ │ │ └── 02、同步变量迭代器.js │ │ │ ├── 26、解释器模式 │ │ │ │ └── 01、Interpreter.js │ │ │ └── README.md │ │ ├── 05篇、技巧型设计模式 │ │ │ ├── 27章、链式模式 │ │ │ │ ├── 01、原型式继承存在的问题.js │ │ │ │ ├── 02、对于类jQuery链式调用模式的研究.js │ │ │ │ └── 03、链式模式的一个实际使用实例.js │ │ │ ├── 28章、委托模式 │ │ │ │ ├── 01、实际场景-点击日期格子变色.html │ │ │ │ └── 02、实际场景-处理内存泄漏问题.html │ │ │ ├── 29章、数据访问对象模式 │ │ │ │ └── 01、创建本地存储对象.html │ │ │ ├── 30章、节流模式 │ │ │ │ ├── 01、场景1-返回顶部节流器.html │ │ │ │ ├── 02、场景2-优化浮层.html │ │ │ │ ├── 03、场景3-图片的延迟加载.html │ │ │ │ └── 04、场景4-统计打包.html │ │ │ ├── 32章、惰性模式 │ │ │ │ ├── 01、场景1-解决重复性的分支判断.html │ │ │ │ └── 02、场景2-创建XHR场景.html │ │ │ ├── 33章、参与者模式 │ │ │ │ └── 01、场景1.html │ │ │ ├── 34章、等待着模式 │ │ │ │ ├── 01、场景1-等待对象.html │ │ │ │ └── 02、封装异步请求.html │ │ │ └── README.md │ │ ├── 06篇、架构型设计模式 │ │ │ ├── 35章、同步模块模式 │ │ │ │ └── 01、排队开发的场景.html │ │ │ ├── 36章、异步模块模式 │ │ │ │ └── 01、场景1-异步模块加载.html │ │ │ └── README.md │ │ └── README.md │ ├── 05、基础知识点专题 │ │ ├── 01_01、基础知识部分1-10.md │ │ ├── 01_02、基础知识部分11-20.md │ │ ├── 01_03、基础知识部分21-30.md │ │ ├── 01_04、基础知识部分31-40.md │ │ ├── 01_05、基础知识部分41-50.md │ │ ├── 01_47、浏览器相关灵魂拷问.md │ │ ├── 02_01、进阶知识部分1-10.md │ │ ├── 02_02、进阶知识部分11-20.md │ │ ├── 02_03、进阶知识部分21-30.md │ │ ├── README.md │ │ ├── img │ │ │ ├── 01-05-01.png │ │ │ ├── 01-05-02.png │ │ │ ├── 01-30.png │ │ │ ├── 01_01.png │ │ │ ├── 01_06.png │ │ │ ├── 01_09.png │ │ │ ├── 01_10.png │ │ │ ├── 01_16.png │ │ │ ├── 01_47_03.jpg │ │ │ ├── 01_47_04.jpeg │ │ │ ├── 02-05-01.jpg │ │ │ ├── 02-11-1.png │ │ │ ├── 02-11-2.png │ │ │ ├── 02-11-3.png │ │ │ ├── 02-12-03.png │ │ │ ├── 02-12-1.png │ │ │ ├── 02-12-2.png │ │ │ ├── 02-13-01.png │ │ │ ├── 02-13-02.png │ │ │ ├── 02-13-03.png │ │ │ ├── 02-13-04.png │ │ │ ├── 02-13-05.png │ │ │ ├── 02-13-06.png │ │ │ ├── 02_01.png │ │ │ ├── 02_09.png │ │ │ └── 02_09_02.png │ │ ├── other │ │ │ ├── 01、关于闭包的研究 │ │ │ │ ├── README.md │ │ │ │ └── test.js │ │ │ ├── 02、关于this指针的研究 │ │ │ │ └── README.md │ │ │ ├── 03、关于深拷贝和浅拷贝的实现 │ │ │ │ ├── 01、浅拷贝存在的问题.js │ │ │ │ ├── 02、普通的深拷贝.js │ │ │ │ ├── 03、利用对象实现深拷贝.js │ │ │ │ ├── 04、利用class实现深拷贝.js │ │ │ │ ├── README.md │ │ │ │ ├── deep-extend.js │ │ │ │ ├── test.js │ │ │ │ ├── test2.js │ │ │ │ └── test3.js │ │ │ ├── 04、水平和垂直方案 │ │ │ │ └── README.md │ │ │ ├── 05、正则验证 │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── test.html │ │ │ ├── 06、实现函数防抖 │ │ │ │ └── README.md │ │ │ ├── 07、实现函数节流 │ │ │ │ ├── README.md │ │ │ │ ├── demo1.js │ │ │ │ └── demo2.js │ │ │ ├── 08、清除浮动的解决方案总结 │ │ │ │ ├── README.md │ │ │ │ └── index.html │ │ │ ├── 09、Promise原理与实现 │ │ │ │ ├── README.md │ │ │ │ └── demo │ │ │ │ │ ├── demo1.js │ │ │ │ │ ├── demo2.js │ │ │ │ │ ├── demo3.js │ │ │ │ │ ├── demo4.js │ │ │ │ │ ├── demo5.js │ │ │ │ │ ├── demo6.js │ │ │ │ │ └── demo7.js │ │ │ ├── 10、金额问题研究 │ │ │ │ └── README.md │ │ │ ├── 11、双向绑定核心代码 │ │ │ │ ├── README.md │ │ │ │ └── index.html │ │ │ ├── 12、深入call、apply、bind实现原理 │ │ │ │ ├── README.md │ │ │ │ ├── demo1.js │ │ │ │ ├── demo2.js │ │ │ │ ├── demo3.js │ │ │ │ ├── demo4.js │ │ │ │ ├── demo5.js │ │ │ │ ├── demo6.js │ │ │ │ ├── demo7.js │ │ │ │ └── img │ │ │ │ │ └── img01.png │ │ │ ├── 13、深入理解JavaScript中的尾调用 │ │ │ │ └── README.md │ │ │ ├── 14、V8引擎初步介绍 │ │ │ │ ├── README.md │ │ │ │ └── img │ │ │ │ │ ├── 01.png │ │ │ │ │ ├── 02.png │ │ │ │ │ ├── 03.png │ │ │ │ │ ├── 04.png │ │ │ │ │ └── 05.png │ │ │ ├── 15、node内存优化 │ │ │ │ └── README.md │ │ │ ├── 16、对象拷贝 │ │ │ │ ├── README.md │ │ │ │ └── 对象拷贝.js │ │ │ ├── 17、去重 │ │ │ │ └── README.md │ │ │ ├── 18、深入研究call和apply │ │ │ │ ├── 01、call和apply基本使用.js │ │ │ │ ├── 02、实现继承.js │ │ │ │ ├── 03、多重继承.js │ │ │ │ └── README.md │ │ │ ├── 19、海量数据的处理-10亿个数中找出最大的10000个数 │ │ │ │ └── README.md │ │ │ └── 20、dom │ │ │ │ └── readme.md │ │ └── test │ │ │ ├── 01-07、继承.js │ │ │ ├── 01-10、算法.js │ │ │ ├── 01-19、this的研究.js │ │ │ ├── 01-26、class 与 prototype 的关系.html │ │ │ ├── 01-26、setTimeout async promise执行顺序总结.js │ │ │ ├── 01-30、数字千分位处理.js │ │ │ ├── 01-36、将两个有序数组合并为一个数组.js │ │ │ ├── 01-82、金额问题.ts │ │ │ ├── 01、关于js中的对象.js │ │ │ ├── 02-02、js执行机制.js │ │ │ ├── 02-09.js │ │ │ ├── 02-11.1、用jquery实现虚拟dom.html │ │ │ ├── 02-11.4、snabbdom │ │ │ ├── demo.html │ │ │ └── mainTest.html │ │ │ ├── 02-11.5、diff │ │ │ ├── createElement.js │ │ │ ├── log1.txt │ │ │ ├── log2.txt │ │ │ └── updateChildren.js │ │ │ ├── 02-12.1、深入mvvm │ │ │ ├── native-todo-list.html │ │ │ └── vue-todo-list.html │ │ │ ├── 02-12.2、mvvm核心实现 │ │ │ ├── defineProperty.html │ │ │ └── demo1.html │ │ │ ├── 02-12.3、render │ │ │ ├── 01、with用法.html │ │ │ ├── 02、render.html │ │ │ ├── 03、截取实例2中的render.js │ │ │ └── 03、示例2.html │ │ │ └── 02-13、深入react理解 │ │ │ └── 01、实现一个简单的todoList │ │ │ ├── App.js │ │ │ ├── App.test.js │ │ │ ├── components │ │ │ └── todo │ │ │ │ ├── index.jsx │ │ │ │ ├── input │ │ │ │ └── index.jsx │ │ │ │ └── list │ │ │ │ └── index.jsx │ │ │ ├── index.css │ │ │ ├── index.js │ │ │ └── serviceWorker.js │ ├── 06、canvas总结 │ │ ├── 01、canvas初级.md │ │ ├── README.md │ │ └── demo │ │ │ ├── 01、代码模板.html │ │ │ ├── 02、一个简单的例子.html │ │ │ ├── 03、绘制矩形的三种方式.html │ │ │ ├── 04、绘制线段.html │ │ │ ├── 05、绘制一个三角形.html │ │ │ ├── 06、填充一个三角形.html │ │ │ ├── 07、圆弧案例1.html │ │ │ ├── 08、圆形案例2.html │ │ │ ├── 09、圆弧案例3.html │ │ │ ├── 10、绘制二次贝塞尔曲线.html │ │ │ ├── 11、绘制三次贝塞尔曲线.html │ │ │ ├── 12、填充颜色fillStyle.html │ │ │ ├── 13、设置轮廓颜色.html │ │ │ ├── 14、线宽.html │ │ │ ├── 15、线条末端样式.html │ │ │ ├── 16、线条链接处的样式.html │ │ │ ├── 17、虚线.html │ │ │ ├── 18、绘制文本的两种方法.html │ │ │ ├── 19、绘制 img 标签元素中的图片.html │ │ │ ├── 20、状态的保存和恢复.html │ │ │ ├── 21、translate.html │ │ │ ├── 22、rotate.html │ │ │ ├── 23、transform.html │ │ │ ├── 24、合成.html │ │ │ ├── 25、裁剪路径-clip().html │ │ │ ├── 26、太阳系.html │ │ │ ├── 27、模拟时钟.html │ │ │ └── img.jpg │ ├── 07、算法学习 │ │ ├── 01、简单 │ │ │ ├── 1、两数之和.js │ │ │ ├── 258、各位相加.js │ │ │ ├── 2、两数相加 │ │ │ │ ├── 01、实现方式1.js │ │ │ │ └── 两数相加.md │ │ │ └── demo.js │ │ ├── readme.md │ │ └── 其他 │ │ │ └── 01、链表 │ │ │ ├── List.ts │ │ │ ├── demo.ts │ │ │ ├── index.ts │ │ │ └── readme.md │ ├── 08、学习javascript数据结构与算法 │ │ ├── 01章、javascript基础 │ │ │ └── 05、面向对象编程.js │ │ ├── 03章、栈 │ │ │ ├── 01、栈的创建 │ │ │ │ ├── index.js │ │ │ │ └── test.js │ │ │ └── 02、从十进制到二进制 │ │ │ │ └── index.js │ │ ├── 04章、队列 │ │ │ ├── 01、创建队列 │ │ │ │ ├── index.js │ │ │ │ └── test.js │ │ │ ├── 02、优先队列 │ │ │ │ ├── index.js │ │ │ │ └── test.js │ │ │ └── 03、循环队列-击鼓传花 │ │ │ │ └── index.js │ │ ├── 05章、链表 │ │ │ └── 01、创建一个链表 │ │ │ │ ├── index.js │ │ │ │ └── test.js │ │ ├── 06章、集合 │ │ │ ├── 01、创建一个集合 │ │ │ │ ├── index.js │ │ │ │ └── test.js │ │ │ └── 02、集合操作 │ │ │ │ ├── index.js │ │ │ │ └── test.js │ │ ├── 07、字典和散列表 │ │ │ ├── 01、字典 │ │ │ │ ├── index.js │ │ │ │ └── test.js │ │ │ └── 02、散列表 │ │ │ │ ├── 7-2-1.png │ │ │ │ ├── 7-2-2.png │ │ │ │ ├── 7-2-3.png │ │ │ │ ├── index1.js │ │ │ │ ├── index2.js │ │ │ │ ├── index3.js │ │ │ │ ├── test1.js │ │ │ │ ├── test2.js │ │ │ │ └── test3.js │ │ ├── 08章、树 │ │ │ ├── 02、二叉树和二叉搜索树 │ │ │ │ ├── BinarySearchTree.js │ │ │ │ └── test.js │ │ │ └── img │ │ │ │ ├── 8-01.png │ │ │ │ ├── 8-02.png │ │ │ │ ├── 8-03.png │ │ │ │ ├── 8-04.png │ │ │ │ ├── 8-05.png │ │ │ │ ├── 8-06.png │ │ │ │ ├── 8-07.png │ │ │ │ ├── 8-08.png │ │ │ │ ├── 8-09.png │ │ │ │ ├── 8-10.png │ │ │ │ ├── 8-11.png │ │ │ │ └── 8-12.png │ │ ├── 09章、图 │ │ │ ├── img │ │ │ │ ├── 9-01.png │ │ │ │ ├── 9-02.png │ │ │ │ ├── 9-03.png │ │ │ │ ├── 9-04.png │ │ │ │ ├── 9-05.png │ │ │ │ ├── 9-06.png │ │ │ │ ├── 9-07.png │ │ │ │ ├── 9-08.png │ │ │ │ ├── 9-09.png │ │ │ │ ├── 9-10.png │ │ │ │ ├── 9-11.png │ │ │ │ └── 9-12.png │ │ │ ├── index.js │ │ │ └── test.js │ │ ├── 10章、排序和搜索算法 │ │ │ ├── 01、排序算法 │ │ │ │ ├── index.js │ │ │ │ └── test.js │ │ │ ├── 02、搜索算法 │ │ │ │ ├── index.js │ │ │ │ └── test.js │ │ │ └── img │ │ │ │ ├── 10-1.png │ │ │ │ ├── 10-10.png │ │ │ │ ├── 10-11.png │ │ │ │ ├── 10-12.png │ │ │ │ ├── 10-2.png │ │ │ │ ├── 10-3.png │ │ │ │ ├── 10-4.png │ │ │ │ ├── 10-5.png │ │ │ │ ├── 10-6.png │ │ │ │ ├── 10-7.png │ │ │ │ ├── 10-8.png │ │ │ │ └── 10-9.png │ │ └── README.md │ ├── 09、DOM和BOM │ │ ├── README.md │ │ └── dom │ │ │ ├── 01、document对象 │ │ │ ├── 01、anchors.html │ │ │ ├── 02、baseURI.html │ │ │ ├── 03、open和close.html │ │ │ ├── 04、createAttribute.html │ │ │ ├── 05、createComment.html │ │ │ ├── 06、createElement.html │ │ │ ├── 07、createTextNode.html │ │ │ ├── 08、documentElement.html │ │ │ └── 09、document.documentURI.html │ │ │ ├── 02、html_dom元素对象 │ │ │ ├── 01、addEventListener.html │ │ │ └── 02、appendChild.html │ │ │ └── 03、dom属性对象 │ │ │ ├── 01、getNamedItem.html │ │ │ ├── 02、item.html │ │ │ └── 03、setNamedItem.html │ ├── 10、深入webpack工程化 │ │ ├── 01、由浅入深Webpack │ │ │ ├── 02、打包js │ │ │ │ ├── app.js │ │ │ │ ├── index.html │ │ │ │ ├── minus.js │ │ │ │ ├── muti.js │ │ │ │ ├── sum.js │ │ │ │ └── webpack.config.js │ │ │ ├── 03、编译ES6 │ │ │ │ ├── .babelrc │ │ │ │ ├── app.js │ │ │ │ ├── index.html │ │ │ │ └── webpack.config.js │ │ │ ├── 04、编译TS │ │ │ │ ├── src │ │ │ │ │ └── app.ts │ │ │ │ ├── tsconfig.json │ │ │ │ └── webpack.config.js │ │ │ ├── 05、提取公用代码 │ │ │ │ ├── src │ │ │ │ │ ├── moduleA.js │ │ │ │ │ ├── pageA.js │ │ │ │ │ ├── pageB.js │ │ │ │ │ ├── subPageA.js │ │ │ │ │ └── subPageB.js │ │ │ │ └── webpack.config.js │ │ │ ├── 06、代码分割和懒加载 │ │ │ │ ├── index.html │ │ │ │ ├── src │ │ │ │ │ ├── moduleA.js │ │ │ │ │ ├── pageA.js │ │ │ │ │ ├── pageB.js │ │ │ │ │ ├── subPageA.js │ │ │ │ │ └── subPageB.js │ │ │ │ └── webpack.config.js │ │ │ ├── 07、处理css style-loader │ │ │ │ ├── css.transform.js │ │ │ │ ├── index.html │ │ │ │ ├── src │ │ │ │ │ ├── app.js │ │ │ │ │ └── css │ │ │ │ │ │ ├── base.css │ │ │ │ │ │ └── common.css │ │ │ │ └── webpack.config.js │ │ │ ├── 08、处理css css-loader │ │ │ │ ├── css.transform.js │ │ │ │ ├── index.html │ │ │ │ ├── src │ │ │ │ │ ├── app.js │ │ │ │ │ └── css │ │ │ │ │ │ ├── base.css │ │ │ │ │ │ └── common.css │ │ │ │ └── webpack.config.js │ │ │ ├── 09、处理css 配置less和sass │ │ │ │ ├── css.transform.js │ │ │ │ ├── index.html │ │ │ │ ├── src │ │ │ │ │ ├── app.js │ │ │ │ │ └── css │ │ │ │ │ │ ├── base.less │ │ │ │ │ │ └── common.less │ │ │ │ └── webpack.config.js │ │ │ ├── 10、处理css 提取css │ │ │ │ ├── css.transform.js │ │ │ │ ├── index.html │ │ │ │ ├── src │ │ │ │ │ ├── app.js │ │ │ │ │ ├── components │ │ │ │ │ │ └── a.js │ │ │ │ │ └── css │ │ │ │ │ │ ├── base.less │ │ │ │ │ │ ├── common.less │ │ │ │ │ │ └── components │ │ │ │ │ │ └── a.less │ │ │ │ └── webpack.config.js │ │ │ ├── 11、postCss-in-webpack │ │ │ │ ├── css.transform.js │ │ │ │ ├── index.html │ │ │ │ ├── src │ │ │ │ │ ├── app.js │ │ │ │ │ ├── components │ │ │ │ │ │ └── a.js │ │ │ │ │ └── css │ │ │ │ │ │ ├── base.less │ │ │ │ │ │ ├── common.less │ │ │ │ │ │ └── components │ │ │ │ │ │ └── a.less │ │ │ │ └── webpack.config.js │ │ │ ├── 12、Tree-Shaking │ │ │ │ ├── css.transform.js │ │ │ │ ├── index.html │ │ │ │ ├── src │ │ │ │ │ ├── app.js │ │ │ │ │ ├── common │ │ │ │ │ │ └── util.js │ │ │ │ │ ├── components │ │ │ │ │ │ └── a.js │ │ │ │ │ └── css │ │ │ │ │ │ ├── base.less │ │ │ │ │ │ ├── common.less │ │ │ │ │ │ └── components │ │ │ │ │ │ └── a.less │ │ │ │ └── webpack.config.js │ │ │ └── README.md │ │ ├── 02、由浅入深Webpack-进阶 │ │ │ ├── 01、文件处理-图片处理 │ │ │ │ ├── css.transform.js │ │ │ │ ├── index.html │ │ │ │ ├── src │ │ │ │ │ ├── app.js │ │ │ │ │ ├── assets │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ ├── 1.jpg │ │ │ │ │ │ │ ├── 2.jpg │ │ │ │ │ │ │ ├── 3.jpg │ │ │ │ │ │ │ ├── 4.jpg │ │ │ │ │ │ │ ├── 5@2x.png │ │ │ │ │ │ │ └── react.jpg │ │ │ │ │ │ └── react.jpg │ │ │ │ │ ├── common │ │ │ │ │ │ └── util.js │ │ │ │ │ ├── components │ │ │ │ │ │ └── a.js │ │ │ │ │ └── css │ │ │ │ │ │ ├── base.less │ │ │ │ │ │ ├── common.less │ │ │ │ │ │ └── components │ │ │ │ │ │ └── a.less │ │ │ │ └── webpack.config.js │ │ │ ├── 02、文件处理-字体处理 │ │ │ │ ├── css.transform.js │ │ │ │ ├── index.html │ │ │ │ ├── src │ │ │ │ │ ├── app.js │ │ │ │ │ ├── assets │ │ │ │ │ │ ├── fonts │ │ │ │ │ │ │ └── bzcs.ttf │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ ├── 1.jpg │ │ │ │ │ │ │ ├── 2.jpg │ │ │ │ │ │ │ ├── 3.jpg │ │ │ │ │ │ │ ├── 4.jpg │ │ │ │ │ │ │ ├── 5@2x.png │ │ │ │ │ │ │ └── react.jpg │ │ │ │ │ │ └── react.jpg │ │ │ │ │ ├── common │ │ │ │ │ │ └── util.js │ │ │ │ │ ├── components │ │ │ │ │ │ └── a.js │ │ │ │ │ └── css │ │ │ │ │ │ ├── base.less │ │ │ │ │ │ ├── common.less │ │ │ │ │ │ └── components │ │ │ │ │ │ └── a.less │ │ │ │ └── webpack.config.js │ │ │ ├── 03、文件处理-处理第三方JS库 │ │ │ │ ├── css.transform.js │ │ │ │ ├── index.html │ │ │ │ ├── src │ │ │ │ │ ├── app.js │ │ │ │ │ ├── common │ │ │ │ │ │ └── util.js │ │ │ │ │ ├── components │ │ │ │ │ │ └── a.js │ │ │ │ │ ├── css │ │ │ │ │ │ ├── base.less │ │ │ │ │ │ ├── common.less │ │ │ │ │ │ └── components │ │ │ │ │ │ │ └── a.less │ │ │ │ │ └── lib │ │ │ │ │ │ └── jquery.min.js │ │ │ │ └── webpack.config.js │ │ │ ├── 04、html-in-webpack-生成html │ │ │ │ ├── css.transform.js │ │ │ │ ├── index.html │ │ │ │ ├── src │ │ │ │ │ ├── app.js │ │ │ │ │ ├── assets │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ ├── 1.jpg │ │ │ │ │ │ │ ├── 2.jpg │ │ │ │ │ │ │ ├── 3.jpg │ │ │ │ │ │ │ ├── 4.jpg │ │ │ │ │ │ │ ├── 5@2x.png │ │ │ │ │ │ │ └── react.jpg │ │ │ │ │ │ └── react.jpg │ │ │ │ │ ├── common │ │ │ │ │ │ └── util.js │ │ │ │ │ ├── components │ │ │ │ │ │ └── a.js │ │ │ │ │ ├── css │ │ │ │ │ │ ├── base.less │ │ │ │ │ │ ├── common.less │ │ │ │ │ │ └── components │ │ │ │ │ │ │ └── a.less │ │ │ │ │ └── lib │ │ │ │ │ │ └── jquery.min.js │ │ │ │ └── webpack.config.js │ │ │ ├── 05、html中引入图片 │ │ │ │ ├── css.transform.js │ │ │ │ ├── index.html │ │ │ │ ├── src │ │ │ │ │ ├── app.js │ │ │ │ │ ├── assets │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ ├── 1.jpg │ │ │ │ │ │ │ └── react.jpg │ │ │ │ │ │ └── react.jpg │ │ │ │ │ ├── common │ │ │ │ │ │ └── util.js │ │ │ │ │ ├── components │ │ │ │ │ │ └── a.js │ │ │ │ │ ├── css │ │ │ │ │ │ ├── base.less │ │ │ │ │ │ ├── common.less │ │ │ │ │ │ └── components │ │ │ │ │ │ │ └── a.less │ │ │ │ │ └── lib │ │ │ │ │ │ └── jquery.min.js │ │ │ │ └── webpack.config.js │ │ │ ├── 06、配合优化 │ │ │ │ ├── .babelrc │ │ │ │ ├── css.transform.js │ │ │ │ ├── index.html │ │ │ │ ├── src │ │ │ │ │ ├── app.js │ │ │ │ │ ├── assets │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ ├── 1.jpg │ │ │ │ │ │ │ └── react.jpg │ │ │ │ │ │ └── react.jpg │ │ │ │ │ ├── common │ │ │ │ │ │ └── util.js │ │ │ │ │ ├── components │ │ │ │ │ │ └── a.js │ │ │ │ │ ├── css │ │ │ │ │ │ ├── base.less │ │ │ │ │ │ ├── common.less │ │ │ │ │ │ └── components │ │ │ │ │ │ │ └── a.less │ │ │ │ │ └── lib │ │ │ │ │ │ └── jquery.min.js │ │ │ │ └── webpack.config.js │ │ │ └── README.md │ │ ├── 03、webpack构建本地开发环境 │ │ │ ├── 01、webpack_watch_mode │ │ │ │ ├── .babelrc │ │ │ │ ├── css.transform.js │ │ │ │ ├── index.html │ │ │ │ ├── src │ │ │ │ │ ├── app.js │ │ │ │ │ ├── assets │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ ├── 1.jpg │ │ │ │ │ │ │ └── react.jpg │ │ │ │ │ │ └── react.jpg │ │ │ │ │ ├── common │ │ │ │ │ │ └── util.js │ │ │ │ │ ├── components │ │ │ │ │ │ └── a.js │ │ │ │ │ ├── css │ │ │ │ │ │ ├── base.less │ │ │ │ │ │ ├── common.less │ │ │ │ │ │ └── components │ │ │ │ │ │ │ └── a.less │ │ │ │ │ └── lib │ │ │ │ │ │ └── jquery.min.js │ │ │ │ └── webpack.config.js │ │ │ ├── 02、webpack_dev_server │ │ │ │ ├── .babelrc │ │ │ │ ├── css.transform.js │ │ │ │ ├── index.html │ │ │ │ ├── src │ │ │ │ │ ├── app.js │ │ │ │ │ ├── assets │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ ├── 1.jpg │ │ │ │ │ │ │ └── react.jpg │ │ │ │ │ │ └── react.jpg │ │ │ │ │ ├── common │ │ │ │ │ │ └── util.js │ │ │ │ │ ├── components │ │ │ │ │ │ └── a.js │ │ │ │ │ ├── css │ │ │ │ │ │ ├── base.less │ │ │ │ │ │ ├── common.less │ │ │ │ │ │ └── components │ │ │ │ │ │ │ └── a.less │ │ │ │ │ └── lib │ │ │ │ │ │ └── jquery.min.js │ │ │ │ └── webpack.config.js │ │ │ ├── 03、代理远程接口 │ │ │ │ ├── .babelrc │ │ │ │ ├── app.js │ │ │ │ ├── css.transform.js │ │ │ │ ├── index.html │ │ │ │ ├── package.json │ │ │ │ ├── src │ │ │ │ │ ├── app.js │ │ │ │ │ ├── assets │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ ├── 1.jpg │ │ │ │ │ │ │ └── react.jpg │ │ │ │ │ │ └── react.jpg │ │ │ │ │ ├── common │ │ │ │ │ │ └── util.js │ │ │ │ │ ├── components │ │ │ │ │ │ └── a.js │ │ │ │ │ ├── css │ │ │ │ │ │ ├── base.less │ │ │ │ │ │ ├── common.less │ │ │ │ │ │ └── components │ │ │ │ │ │ │ └── a.less │ │ │ │ │ └── lib │ │ │ │ │ │ └── jquery.min.js │ │ │ │ └── webpack.config.js │ │ │ ├── 04、模块热更新 │ │ │ │ ├── .babelrc │ │ │ │ ├── app.js │ │ │ │ ├── base.less │ │ │ │ ├── common.less │ │ │ │ ├── css.transform.js │ │ │ │ ├── index.html │ │ │ │ ├── package.json │ │ │ │ ├── src │ │ │ │ │ ├── app.js │ │ │ │ │ ├── assets │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ ├── 1.jpg │ │ │ │ │ │ │ └── react.jpg │ │ │ │ │ │ └── react.jpg │ │ │ │ │ ├── common │ │ │ │ │ │ └── util.js │ │ │ │ │ ├── components │ │ │ │ │ │ └── a.js │ │ │ │ │ ├── css │ │ │ │ │ │ ├── base.less │ │ │ │ │ │ ├── common.less │ │ │ │ │ │ └── components │ │ │ │ │ │ │ └── a.less │ │ │ │ │ └── lib │ │ │ │ │ │ └── jquery.min.js │ │ │ │ └── webpack.config.js │ │ │ ├── 05、开启调试模式Source Map │ │ │ │ ├── .babelrc │ │ │ │ ├── css.transform.js │ │ │ │ ├── index.html │ │ │ │ ├── package.json │ │ │ │ ├── src │ │ │ │ │ ├── app.js │ │ │ │ │ ├── assets │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ ├── 1.jpg │ │ │ │ │ │ │ └── react.jpg │ │ │ │ │ │ └── react.jpg │ │ │ │ │ ├── common │ │ │ │ │ │ └── util.js │ │ │ │ │ ├── components │ │ │ │ │ │ └── a.js │ │ │ │ │ ├── css │ │ │ │ │ │ ├── base.less │ │ │ │ │ │ ├── common.less │ │ │ │ │ │ └── components │ │ │ │ │ │ │ └── a.less │ │ │ │ │ └── lib │ │ │ │ │ │ └── jquery.min.js │ │ │ │ └── webpack.config.js │ │ │ ├── 07、区分开发环境和生产环境 │ │ │ │ ├── .babelrc │ │ │ │ ├── build │ │ │ │ │ ├── webpack.common.conf.js │ │ │ │ │ ├── webpack.dev.conf.js │ │ │ │ │ └── webpack.prod.conf.js │ │ │ │ ├── css.transform.js │ │ │ │ ├── index.html │ │ │ │ ├── package.json │ │ │ │ ├── src │ │ │ │ │ ├── app.js │ │ │ │ │ ├── assets │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ ├── 1.jpg │ │ │ │ │ │ │ └── react.jpg │ │ │ │ │ │ └── react.jpg │ │ │ │ │ ├── common │ │ │ │ │ │ └── util.js │ │ │ │ │ ├── components │ │ │ │ │ │ └── a.js │ │ │ │ │ ├── css │ │ │ │ │ │ ├── base.less │ │ │ │ │ │ ├── common.less │ │ │ │ │ │ └── components │ │ │ │ │ │ │ └── a.less │ │ │ │ │ └── lib │ │ │ │ │ │ └── jquery.min.js │ │ │ │ └── webpack.config.js │ │ │ ├── 08、使用middleware搭建开发环境 │ │ │ │ ├── .babelrc │ │ │ │ ├── build │ │ │ │ │ ├── proxy.js │ │ │ │ │ ├── server.js │ │ │ │ │ ├── webpack.common.conf.js │ │ │ │ │ ├── webpack.dev.conf.js │ │ │ │ │ └── webpack.prod.conf.js │ │ │ │ ├── css.transform.js │ │ │ │ ├── index.html │ │ │ │ ├── package.json │ │ │ │ ├── src │ │ │ │ │ ├── app.js │ │ │ │ │ ├── assets │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ ├── 1.jpg │ │ │ │ │ │ │ └── react.jpg │ │ │ │ │ │ └── react.jpg │ │ │ │ │ ├── common │ │ │ │ │ │ └── util.js │ │ │ │ │ ├── components │ │ │ │ │ │ └── a.js │ │ │ │ │ ├── css │ │ │ │ │ │ ├── base.less │ │ │ │ │ │ ├── common.less │ │ │ │ │ │ └── components │ │ │ │ │ │ │ └── a.less │ │ │ │ │ └── lib │ │ │ │ │ │ └── jquery.min.js │ │ │ │ └── webpack.config.js │ │ │ └── README.md │ │ ├── 04、webpack实战场景 │ │ │ ├── 02、打包速度优化 │ │ │ │ └── webpack.dll.conf.js │ │ │ ├── 03、长缓存优化 │ │ │ │ ├── common_img │ │ │ │ │ ├── 01.png │ │ │ │ │ └── 02.png │ │ │ │ ├── src │ │ │ │ │ ├── async.js │ │ │ │ │ ├── foo.js │ │ │ │ │ └── modules.js │ │ │ │ └── webpack.config.js │ │ │ ├── 04、webpack多页面应用 │ │ │ │ ├── src │ │ │ │ │ ├── components │ │ │ │ │ │ └── module.js │ │ │ │ │ ├── css │ │ │ │ │ │ ├── a.css │ │ │ │ │ │ ├── b.css │ │ │ │ │ │ └── c.css │ │ │ │ │ ├── index.html │ │ │ │ │ └── pages │ │ │ │ │ │ ├── a.js │ │ │ │ │ │ ├── b.js │ │ │ │ │ │ └── c.js │ │ │ │ ├── webpack.config.js │ │ │ │ └── webpack.config.single.js │ │ │ └── README.md │ │ ├── 05、webpack优化问题 │ │ │ ├── 01、图片处理.md │ │ │ ├── 02、pre-commit限制提交检测.md │ │ │ ├── 03、prettier和lint检测.md │ │ │ ├── 04、优化插件.md │ │ │ └── 05、优化打包速度.md │ │ ├── 06、其他 │ │ │ ├── 01、Tree-Shaking攻略 │ │ │ │ └── 01、Tree-Shaking攻略.md │ │ │ ├── 02、五个易混淆的概念 │ │ │ │ └── 02、五个易混淆的概念.md │ │ │ └── 03、重学webpack4重要知识点 │ │ │ │ ├── 01、打包es6 │ │ │ │ └── 01、打包es6.md │ │ │ │ └── 03、重学webpack4重要知识点.md │ │ └── README.md │ ├── 11、测试专题 │ │ ├── 01篇、javascript单元测试框架mochajs详解 │ │ │ ├── 01、最简单的一个例子.js │ │ │ ├── 02、动态生成测试.js │ │ │ ├── 03、超时时间的问题.js │ │ │ ├── 04、第一个demo.js │ │ │ ├── 05、slow的使用.js │ │ │ ├── 06、生命周期中加入异步的示例.js │ │ │ └── REAMDE.md │ │ ├── 02篇、断言库chai │ │ │ ├── README.md │ │ │ └── index.test.js │ │ ├── 03篇、代码覆盖率工具Istanbul入门教程 │ │ │ ├── README.md │ │ │ ├── img │ │ │ │ └── 01.png │ │ │ ├── index.test.js │ │ │ ├── simple.js │ │ │ └── sqrt.js │ │ ├── 04篇、node层服务端api接口测试 │ │ │ └── README.md │ │ ├── 05篇、TypeScript测试 │ │ │ └── REAMDE.md │ │ ├── 06篇、Jest测试框架 │ │ │ ├── 01、基础篇.md │ │ │ ├── 02、进阶使用篇.md │ │ │ ├── img │ │ │ │ └── 1.png │ │ │ ├── readme.md │ │ │ └── 其他细碎知识点.md │ │ ├── 07、react测试:jest+enzyme │ │ │ ├── 01、jsx接入测试.md │ │ │ ├── 02、tsx接入测试.md │ │ │ ├── 03、其他.md │ │ │ ├── img │ │ │ │ └── 1.png │ │ │ └── readme.md │ │ ├── README.md │ │ └── 其他 │ │ │ └── 01、mocha测试post和get请求 │ │ │ └── README.md │ ├── 12、深入浅出MySQL 数据库开发 优化与管理维护 │ │ ├── 01部分、基础篇 │ │ │ ├── 02、sql基础 │ │ │ │ └── 常用sql语句.sql │ │ │ └── README.md │ │ ├── README.md │ │ └── 其他 │ │ │ └── readme.md │ ├── 13、Linux相关知识点 │ │ ├── 01、基础部分 │ │ │ └── README.md │ │ ├── 02、应用服务部分 │ │ │ └── README.md │ │ ├── 03、数据库服务 │ │ │ └── README.md │ │ ├── 04、其他服务 │ │ │ └── README.md │ │ ├── 05、shell │ │ │ ├── 01、基础篇 │ │ │ │ ├── 01、入门.md │ │ │ │ ├── 02、运算符.md │ │ │ │ ├── 03、字符串和数组.md │ │ │ │ ├── 04、条件控制.md │ │ │ │ ├── 05、函数.md │ │ │ │ ├── 06、其他.md │ │ │ │ └── demo │ │ │ │ │ ├── 01_01_test.sh │ │ │ │ │ └── 02_01_关系运算符.sh │ │ │ └── readme.md │ │ ├── 06、vim │ │ │ ├── 1.txt │ │ │ └── readme.md │ │ ├── 07、nginx │ │ │ ├── docs │ │ │ │ └── 01、基础入门.md │ │ │ └── readme.md │ │ ├── 08、CI&CD │ │ │ ├── .gitkeep │ │ │ └── readme.md │ │ ├── README.md │ │ ├── img │ │ │ ├── 01.png │ │ │ ├── 02.png │ │ │ └── 03.png │ │ └── 其他 │ │ │ ├── 01、apt-get查看版本以及安装指定版本软件 │ │ │ └── readme.md │ │ │ ├── 02、apt-get如何靠谱的安装nvm │ │ │ └── readme.md │ │ │ ├── 03、centos7安装zsh │ │ │ └── readme.md │ │ │ ├── 04、centos7安装nvm │ │ │ └── readme.md │ │ │ ├── 05、timedatectl工具 │ │ │ └── readme.md │ │ │ ├── 06、通过命令行合并多个分支 │ │ │ └── merge.sh │ │ │ └── 07、快速上网 │ │ │ └── readme.md │ ├── 14、docker&Devops │ │ ├── code │ │ │ ├── Kubernetes之年.md │ │ │ ├── Minikube的安装.md │ │ │ ├── chapter3 │ │ │ │ ├── Vagrantfile │ │ │ │ ├── labs │ │ │ │ │ ├── cmd_vs_entrypoint │ │ │ │ │ │ └── Dockerfile │ │ │ │ │ ├── docker-centos-vim │ │ │ │ │ │ └── Dockerfile │ │ │ │ │ ├── docker-python │ │ │ │ │ │ └── Dockerfile │ │ │ │ │ ├── flask-hello-world │ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ │ └── app.py │ │ │ │ │ ├── hello-world │ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ │ ├── hello │ │ │ │ │ │ └── hello.c │ │ │ │ │ └── ubuntu-stress │ │ │ │ │ │ └── Dockerfile │ │ │ │ └── setup.sh │ │ │ ├── chapter4 │ │ │ │ ├── Vagrantfile │ │ │ │ ├── labs │ │ │ │ │ ├── flask-redis │ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ │ ├── app.py │ │ │ │ │ │ └── multi-host-network.md │ │ │ │ │ └── labs │ │ │ │ │ │ ├── docker-nginx │ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ │ └── index.html │ │ │ │ │ │ ├── flask-hello-world │ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ │ ├── manage.py │ │ │ │ │ │ └── test │ │ │ │ │ │ └── flask-skeleton │ │ │ │ │ │ ├── .coveragerc │ │ │ │ │ │ ├── .gitignore │ │ │ │ │ │ ├── .gitlab-ci.yml │ │ │ │ │ │ ├── .gitlab │ │ │ │ │ │ ├── issue_templates │ │ │ │ │ │ │ ├── Bug.md │ │ │ │ │ │ │ └── Feature.md │ │ │ │ │ │ └── merge_request_templates │ │ │ │ │ │ │ └── default.md │ │ │ │ │ │ ├── CONTRIBUTING.md │ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── doc │ │ │ │ │ │ ├── Makefile │ │ │ │ │ │ ├── make.bat │ │ │ │ │ │ └── source │ │ │ │ │ │ │ ├── _static │ │ │ │ │ │ │ └── .placeholder │ │ │ │ │ │ │ ├── _templates │ │ │ │ │ │ │ └── .placeholder │ │ │ │ │ │ │ ├── conf.py │ │ │ │ │ │ │ └── index.rst │ │ │ │ │ │ ├── manage.py │ │ │ │ │ │ ├── migrations │ │ │ │ │ │ ├── README │ │ │ │ │ │ ├── alembic.ini │ │ │ │ │ │ ├── env.py │ │ │ │ │ │ └── script.py.mako │ │ │ │ │ │ ├── requirements.txt │ │ │ │ │ │ ├── scripts │ │ │ │ │ │ ├── deploy.sh │ │ │ │ │ │ └── dev.sh │ │ │ │ │ │ ├── skeleton │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── client │ │ │ │ │ │ │ ├── static │ │ │ │ │ │ │ │ ├── main.css │ │ │ │ │ │ │ │ └── main.js │ │ │ │ │ │ │ └── templates │ │ │ │ │ │ │ │ ├── _base.html │ │ │ │ │ │ │ │ ├── errors │ │ │ │ │ │ │ │ ├── 401.html │ │ │ │ │ │ │ │ ├── 403.html │ │ │ │ │ │ │ │ ├── 404.html │ │ │ │ │ │ │ │ └── 500.html │ │ │ │ │ │ │ │ ├── footer.html │ │ │ │ │ │ │ │ ├── header.html │ │ │ │ │ │ │ │ ├── main │ │ │ │ │ │ │ │ ├── about.html │ │ │ │ │ │ │ │ └── home.html │ │ │ │ │ │ │ │ └── user │ │ │ │ │ │ │ │ ├── login.html │ │ │ │ │ │ │ │ ├── members.html │ │ │ │ │ │ │ │ └── register.html │ │ │ │ │ │ └── server │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── config.py │ │ │ │ │ │ │ ├── main │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ └── views.py │ │ │ │ │ │ │ ├── models.py │ │ │ │ │ │ │ └── user │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── forms.py │ │ │ │ │ │ │ └── views.py │ │ │ │ │ │ ├── test-requirements.txt │ │ │ │ │ │ ├── tests │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── base.py │ │ │ │ │ │ ├── test_config.py │ │ │ │ │ │ ├── test_main.py │ │ │ │ │ │ └── test_user.py │ │ │ │ │ │ └── tox.ini │ │ │ │ ├── multi-host-network.md │ │ │ │ └── setup.sh │ │ │ ├── chapter5 │ │ │ │ ├── Vagrantfile │ │ │ │ ├── labs │ │ │ │ │ ├── docker-nginx │ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── flask-hello-world │ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ │ ├── manage.py │ │ │ │ │ │ └── test │ │ │ │ │ └── flask-skeleton │ │ │ │ │ │ ├── .coveragerc │ │ │ │ │ │ ├── .gitignore │ │ │ │ │ │ ├── .gitlab-ci.yml │ │ │ │ │ │ ├── .gitlab │ │ │ │ │ │ ├── issue_templates │ │ │ │ │ │ │ ├── Bug.md │ │ │ │ │ │ │ └── Feature.md │ │ │ │ │ │ └── merge_request_templates │ │ │ │ │ │ │ └── default.md │ │ │ │ │ │ ├── CONTRIBUTING.md │ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── doc │ │ │ │ │ │ ├── Makefile │ │ │ │ │ │ ├── make.bat │ │ │ │ │ │ └── source │ │ │ │ │ │ │ ├── _static │ │ │ │ │ │ │ └── .placeholder │ │ │ │ │ │ │ ├── _templates │ │ │ │ │ │ │ └── .placeholder │ │ │ │ │ │ │ ├── conf.py │ │ │ │ │ │ │ └── index.rst │ │ │ │ │ │ ├── manage.py │ │ │ │ │ │ ├── migrations │ │ │ │ │ │ ├── README │ │ │ │ │ │ ├── alembic.ini │ │ │ │ │ │ ├── env.py │ │ │ │ │ │ └── script.py.mako │ │ │ │ │ │ ├── requirements.txt │ │ │ │ │ │ ├── scripts │ │ │ │ │ │ ├── deploy.sh │ │ │ │ │ │ └── dev.sh │ │ │ │ │ │ ├── skeleton │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── client │ │ │ │ │ │ │ ├── static │ │ │ │ │ │ │ │ ├── main.css │ │ │ │ │ │ │ │ └── main.js │ │ │ │ │ │ │ └── templates │ │ │ │ │ │ │ │ ├── _base.html │ │ │ │ │ │ │ │ ├── errors │ │ │ │ │ │ │ │ ├── 401.html │ │ │ │ │ │ │ │ ├── 403.html │ │ │ │ │ │ │ │ ├── 404.html │ │ │ │ │ │ │ │ └── 500.html │ │ │ │ │ │ │ │ ├── footer.html │ │ │ │ │ │ │ │ ├── header.html │ │ │ │ │ │ │ │ ├── main │ │ │ │ │ │ │ │ ├── about.html │ │ │ │ │ │ │ │ └── home.html │ │ │ │ │ │ │ │ └── user │ │ │ │ │ │ │ │ ├── login.html │ │ │ │ │ │ │ │ ├── members.html │ │ │ │ │ │ │ │ └── register.html │ │ │ │ │ │ └── server │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── config.py │ │ │ │ │ │ │ ├── main │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ └── views.py │ │ │ │ │ │ │ ├── models.py │ │ │ │ │ │ │ └── user │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── forms.py │ │ │ │ │ │ │ └── views.py │ │ │ │ │ │ ├── test-requirements.txt │ │ │ │ │ │ ├── tests │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── base.py │ │ │ │ │ │ ├── test_config.py │ │ │ │ │ │ ├── test_main.py │ │ │ │ │ │ └── test_user.py │ │ │ │ │ │ └── tox.ini │ │ │ │ └── setup.sh │ │ │ ├── chapter6 │ │ │ │ ├── Vagrantfile │ │ │ │ ├── labs │ │ │ │ │ ├── example-voting-app │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── architecture.png │ │ │ │ │ │ ├── docker-compose.yml │ │ │ │ │ │ ├── result-app │ │ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ ├── server.js │ │ │ │ │ │ │ └── views │ │ │ │ │ │ │ │ ├── angular.min.js │ │ │ │ │ │ │ │ ├── app.js │ │ │ │ │ │ │ │ ├── faker.js │ │ │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ │ │ ├── socket.io.js │ │ │ │ │ │ │ │ └── stylesheets │ │ │ │ │ │ │ │ └── style.css │ │ │ │ │ │ ├── voting-app │ │ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ │ │ ├── app.py │ │ │ │ │ │ │ ├── requirements.txt │ │ │ │ │ │ │ ├── static │ │ │ │ │ │ │ │ ├── faker.js │ │ │ │ │ │ │ │ ├── font-awesome │ │ │ │ │ │ │ │ │ ├── css │ │ │ │ │ │ │ │ │ │ ├── font-awesome.css │ │ │ │ │ │ │ │ │ │ └── font-awesome.min.css │ │ │ │ │ │ │ │ │ └── fonts │ │ │ │ │ │ │ │ │ │ ├── FontAwesome.otf │ │ │ │ │ │ │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ │ │ │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ │ │ │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ │ │ │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ │ │ │ │ │ │ └── fontawesome-webfont.woff2 │ │ │ │ │ │ │ │ ├── jquery.cookie.min.js │ │ │ │ │ │ │ │ ├── jquery.min.js │ │ │ │ │ │ │ │ └── stylesheets │ │ │ │ │ │ │ │ │ └── style.css │ │ │ │ │ │ │ ├── templates │ │ │ │ │ │ │ │ └── index.html │ │ │ │ │ │ │ └── utils │ │ │ │ │ │ │ │ └── __init__.py │ │ │ │ │ │ └── worker │ │ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ │ │ ├── pom.xml │ │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── main │ │ │ │ │ │ │ └── java │ │ │ │ │ │ │ └── worker │ │ │ │ │ │ │ └── Worker.java │ │ │ │ │ ├── flask-redis │ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ │ ├── app.py │ │ │ │ │ │ └── docker-compose.yml │ │ │ │ │ ├── lb-scale │ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ │ ├── app.py │ │ │ │ │ │ └── docker-compose.yml │ │ │ │ │ └── wordpress │ │ │ │ │ │ └── docker-compose.yml │ │ │ │ └── setup.sh │ │ │ ├── chapter7 │ │ │ │ ├── README.md │ │ │ │ ├── Vagrantfile │ │ │ │ ├── labs │ │ │ │ │ ├── example-vote-app │ │ │ │ │ │ └── docker-compose.yml │ │ │ │ │ ├── secret-example │ │ │ │ │ │ ├── docker-compose.yml │ │ │ │ │ │ └── password │ │ │ │ │ └── wordpress │ │ │ │ │ │ └── docker-compose.yml │ │ │ │ └── setup.sh │ │ │ ├── chapter8 │ │ │ │ ├── Vagrantfile │ │ │ │ └── labs │ │ │ │ │ └── flask-skeleton │ │ │ │ │ ├── .coveragerc │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── .gitlab-ci.yml │ │ │ │ │ ├── CONTRIBUTING.md │ │ │ │ │ ├── Dockerfile │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── doc │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── make.bat │ │ │ │ │ └── source │ │ │ │ │ │ ├── _static │ │ │ │ │ │ └── .placeholder │ │ │ │ │ │ ├── _templates │ │ │ │ │ │ └── .placeholder │ │ │ │ │ │ ├── conf.py │ │ │ │ │ │ └── index.rst │ │ │ │ │ ├── manage.py │ │ │ │ │ ├── migrations │ │ │ │ │ ├── README │ │ │ │ │ ├── alembic.ini │ │ │ │ │ ├── env.py │ │ │ │ │ └── script.py.mako │ │ │ │ │ ├── requirements.txt │ │ │ │ │ ├── scripts │ │ │ │ │ ├── deploy.sh │ │ │ │ │ └── dev.sh │ │ │ │ │ ├── skeleton │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── client │ │ │ │ │ │ ├── static │ │ │ │ │ │ │ ├── main.css │ │ │ │ │ │ │ └── main.js │ │ │ │ │ │ └── templates │ │ │ │ │ │ │ ├── _base.html │ │ │ │ │ │ │ ├── errors │ │ │ │ │ │ │ ├── 401.html │ │ │ │ │ │ │ ├── 403.html │ │ │ │ │ │ │ ├── 404.html │ │ │ │ │ │ │ └── 500.html │ │ │ │ │ │ │ ├── footer.html │ │ │ │ │ │ │ ├── header.html │ │ │ │ │ │ │ ├── main │ │ │ │ │ │ │ ├── about.html │ │ │ │ │ │ │ └── home.html │ │ │ │ │ │ │ └── user │ │ │ │ │ │ │ ├── login.html │ │ │ │ │ │ │ ├── members.html │ │ │ │ │ │ │ └── register.html │ │ │ │ │ └── server │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── config.py │ │ │ │ │ │ ├── main │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── views.py │ │ │ │ │ │ ├── models.py │ │ │ │ │ │ └── user │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── forms.py │ │ │ │ │ │ └── views.py │ │ │ │ │ ├── test-requirements.txt │ │ │ │ │ ├── tests │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── base.py │ │ │ │ │ ├── test_config.py │ │ │ │ │ ├── test_main.py │ │ │ │ │ └── test_user.py │ │ │ │ │ └── tox.ini │ │ │ ├── chapter9 │ │ │ │ ├── gif │ │ │ │ │ └── k8s-dashboard.png │ │ │ │ ├── labs │ │ │ │ │ ├── deployment │ │ │ │ │ │ └── deployment_nginx.yml │ │ │ │ │ ├── pod-basic │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── pod_busybox.yml │ │ │ │ │ │ └── pod_nginx.yml │ │ │ │ │ ├── replicas-set │ │ │ │ │ │ ├── rc_nginx.yml │ │ │ │ │ │ └── rs_nginx.yml │ │ │ │ │ └── services │ │ │ │ │ │ ├── pod_busybox.yml │ │ │ │ │ │ ├── pod_nginx.yml │ │ │ │ │ │ └── service_nginx.yml │ │ │ │ └── tectonic-sandbox-1.7.5-tectonic.1 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── Vagrantfile │ │ │ │ │ └── provisioning │ │ │ │ │ ├── config-controller-1.img │ │ │ │ │ ├── config-controller-1.vmdk │ │ │ │ │ ├── config-worker-1.img │ │ │ │ │ ├── config-worker-1.vmdk │ │ │ │ │ ├── controller.clc │ │ │ │ │ ├── controller.ign │ │ │ │ │ ├── controller.ign.merged │ │ │ │ │ ├── etc │ │ │ │ │ ├── kubernetes │ │ │ │ │ │ └── kubeconfig │ │ │ │ │ └── ssl │ │ │ │ │ │ └── etcd │ │ │ │ │ │ ├── ca.crt │ │ │ │ │ │ ├── peer.crt │ │ │ │ │ │ ├── peer.pem │ │ │ │ │ │ ├── server.crt │ │ │ │ │ │ └── server.key │ │ │ │ │ ├── tectonic-startup.sh │ │ │ │ │ ├── tectonic │ │ │ │ │ ├── auth │ │ │ │ │ │ └── kubeconfig │ │ │ │ │ ├── bootkube.sh │ │ │ │ │ ├── bootstrap-manifests │ │ │ │ │ │ ├── bootstrap-apiserver.yaml │ │ │ │ │ │ ├── bootstrap-controller-manager.yaml │ │ │ │ │ │ └── bootstrap-scheduler.yaml │ │ │ │ │ ├── manifests │ │ │ │ │ │ ├── kube-apiserver-secret.yaml │ │ │ │ │ │ ├── kube-apiserver.yaml │ │ │ │ │ │ ├── kube-cloud-config.yaml │ │ │ │ │ │ ├── kube-controller-manager-disruption.yaml │ │ │ │ │ │ ├── kube-controller-manager-secret.yaml │ │ │ │ │ │ ├── kube-controller-manager.yaml │ │ │ │ │ │ ├── kube-dns.yaml │ │ │ │ │ │ ├── kube-flannel.yaml │ │ │ │ │ │ ├── kube-proxy.yaml │ │ │ │ │ │ ├── kube-scheduler-disruption.yaml │ │ │ │ │ │ ├── kube-scheduler.yaml │ │ │ │ │ │ ├── kube-system-rbac-role-binding.yaml │ │ │ │ │ │ └── pod-checkpointer.yaml │ │ │ │ │ ├── tectonic-rkt.sh │ │ │ │ │ ├── tectonic.sh │ │ │ │ │ ├── tectonic │ │ │ │ │ │ ├── config.yaml │ │ │ │ │ │ ├── console │ │ │ │ │ │ │ ├── deployment.yaml │ │ │ │ │ │ │ └── service.yaml │ │ │ │ │ │ ├── etcd │ │ │ │ │ │ │ └── etcd-operator.yaml │ │ │ │ │ │ ├── heapster │ │ │ │ │ │ │ ├── deployment.yaml │ │ │ │ │ │ │ └── service.yaml │ │ │ │ │ │ ├── identity │ │ │ │ │ │ │ ├── configmap.yaml │ │ │ │ │ │ │ ├── deployment.yaml │ │ │ │ │ │ │ └── services.yaml │ │ │ │ │ │ ├── ingress │ │ │ │ │ │ │ ├── default-backend │ │ │ │ │ │ │ │ ├── configmap.yaml │ │ │ │ │ │ │ │ ├── deployment.yaml │ │ │ │ │ │ │ │ └── service.yaml │ │ │ │ │ │ │ ├── hostport │ │ │ │ │ │ │ │ ├── daemonset.yaml │ │ │ │ │ │ │ │ └── service.yaml │ │ │ │ │ │ │ ├── ingress.yaml │ │ │ │ │ │ │ └── nodeport │ │ │ │ │ │ │ │ ├── deployment.yaml │ │ │ │ │ │ │ │ └── service.yaml │ │ │ │ │ │ ├── namespace.yaml │ │ │ │ │ │ ├── rbac │ │ │ │ │ │ │ ├── binding-admin.yaml │ │ │ │ │ │ │ ├── binding-discovery.yaml │ │ │ │ │ │ │ ├── role-admin.yaml │ │ │ │ │ │ │ └── role-user.yaml │ │ │ │ │ │ ├── secrets │ │ │ │ │ │ │ ├── ca-cert.yaml │ │ │ │ │ │ │ ├── identity-grpc-client.yaml │ │ │ │ │ │ │ ├── identity-grpc-server.yaml │ │ │ │ │ │ │ ├── ingress-tls.yaml │ │ │ │ │ │ │ ├── license.json │ │ │ │ │ │ │ └── pull.json │ │ │ │ │ │ ├── stats-emitter.yaml │ │ │ │ │ │ └── updater │ │ │ │ │ │ │ ├── app-version-kind.yaml │ │ │ │ │ │ │ ├── app_versions │ │ │ │ │ │ │ ├── app-version-kubernetes.yaml │ │ │ │ │ │ │ ├── app-version-tectonic-cluo.yaml │ │ │ │ │ │ │ ├── app-version-tectonic-cluster.yaml │ │ │ │ │ │ │ ├── app-version-tectonic-etcd.yaml │ │ │ │ │ │ │ └── app-version-tectonic-monitoring.yaml │ │ │ │ │ │ │ ├── cluster-config.yaml │ │ │ │ │ │ │ ├── migration-status-kind.yaml │ │ │ │ │ │ │ ├── node-agent.yaml │ │ │ │ │ │ │ ├── operators │ │ │ │ │ │ │ ├── kube-version-operator.yaml │ │ │ │ │ │ │ ├── tectonic-channel-operator.yaml │ │ │ │ │ │ │ ├── tectonic-cluo-operator.yaml │ │ │ │ │ │ │ ├── tectonic-etcd-operator.yaml │ │ │ │ │ │ │ └── tectonic-prometheus-operator.yaml │ │ │ │ │ │ │ ├── tectonic-channel-operator-config.yaml │ │ │ │ │ │ │ ├── tectonic-channel-operator-kind.yaml │ │ │ │ │ │ │ └── tectonic-monitoring-config.yaml │ │ │ │ │ └── tls │ │ │ │ │ │ ├── apiserver.crt │ │ │ │ │ │ ├── apiserver.key │ │ │ │ │ │ ├── ca.crt │ │ │ │ │ │ ├── ca.key │ │ │ │ │ │ ├── etcd-client-ca.crt │ │ │ │ │ │ ├── etcd-client.crt │ │ │ │ │ │ ├── etcd-client.key │ │ │ │ │ │ ├── etcd │ │ │ │ │ │ ├── peer.crt │ │ │ │ │ │ ├── peer.key │ │ │ │ │ │ ├── server.crt │ │ │ │ │ │ └── server.key │ │ │ │ │ │ ├── kubelet.crt │ │ │ │ │ │ ├── kubelet.key │ │ │ │ │ │ ├── service-account.key │ │ │ │ │ │ └── service-account.pub │ │ │ │ │ ├── templates │ │ │ │ │ ├── ca-cert.tmpl │ │ │ │ │ ├── config.tmpl │ │ │ │ │ ├── configmap.tmpl │ │ │ │ │ ├── identity-grpc-client.tmpl │ │ │ │ │ ├── identity-grpc-server.tmpl │ │ │ │ │ ├── ingress-tls.tmpl │ │ │ │ │ ├── kube-apiserver-secret.tmpl │ │ │ │ │ ├── kube-controller-manager-secret.tmpl │ │ │ │ │ ├── kubeconfig.tmpl │ │ │ │ │ └── tectonic-monitoring-auth-secret.tmpl │ │ │ │ │ ├── worker.clc │ │ │ │ │ ├── worker.ign │ │ │ │ │ └── worker.ign.merged │ │ │ └── 实验环境常见问题汇总.md │ │ ├── docs │ │ │ ├── 00、其他 │ │ │ │ ├── 01、处理vagrant下载镜像包过慢的情况处理 │ │ │ │ │ └── readme.md │ │ │ │ └── 02、处理docker 启动mysql 后远程无法访问 │ │ │ │ │ └── readme.md │ │ │ ├── 01、docker环境搭建 │ │ │ │ ├── Vagrantfile │ │ │ │ └── readme.md │ │ │ ├── 02、docker容器与镜像 │ │ │ │ ├── Vagrantfile │ │ │ │ ├── flask-hello-world │ │ │ │ │ ├── Dockerfile │ │ │ │ │ └── app.py │ │ │ │ ├── node-hello-world │ │ │ │ │ ├── Dockerfile │ │ │ │ │ └── server.js │ │ │ │ ├── readme.md │ │ │ │ └── setup.sh │ │ │ ├── 03、docker网络 │ │ │ │ ├── Vagrantfile │ │ │ │ ├── labs │ │ │ │ │ ├── flask-redis │ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ │ ├── app.py │ │ │ │ │ │ └── multi-host-network.md │ │ │ │ │ └── labs │ │ │ │ │ │ ├── docker-nginx │ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ │ └── index.html │ │ │ │ │ │ ├── flask-hello-world │ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ │ ├── manage.py │ │ │ │ │ │ └── test │ │ │ │ │ │ └── flask-skeleton │ │ │ │ │ │ ├── .coveragerc │ │ │ │ │ │ ├── .gitignore │ │ │ │ │ │ ├── .gitlab-ci.yml │ │ │ │ │ │ ├── .gitlab │ │ │ │ │ │ ├── issue_templates │ │ │ │ │ │ │ ├── Bug.md │ │ │ │ │ │ │ └── Feature.md │ │ │ │ │ │ └── merge_request_templates │ │ │ │ │ │ │ └── default.md │ │ │ │ │ │ ├── CONTRIBUTING.md │ │ │ │ │ │ ├── Dockerfile │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── doc │ │ │ │ │ │ ├── Makefile │ │ │ │ │ │ ├── make.bat │ │ │ │ │ │ └── source │ │ │ │ │ │ │ ├── _static │ │ │ │ │ │ │ └── .placeholder │ │ │ │ │ │ │ ├── _templates │ │ │ │ │ │ │ └── .placeholder │ │ │ │ │ │ │ ├── conf.py │ │ │ │ │ │ │ └── index.rst │ │ │ │ │ │ ├── manage.py │ │ │ │ │ │ ├── migrations │ │ │ │ │ │ ├── README │ │ │ │ │ │ ├── alembic.ini │ │ │ │ │ │ ├── env.py │ │ │ │ │ │ └── script.py.mako │ │ │ │ │ │ ├── requirements.txt │ │ │ │ │ │ ├── scripts │ │ │ │ │ │ ├── deploy.sh │ │ │ │ │ │ └── dev.sh │ │ │ │ │ │ ├── skeleton │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── client │ │ │ │ │ │ │ ├── static │ │ │ │ │ │ │ │ ├── main.css │ │ │ │ │ │ │ │ └── main.js │ │ │ │ │ │ │ └── templates │ │ │ │ │ │ │ │ ├── _base.html │ │ │ │ │ │ │ │ ├── errors │ │ │ │ │ │ │ │ ├── 401.html │ │ │ │ │ │ │ │ ├── 403.html │ │ │ │ │ │ │ │ ├── 404.html │ │ │ │ │ │ │ │ └── 500.html │ │ │ │ │ │ │ │ ├── footer.html │ │ │ │ │ │ │ │ ├── header.html │ │ │ │ │ │ │ │ ├── main │ │ │ │ │ │ │ │ ├── about.html │ │ │ │ │ │ │ │ └── home.html │ │ │ │ │ │ │ │ └── user │ │ │ │ │ │ │ │ ├── login.html │ │ │ │ │ │ │ │ ├── members.html │ │ │ │ │ │ │ │ └── register.html │ │ │ │ │ │ └── server │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── config.py │ │ │ │ │ │ │ ├── main │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ └── views.py │ │ │ │ │ │ │ ├── models.py │ │ │ │ │ │ │ └── user │ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ │ ├── forms.py │ │ │ │ │ │ │ └── views.py │ │ │ │ │ │ ├── test-requirements.txt │ │ │ │ │ │ ├── tests │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── base.py │ │ │ │ │ │ ├── test_config.py │ │ │ │ │ │ ├── test_main.py │ │ │ │ │ │ └── test_user.py │ │ │ │ │ │ └── tox.ini │ │ │ │ ├── multi-host-network.md │ │ │ │ ├── readme.md │ │ │ │ ├── readme1.md │ │ │ │ ├── readme2.md │ │ │ │ └── setup.sh │ │ │ ├── 04、docker持久化与数据共享 │ │ │ │ └── readme.md │ │ │ ├── 05、dockerCompose多容器部署 │ │ │ │ ├── readme.md │ │ │ │ └── wordpress │ │ │ │ │ └── docker-compose.yml │ │ │ ├── 06、Swarm │ │ │ │ └── readme.md │ │ │ └── 07、Kubenetes │ │ │ │ └── readme.md │ │ ├── imgs │ │ │ ├── 01.png │ │ │ ├── 02.png │ │ │ └── 03.png │ │ └── readme.md │ ├── 15、小程序 │ │ ├── images │ │ │ └── 1.png │ │ └── readme.md │ ├── 16、RXJS学习专题 │ │ ├── README.md │ │ └── docs │ │ │ ├── 01、基础整理.md │ │ │ ├── 02、RXJS入门.md │ │ │ ├── 03、操作符.md │ │ │ ├── 04、创建数据流.md │ │ │ ├── 05-01、合并数据流.md │ │ │ ├── 05-02、合并数据流 - 高阶操作.md │ │ │ ├── 06、数学类操作符.md │ │ │ ├── 07、过滤操作符.md │ │ │ ├── 08、转换数据流.md │ │ │ └── image │ │ │ └── 05-01.png │ ├── 17、微前端专题 │ │ └── readme.md │ ├── 18、好用的库与框架推荐 │ │ └── readme.md │ ├── 19、性能分析与性能优化 │ │ ├── readme.md │ │ └── 前端性能优化知识体系 │ │ │ └── readme.md │ ├── 20、flutter │ │ ├── 01、flutter从零到实战 │ │ │ ├── 01、初识Flutter │ │ │ │ └── README.md │ │ │ ├── 02、dart语法 │ │ │ │ ├── code │ │ │ │ │ ├── 01、demo.dart │ │ │ │ │ ├── 02、声明变量.dart │ │ │ │ │ ├── 03、非零即真.dart │ │ │ │ │ ├── 04、字符串类型.dart │ │ │ │ │ ├── 05、集合类型.dart │ │ │ │ │ ├── 06、函数的基本使用.dart │ │ │ │ │ ├── 07、函数的可选参数.dart │ │ │ │ │ ├── 08、函数是一等公民01.dart │ │ │ │ │ ├── 08、函数是一等公民02.dart │ │ │ │ │ ├── 09、赋值运算符.dart │ │ │ │ │ ├── 10、级联运算符.dart │ │ │ │ │ ├── 11、for循环.dart │ │ │ │ │ ├── 12、面向对象01_类的定义.dart │ │ │ │ │ ├── 12、面向对象02_类的构造函数.dart │ │ │ │ │ ├── 12、面向对象03_类的初始化列表.dart │ │ │ │ │ ├── 12、面向对象04_重定向构造函数.dart │ │ │ │ │ ├── 12、面向对象05_常量构造函数.dart │ │ │ │ │ ├── 12、面向对象06_工厂构造函数.dart │ │ │ │ │ ├── 12、面向对象07_getter与setter.dart │ │ │ │ │ ├── 12、面向对象08_继承.dart │ │ │ │ │ ├── 12、面向对象09_抽象类.dart │ │ │ │ │ ├── 12、面向对象10_隐式接口.dart │ │ │ │ │ └── 12、面向对象11_mixin混入的使用.dart │ │ │ │ └── readme.md │ │ │ ├── 03、HelloWorld │ │ │ │ ├── code │ │ │ │ │ ├── 01_helloworld.dart │ │ │ │ │ ├── 02_helloworld.dart │ │ │ │ │ ├── 03_同意协议.dart │ │ │ │ │ ├── 04_demo完整版.dart │ │ │ │ │ └── main.dart │ │ │ │ └── readme.md │ │ │ ├── 04、第一个flutter应用 │ │ │ │ ├── img.png │ │ │ │ └── readme.md │ │ │ ├── 05、基础组件 │ │ │ │ └── readme.md │ │ │ ├── 06、布局类组件 │ │ │ │ └── readme.md │ │ │ ├── 07、容器类组件 │ │ │ │ └── readme.md │ │ │ ├── 08、滚动组件 │ │ │ │ └── readme.md │ │ │ ├── 09、功能型Widget简介 │ │ │ │ └── readme.md │ │ │ ├── 10、事件处理与通知 │ │ │ │ └── readme.md │ │ │ └── readme.md │ │ ├── 02、flutter实战总结 │ │ │ └── readme.md │ │ └── README.md │ ├── 21、工程化专题 │ │ ├── .gitkeep │ │ └── README.md │ └── 22、chorme extensions │ │ ├── readmd.md │ │ ├── 【学习】【01】谷歌浏览器插件入门.md │ │ ├── 【学习】【02】谷歌浏览器插件 - 向三方网站里面注入自己的脚本.md │ │ ├── 【学习】【03】谷歌浏览器插件 - 掘金深度阅读模式.md │ │ └── 【实践】【01】实现一键复制掘金文章为Markdown文档.md ├── 发展与OKR │ ├── 01、发布的npm开源模块 │ │ └── .gitkeep │ ├── 02、在折腾的个人项目 │ │ ├── .gitkeep │ │ ├── 01、jsDeliver和github自制资管管理 │ │ │ └── README.md │ │ └── README.md │ ├── 03、研究的项目 │ │ ├── .gitkeep │ │ └── 01、vue项目实际开发总结 │ │ │ └── README.md │ ├── 04、研究的问题 │ │ └── .gitkeep │ ├── 05、源码研究 │ │ └── .gitkeep │ └── 06、自我管理 │ │ ├── 01、待研究知识 │ │ └── README.md │ │ ├── 02、规划 │ │ ├── 17年 │ │ │ └── 17年前端进阶计划.md │ │ ├── 18年 │ │ │ └── 18年计划书.md │ │ ├── 19年 │ │ │ └── 19年计划书.md │ │ ├── 2023年 │ │ │ └── README.md │ │ ├── 20年 │ │ │ └── 20年计划书.md │ │ ├── 21年 │ │ │ ├── 01、12.08_12.12 │ │ │ │ └── README.md │ │ │ ├── 02、12.15_12.19 │ │ │ │ └── README.md │ │ │ ├── 03、12.20-12.26 │ │ │ │ └── README.md │ │ │ └── README.md │ │ ├── 22年 │ │ │ ├── 01、01.03-01.09 │ │ │ │ └── README.md │ │ │ ├── 02、01.10-01.16 │ │ │ │ └── README.md │ │ │ ├── 03、01.17-01.23 │ │ │ │ └── README.md │ │ │ └── README.md │ │ └── README.md │ │ └── 03、思考 │ │ ├── 01、如何改变自己的命运? │ │ └── README.md │ │ ├── 02、为何富人越来越富,穷人越来越穷 │ │ └── README.md │ │ ├── 03、自由职业程序员(独立开发者)应该具备的技能与软硬综合能力 │ │ └── index.md │ │ └── README.md └── 知识库 │ ├── 01、前端技术知识 │ ├── 01、深入fetch │ │ ├── 01、XMLHttpRequest.js │ │ └── README.md │ ├── 02、Chrome调试技巧 │ │ └── readme.md │ ├── 03、移动端rem转换的办法和策略 │ │ └── README.md │ ├── 04、doT模板引擎基本语法 │ │ └── README.md │ ├── 05、flex布局的学习 │ │ ├── README.md │ │ └── demo │ │ │ ├── 01、flex-direction.html │ │ │ ├── 02、flex-wrap.html │ │ │ ├── 03、flex-flow.html │ │ │ ├── 04、justify-content.html │ │ │ ├── 05、align-items.html │ │ │ ├── 06、align-content.html │ │ │ └── 07、order.html │ ├── 06、handlebars使用大全 │ │ ├── 01、自定义行级helper.html │ │ ├── 02、自定义一个处理时间的helper.html │ │ ├── README.md │ │ └── h-myif.js │ ├── 07、handlebars-helpers主要使用说明和源码解析 │ │ └── README.md │ ├── 08、整理常见数组和字符串操作 │ │ ├── README.md │ │ └── index.js │ ├── 09、深入javascript中Math算数对象与精确到小数位的向上舍入和向下舍入解决办法 │ │ ├── README.md │ │ └── index.js │ ├── 10、关于图片预加载的研究 │ │ └── README.md │ ├── 11、移动端弹出层滚动时禁止body滚动,静止滚动 │ │ ├── README.md │ │ └── test.html │ ├── 12、css3新单位vw、vh、vmin、vmax的使用详解 │ │ ├── 01、一个简单的示例.html │ │ ├── 02、实现完整覆盖的遮罩层.html │ │ ├── 03、弹出框岁内容自适应.html │ │ ├── 04、弹窗大小随试图大小改变.html │ │ ├── 05、显示大图时限制其最大尺寸.html │ │ ├── 06、实现 Word 文档页面效果.html │ │ ├── README.md │ │ ├── flexible.js │ │ └── img.jpg │ ├── 13、关于JS的触摸方法研究 │ │ └── README.md │ ├── 14、关于屏幕高度,可见区域高度,目标元素高度,文档高度研究 │ │ └── README.md │ ├── 15、ts配置文件详解 │ │ ├── readme.md │ │ └── tsconfig.json │ ├── 16、点击链接下载的研究 │ │ ├── readme.md │ │ ├── timg.jpg │ │ └── 下载图片.html │ ├── 17、纯CSS实现多行文字截断 │ │ ├── 01、单行文本截断 text-overflow.html │ │ ├── 02、-webkit-line-clamp 实现.html │ │ ├── 03、定位元素实现多行文本截断.html │ │ ├── 04、float 特性实现多行文本截断.html │ │ └── readme.md │ ├── 18、webComponent │ │ ├── 04_01、入门示例教程Demo │ │ │ └── index.html │ │ └── README.md │ ├── 19、树形对象查找 │ │ ├── data.js │ │ ├── demo1.js │ │ └── readme.md │ ├── 20、js中的pipe │ │ └── readme.md │ ├── 21、axios的一些基本用法 │ │ └── README.md │ ├── 22、css加载会造成阻塞吗 │ │ └── index.md │ ├── 23、Object.assign()与深拷贝 │ │ ├── README.md │ │ └── index.js │ ├── 24、前端展示太长,截取为点点点 │ │ └── README.md │ ├── 25、thumbStyle │ │ ├── README.md │ │ ├── styleToCssString.js │ │ └── test.js │ ├── 26、复杂判断的优雅写法 │ │ └── README.md │ ├── 27.请求超时重试 │ │ ├── demo.html │ │ ├── demo.js │ │ ├── demo.ts │ │ ├── index.ts │ │ ├── readme.md │ │ └── step_1.ts │ ├── 28.TypeScript 内置的类型方法和工具类型 │ │ └── readme.md │ └── 29.100万个函数执行保证浏览器不卡 │ │ ├── badCase.html │ │ ├── goodCase.html │ │ ├── goodCase_requestIdleCallback.html │ │ ├── readme.md │ │ ├── webWorker.html │ │ └── worker.js │ ├── 02、技术生态圈 │ ├── 01、git常用命令汇总 │ │ └── README.md │ ├── 02、Commitizen(git-cz)配置 │ │ └── readme.md │ ├── 02、git使用SSH密匙配置 │ │ └── README.md │ ├── 03、brew常用命令行 │ │ └── README.md │ ├── 04、eslint配置文件eslintrc参数详解 │ │ └── README.md │ ├── 05、npm镜像源切换问题 │ │ └── README.md │ ├── 06、常用eslint配置 │ │ └── README.md │ ├── 07、常用tslint配置 │ │ └── README.md │ ├── 08、使用husky、prettier、lint、commitlint构建规范化项目实践 │ │ └── README.md │ ├── 09、eslint检测TS项目 │ │ └── README.md │ ├── 10、前端mock解决方案 │ │ └── README.md │ ├── 11、mac_Homebrew装包加速 │ │ └── readme.md │ ├── 12、git clone 太慢了的解决办法 │ │ └── readme.md │ ├── 13、Github实用技巧 │ │ ├── README.md │ │ ├── img.png │ │ ├── img_1.png │ │ ├── img_2.png │ │ ├── img_3.png │ │ ├── img_4.png │ │ ├── img_5.png │ │ ├── img_6.png │ │ └── img_8.png │ ├── 14、ChatGPT │ │ └── readme.md │ └── 15、GitHub如何选择合适的license │ │ └── README.md │ ├── 03、Node技术知识 │ ├── 02、node基础api_path │ │ ├── 01、path_normalize.js │ │ ├── 02、path_join.js │ │ ├── 03、path_resolve.js │ │ ├── 04、path_names.js │ │ ├── 05、path_parse&&format.js │ │ ├── 06、path_sep&&delimiter&&win32&&posix.js │ │ ├── 07、paths.js │ │ └── README.md │ ├── 03、node基础api_Buffer │ │ ├── 01、bufferinit.js │ │ ├── 02、buffer_class.js │ │ ├── 03、buffer_instance.js │ │ ├── 04、buffer_decode.js │ │ └── README.md │ ├── 04、node基础api_event │ │ ├── 01、event_base.js │ │ ├── 02、event_param.js │ │ ├── 03、event_once.js │ │ ├── 04、event_remove.js │ │ └── README.md │ ├── 05、node基础api_fs │ │ ├── 01、readFile.js │ │ ├── 02、writeFile.js │ │ ├── 03、stat.js │ │ ├── 04、rename.js │ │ ├── 05、unlink.js │ │ ├── 06、readdir.js │ │ ├── 07、mkdir.js │ │ ├── 08、rmdir.js │ │ ├── 09、watch.js │ │ ├── 10、readstream.js │ │ ├── 11、writestream.js │ │ ├── 12、promisify.js │ │ ├── README.md │ │ └── pages │ │ │ ├── main.js │ │ │ └── test.html │ ├── 06、单元测试 │ │ ├── 01、math.js │ │ ├── README.md │ │ └── test │ │ │ ├── 01、simple.js │ │ │ ├── 02、mocha.js │ │ │ └── 03、power-assert.js │ ├── 07、大型服务端项目测试和UT覆盖示例 │ │ ├── README.md │ │ └── test │ │ │ ├── api │ │ │ ├── action.js │ │ │ └── index.js │ │ │ ├── index.test.js │ │ │ ├── mocha.opts │ │ │ └── tool │ │ │ └── index.js │ ├── 08、前后端对称加解密解决方案 │ │ ├── README.md │ │ └── index.js │ ├── 09、封装日志输出模块 │ │ ├── README.md │ │ ├── index.js │ │ └── test.js │ ├── 10、node爬虫 │ │ ├── 01、使用puppeteer的一个简单例子.js │ │ ├── 02、puppeteer实现一个简单的github登录.js │ │ ├── 03、puppeteer实现截图.js │ │ ├── readme.md │ │ └── src │ │ │ ├── index.js │ │ │ └── spider1 │ │ │ ├── hotNews.js │ │ │ ├── index.js │ │ │ └── localNews.js │ ├── 11、从0构建一个TS-Node项目 │ │ └── README.md │ └── 1、commonjs │ │ ├── 03、require.js │ │ ├── 04、cache.js │ │ ├── 04、test.js │ │ ├── 1、run.js │ │ ├── 2、cusmod.js │ │ └── README.md │ ├── 04、日常采坑与记录 │ ├── 02、audio标签兼容性自动播放解决方案 │ │ ├── README.md │ │ └── index.js │ └── 03、填坑-输入中文时,拼音阶段会触发input事件 │ │ └── 03、填坑-输入中文时,拼音阶段会触发input事件.md │ ├── 05、优秀技术文档与前沿技术归档 │ ├── .gitkeep │ └── README.md │ ├── 06、优秀开源项目 │ ├── .gitkeep │ └── README.md │ └── 07、基础功能探索 │ └── 01、人民币大小写互换 │ ├── README.md │ ├── rmbHelper.js │ └── test.js ├── index.html ├── package.json ├── profile.md ├── static └── devblogs.svg └── tsconfig.json /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "env", 5 | { 6 | "targets": { 7 | "browsers": [ 8 | "> 1%", 9 | "last 2 versions" 10 | ] 11 | } 12 | } 13 | ] 14 | ] 15 | } -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.js linguist-language=TypeScript 2 | -------------------------------------------------------------------------------- /.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/.nojekyll -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | registry = https://registry.npm.taobao.org 2 | -------------------------------------------------------------------------------- /.yarnrc: -------------------------------------------------------------------------------- 1 | registry "https://registry.npm.taobao.org" 2 | -------------------------------------------------------------------------------- /_coverpage.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ![logo](https://avatars.githubusercontent.com/u/22188674) 4 | 5 | # YanLe 6 | 7 | > About 8 | 9 | 学习笔记、博文、简书、工作日常踩坑记录以及一些独立作品的汇总目录 10 | 11 | [GitHub](https://github.com/yanlele/node-index) 12 | [Get Started](#index) 13 | -------------------------------------------------------------------------------- /books/专题知识库/01、react专题/02、redux/04、redux/reduceres.js: -------------------------------------------------------------------------------- 1 | /** 2 | * create by yanle 3 | * create time 2018/12/11 下午4:29 4 | */ 5 | 6 | import counter from './reducers/counter'; 7 | 8 | export default function combineReducers(state={}, action) { 9 | return { 10 | counter: counter(state.counter, action) 11 | } 12 | } -------------------------------------------------------------------------------- /books/专题知识库/01、react专题/02、redux/04、redux/store.js: -------------------------------------------------------------------------------- 1 | /** 2 | * create by yanle 3 | * create time 2018/12/11 下午4:29 4 | */ 5 | 6 | import {createStore} from 'redux'; 7 | import combineReducers from './reduceres'; 8 | 9 | let store = createStore(combineReducers); 10 | 11 | export default store; -------------------------------------------------------------------------------- /books/专题知识库/01、react专题/02、redux/05、dva/readme.md: -------------------------------------------------------------------------------- 1 | # dva 的使用 2 | -------------------------------------------------------------------------------- /books/专题知识库/01、react专题/04、其他/02、构建/actions/modal.js: -------------------------------------------------------------------------------- 1 | export const UPDATE_MODAL = 'UPDATE_MODAL'; 2 | /* 3 | * action 创建函数 4 | */ 5 | export function modalUpdate(data) { 6 | return { 7 | type: UPDATE_MODAL, 8 | data 9 | }; 10 | } -------------------------------------------------------------------------------- /books/专题知识库/01、react专题/04、其他/02、构建/app.jsx: -------------------------------------------------------------------------------- 1 | //加载依赖 2 | import ReactDOM from 'react-dom'; 3 | //加载页面 4 | import appRouter from './router.jsx'; // 载入路由 5 | 6 | import {setTimeDiff} from './common/tool'; 7 | 8 | setTimeDiff(document.getElementById('app').getAttribute('data-date')); 9 | 10 | //创建路由 11 | ReactDOM.render( 12 | appRouter, 13 | document.getElementById('app') 14 | ); -------------------------------------------------------------------------------- /books/专题知识库/01、react专题/04、其他/02、构建/reducers/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Reducer - index 3 | * 汇总 4 | */ 5 | import {combineReducers} from 'redux'; 6 | import {routerReducer} from 'react-router-redux'; 7 | 8 | import modal from './modal'; 9 | import confirmPayment from './confirm_payment'; 10 | 11 | export default combineReducers({ 12 | modal, 13 | confirmPayment, 14 | routing: routerReducer 15 | }); 16 | -------------------------------------------------------------------------------- /books/专题知识库/01、react专题/04、其他/04、React.createRef()/README.md: -------------------------------------------------------------------------------- 1 | # React.createRef() 2 | 3 | 4 | 5 | 6 | 7 | ## 参考文章 8 | - [React学习笔记(三):引用(Refs)& DOM](https://blog.csdn.net/u013637262/article/details/80336992) 9 | -------------------------------------------------------------------------------- /books/专题知识库/01、react专题/04、其他/08、react新特性/01、Children和cloneElement的研究/PropsChild/Child/index.tsx: -------------------------------------------------------------------------------- 1 | import React, { FC } from 'react'; 2 | 3 | interface Props { 4 | name?: string; 5 | index?: number; 6 | } 7 | 8 | const Child: FC = props => { 9 | console.log('child.props output', props); 10 | 11 | return
我是children 组件
; 12 | }; 13 | 14 | export default Child; 15 | -------------------------------------------------------------------------------- /books/专题知识库/01、react专题/04、其他/08、react新特性/01、Children和cloneElement的研究/PropsChild/Parent/index.tsx: -------------------------------------------------------------------------------- 1 | import React, { FC, ReactElement, cloneElement } from 'react'; 2 | 3 | const Parent: FC = props => { 4 | return ( 5 | <> 6 |

我是parent 组件

7 | {props.children && 8 | cloneElement(props.children as ReactElement, { 9 | hello: '我是单个parent示例', 10 | })} 11 | 12 | ); 13 | }; 14 | 15 | export default Parent; 16 | -------------------------------------------------------------------------------- /books/专题知识库/01、react专题/img/react04-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/01、react专题/img/react04-01.png -------------------------------------------------------------------------------- /books/专题知识库/02、ECMAScript最新语法/13、其他知识点儿的总结/demo/01、Symbol.js: -------------------------------------------------------------------------------- 1 | var symbol1 = Symbol(); 2 | var symbol2 = Symbol("Alice"); 3 | console.log(symbol1, symbol2) // 输出:Symbol() Symbol(Alice) 4 | 5 | console.log(typeof Symbol("Alice")) // 输出:symbol 6 | -------------------------------------------------------------------------------- /books/专题知识库/02、ECMAScript最新语法/3、字符串的扩展/index.js: -------------------------------------------------------------------------------- 1 | var x = 1; 2 | var y = 2; 3 | `${x} + ${y} = ${x + y}` 4 | // "1 + 2 = 3" 5 | 6 | `${x} + ${y * 2} = ${x + y * 2}` 7 | // "1 + 4 = 5" 8 | 9 | var obj = {x: 1, y: 2}; 10 | `${obj.x + obj.y}` 11 | // 3 -------------------------------------------------------------------------------- /books/专题知识库/02、ECMAScript最新语法/4、数值的扩展和Math对象的扩展/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/02、ECMAScript最新语法/4、数值的扩展和Math对象的扩展/index.js -------------------------------------------------------------------------------- /books/专题知识库/02、ECMAScript最新语法/5、数组的扩展/test.js: -------------------------------------------------------------------------------- 1 | let arr = [12, 3, 4, 5, 6, 7, 8]; 2 | 3 | console.log(arr.includes(1)); 4 | -------------------------------------------------------------------------------- /books/专题知识库/03、css3专题/demo/animal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/03、css3专题/demo/animal.png -------------------------------------------------------------------------------- /books/专题知识库/04、js设计模式/02篇、创建型设计模式/03章、简单工程模式/demo2.js: -------------------------------------------------------------------------------- 1 | function createBook(name, time, type) { 2 | let o = new Object(); 3 | o.name = name; 4 | o.time = time; 5 | o.type = type; 6 | o.getName = function() { 7 | console.log(this.name); 8 | }; 9 | return o; 10 | } 11 | 12 | let book1 = createBook('js book', 2018, 'js'); 13 | let book2 = createBook('css book', 2017, 'css'); 14 | 15 | book1.getName(); 16 | book2.getName(); -------------------------------------------------------------------------------- /books/专题知识库/04、js设计模式/02篇、创建型设计模式/04章、工厂方法模式/2、安全模式类的错误示例.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/04、js设计模式/02篇、创建型设计模式/04章、工厂方法模式/2、安全模式类的错误示例.js -------------------------------------------------------------------------------- /books/专题知识库/04、js设计模式/02篇、创建型设计模式/04章、工厂方法模式/3、安全模式类的正确示例.js: -------------------------------------------------------------------------------- 1 | let Demo = function(){ 2 | if(!(this instanceof Demo)) { 3 | return new Demo(); 4 | } 5 | }; 6 | Demo.proptotype = { 7 | show() { 8 | console.log('获取成功'); 9 | } 10 | }; 11 | let d = new Demo(); 12 | d.show(); 13 | let d = Demo(); 14 | d.show(); 15 | -------------------------------------------------------------------------------- /books/专题知识库/04、js设计模式/02篇、创建型设计模式/05章、抽象工厂模式/01、手动抛出错误,模拟抽象类.js: -------------------------------------------------------------------------------- 1 | let Car = function() {}; 2 | Car.prototype = { 3 | getPrice() { 4 | return new Error('抽象方法不能被调用'); 5 | }, 6 | getSpeed() { 7 | return new Error('抽象方法不能被调用'); 8 | } 9 | }; -------------------------------------------------------------------------------- /books/专题知识库/04、js设计模式/02篇、创建型设计模式/08章、单例模式/01、一个滑动特效的例子.js: -------------------------------------------------------------------------------- 1 | function g(id) { 2 | return document.getElementById(id) 3 | } 4 | 5 | function css(id, key, value) { 6 | g(id).style[key] = value; 7 | } 8 | function attr(id, key, value) { 9 | g(id)[key] = value; 10 | } 11 | function html(id, value) { 12 | g(id).innerHeight = value; 13 | } 14 | -------------------------------------------------------------------------------- /books/专题知识库/04、js设计模式/02篇、创建型设计模式/08章、单例模式/02、通过命名空间优化.js: -------------------------------------------------------------------------------- 1 | let Le = { 2 | g(id) { 3 | return document.getElementById(id) 4 | }, 5 | css(id, key, value) { 6 | this.g(id).style[key] = value; 7 | }, 8 | attr(id, key, value) { 9 | this.g(id)[key] = value; 10 | }, 11 | html(id, value) { 12 | this.g(id).innerHeight = value; 13 | } 14 | }; -------------------------------------------------------------------------------- /books/专题知识库/04、js设计模式/02篇、创建型设计模式/08章、单例模式/03、无法改变的静态变量.js: -------------------------------------------------------------------------------- 1 | let Conf = (function () { 2 | // 私有变量 3 | let conf = { 4 | MAX_NUM: 100, 5 | MIN_NUM:1, 6 | COUNT: 1000 7 | }; 8 | return { 9 | get(name) { 10 | return conf[name] ? conf[name] : null 11 | } 12 | } 13 | })(); 14 | let count = Conf.get('COUNT'); 15 | console.log(count); -------------------------------------------------------------------------------- /books/专题知识库/04、js设计模式/03篇、结构型设计模式/10章、适配器模式/02、对象参数适配器.js: -------------------------------------------------------------------------------- 1 | function doSomeThing(obj) { 2 | let _adapter = { 3 | name: 'yanle', 4 | title: 'no game no life', 5 | age: 26, 6 | color: 'prink', 7 | size: 100, 8 | prize: 50 9 | }; 10 | for(let i in _adapter) { 11 | _adapter[i] = obj[i] || _adapter[i] 12 | } 13 | 14 | // do something 15 | } -------------------------------------------------------------------------------- /books/专题知识库/04、js设计模式/03篇、结构型设计模式/14章、组合模式/img/14-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/04、js设计模式/03篇、结构型设计模式/14章、组合模式/img/14-01.png -------------------------------------------------------------------------------- /books/专题知识库/04、js设计模式/04篇、行为型设计模式/18章、状态模式/01、最美图片的一个例子.js: -------------------------------------------------------------------------------- 1 | 2 | // 展示结果 3 | function showResult(result) { 4 | if(result === 0) { 5 | // 处理结果 0 6 | } else if (result === 1) { 7 | // 处理结果1 8 | } else if(result === 2) { 9 | // 处理结果2 10 | } else if(result === 3) { 11 | // 处理结果3 12 | } 13 | } -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/img/01-05-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/img/01-05-01.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/img/01-05-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/img/01-05-02.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/img/01-30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/img/01-30.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/img/01_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/img/01_01.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/img/01_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/img/01_06.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/img/01_09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/img/01_09.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/img/01_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/img/01_10.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/img/01_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/img/01_16.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/img/01_47_03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/img/01_47_03.jpg -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/img/01_47_04.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/img/01_47_04.jpeg -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/img/02-05-01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/img/02-05-01.jpg -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/img/02-11-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/img/02-11-1.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/img/02-11-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/img/02-11-2.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/img/02-11-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/img/02-11-3.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/img/02-12-03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/img/02-12-03.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/img/02-12-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/img/02-12-1.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/img/02-12-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/img/02-12-2.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/img/02-13-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/img/02-13-01.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/img/02-13-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/img/02-13-02.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/img/02-13-03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/img/02-13-03.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/img/02-13-04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/img/02-13-04.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/img/02-13-05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/img/02-13-05.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/img/02-13-06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/img/02-13-06.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/img/02_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/img/02_01.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/img/02_09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/img/02_09.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/img/02_09_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/img/02_09_02.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/other/01、关于闭包的研究/test.js: -------------------------------------------------------------------------------- 1 | function f(){ 2 | var a=[]; 3 | var i; 4 | for(i=0;i<3;i++){ 5 | a[i]=(function(x){ 6 | return function(){ 7 | return x; 8 | } 9 | })(i); 10 | } 11 | return a; 12 | } 13 | var test=f(); 14 | console.log(test[0]()); 15 | console.log(test[1]()); 16 | console.log(test[2]()); -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/other/03、关于深拷贝和浅拷贝的实现/test2.js: -------------------------------------------------------------------------------- 1 | /** 2 | * create by yanle 3 | * create time 2019/1/3 下午2:33 4 | */ 5 | 6 | 7 | let arr1 = [{ 8 | name: 'yanle', 9 | age: 25 10 | }, { 11 | name: 'lele', 12 | age: 26 13 | }]; 14 | 15 | let arr2 = arr1.slice(0); 16 | let arr3 = arr1.concat([]); 17 | 18 | 19 | arr1[1].name = 'yanlele'; 20 | 21 | console.log(arr2); 22 | console.log(arr3); -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/other/03、关于深拷贝和浅拷贝的实现/test3.js: -------------------------------------------------------------------------------- 1 | /** 2 | * create by yanle 3 | * create time 2019/1/3 下午3:47 4 | */ 5 | 6 | 7 | let person = { 8 | name: 'yanle', 9 | age: 24, 10 | address: { 11 | home: 'home address', 12 | office: 'office address' 13 | }, 14 | schools: ['xiaoxue', 'daxue'] 15 | }; 16 | 17 | let newPerson = JSON.parse(JSON.stringify(person)); 18 | 19 | person.name = '123'; 20 | 21 | console.log(newPerson); -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/other/05、正则验证/test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/other/08、清除浮动的解决方案总结/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/other/12、深入call、apply、bind实现原理/img/img01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/other/12、深入call、apply、bind实现原理/img/img01.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/other/14、V8引擎初步介绍/img/01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/other/14、V8引擎初步介绍/img/01.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/other/14、V8引擎初步介绍/img/02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/other/14、V8引擎初步介绍/img/02.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/other/14、V8引擎初步介绍/img/03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/other/14、V8引擎初步介绍/img/03.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/other/14、V8引擎初步介绍/img/04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/other/14、V8引擎初步介绍/img/04.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/other/14、V8引擎初步介绍/img/05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/05、基础知识点专题/other/14、V8引擎初步介绍/img/05.png -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/other/18、深入研究call和apply/01、call和apply基本使用.js: -------------------------------------------------------------------------------- 1 | function add(a,b){ 2 | return a+b; 3 | } 4 | function sub(a,b){ 5 | return a-b; 6 | } 7 | let a1 = add.apply(sub,[4,2]);  //sub调用add的方法 8 | let a2 = sub.apply(add,[4,2]); 9 | console.log(a1); //6 10 | console.log(a2); //2 11 | 12 | /*call的用法*/ 13 | let a3 = add.call(sub,4,2); 14 | console.log(a3) 15 | -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/other/18、深入研究call和apply/02、实现继承.js: -------------------------------------------------------------------------------- 1 | function Animal(name){ 2 | this.name = name; 3 | this.showName = function(){ 4 | console.log(this.name); 5 | } 6 | } 7 | 8 | function Cat(name){ 9 | Animal.apply(this,[name]); 10 | } 11 | 12 | let cat = new Cat("咕咕"); 13 | cat.showName(); 14 | 15 | /*call的用法*/ 16 | Animal.call(this,name); -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/test/01、关于js中的对象.js: -------------------------------------------------------------------------------- 1 | function employee(name, job, born) { 2 | this.name = name; 3 | this.job = job; 4 | this.born = born; 5 | } 6 | 7 | let bill = new employee("Bill Gates", "Engineer", 1985); 8 | 9 | employee.prototype.salary = 20000; 10 | employee.getName = function(name) { 11 | console.log(this.name) 12 | }; 13 | 14 | console.log(bill.getName()); -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/test/02-11.5、diff/log1.txt: -------------------------------------------------------------------------------- 1 | 123 2 | 123 3 | 123 4 | 123 5 | 123 6 | 123 7 | 123 8 | 123 9 | 123 10 | -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/test/02-11.5、diff/log2.txt: -------------------------------------------------------------------------------- 1 | 123 2 | 222 3 | 123 4 | 123 5 | 123wfsdfg 6 | 123 7 | 123 8 | 333 9 | abc 10 | 123 11 | 123 12 | 123 13 | 123 14 | -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/test/02-13、深入react理解/01、实现一个简单的todoList/App.js: -------------------------------------------------------------------------------- 1 | import React, {Component} from 'react'; 2 | 3 | import Todo from './components/todo'; 4 | 5 | class App extends Component { 6 | render() { 7 | return ( 8 |
9 | 10 |
11 | ); 12 | } 13 | } 14 | 15 | export default App; 16 | -------------------------------------------------------------------------------- /books/专题知识库/05、基础知识点专题/test/02-13、深入react理解/01、实现一个简单的todoList/App.test.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import App from './App'; 4 | 5 | it('renders without crashing', () => { 6 | const div = document.createElement('div'); 7 | ReactDOM.render(, div); 8 | ReactDOM.unmountComponentAtNode(div); 9 | }); 10 | -------------------------------------------------------------------------------- /books/专题知识库/06、canvas总结/demo/img.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/06、canvas总结/demo/img.jpg -------------------------------------------------------------------------------- /books/专题知识库/07、算法学习/01、简单/demo.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/07、算法学习/01、简单/demo.js -------------------------------------------------------------------------------- /books/专题知识库/07、算法学习/readme.md: -------------------------------------------------------------------------------- 1 | # 算法学习专题 2 | 3 | ### 学习推荐 4 | 推荐学习路线:《算法图解》-《剑指 Offer》- LeetCode 刷题 -《算法之美》-《算法导论》 5 | 6 | 7 | ### 刷题 8 | 9 | 10 | ### 其他 11 | 12 | 13 | 14 | ### 参考文档 15 | - [算法学习思路](https://juejin.cn/post/6844903815116750856) 16 | - [什么是大O表示法](https://zhuanlan.zhihu.com/p/40964397) 17 | -------------------------------------------------------------------------------- /books/专题知识库/07、算法学习/其他/01、链表/demo.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/07、算法学习/其他/01、链表/demo.ts -------------------------------------------------------------------------------- /books/专题知识库/07、算法学习/其他/01、链表/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/07、算法学习/其他/01、链表/index.ts -------------------------------------------------------------------------------- /books/专题知识库/07、算法学习/其他/01、链表/readme.md: -------------------------------------------------------------------------------- 1 | ## js数据结构-链表 2 | 3 | ### 参考文档 4 | [https://segmentfault.com/a/1190000017569816](https://segmentfault.com/a/1190000017569816) 5 | 6 | 7 | -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/04章、队列/01、创建队列/test.js: -------------------------------------------------------------------------------- 1 | let Queue = require('./index'); 2 | 3 | let queue = new Queue(); 4 | console.log(queue.isEmpty()); 5 | 6 | queue.enqueue("John"); 7 | queue.enqueue("Jack"); 8 | queue.enqueue("Camila"); 9 | queue.print(); 10 | console.log(queue.size()); //输出3 11 | console.log(queue.isEmpty()); //输出false 12 | queue.dequeue(); 13 | queue.dequeue(); 14 | queue.print(); -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/04章、队列/02、优先队列/test.js: -------------------------------------------------------------------------------- 1 | let PriorityQueue = require('./index'); 2 | 3 | let priorityQueue = new PriorityQueue(); 4 | priorityQueue.enqueue("John", 2); 5 | priorityQueue.enqueue("Jack", 1); 6 | priorityQueue.enqueue("Camila", 1); 7 | priorityQueue.print(); -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/05章、链表/01、创建一个链表/test.js: -------------------------------------------------------------------------------- 1 | const LinkList = require('./index'); 2 | 3 | let linkList = new LinkList(); 4 | linkList.append(111); 5 | console.log(linkList.toString()); 6 | linkList.append(222); 7 | console.log(linkList.toString()); 8 | 9 | linkList.insert(3, 1212); 10 | console.log(linkList.toString()); -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/07、字典和散列表/02、散列表/7-2-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/07、字典和散列表/02、散列表/7-2-1.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/07、字典和散列表/02、散列表/7-2-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/07、字典和散列表/02、散列表/7-2-2.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/07、字典和散列表/02、散列表/7-2-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/07、字典和散列表/02、散列表/7-2-3.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/08章、树/img/8-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/08章、树/img/8-01.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/08章、树/img/8-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/08章、树/img/8-02.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/08章、树/img/8-03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/08章、树/img/8-03.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/08章、树/img/8-04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/08章、树/img/8-04.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/08章、树/img/8-05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/08章、树/img/8-05.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/08章、树/img/8-06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/08章、树/img/8-06.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/08章、树/img/8-07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/08章、树/img/8-07.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/08章、树/img/8-08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/08章、树/img/8-08.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/08章、树/img/8-09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/08章、树/img/8-09.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/08章、树/img/8-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/08章、树/img/8-10.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/08章、树/img/8-11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/08章、树/img/8-11.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/08章、树/img/8-12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/08章、树/img/8-12.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/09章、图/img/9-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/09章、图/img/9-01.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/09章、图/img/9-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/09章、图/img/9-02.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/09章、图/img/9-03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/09章、图/img/9-03.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/09章、图/img/9-04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/09章、图/img/9-04.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/09章、图/img/9-05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/09章、图/img/9-05.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/09章、图/img/9-06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/09章、图/img/9-06.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/09章、图/img/9-07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/09章、图/img/9-07.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/09章、图/img/9-08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/09章、图/img/9-08.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/09章、图/img/9-09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/09章、图/img/9-09.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/09章、图/img/9-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/09章、图/img/9-10.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/09章、图/img/9-11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/09章、图/img/9-11.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/09章、图/img/9-12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/09章、图/img/9-12.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/10章、排序和搜索算法/img/10-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/10章、排序和搜索算法/img/10-1.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/10章、排序和搜索算法/img/10-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/10章、排序和搜索算法/img/10-10.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/10章、排序和搜索算法/img/10-11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/10章、排序和搜索算法/img/10-11.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/10章、排序和搜索算法/img/10-12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/10章、排序和搜索算法/img/10-12.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/10章、排序和搜索算法/img/10-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/10章、排序和搜索算法/img/10-2.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/10章、排序和搜索算法/img/10-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/10章、排序和搜索算法/img/10-3.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/10章、排序和搜索算法/img/10-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/10章、排序和搜索算法/img/10-4.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/10章、排序和搜索算法/img/10-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/10章、排序和搜索算法/img/10-5.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/10章、排序和搜索算法/img/10-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/10章、排序和搜索算法/img/10-6.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/10章、排序和搜索算法/img/10-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/10章、排序和搜索算法/img/10-7.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/10章、排序和搜索算法/img/10-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/10章、排序和搜索算法/img/10-8.png -------------------------------------------------------------------------------- /books/专题知识库/08、学习javascript数据结构与算法/10章、排序和搜索算法/img/10-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/08、学习javascript数据结构与算法/10章、排序和搜索算法/img/10-9.png -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/02、打包js/app.js: -------------------------------------------------------------------------------- 1 | //es6 模块语法 2 | import sum from './sum'; 3 | 4 | //commonjs模块语法 5 | let minus = require('./minus'); 6 | 7 | // amd 8 | require(['./muti'], function (muti) { 9 | console.log('muti(2, 3) = ', muti(2, 3)); 10 | }); 11 | 12 | console.log('sum(23, 34) = ', sum(23, 24)); 13 | console.log('minus(24, 17) = ', minus(24, 17)); -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/02、打包js/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/02、打包js/minus.js: -------------------------------------------------------------------------------- 1 | module.exports = function(a, b) { 2 | return a-b; 3 | }; -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/02、打包js/muti.js: -------------------------------------------------------------------------------- 1 | define(function(require, factory) { 2 | 'use strict'; 3 | return function (a, b) { 4 | return a * b; 5 | } 6 | }); -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/02、打包js/sum.js: -------------------------------------------------------------------------------- 1 | export default function (a, b) { 2 | return a + b; 3 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/02、打包js/webpack.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | entry: { 3 | app: './app.js' 4 | }, 5 | output: { 6 | filename: '[name].[hash:5].js' 7 | } 8 | }; -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/03、编译ES6/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "env", 5 | { 6 | "targets": { 7 | "browsers": [ 8 | "> 1%", 9 | "last 2 versions" 10 | ] 11 | } 12 | } 13 | ] 14 | ], 15 | "plugins": ["transform-runtime"] 16 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/03、编译ES6/app.js: -------------------------------------------------------------------------------- 1 | let func = ()=>{}; 2 | const NUM =45; 3 | let arr = [1,2,4]; 4 | let arrB = arr.map(item => item * 2); 5 | 6 | arr.includes(8); 7 | 8 | console.log('new Set(arrB) ', new Set(arrB)); -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/03、编译ES6/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/04、编译TS/src/app.ts: -------------------------------------------------------------------------------- 1 | import * as _ from 'lodash'; 2 | console.log(_.chunk([1,2,3,4,5,6,7],2)); 3 | 4 | 5 | const NUM = 5; 6 | 7 | interface Cat { 8 | name: String, 9 | gender: String 10 | } 11 | 12 | function touchCat (cat: Cat) { 13 | console.log('miao~~~~ ', cat.name) 14 | } 15 | 16 | touchCat({ 17 | name: 'tom', 18 | gender: 'mail' 19 | }); -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/04、编译TS/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "target": "es5", 5 | "allowJs": true, 6 | "typeRoots": [ 7 | "./node_modules/@type", 8 | "./typings/modules" 9 | ] 10 | }, 11 | "include": [ 12 | "./src/*" 13 | ], 14 | "exclude": [ 15 | "./node_module" 16 | ] 17 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/04、编译TS/webpack.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | entry: { 3 | 'app': './src/app.ts' 4 | }, 5 | output: { 6 | filename: '[name].bundle.js' 7 | }, 8 | module: { 9 | rules: [ 10 | { 11 | test: /\.tsx?$/, 12 | use: { 13 | loader: 'ts-loader' 14 | } 15 | } 16 | ] 17 | } 18 | }; -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/05、提取公用代码/src/moduleA.js: -------------------------------------------------------------------------------- 1 | export default 'moduleA' -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/05、提取公用代码/src/pageA.js: -------------------------------------------------------------------------------- 1 | import './subPageA' 2 | import './subPageB' 3 | 4 | import * as _ from 'lodash'; 5 | 6 | export default 'pageA' -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/05、提取公用代码/src/pageB.js: -------------------------------------------------------------------------------- 1 | import './subPageA' 2 | import './subPageB' 3 | 4 | import * as _ from 'lodash'; 5 | 6 | export default 'pageB' -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/05、提取公用代码/src/subPageA.js: -------------------------------------------------------------------------------- 1 | import './moduleA' 2 | 3 | export default 'subPageA' -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/05、提取公用代码/src/subPageB.js: -------------------------------------------------------------------------------- 1 | import './moduleA'; 2 | 3 | export default 'subPageB' -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/06、代码分割和懒加载/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/06、代码分割和懒加载/src/moduleA.js: -------------------------------------------------------------------------------- 1 | export default 'moduleA' -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/06、代码分割和懒加载/src/subPageA.js: -------------------------------------------------------------------------------- 1 | import './moduleA' 2 | 3 | console.log('执行了subpageA'); 4 | 5 | export default 'subPageA' -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/06、代码分割和懒加载/src/subPageB.js: -------------------------------------------------------------------------------- 1 | import './moduleA'; 2 | 3 | export default 'subPageB' -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/07、处理css style-loader/css.transform.js: -------------------------------------------------------------------------------- 1 | module.exports =function(css) { 2 | console.log(css); 3 | console.log(window.innerHeight); 4 | return css; 5 | }; -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/07、处理css style-loader/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | 9 |
10 | 11 | hello 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/07、处理css style-loader/src/app.js: -------------------------------------------------------------------------------- 1 | import base from './css/base.css' 2 | import common from './css/common.css' 3 | 4 | // let flag = false; 5 | // 6 | // setInterval(function(){ 7 | // if(flag) { 8 | // base.unuse(); 9 | // flag = false 10 | // } else { 11 | // base.use(); 12 | // flag = true; 13 | // } 14 | // }, 500); -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/07、处理css style-loader/src/css/base.css: -------------------------------------------------------------------------------- 1 | html { 2 | background: #f6edff; 3 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/07、处理css style-loader/src/css/common.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-size: 20px; 3 | color: blue; 4 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/08、处理css css-loader/css.transform.js: -------------------------------------------------------------------------------- 1 | module.exports =function(css) { 2 | console.log(css); 3 | console.log(window.innerHeight); 4 | return css; 5 | }; -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/08、处理css css-loader/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | 9 |
10 | 11 | hello 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/08、处理css css-loader/src/css/base.css: -------------------------------------------------------------------------------- 1 | html { 2 | background: #f6edff; 3 | } 4 | 5 | .box { 6 | composes: bigBox from './common.css'; 7 | height: 200px; 8 | width: 200px; 9 | border-radius: 8px; 10 | background-color: #00B7FF; 11 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/08、处理css css-loader/src/css/common.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-size: 20px; 3 | color: blue; 4 | } 5 | 6 | .bigBox { 7 | border: 2px solid #000000; 8 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/09、处理css 配置less和sass/css.transform.js: -------------------------------------------------------------------------------- 1 | module.exports =function(css) { 2 | console.log(css); 3 | console.log(window.innerHeight); 4 | return css; 5 | }; -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/09、处理css 配置less和sass/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | 9 |
10 | 11 | hello 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/09、处理css 配置less和sass/src/css/base.less: -------------------------------------------------------------------------------- 1 | @homecolor: #f6edff; 2 | 3 | html { 4 | background: @homecolor; 5 | } 6 | 7 | .box { 8 | composes: bigBox from './common.less'; 9 | height: 200px; 10 | width: 200px; 11 | border-radius: 8px; 12 | background-color: #00B7FF; 13 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/09、处理css 配置less和sass/src/css/common.less: -------------------------------------------------------------------------------- 1 | body { 2 | font-size: 20px; 3 | color: blue; 4 | } 5 | 6 | .bigBox { 7 | border: 2px solid #000000; 8 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/10、处理css 提取css/css.transform.js: -------------------------------------------------------------------------------- 1 | module.exports =function(css) { 2 | console.log(css); 3 | console.log(window.innerHeight); 4 | return css; 5 | }; -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/10、处理css 提取css/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | 9 |
10 | 11 | hello 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/10、处理css 提取css/src/components/a.js: -------------------------------------------------------------------------------- 1 | import '../css/components/a.less' -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/10、处理css 提取css/src/css/base.less: -------------------------------------------------------------------------------- 1 | @homecolor: #f6edff; 2 | 3 | html { 4 | background: @homecolor; 5 | } 6 | 7 | .box { 8 | composes: bigBox from './common.less'; 9 | height: 200px; 10 | width: 200px; 11 | border-radius: 8px; 12 | background-color: #00B7FF; 13 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/10、处理css 提取css/src/css/common.less: -------------------------------------------------------------------------------- 1 | body { 2 | font-size: 20px; 3 | color: blue; 4 | } 5 | 6 | .bigBox { 7 | border: 2px solid #000000; 8 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/10、处理css 提取css/src/css/components/a.less: -------------------------------------------------------------------------------- 1 | .a { 2 | font-size: 20px; 3 | color: #2b542c; 4 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/11、postCss-in-webpack/css.transform.js: -------------------------------------------------------------------------------- 1 | module.exports =function(css) { 2 | console.log(css); 3 | console.log(window.innerHeight); 4 | return css; 5 | }; -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/11、postCss-in-webpack/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | 9 |
10 | 11 | hello 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/11、postCss-in-webpack/src/components/a.js: -------------------------------------------------------------------------------- 1 | import '../css/components/a.less' -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/11、postCss-in-webpack/src/css/base.less: -------------------------------------------------------------------------------- 1 | @homecolor: #f6edff; 2 | 3 | html { 4 | background: @homecolor; 5 | } 6 | 7 | .box { 8 | composes: bigBox from './common.less'; 9 | height: 200px; 10 | width: 200px; 11 | border-radius: 8px; 12 | background-color: #00B7FF; 13 | transition: transform 1s; 14 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/11、postCss-in-webpack/src/css/common.less: -------------------------------------------------------------------------------- 1 | body { 2 | font-size: 20px; 3 | color: blue; 4 | } 5 | 6 | .bigBox { 7 | border: 2px solid #000000; 8 | } 9 | 10 | :root { 11 | --mainColor: red; 12 | } 13 | 14 | a { 15 | color: var(--mainColor); 16 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/11、postCss-in-webpack/src/css/components/a.less: -------------------------------------------------------------------------------- 1 | .a { 2 | font-size: 20px; 3 | color: #2b542c; 4 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/12、Tree-Shaking/css.transform.js: -------------------------------------------------------------------------------- 1 | module.exports =function(css) { 2 | console.log(css); 3 | console.log(window.innerHeight); 4 | return css; 5 | }; -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/12、Tree-Shaking/src/common/util.js: -------------------------------------------------------------------------------- 1 | export function a() { 2 | return 'this is a'; 3 | } 4 | 5 | export function b() { 6 | return 'this is b'; 7 | } 8 | 9 | export function c() { 10 | return 'this is c'; 11 | } 12 | 13 | -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/12、Tree-Shaking/src/components/a.js: -------------------------------------------------------------------------------- 1 | import '../css/components/a.less' -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/12、Tree-Shaking/src/css/base.less: -------------------------------------------------------------------------------- 1 | @homecolor: #f6edff; 2 | 3 | html { 4 | background: @homecolor; 5 | } 6 | 7 | .box { 8 | height: 200px; 9 | width: 200px; 10 | border-radius: 8px; 11 | background-color: #00B7FF; 12 | transition: transform 1s; 13 | } 14 | 15 | .big-box { 16 | height: 400px; 17 | width: 400px; 18 | border: 5px; 19 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/12、Tree-Shaking/src/css/common.less: -------------------------------------------------------------------------------- 1 | body { 2 | font-size: 20px; 3 | color: blue; 4 | } 5 | 6 | .bigBox { 7 | border: 2px solid #000000; 8 | } 9 | 10 | :root { 11 | --mainColor: red; 12 | } 13 | 14 | a { 15 | color: var(--mainColor); 16 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/01、由浅入深Webpack/12、Tree-Shaking/src/css/components/a.less: -------------------------------------------------------------------------------- 1 | .a { 2 | font-size: 20px; 3 | color: #2b542c; 4 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/01、文件处理-图片处理/css.transform.js: -------------------------------------------------------------------------------- 1 | module.exports =function(css) { 2 | console.log(css); 3 | console.log(window.innerHeight); 4 | return css; 5 | }; -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/01、文件处理-图片处理/src/assets/img/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/01、文件处理-图片处理/src/assets/img/1.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/01、文件处理-图片处理/src/assets/img/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/01、文件处理-图片处理/src/assets/img/2.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/01、文件处理-图片处理/src/assets/img/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/01、文件处理-图片处理/src/assets/img/3.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/01、文件处理-图片处理/src/assets/img/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/01、文件处理-图片处理/src/assets/img/4.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/01、文件处理-图片处理/src/assets/img/5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/01、文件处理-图片处理/src/assets/img/5@2x.png -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/01、文件处理-图片处理/src/assets/img/react.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/01、文件处理-图片处理/src/assets/img/react.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/01、文件处理-图片处理/src/assets/react.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/01、文件处理-图片处理/src/assets/react.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/01、文件处理-图片处理/src/common/util.js: -------------------------------------------------------------------------------- 1 | export function a() { 2 | return 'this is a'; 3 | } 4 | 5 | export function b() { 6 | return 'this is b'; 7 | } 8 | 9 | export function c() { 10 | return 'this is c'; 11 | } 12 | 13 | -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/01、文件处理-图片处理/src/components/a.js: -------------------------------------------------------------------------------- 1 | import '../css/components/a.less' -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/01、文件处理-图片处理/src/css/components/a.less: -------------------------------------------------------------------------------- 1 | .a { 2 | font-size: 20px; 3 | color: #2b542c; 4 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/02、文件处理-字体处理/css.transform.js: -------------------------------------------------------------------------------- 1 | module.exports =function(css) { 2 | console.log(css); 3 | console.log(window.innerHeight); 4 | return css; 5 | }; -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/02、文件处理-字体处理/src/assets/fonts/bzcs.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/02、文件处理-字体处理/src/assets/fonts/bzcs.ttf -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/02、文件处理-字体处理/src/assets/img/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/02、文件处理-字体处理/src/assets/img/1.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/02、文件处理-字体处理/src/assets/img/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/02、文件处理-字体处理/src/assets/img/2.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/02、文件处理-字体处理/src/assets/img/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/02、文件处理-字体处理/src/assets/img/3.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/02、文件处理-字体处理/src/assets/img/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/02、文件处理-字体处理/src/assets/img/4.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/02、文件处理-字体处理/src/assets/img/5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/02、文件处理-字体处理/src/assets/img/5@2x.png -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/02、文件处理-字体处理/src/assets/img/react.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/02、文件处理-字体处理/src/assets/img/react.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/02、文件处理-字体处理/src/assets/react.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/02、文件处理-字体处理/src/assets/react.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/02、文件处理-字体处理/src/common/util.js: -------------------------------------------------------------------------------- 1 | export function a() { 2 | return 'this is a'; 3 | } 4 | 5 | export function b() { 6 | return 'this is b'; 7 | } 8 | 9 | export function c() { 10 | return 'this is c'; 11 | } 12 | 13 | -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/02、文件处理-字体处理/src/components/a.js: -------------------------------------------------------------------------------- 1 | import '../css/components/a.less' -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/02、文件处理-字体处理/src/css/components/a.less: -------------------------------------------------------------------------------- 1 | .a { 2 | font-size: 20px; 3 | color: #2b542c; 4 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/03、文件处理-处理第三方JS库/css.transform.js: -------------------------------------------------------------------------------- 1 | module.exports =function(css) { 2 | console.log(css); 3 | console.log(window.innerHeight); 4 | return css; 5 | }; -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/03、文件处理-处理第三方JS库/src/common/util.js: -------------------------------------------------------------------------------- 1 | export function a() { 2 | return 'this is a'; 3 | } 4 | 5 | export function b() { 6 | return 'this is b'; 7 | } 8 | 9 | export function c() { 10 | return 'this is c'; 11 | } 12 | 13 | -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/03、文件处理-处理第三方JS库/src/components/a.js: -------------------------------------------------------------------------------- 1 | import '../css/components/a.less' -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/03、文件处理-处理第三方JS库/src/css/components/a.less: -------------------------------------------------------------------------------- 1 | .a { 2 | font-size: 20px; 3 | color: #2b542c; 4 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/04、html-in-webpack-生成html/css.transform.js: -------------------------------------------------------------------------------- 1 | module.exports =function(css) { 2 | console.log(css); 3 | console.log(window.innerHeight); 4 | return css; 5 | }; -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/04、html-in-webpack-生成html/src/assets/img/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/04、html-in-webpack-生成html/src/assets/img/1.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/04、html-in-webpack-生成html/src/assets/img/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/04、html-in-webpack-生成html/src/assets/img/2.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/04、html-in-webpack-生成html/src/assets/img/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/04、html-in-webpack-生成html/src/assets/img/3.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/04、html-in-webpack-生成html/src/assets/img/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/04、html-in-webpack-生成html/src/assets/img/4.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/04、html-in-webpack-生成html/src/assets/img/5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/04、html-in-webpack-生成html/src/assets/img/5@2x.png -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/04、html-in-webpack-生成html/src/assets/img/react.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/04、html-in-webpack-生成html/src/assets/img/react.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/04、html-in-webpack-生成html/src/assets/react.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/04、html-in-webpack-生成html/src/assets/react.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/04、html-in-webpack-生成html/src/common/util.js: -------------------------------------------------------------------------------- 1 | export function a() { 2 | return 'this is a'; 3 | } 4 | 5 | export function b() { 6 | return 'this is b'; 7 | } 8 | 9 | export function c() { 10 | return 'this is c'; 11 | } 12 | 13 | -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/04、html-in-webpack-生成html/src/components/a.js: -------------------------------------------------------------------------------- 1 | import '../css/components/a.less' -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/04、html-in-webpack-生成html/src/css/components/a.less: -------------------------------------------------------------------------------- 1 | .a { 2 | font-size: 20px; 3 | color: #2b542c; 4 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/05、html中引入图片/css.transform.js: -------------------------------------------------------------------------------- 1 | module.exports =function(css) { 2 | console.log(css); 3 | console.log(window.innerHeight); 4 | return css; 5 | }; -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/05、html中引入图片/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 |
9 | react 10 |
11 |
12 |
13 |
14 | 15 |
我是自定义字体
16 | 17 | -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/05、html中引入图片/src/assets/img/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/05、html中引入图片/src/assets/img/1.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/05、html中引入图片/src/assets/img/react.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/05、html中引入图片/src/assets/img/react.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/05、html中引入图片/src/assets/react.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/05、html中引入图片/src/assets/react.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/05、html中引入图片/src/common/util.js: -------------------------------------------------------------------------------- 1 | export function a() { 2 | return 'this is a'; 3 | } 4 | 5 | export function b() { 6 | return 'this is b'; 7 | } 8 | 9 | export function c() { 10 | return 'this is c'; 11 | } 12 | 13 | -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/05、html中引入图片/src/components/a.js: -------------------------------------------------------------------------------- 1 | import '../css/components/a.less' -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/05、html中引入图片/src/css/components/a.less: -------------------------------------------------------------------------------- 1 | .a { 2 | font-size: 20px; 3 | color: #2b542c; 4 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/06、配合优化/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "env", 5 | { 6 | "targets": { 7 | "browsers": [ 8 | "> 1%", 9 | "last 2 versions" 10 | ] 11 | } 12 | } 13 | ] 14 | ], 15 | "plugins": ["transform-runtime"] 16 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/06、配合优化/css.transform.js: -------------------------------------------------------------------------------- 1 | module.exports =function(css) { 2 | console.log(css); 3 | console.log(window.innerHeight); 4 | return css; 5 | }; -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/06、配合优化/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 |
9 | react 10 |
11 |
12 |
13 |
14 | 15 |
我是自定义字体
16 | 17 | -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/06、配合优化/src/assets/img/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/06、配合优化/src/assets/img/1.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/06、配合优化/src/assets/img/react.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/06、配合优化/src/assets/img/react.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/06、配合优化/src/assets/react.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/06、配合优化/src/assets/react.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/06、配合优化/src/common/util.js: -------------------------------------------------------------------------------- 1 | export function a() { 2 | return 'this is a'; 3 | } 4 | 5 | export function b() { 6 | return 'this is b'; 7 | } 8 | 9 | export function c() { 10 | return 'this is c'; 11 | } 12 | 13 | -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/06、配合优化/src/components/a.js: -------------------------------------------------------------------------------- 1 | import '../css/components/a.less' -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/02、由浅入深Webpack-进阶/06、配合优化/src/css/components/a.less: -------------------------------------------------------------------------------- 1 | .a { 2 | font-size: 20px; 3 | color: #2b542c; 4 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/01、webpack_watch_mode/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "env", 5 | { 6 | "targets": { 7 | "browsers": [ 8 | "> 1%", 9 | "last 2 versions" 10 | ] 11 | } 12 | } 13 | ] 14 | ], 15 | "plugins": ["transform-runtime"] 16 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/01、webpack_watch_mode/css.transform.js: -------------------------------------------------------------------------------- 1 | module.exports =function(css) { 2 | console.log(css); 3 | console.log(window.innerHeight); 4 | return css; 5 | }; -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/01、webpack_watch_mode/src/assets/img/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/01、webpack_watch_mode/src/assets/img/1.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/01、webpack_watch_mode/src/assets/img/react.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/01、webpack_watch_mode/src/assets/img/react.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/01、webpack_watch_mode/src/assets/react.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/01、webpack_watch_mode/src/assets/react.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/01、webpack_watch_mode/src/common/util.js: -------------------------------------------------------------------------------- 1 | export function a() { 2 | return 'this is a'; 3 | } 4 | 5 | export function b() { 6 | return 'this is b'; 7 | } 8 | 9 | export function c() { 10 | return 'this is c'; 11 | } 12 | 13 | -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/01、webpack_watch_mode/src/components/a.js: -------------------------------------------------------------------------------- 1 | import '../css/components/a.less' -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/01、webpack_watch_mode/src/css/components/a.less: -------------------------------------------------------------------------------- 1 | .a { 2 | font-size: 20px; 3 | color: #2b542c; 4 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/02、webpack_dev_server/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "env", 5 | { 6 | "targets": { 7 | "browsers": [ 8 | "> 1%", 9 | "last 2 versions" 10 | ] 11 | } 12 | } 13 | ] 14 | ], 15 | "plugins": ["transform-runtime"] 16 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/02、webpack_dev_server/css.transform.js: -------------------------------------------------------------------------------- 1 | module.exports =function(css) { 2 | console.log(css); 3 | console.log(window.innerHeight); 4 | return css; 5 | }; -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/02、webpack_dev_server/src/assets/img/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/02、webpack_dev_server/src/assets/img/1.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/02、webpack_dev_server/src/assets/img/react.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/02、webpack_dev_server/src/assets/img/react.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/02、webpack_dev_server/src/assets/react.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/02、webpack_dev_server/src/assets/react.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/02、webpack_dev_server/src/common/util.js: -------------------------------------------------------------------------------- 1 | export function a() { 2 | return 'this is a'; 3 | } 4 | 5 | export function b() { 6 | return 'this is b'; 7 | } 8 | 9 | export function c() { 10 | return 'this is c'; 11 | } 12 | 13 | -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/02、webpack_dev_server/src/components/a.js: -------------------------------------------------------------------------------- 1 | import '../css/components/a.less' -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/02、webpack_dev_server/src/css/components/a.less: -------------------------------------------------------------------------------- 1 | .a { 2 | font-size: 20px; 3 | color: #2b542c; 4 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/03、代理远程接口/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "env", 5 | { 6 | "targets": { 7 | "browsers": [ 8 | "> 1%", 9 | "last 2 versions" 10 | ] 11 | } 12 | } 13 | ] 14 | ] 15 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/03、代理远程接口/css.transform.js: -------------------------------------------------------------------------------- 1 | module.exports =function(css) { 2 | console.log(css); 3 | console.log(window.innerHeight); 4 | return css; 5 | }; -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/03、代理远程接口/src/assets/img/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/03、代理远程接口/src/assets/img/1.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/03、代理远程接口/src/assets/img/react.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/03、代理远程接口/src/assets/img/react.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/03、代理远程接口/src/assets/react.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/03、代理远程接口/src/assets/react.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/03、代理远程接口/src/common/util.js: -------------------------------------------------------------------------------- 1 | export function a() { 2 | return 'this is a'; 3 | } 4 | 5 | export function b() { 6 | return 'this is b'; 7 | } 8 | 9 | export function c() { 10 | return 'this is c'; 11 | } 12 | 13 | -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/03、代理远程接口/src/components/a.js: -------------------------------------------------------------------------------- 1 | import '../css/components/a.less' -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/03、代理远程接口/src/css/components/a.less: -------------------------------------------------------------------------------- 1 | .a { 2 | font-size: 20px; 3 | color: #2b542c; 4 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/04、模块热更新/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "env", 5 | { 6 | "targets": { 7 | "browsers": [ 8 | "> 1%", 9 | "last 2 versions" 10 | ] 11 | } 12 | } 13 | ] 14 | ] 15 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/04、模块热更新/css.transform.js: -------------------------------------------------------------------------------- 1 | module.exports =function(css) { 2 | console.log(css); 3 | console.log(window.innerHeight); 4 | return css; 5 | }; -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/04、模块热更新/src/assets/img/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/04、模块热更新/src/assets/img/1.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/04、模块热更新/src/assets/img/react.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/04、模块热更新/src/assets/img/react.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/04、模块热更新/src/assets/react.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/04、模块热更新/src/assets/react.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/04、模块热更新/src/common/util.js: -------------------------------------------------------------------------------- 1 | export function a() { 2 | return 'this is a'; 3 | } 4 | 5 | export function b() { 6 | return 'this is b'; 7 | } 8 | 9 | export function c() { 10 | return 'this is c'; 11 | } 12 | 13 | -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/04、模块热更新/src/components/a.js: -------------------------------------------------------------------------------- 1 | import '../css/components/a.less' -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/04、模块热更新/src/css/components/a.less: -------------------------------------------------------------------------------- 1 | .a { 2 | font-size: 20px; 3 | color: #2b542c; 4 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/05、开启调试模式Source Map/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "env", 5 | { 6 | "targets": { 7 | "browsers": [ 8 | "> 1%", 9 | "last 2 versions" 10 | ] 11 | } 12 | } 13 | ] 14 | ] 15 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/05、开启调试模式Source Map/css.transform.js: -------------------------------------------------------------------------------- 1 | module.exports =function(css) { 2 | console.log(css); 3 | console.log(window.innerHeight); 4 | return css; 5 | }; -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/05、开启调试模式Source Map/src/assets/img/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/05、开启调试模式Source Map/src/assets/img/1.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/05、开启调试模式Source Map/src/assets/img/react.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/05、开启调试模式Source Map/src/assets/img/react.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/05、开启调试模式Source Map/src/assets/react.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/05、开启调试模式Source Map/src/assets/react.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/05、开启调试模式Source Map/src/common/util.js: -------------------------------------------------------------------------------- 1 | export function a() { 2 | return 'this is a'; 3 | } 4 | 5 | export function b() { 6 | return 'this is b'; 7 | } 8 | 9 | export function c() { 10 | return 'this is c'; 11 | } 12 | 13 | -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/05、开启调试模式Source Map/src/components/a.js: -------------------------------------------------------------------------------- 1 | import '../css/components/a.less' -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/05、开启调试模式Source Map/src/css/components/a.less: -------------------------------------------------------------------------------- 1 | .a { 2 | font-size: 20px; 3 | color: #2b542c; 4 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/07、区分开发环境和生产环境/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "env", 5 | { 6 | "targets": { 7 | "browsers": [ 8 | "> 1%", 9 | "last 2 versions" 10 | ] 11 | } 12 | } 13 | ] 14 | ] 15 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/07、区分开发环境和生产环境/css.transform.js: -------------------------------------------------------------------------------- 1 | module.exports =function(css) { 2 | console.log(css); 3 | console.log(window.innerHeight); 4 | return css; 5 | }; -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/07、区分开发环境和生产环境/src/assets/img/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/07、区分开发环境和生产环境/src/assets/img/1.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/07、区分开发环境和生产环境/src/assets/img/react.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/07、区分开发环境和生产环境/src/assets/img/react.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/07、区分开发环境和生产环境/src/assets/react.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/07、区分开发环境和生产环境/src/assets/react.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/07、区分开发环境和生产环境/src/common/util.js: -------------------------------------------------------------------------------- 1 | export function a() { 2 | return 'this is a'; 3 | } 4 | 5 | export function b() { 6 | return 'this is b'; 7 | } 8 | 9 | export function c() { 10 | return 'this is c'; 11 | } 12 | 13 | -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/07、区分开发环境和生产环境/src/components/a.js: -------------------------------------------------------------------------------- 1 | import '../css/components/a.less' -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/07、区分开发环境和生产环境/src/css/components/a.less: -------------------------------------------------------------------------------- 1 | .a { 2 | font-size: 20px; 3 | color: #2b542c; 4 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/08、使用middleware搭建开发环境/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "env", 5 | { 6 | "targets": { 7 | "browsers": [ 8 | "> 1%", 9 | "last 2 versions" 10 | ] 11 | } 12 | } 13 | ] 14 | ] 15 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/08、使用middleware搭建开发环境/build/proxy.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = { 3 | '/': { 4 | target: 'http://localhost:3002', 5 | changeOrigin: true, 6 | logLevel: 'debug', 7 | pathRewrite: { 8 | '': '/api/' 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/08、使用middleware搭建开发环境/css.transform.js: -------------------------------------------------------------------------------- 1 | module.exports =function(css) { 2 | console.log(css); 3 | console.log(window.innerHeight); 4 | return css; 5 | }; -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/08、使用middleware搭建开发环境/src/assets/img/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/08、使用middleware搭建开发环境/src/assets/img/1.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/08、使用middleware搭建开发环境/src/assets/img/react.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/08、使用middleware搭建开发环境/src/assets/img/react.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/08、使用middleware搭建开发环境/src/assets/react.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/08、使用middleware搭建开发环境/src/assets/react.jpg -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/08、使用middleware搭建开发环境/src/common/util.js: -------------------------------------------------------------------------------- 1 | export function a() { 2 | return 'this is a'; 3 | } 4 | 5 | export function b() { 6 | return 'this is b'; 7 | } 8 | 9 | export function c() { 10 | return 'this is c'; 11 | } 12 | 13 | -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/08、使用middleware搭建开发环境/src/components/a.js: -------------------------------------------------------------------------------- 1 | import '../css/components/a.less' -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/03、webpack构建本地开发环境/08、使用middleware搭建开发环境/src/css/components/a.less: -------------------------------------------------------------------------------- 1 | .a { 2 | font-size: 20px; 3 | color: #2b542c; 4 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/04、webpack实战场景/03、长缓存优化/common_img/01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/04、webpack实战场景/03、长缓存优化/common_img/01.png -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/04、webpack实战场景/03、长缓存优化/common_img/02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/10、深入webpack工程化/04、webpack实战场景/03、长缓存优化/common_img/02.png -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/04、webpack实战场景/03、长缓存优化/src/async.js: -------------------------------------------------------------------------------- 1 | export default { 2 | name: 'async' 3 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/04、webpack实战场景/03、长缓存优化/src/foo.js: -------------------------------------------------------------------------------- 1 | import react from 'react'; 2 | import module from './modules'; 3 | 4 | import('./async').then(function (a) { 5 | console.log(a) 6 | }); 7 | 8 | console.log('hello world!!!'); -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/04、webpack实战场景/03、长缓存优化/src/modules.js: -------------------------------------------------------------------------------- 1 | export function modules() { 2 | console.log('this is module'); 3 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/04、webpack实战场景/04、webpack多页面应用/src/components/module.js: -------------------------------------------------------------------------------- 1 | 2 | export default 'module'; -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/04、webpack实战场景/04、webpack多页面应用/src/css/a.css: -------------------------------------------------------------------------------- 1 | .a { 2 | background-color: #00B7FF; 3 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/04、webpack实战场景/04、webpack多页面应用/src/css/b.css: -------------------------------------------------------------------------------- 1 | .b { 2 | background-color: #f6edff; 3 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/04、webpack实战场景/04、webpack多页面应用/src/css/c.css: -------------------------------------------------------------------------------- 1 | .c { 2 | background-color: red; 3 | } -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/04、webpack实战场景/04、webpack多页面应用/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | <%= htmlWebpackPlugin.options.title %> 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/04、webpack实战场景/04、webpack多页面应用/src/pages/a.js: -------------------------------------------------------------------------------- 1 | import react from 'react'; 2 | import moduleA from '../components/module' 3 | import '../css/a.css' 4 | 5 | console.log('i am a'); 6 | console.log(moduleA); -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/04、webpack实战场景/04、webpack多页面应用/src/pages/b.js: -------------------------------------------------------------------------------- 1 | import react from 'react'; 2 | import moduleB from '../components/module' 3 | import '../css/b.css' 4 | 5 | console.log('i am b'); 6 | console.log(moduleB); -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/04、webpack实战场景/04、webpack多页面应用/src/pages/c.js: -------------------------------------------------------------------------------- 1 | import react from 'react'; 2 | import moduleC from '../components/module' 3 | import '../css/c.css' 4 | 5 | console.log('i am c'); 6 | console.log(moduleC); -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/05、webpack优化问题/05、优化打包速度.md: -------------------------------------------------------------------------------- 1 | ## 优化打包速度 2 | 3 | 4 | 5 | ### 参考文章 6 | - [Webpack4+Babel7优化70%速度](https://juejin.im/post/5c763885e51d457380771ab0) 7 | - [Webpack按需加载秒开应用](https://juejin.im/post/5c7f2b2e6fb9a049c43e6d68) 8 | -------------------------------------------------------------------------------- /books/专题知识库/10、深入webpack工程化/06、其他/03、重学webpack4重要知识点/03、重学webpack4重要知识点.md: -------------------------------------------------------------------------------- 1 | # 重学webpack4重要知识点 2 | 3 | - [01、打包es6](./01、打包es6/01、打包es6.md) 4 | - 02、打包ts 5 | - 03、代码分割与优化 6 | 7 | 8 | ### 参考文章 9 | - [Demos && Courses for Webpack 4](https://github.com/dongyuanxin/webpack-demos) 10 | 11 | -------------------------------------------------------------------------------- /books/专题知识库/11、测试专题/01篇、javascript单元测试框架mochajs详解/03、超时时间的问题.js: -------------------------------------------------------------------------------- 1 | describe('a suite of tests', function() { 2 | this.timeout(500); 3 | 4 | it('should take less than 500ms', function(done){ 5 | setTimeout(done, 300); 6 | }); 7 | 8 | it('should take less than 500ms as well', function(done){ 9 | setTimeout(done, 250); 10 | }); 11 | }); -------------------------------------------------------------------------------- /books/专题知识库/11、测试专题/03篇、代码覆盖率工具Istanbul入门教程/img/01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/11、测试专题/03篇、代码覆盖率工具Istanbul入门教程/img/01.png -------------------------------------------------------------------------------- /books/专题知识库/11、测试专题/03篇、代码覆盖率工具Istanbul入门教程/index.test.js: -------------------------------------------------------------------------------- 1 | const expect = require('chai').expect; 2 | let My = require('./sqrt'); 3 | 4 | describe('sqrt', function () { 5 | it('4的平方根等于2', function () { 6 | expect(My.sqrt(4)).to.equal(2) 7 | }); 8 | it('参数为负值时应该报错', function () { 9 | expect(function() { 10 | My.sqrt(-1) 11 | }).to.throw('负值没有平方根') 12 | }); 13 | }); -------------------------------------------------------------------------------- /books/专题知识库/11、测试专题/03篇、代码覆盖率工具Istanbul入门教程/simple.js: -------------------------------------------------------------------------------- 1 | let a = 1; 2 | let b = 1; 3 | if ((a + b) > 2) { 4 | console.log('more than two'); 5 | } -------------------------------------------------------------------------------- /books/专题知识库/11、测试专题/03篇、代码覆盖率工具Istanbul入门教程/sqrt.js: -------------------------------------------------------------------------------- 1 | var My = { 2 | sqrt: function(x) { 3 | if (x < 0) throw new Error("负值没有平方根"); 4 | return Math.exp(Math.log(x)/2); 5 | } 6 | }; 7 | 8 | module.exports = My; -------------------------------------------------------------------------------- /books/专题知识库/11、测试专题/06篇、Jest测试框架/02、进阶使用篇.md: -------------------------------------------------------------------------------- 1 | ## Jest测试框架 - 进阶使用篇 2 | 3 | 目录 4 | - [关于localStorage和sessionStorage的测试办法](#关于localStorage和sessionStorage的测试办法) 5 | 6 | 7 | ### 关于localStorage和sessionStorage的测试办法 8 | 可以考虑使用这个包: 9 | - [jest-localstorage-mock](https://github.com/clarkbw/jest-localstorage-mock) 10 | -------------------------------------------------------------------------------- /books/专题知识库/11、测试专题/06篇、Jest测试框架/img/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/11、测试专题/06篇、Jest测试框架/img/1.png -------------------------------------------------------------------------------- /books/专题知识库/11、测试专题/06篇、Jest测试框架/其他细碎知识点.md: -------------------------------------------------------------------------------- 1 | ## 其他细碎知识点 2 | 3 | 4 | ### 设置超时时间 5 | afterAll(fn, timeout)、afterEach(fn, timeout)、test(name, fn, timeout) 等价于 it(name, fn, timeout) 6 | 7 | 这里可以参看这个文章: 8 | - [https://www.cnblogs.com/Wolfmanlq/p/8032278.html](https://www.cnblogs.com/Wolfmanlq/p/8032278.html) 9 | 10 | 11 | 12 | ### 需要整理jest.mock() 13 | -------------------------------------------------------------------------------- /books/专题知识库/11、测试专题/07、react测试:jest+enzyme/02、tsx接入测试.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/11、测试专题/07、react测试:jest+enzyme/02、tsx接入测试.md -------------------------------------------------------------------------------- /books/专题知识库/11、测试专题/07、react测试:jest+enzyme/img/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/11、测试专题/07、react测试:jest+enzyme/img/1.png -------------------------------------------------------------------------------- /books/专题知识库/13、Linux相关知识点/04、其他服务/README.md: -------------------------------------------------------------------------------- 1 | # 其他服务 2 | 3 | 4 | ##
01、常见服务
5 | - crontab: 定时任务 6 | - Ntpdate: 日期同步 7 | - Logrotate: 日志切割 8 | - supervisor: 进程管理 9 | 10 | 11 | ### crontab: 定时任务 12 | 直接输入命令行 `crontab -e` 就可以打开编辑器, 在这个里面可以编辑我们的定时任务。 -------------------------------------------------------------------------------- /books/专题知识库/13、Linux相关知识点/05、shell/01、基础篇/demo/01_01_test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | port=8081 4 | #根据端口号查询对应的pid 5 | 6 | # shellcheck disable=SC2046 7 | kill -9 $(lsof -i :$port |awk '{print $2}' | tail -n 2) 8 | -------------------------------------------------------------------------------- /books/专题知识库/13、Linux相关知识点/05、shell/01、基础篇/demo/02_01_关系运算符.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | a=10 4 | b=20 5 | if [[ ${a} -eq ${b} ]]; then 6 | echo "${a} -eq ${b} : a is equal to b" 7 | else 8 | echo "${a} -eq ${b} : a is not equal to b" 9 | fi 10 | -------------------------------------------------------------------------------- /books/专题知识库/13、Linux相关知识点/06、vim/1.txt: -------------------------------------------------------------------------------- 1 | sdlkfjsdkfja 2 | 3 | 4 | asdlkjals 5 | 6 | 7 | simple is better than vim 8 | 9 | sldkfj 10 | lkvalv基础vim基础vim 11 | alkajfa 12 | 基础vim: 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /books/专题知识库/13、Linux相关知识点/07、nginx/docs/01、基础入门.md: -------------------------------------------------------------------------------- 1 | ## 基础入门 2 | -------------------------------------------------------------------------------- /books/专题知识库/13、Linux相关知识点/08、CI&CD/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/13、Linux相关知识点/08、CI&CD/.gitkeep -------------------------------------------------------------------------------- /books/专题知识库/13、Linux相关知识点/img/01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/13、Linux相关知识点/img/01.png -------------------------------------------------------------------------------- /books/专题知识库/13、Linux相关知识点/img/02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/13、Linux相关知识点/img/02.png -------------------------------------------------------------------------------- /books/专题知识库/13、Linux相关知识点/img/03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/13、Linux相关知识点/img/03.png -------------------------------------------------------------------------------- /books/专题知识库/13、Linux相关知识点/其他/01、apt-get查看版本以及安装指定版本软件/readme.md: -------------------------------------------------------------------------------- 1 | ## apt-get 安装指定版本软件 2 | 3 | 有时候 Ubuntu安装软件时候会提示你缺少对应版本的软件,这时候你就需要用到 sudo apt-get install softname=version 来安装对应的软件。 4 | ``` 5 | sudo apt-get install openssh-client=1:6.6p1-2ubuntu1 6 | // 上面安装的是 1:6.6p1-2ubuntu1 openssh-client 7 | ``` 8 | 9 | 列出一个软件的版本的命令是 sudo apt-cache madison soft_name 10 | ``` 11 | sudo apt-cache madison openssh-client 12 | ``` 13 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter3/labs/cmd_vs_entrypoint/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM centos 2 | ENV name Docker 3 | CMD echo "hello $name" 4 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter3/labs/docker-centos-vim/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM centos 2 | RUN yum install -y vim 3 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter3/labs/docker-python/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu 2 | RUN apt-get update && apt-get install -y python 3 | 4 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter3/labs/flask-hello-world/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:2.7 2 | LABEL maintainer="Peng Xiao" 3 | RUN pip install flask 4 | COPY app.py /app/ 5 | WORKDIR /app 6 | EXPOSE 5000 7 | CMD ["python", "app.py"] 8 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter3/labs/flask-hello-world/app.py: -------------------------------------------------------------------------------- 1 | from flask import Flask 2 | app = Flask(__name__) 3 | @app.route('/') 4 | def hello(): 5 | return "hello docker" 6 | if __name__ == '__main__': 7 | app.run(host="0.0.0.0", port=5000) 8 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter3/labs/hello-world/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM scratch 2 | ADD hello / 3 | CMD ["/hello"] 4 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter3/labs/hello-world/hello: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter3/labs/hello-world/hello -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter3/labs/hello-world/hello.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main() 4 | { 5 | printf("hello docker\n"); 6 | } 7 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter3/labs/ubuntu-stress/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu 2 | RUN apt-get update && apt-get install -y stress 3 | ENTRYPOINT ["/usr/bin/stress"] 4 | CMD [] 5 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter3/setup.sh: -------------------------------------------------------------------------------- 1 | #/bin/sh 2 | 3 | # install some tools 4 | sudo yum install -y git vim gcc glibc-static telnet bridge-utils net-tools 5 | 6 | # install docker 7 | curl -fsSL get.docker.com -o get-docker.sh 8 | sh get-docker.sh 9 | 10 | # start docker service 11 | sudo systemctl start docker 12 | 13 | rm -rf get-docker.sh 14 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/flask-redis/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:2.7 2 | LABEL maintaner="Peng Xiao xiaoquwl@gmail.com" 3 | COPY . /app 4 | WORKDIR /app 5 | RUN pip install flask redis 6 | EXPOSE 5000 7 | CMD [ "python", "app.py" ] -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/docker-nginx/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | hello 7 | 8 | 9 | 10 | 11 |

Hello Docker!

12 | 13 | 14 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-hello-world/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:2.7-alpine 2 | LABEL maintainer="Peng Xiao" 3 | RUN pip install flask Flask-Script 4 | COPY . /app/ 5 | WORKDIR /app 6 | EXPOSE 5000 7 | ENTRYPOINT [ "python", "manage.py" ] 8 | CMD [] -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-hello-world/manage.py: -------------------------------------------------------------------------------- 1 | from flask import Flask 2 | app = Flask(__name__) 3 | @app.route('/') 4 | def hello(): 5 | return "hello dockeddr" 6 | 7 | from flask_script import Manager 8 | 9 | manager = Manager(app) 10 | 11 | if __name__ == '__main__': 12 | manager.run() 13 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-hello-world/test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-hello-world/test -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/.coveragerc: -------------------------------------------------------------------------------- 1 | [run] 2 | source = skeleton 3 | omit = 4 | skeleton/tests/* 5 | */__init__.py 6 | 7 | [report] 8 | exclude_lines = 9 | def __repr__ 10 | def __str__ 11 | def parse_args 12 | pragma: no cover 13 | raise NotImplementedError 14 | if __name__ == .__main__.: 15 | 16 | ignore_errors = True 17 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/.gitlab/issue_templates/Feature.md: -------------------------------------------------------------------------------- 1 | ### Feature Description 2 | 3 | 4 | ### Implementation 5 | 6 | 7 | /label ~"Feature" 8 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Hacking Guide 2 | 3 | ## Code style 4 | 5 | Step 1: Read http://www.python.org/dev/peps/pep-0008/ 6 | 7 | Step 2: Read http://www.python.org/dev/peps/pep-0008/ again 8 | 9 | Step 3: Read on 10 | 11 | ## Running Tests 12 | 13 | Run tox 14 | 15 | ``` 16 | $ cd skeleton 17 | $ tox 18 | ``` 19 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:2.7 2 | LABEL maintainer="Peng Xiao" 3 | 4 | COPY . /skeleton 5 | WORKDIR /skeleton 6 | RUN pip install -r requirements.txt 7 | EXPOSE 5000 8 | ENTRYPOINT ["scripts/dev.sh"] 9 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/doc/source/_static/.placeholder: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/doc/source/_static/.placeholder -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/doc/source/_templates/.placeholder: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/doc/source/_templates/.placeholder -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/migrations/README: -------------------------------------------------------------------------------- 1 | Generic single-database configuration. -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/scripts/deploy.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | docker ps -a | grep penxiao_skeleton | awk '{print$1}' | xargs docker stop 4 | docker ps -a | grep penxiao_skeleton | awk '{print$1}' | xargs docker rm 5 | docker run -d -p 80:5000 --name penxiao_skeleton skeleton 6 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/scripts/dev.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | export APP_SETTINGS="skeleton.server.config.ProductionConfig" 4 | python manage.py create_db 5 | python manage.py create_admin 6 | python manage.py create_data 7 | python manage.py runserver -h 0.0.0.0 8 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/skeleton/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/skeleton/__init__.py -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/skeleton/client/static/main.css: -------------------------------------------------------------------------------- 1 | /* custom css */ 2 | 3 | .site-content { 4 | padding-top: 75px; 5 | } -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/skeleton/client/static/main.js: -------------------------------------------------------------------------------- 1 | // custom javascript 2 | 3 | $( document ).ready(function() { 4 | console.log('Sanity Check!'); 5 | }); -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/skeleton/client/templates/errors/404.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.html" %} 2 | 3 | {% block page_title %}- Page Not Found{% endblock %} 4 | 5 | {% block content %} 6 |
7 |
8 |

404

9 |

Sorry. The requested page doesn't exist. Go home.

10 |
11 |
12 | {% endblock %} 13 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/skeleton/client/templates/errors/500.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.html" %} 2 | 3 | {% block page_title %}- Server Error{% endblock %} 4 | 5 | {% block content %} 6 |
7 |
8 |

500

9 |

Sorry. Something went terribly wrong. Go home.

10 |
11 |
12 | {% endblock %} 13 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/skeleton/client/templates/footer.html: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/skeleton/client/templates/main/about.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.html" %} 2 | 3 | {% block content %} 4 | 5 |
6 |
7 |

About

8 |
9 |
10 | 11 | {% endblock %} 12 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/skeleton/client/templates/main/home.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.html" %} 2 | 3 | {% block content %} 4 | 5 |
6 |
7 |

Welcome!

8 |
9 |
10 | 11 | {% endblock %} 12 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/skeleton/client/templates/user/members.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.html" %} 2 | {% block content %} 3 |

Welcome, {{ current_user.email }}!

4 |

This is the members-only page :)

5 | {% endblock %} 6 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/skeleton/server/main/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/skeleton/server/main/__init__.py -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/skeleton/server/user/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/skeleton/server/user/__init__.py -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/test-requirements.txt: -------------------------------------------------------------------------------- 1 | flake8==2.4.0 2 | Flask-Testing==0.4.2 3 | discover 4 | nose 5 | coverage==4.0.3 6 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter4/labs/labs/flask-skeleton/tests/__init__.py -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter4/setup.sh: -------------------------------------------------------------------------------- 1 | #/bin/sh 2 | 3 | # install some tools 4 | sudo yum install -y git vim gcc glibc-static telnet bridge-utils 5 | 6 | # install docker 7 | curl -fsSL get.docker.com -o get-docker.sh 8 | sh get-docker.sh 9 | 10 | # start docker service 11 | sudo groupadd docker 12 | sudo usermod -aG docker vagrant 13 | sudo systemctl start docker 14 | 15 | rm -rf get-docker.sh 16 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/docker-nginx/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | hello 7 | 8 | 9 | 10 | 11 |

Hello Docker!

12 | 13 | 14 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-hello-world/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:2.7-alpine 2 | LABEL maintainer="Peng Xiao" 3 | RUN pip install flask Flask-Script 4 | COPY . /app/ 5 | WORKDIR /app 6 | EXPOSE 5000 7 | ENTRYPOINT [ "python", "manage.py" ] 8 | CMD [] -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-hello-world/manage.py: -------------------------------------------------------------------------------- 1 | from flask import Flask 2 | app = Flask(__name__) 3 | @app.route('/') 4 | def hello(): 5 | return "hello dockeddr" 6 | 7 | from flask_script import Manager 8 | 9 | manager = Manager(app) 10 | 11 | if __name__ == '__main__': 12 | manager.run() 13 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-hello-world/test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-hello-world/test -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/.coveragerc: -------------------------------------------------------------------------------- 1 | [run] 2 | source = skeleton 3 | omit = 4 | skeleton/tests/* 5 | */__init__.py 6 | 7 | [report] 8 | exclude_lines = 9 | def __repr__ 10 | def __str__ 11 | def parse_args 12 | pragma: no cover 13 | raise NotImplementedError 14 | if __name__ == .__main__.: 15 | 16 | ignore_errors = True 17 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/.gitlab/issue_templates/Feature.md: -------------------------------------------------------------------------------- 1 | ### Feature Description 2 | 3 | 4 | ### Implementation 5 | 6 | 7 | /label ~"Feature" 8 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Hacking Guide 2 | 3 | ## Code style 4 | 5 | Step 1: Read http://www.python.org/dev/peps/pep-0008/ 6 | 7 | Step 2: Read http://www.python.org/dev/peps/pep-0008/ again 8 | 9 | Step 3: Read on 10 | 11 | ## Running Tests 12 | 13 | Run tox 14 | 15 | ``` 16 | $ cd skeleton 17 | $ tox 18 | ``` 19 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:2.7 2 | LABEL maintainer="Peng Xiao" 3 | 4 | COPY . /skeleton 5 | WORKDIR /skeleton 6 | RUN pip install -r requirements.txt 7 | EXPOSE 5000 8 | ENTRYPOINT ["scripts/dev.sh"] 9 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/doc/source/_static/.placeholder: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/doc/source/_static/.placeholder -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/doc/source/_templates/.placeholder: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/doc/source/_templates/.placeholder -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/migrations/README: -------------------------------------------------------------------------------- 1 | Generic single-database configuration. -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/scripts/deploy.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | docker ps -a | grep penxiao_skeleton | awk '{print$1}' | xargs docker stop 4 | docker ps -a | grep penxiao_skeleton | awk '{print$1}' | xargs docker rm 5 | docker run -d -p 80:5000 --name penxiao_skeleton skeleton 6 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/scripts/dev.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | export APP_SETTINGS="skeleton.server.config.ProductionConfig" 4 | python manage.py create_db 5 | python manage.py create_admin 6 | python manage.py create_data 7 | python manage.py runserver -h 0.0.0.0 8 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/skeleton/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/skeleton/__init__.py -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/skeleton/client/static/main.css: -------------------------------------------------------------------------------- 1 | /* custom css */ 2 | 3 | .site-content { 4 | padding-top: 75px; 5 | } -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/skeleton/client/static/main.js: -------------------------------------------------------------------------------- 1 | // custom javascript 2 | 3 | $( document ).ready(function() { 4 | console.log('Sanity Check!'); 5 | }); -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/skeleton/client/templates/errors/401.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.html" %} 2 | 3 | {% block page_title %}- Unauthorized{% endblock %} 4 | 5 | {% block content %} 6 |
7 |
8 |

401

9 |

You are not authorized to view this page. Please log in.

10 |
11 |
12 | {% endblock %} 13 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/skeleton/client/templates/errors/403.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.html" %} 2 | 3 | {% block page_title %}- Unauthorized{% endblock %} 4 | 5 | {% block content %} 6 |
7 |
8 |

401

9 |

You are not authorized to view this page. Please log in.

10 |
11 |
12 | {% endblock %} 13 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/skeleton/client/templates/errors/404.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.html" %} 2 | 3 | {% block page_title %}- Page Not Found{% endblock %} 4 | 5 | {% block content %} 6 |
7 |
8 |

404

9 |

Sorry. The requested page doesn't exist. Go home.

10 |
11 |
12 | {% endblock %} 13 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/skeleton/client/templates/errors/500.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.html" %} 2 | 3 | {% block page_title %}- Server Error{% endblock %} 4 | 5 | {% block content %} 6 |
7 |
8 |

500

9 |

Sorry. Something went terribly wrong. Go home.

10 |
11 |
12 | {% endblock %} 13 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/skeleton/client/templates/footer.html: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/skeleton/client/templates/main/about.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.html" %} 2 | 3 | {% block content %} 4 | 5 |
6 |
7 |

About

8 |
9 |
10 | 11 | {% endblock %} 12 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/skeleton/client/templates/main/home.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.html" %} 2 | 3 | {% block content %} 4 | 5 |
6 |
7 |

Welcome!

8 |
9 |
10 | 11 | {% endblock %} 12 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/skeleton/client/templates/user/members.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.html" %} 2 | {% block content %} 3 |

Welcome, {{ current_user.email }}!

4 |

This is the members-only page :)

5 | {% endblock %} 6 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/skeleton/server/main/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/skeleton/server/main/__init__.py -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/skeleton/server/user/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/skeleton/server/user/__init__.py -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/test-requirements.txt: -------------------------------------------------------------------------------- 1 | flake8==2.4.0 2 | Flask-Testing==0.4.2 3 | discover 4 | nose 5 | coverage==4.0.3 6 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter5/labs/flask-skeleton/tests/__init__.py -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter5/setup.sh: -------------------------------------------------------------------------------- 1 | #/bin/sh 2 | 3 | # install some tools 4 | sudo yum install -y git vim gcc glibc-static telnet 5 | 6 | # install docker 7 | curl -fsSL get.docker.com -o get-docker.sh 8 | sh get-docker.sh 9 | 10 | # start docker service 11 | sudo groupadd docker 12 | sudo gpasswd -a vagrant docker 13 | sudo systemctl start docker 14 | 15 | rm -rf get-docker.sh -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter6/labs/example-voting-app/architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter6/labs/example-voting-app/architecture.png -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter6/labs/example-voting-app/result-app/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:0.10 2 | 3 | RUN mkdir /app 4 | WORKDIR /app 5 | 6 | ADD package.json /app/package.json 7 | RUN npm install && npm ls 8 | RUN mv /app/node_modules /node_modules 9 | 10 | ADD . /app 11 | 12 | ENV PORT 80 13 | EXPOSE 80 14 | 15 | CMD ["node", "server.js"] 16 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter6/labs/example-voting-app/voting-app/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | Redis -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter6/labs/example-voting-app/voting-app/static/font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter6/labs/example-voting-app/voting-app/static/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter6/labs/example-voting-app/voting-app/static/font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter6/labs/example-voting-app/voting-app/static/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter6/labs/example-voting-app/voting-app/static/font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter6/labs/example-voting-app/voting-app/static/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter6/labs/example-voting-app/voting-app/static/font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter6/labs/example-voting-app/voting-app/static/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter6/labs/example-voting-app/voting-app/static/font-awesome/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter6/labs/example-voting-app/voting-app/static/font-awesome/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter6/labs/flask-redis/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:2.7 2 | LABEL maintaner="Peng Xiao xiaoquwl@gmail.com" 3 | COPY . /app 4 | WORKDIR /app 5 | RUN pip install flask redis 6 | EXPOSE 5000 7 | CMD [ "python", "app.py" ] -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter6/labs/flask-redis/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3" 2 | 3 | services: 4 | 5 | redis: 6 | image: redis 7 | 8 | web: 9 | build: 10 | context: . 11 | dockerfile: Dockerfile 12 | ports: 13 | - 8080:5000 14 | environment: 15 | REDIS_HOST: redis 16 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter6/labs/lb-scale/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:2.7 2 | LABEL maintaner="Peng Xiao xiaoquwl@gmail.com" 3 | COPY . /app 4 | WORKDIR /app 5 | RUN pip install flask redis 6 | EXPOSE 80 7 | CMD [ "python", "app.py" ] -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter6/setup.sh: -------------------------------------------------------------------------------- 1 | #/bin/sh 2 | 3 | # install some tools 4 | sudo yum install -y git vim gcc glibc-static telnet 5 | 6 | # install docker 7 | curl -fsSL get.docker.com -o get-docker.sh 8 | sh get-docker.sh 9 | 10 | # start docker service 11 | sudo groupadd docker 12 | sudo gpasswd -a vagrant docker 13 | sudo systemctl start docker 14 | 15 | rm -rf get-docker.sh 16 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter7/README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # RAFT 通俗解释 4 | 5 | http://thesecretlivesofdata.com/raft/ -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter7/labs/secret-example/password: -------------------------------------------------------------------------------- 1 | adminadmin -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter7/setup.sh: -------------------------------------------------------------------------------- 1 | #/bin/sh 2 | 3 | # install some tools 4 | sudo yum install -y git vim gcc glibc-static telnet bridge-utils 5 | 6 | # install docker 7 | curl -fsSL get.docker.com -o get-docker.sh 8 | sh get-docker.sh 9 | 10 | # start docker service 11 | sudo groupadd docker 12 | sudo gpasswd -a vagrant docker 13 | sudo systemctl start docker 14 | 15 | rm -rf get-docker.sh 16 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/.coveragerc: -------------------------------------------------------------------------------- 1 | [run] 2 | source = skeleton 3 | omit = 4 | skeleton/tests/* 5 | */__init__.py 6 | 7 | [report] 8 | exclude_lines = 9 | def __repr__ 10 | def __str__ 11 | def parse_args 12 | pragma: no cover 13 | raise NotImplementedError 14 | if __name__ == .__main__.: 15 | 16 | ignore_errors = True 17 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Hacking Guide 2 | 3 | ## Code style 4 | 5 | Step 1: Read http://www.python.org/dev/peps/pep-0008/ 6 | 7 | Step 2: Read http://www.python.org/dev/peps/pep-0008/ again 8 | 9 | Step 3: Read on 10 | 11 | ## Running Tests 12 | 13 | Run tox 14 | 15 | ``` 16 | $ cd skeleton 17 | $ tox 18 | ``` 19 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:2.7 2 | 3 | MAINTAINER Peng Xiao 4 | 5 | COPY . /skeleton 6 | WORKDIR /skeleton 7 | RUN pip install -r requirements.txt 8 | EXPOSE 5050 9 | ENTRYPOINT ["scripts/dev.sh"] 10 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/doc/source/_static/.placeholder: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/doc/source/_static/.placeholder -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/doc/source/_templates/.placeholder: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/doc/source/_templates/.placeholder -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/migrations/README: -------------------------------------------------------------------------------- 1 | Generic single-database configuration. -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/scripts/deploy.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | docker ps -a | grep penxiao_skeleton | awk '{print$1}' | xargs docker stop 4 | docker ps -a | grep penxiao_skeleton | awk '{print$1}' | xargs docker rm 5 | docker run -d -p 80:5000 --name penxiao_skeleton skeleton 6 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/scripts/dev.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | export APP_SETTINGS="skeleton.server.config.ProductionConfig" 4 | python manage.py create_db 5 | python manage.py create_admin 6 | python manage.py create_data 7 | python manage.py runserver -h 0.0.0.0 8 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/skeleton/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/skeleton/__init__.py -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/skeleton/client/static/main.css: -------------------------------------------------------------------------------- 1 | /* custom css */ 2 | 3 | .site-content { 4 | padding-top: 75px; 5 | } -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/skeleton/client/static/main.js: -------------------------------------------------------------------------------- 1 | // custom javascript 2 | 3 | $( document ).ready(function() { 4 | console.log('Sanity Check!'); 5 | }); -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/skeleton/client/templates/errors/401.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.html" %} 2 | 3 | {% block page_title %}- Unauthorized{% endblock %} 4 | 5 | {% block content %} 6 |
7 |
8 |

401

9 |

You are not authorized to view this page. Please log in.

10 |
11 |
12 | {% endblock %} 13 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/skeleton/client/templates/errors/403.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.html" %} 2 | 3 | {% block page_title %}- Unauthorized{% endblock %} 4 | 5 | {% block content %} 6 |
7 |
8 |

401

9 |

You are not authorized to view this page. Please log in.

10 |
11 |
12 | {% endblock %} 13 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/skeleton/client/templates/errors/404.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.html" %} 2 | 3 | {% block page_title %}- Page Not Found{% endblock %} 4 | 5 | {% block content %} 6 |
7 |
8 |

404

9 |

Sorry. The requested page doesn't exist. Go home.

10 |
11 |
12 | {% endblock %} 13 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/skeleton/client/templates/errors/500.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.html" %} 2 | 3 | {% block page_title %}- Server Error{% endblock %} 4 | 5 | {% block content %} 6 |
7 |
8 |

500

9 |

Sorry. Something went terribly wrong. Go home.

10 |
11 |
12 | {% endblock %} 13 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/skeleton/client/templates/footer.html: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/skeleton/client/templates/main/about.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.html" %} 2 | 3 | {% block content %} 4 | 5 |
6 |
7 |

About

8 |
9 |
10 | 11 | {% endblock %} 12 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/skeleton/client/templates/main/home.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.html" %} 2 | 3 | {% block content %} 4 | 5 |
6 |
7 |

Welcome!

8 |
9 |
10 | 11 | {% endblock %} 12 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/skeleton/client/templates/user/members.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.html" %} 2 | {% block content %} 3 |

Welcome, {{ current_user.email }}!

4 |

This is the members-only page :)

5 | {% endblock %} 6 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/skeleton/server/main/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/skeleton/server/main/__init__.py -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/skeleton/server/user/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/skeleton/server/user/__init__.py -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/test-requirements.txt: -------------------------------------------------------------------------------- 1 | flake8==2.4.0 2 | Flask-Testing==0.4.2 3 | discover 4 | nose 5 | coverage==4.0.3 6 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter8/labs/flask-skeleton/tests/__init__.py -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/gif/k8s-dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter9/gif/k8s-dashboard.png -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/labs/pod-basic/README.md: -------------------------------------------------------------------------------- 1 | # Pod 基础 2 | 3 | ``` 4 | $ kubectl get pods # 获取所有正在运行的POD 5 | $ kubectl get pods -o wide # 获取pod的更多信息,比如在哪台k8s机器上 6 | $ kubectl describe pod #获取一个POD的详细信息 7 | $ kubectl exec #在pod里的container里执行一个命令,如果这个pod有多个container,默认会在第一个里执行,或者通过-c去指定哪个 8 | 9 | ``` -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/labs/pod-basic/pod_busybox.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: busybox 5 | labels: 6 | app: busybox 7 | spec: 8 | containers: 9 | - name: busybox 10 | image: busybox 11 | 12 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/labs/pod-basic/pod_nginx.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: nginx 5 | labels: 6 | app: nginx 7 | spec: 8 | containers: 9 | - name: nginx 10 | image: nginx 11 | ports: 12 | - containerPort: 80 13 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/labs/replicas-set/rc_nginx.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ReplicationController 3 | metadata: 4 | name: nginx 5 | spec: 6 | replicas: 3 7 | selector: 8 | app: nginx 9 | template: 10 | metadata: 11 | name: nginx 12 | labels: 13 | app: nginx 14 | spec: 15 | containers: 16 | - name: nginx 17 | image: nginx 18 | ports: 19 | - containerPort: 80 20 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/labs/services/pod_busybox.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: busybox-pod 5 | labels: 6 | app: busybox 7 | spec: 8 | containers: 9 | - name: busybox-container 10 | image: busybox 11 | command: 12 | - sleep 13 | - "360000" -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/labs/services/pod_nginx.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: nginx-pod 5 | labels: 6 | app: nginx 7 | spec: 8 | containers: 9 | - name: nginx-container 10 | image: nginx 11 | ports: 12 | - name: nginx-port 13 | containerPort: 80 14 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/labs/services/service_nginx.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: nginx-service 5 | spec: 6 | ports: 7 | - port: 8080 8 | nodePort: 8080 9 | targetPort: nginx-port 10 | protocol: TCP 11 | selector: 12 | app: nginx 13 | type: NodePort -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/tectonic-sandbox-1.7.5-tectonic.1/README.md: -------------------------------------------------------------------------------- 1 | Please follow the instructions for setting up Tectonic Sandbox at https://coreos.com/tectonic/sandbox 2 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/tectonic-sandbox-1.7.5-tectonic.1/provisioning/config-controller-1.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter9/tectonic-sandbox-1.7.5-tectonic.1/provisioning/config-controller-1.img -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/tectonic-sandbox-1.7.5-tectonic.1/provisioning/config-worker-1.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/code/chapter9/tectonic-sandbox-1.7.5-tectonic.1/provisioning/config-worker-1.img -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/tectonic-sandbox-1.7.5-tectonic.1/provisioning/tectonic/manifests/kube-cloud-config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: kube-cloud-cfg 5 | namespace: kube-system 6 | type: Opaque 7 | data: 8 | config: 9 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/tectonic-sandbox-1.7.5-tectonic.1/provisioning/tectonic/manifests/kube-controller-manager-disruption.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: policy/v1beta1 2 | kind: PodDisruptionBudget 3 | metadata: 4 | name: kube-controller-manager 5 | namespace: kube-system 6 | spec: 7 | minAvailable: 1 8 | selector: 9 | matchLabels: 10 | tier: control-plane 11 | k8s-app: kube-controller-manager 12 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/tectonic-sandbox-1.7.5-tectonic.1/provisioning/tectonic/manifests/kube-scheduler-disruption.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: policy/v1beta1 2 | kind: PodDisruptionBudget 3 | metadata: 4 | name: kube-scheduler 5 | namespace: kube-system 6 | spec: 7 | minAvailable: 1 8 | selector: 9 | matchLabels: 10 | tier: control-plane 11 | k8s-app: kube-scheduler 12 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/tectonic-sandbox-1.7.5-tectonic.1/provisioning/tectonic/tectonic/heapster/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: heapster 5 | namespace: kube-system 6 | labels: 7 | kubernetes.io/cluster-service: "true" 8 | kubernetes.io/name: "Heapster" 9 | spec: 10 | selector: 11 | k8s-app: heapster 12 | ports: 13 | - port: 80 14 | targetPort: 8082 -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/tectonic-sandbox-1.7.5-tectonic.1/provisioning/tectonic/tectonic/ingress/default-backend/configmap.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ConfigMap 3 | metadata: 4 | name: tectonic-custom-error 5 | namespace: tectonic-system 6 | data: 7 | custom-http-errors: "404,500,503,504" 8 | server-name-hash-bucket-size: "1024" 9 | use-http2: "false" 10 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/tectonic-sandbox-1.7.5-tectonic.1/provisioning/tectonic/tectonic/namespace.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: tectonic-system -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/tectonic-sandbox-1.7.5-tectonic.1/provisioning/tectonic/tectonic/rbac/role-admin.yaml: -------------------------------------------------------------------------------- 1 | kind: ClusterRole 2 | apiVersion: rbac.authorization.k8s.io/v1beta1 3 | metadata: 4 | name: admin 5 | rules: 6 | - apiGroups: ["*"] 7 | resources: ["*"] 8 | verbs: ["*"] 9 | - nonResourceURLs: ["*"] 10 | verbs: ["*"] 11 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/tectonic-sandbox-1.7.5-tectonic.1/provisioning/tectonic/tectonic/updater/app-version-kind.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "apiextensions.k8s.io/v1beta1" 2 | kind: "CustomResourceDefinition" 3 | metadata: 4 | name: "appversions.tco.coreos.com" 5 | spec: 6 | group: "tco.coreos.com" 7 | version: "v1" 8 | names: 9 | plural: "appversions" 10 | kind: "AppVersion" 11 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/tectonic-sandbox-1.7.5-tectonic.1/provisioning/tectonic/tectonic/updater/app_versions/app-version-tectonic-etcd.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: tco.coreos.com/v1 2 | kind: AppVersion 3 | metadata: 4 | name: tectonic-etcd 5 | namespace: tectonic-system 6 | labels: 7 | managed-by-channel-operator: "true" 8 | spec: 9 | desiredVersion: 0.0.2 10 | paused: false 11 | status: 12 | currentVersion: 0.0.2 13 | paused: false 14 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/tectonic-sandbox-1.7.5-tectonic.1/provisioning/tectonic/tectonic/updater/cluster-config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "etcd.database.coreos.com/v1beta2" 2 | kind: "EtcdCluster" 3 | metadata: 4 | name: "kube-etcd" 5 | namespace: kube-system 6 | spec: 7 | size: 1 8 | version: "3.1.8" 9 | pod: 10 | resources: 11 | requests: 12 | cpu: 500m 13 | memory: 300Mi 14 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/tectonic-sandbox-1.7.5-tectonic.1/provisioning/tectonic/tectonic/updater/migration-status-kind.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "apiextensions.k8s.io/v1beta1" 2 | kind: "CustomResourceDefinition" 3 | metadata: 4 | name: "migrationstatuses.kvo.coreos.com" 5 | spec: 6 | group: "kvo.coreos.com" 7 | version: "v1" 8 | names: 9 | plural: "migrationstatuses" 10 | kind: "MigrationStatus" 11 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/tectonic-sandbox-1.7.5-tectonic.1/provisioning/tectonic/tectonic/updater/tectonic-channel-operator-kind.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "apiextensions.k8s.io/v1beta1" 2 | kind: "CustomResourceDefinition" 3 | metadata: 4 | name: "channeloperatorconfigs.tco.coreos.com" 5 | spec: 6 | group: "tco.coreos.com" 7 | version: "v1" 8 | names: 9 | plural: "channeloperatorconfigs" 10 | kind: "ChannelOperatorConfig" 11 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/tectonic-sandbox-1.7.5-tectonic.1/provisioning/templates/ca-cert.tmpl: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: tectonic-ca-cert-secret 5 | namespace: tectonic-system 6 | type: Opaque 7 | data: 8 | ca-cert: {{CA_CRT}} 9 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/tectonic-sandbox-1.7.5-tectonic.1/provisioning/templates/identity-grpc-client.tmpl: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: tectonic-identity-grpc-client-secret 5 | namespace: tectonic-system 6 | type: Opaque 7 | data: 8 | tls-cert: {{CLIENT_CRT}} 9 | tls-key: {{CLIENT_KEY}} 10 | ca-cert: {{CA_CRT}} 11 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/tectonic-sandbox-1.7.5-tectonic.1/provisioning/templates/identity-grpc-server.tmpl: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: tectonic-identity-grpc-server-secret 5 | namespace: tectonic-system 6 | type: Opaque 7 | data: 8 | tls-cert: {{SERVER_CRT}} 9 | tls-key: {{SERVER_KEY}} 10 | ca-cert: {{CA_CRT}} 11 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/tectonic-sandbox-1.7.5-tectonic.1/provisioning/templates/ingress-tls.tmpl: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: tectonic-ingress-tls-secret 5 | namespace: tectonic-system 6 | type: Opaque 7 | data: 8 | tls.crt: {{INGRESS_CRT}} 9 | tls.key: {{INGRESS_KEY}} 10 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/tectonic-sandbox-1.7.5-tectonic.1/provisioning/templates/kube-controller-manager-secret.tmpl: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: kube-controller-manager 5 | namespace: kube-system 6 | type: Opaque 7 | data: 8 | service-account.key: {{SERVICE_ACCOUNT_KEY}} 9 | ca.crt: {{CA_CRT}} 10 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/code/chapter9/tectonic-sandbox-1.7.5-tectonic.1/provisioning/templates/tectonic-monitoring-auth-secret.tmpl: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: tectonic-monitoring-auth 5 | namespace: tectonic-system 6 | data: 7 | cookie_secret: {{COOKIE_SECRET}} 8 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/02、docker容器与镜像/flask-hello-world/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:2.7 2 | LABEL maintainer="Peng Xiao" 3 | RUN pip install flask 4 | COPY app.py /app/ 5 | WORKDIR /app 6 | EXPOSE 5000 7 | CMD ["python", "app.py"] 8 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/02、docker容器与镜像/flask-hello-world/app.py: -------------------------------------------------------------------------------- 1 | from flask import Flask 2 | app = Flask(__name__) 3 | @app.route('/') 4 | def hello(): 5 | return "hello docker" 6 | if __name__ == '__main__': 7 | app.run(host="0.0.0.0", port=5000) 8 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/02、docker容器与镜像/node-hello-world/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:8.9-alpine 2 | LABEL maintainer="yanlele 331393627@qq.com" 3 | 4 | ADD . /app/ 5 | WORKDIR /app 6 | EXPOSE 3001 7 | 8 | CMD ["node", "start"] 9 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/02、docker容器与镜像/node-hello-world/server.js: -------------------------------------------------------------------------------- 1 | var http = require('http'); 2 | http.createServer(function (req, res) { 3 | res.writeHead(200, {'Content-Type': 'text/plain'}); 4 | res.end('Hello World\n'); 5 | }).listen(3001, '0.0.0.0'); 6 | console.log('Server running at http://127.0.0.1:3001/'); 7 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/flask-redis/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:2.7 2 | LABEL maintaner="Peng Xiao xiaoquwl@gmail.com" 3 | COPY . /app 4 | WORKDIR /app 5 | RUN pip install flask redis 6 | EXPOSE 5000 7 | CMD [ "python", "app.py" ] -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/docker-nginx/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | hello 7 | 8 | 9 | 10 | 11 |

Hello Docker!

12 | 13 | 14 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-hello-world/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:2.7-alpine 2 | LABEL maintainer="Peng Xiao" 3 | RUN pip install flask Flask-Script 4 | COPY . /app/ 5 | WORKDIR /app 6 | EXPOSE 5000 7 | ENTRYPOINT [ "python", "manage.py" ] 8 | CMD [] -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-hello-world/manage.py: -------------------------------------------------------------------------------- 1 | from flask import Flask 2 | app = Flask(__name__) 3 | @app.route('/') 4 | def hello(): 5 | return "hello dockeddr" 6 | 7 | from flask_script import Manager 8 | 9 | manager = Manager(app) 10 | 11 | if __name__ == '__main__': 12 | manager.run() 13 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-hello-world/test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-hello-world/test -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/.coveragerc: -------------------------------------------------------------------------------- 1 | [run] 2 | source = skeleton 3 | omit = 4 | skeleton/tests/* 5 | */__init__.py 6 | 7 | [report] 8 | exclude_lines = 9 | def __repr__ 10 | def __str__ 11 | def parse_args 12 | pragma: no cover 13 | raise NotImplementedError 14 | if __name__ == .__main__.: 15 | 16 | ignore_errors = True 17 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/.gitlab/issue_templates/Feature.md: -------------------------------------------------------------------------------- 1 | ### Feature Description 2 | 3 | 4 | ### Implementation 5 | 6 | 7 | /label ~"Feature" 8 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Hacking Guide 2 | 3 | ## Code style 4 | 5 | Step 1: Read http://www.python.org/dev/peps/pep-0008/ 6 | 7 | Step 2: Read http://www.python.org/dev/peps/pep-0008/ again 8 | 9 | Step 3: Read on 10 | 11 | ## Running Tests 12 | 13 | Run tox 14 | 15 | ``` 16 | $ cd skeleton 17 | $ tox 18 | ``` 19 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:2.7 2 | LABEL maintainer="Peng Xiao" 3 | 4 | COPY . /skeleton 5 | WORKDIR /skeleton 6 | RUN pip install -r requirements.txt 7 | EXPOSE 5000 8 | ENTRYPOINT ["scripts/dev.sh"] 9 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/doc/source/_static/.placeholder: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/doc/source/_static/.placeholder -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/doc/source/_templates/.placeholder: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/doc/source/_templates/.placeholder -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/migrations/README: -------------------------------------------------------------------------------- 1 | Generic single-database configuration. -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/scripts/deploy.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | docker ps -a | grep penxiao_skeleton | awk '{print$1}' | xargs docker stop 4 | docker ps -a | grep penxiao_skeleton | awk '{print$1}' | xargs docker rm 5 | docker run -d -p 80:5000 --name penxiao_skeleton skeleton 6 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/scripts/dev.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | export APP_SETTINGS="skeleton.server.config.ProductionConfig" 4 | python manage.py create_db 5 | python manage.py create_admin 6 | python manage.py create_data 7 | python manage.py runserver -h 0.0.0.0 8 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/skeleton/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/skeleton/__init__.py -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/skeleton/client/static/main.css: -------------------------------------------------------------------------------- 1 | /* custom css */ 2 | 3 | .site-content { 4 | padding-top: 75px; 5 | } -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/skeleton/client/static/main.js: -------------------------------------------------------------------------------- 1 | // custom javascript 2 | 3 | $( document ).ready(function() { 4 | console.log('Sanity Check!'); 5 | }); -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/skeleton/client/templates/errors/404.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.html" %} 2 | 3 | {% block page_title %}- Page Not Found{% endblock %} 4 | 5 | {% block content %} 6 |
7 |
8 |

404

9 |

Sorry. The requested page doesn't exist. Go home.

10 |
11 |
12 | {% endblock %} 13 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/skeleton/client/templates/errors/500.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.html" %} 2 | 3 | {% block page_title %}- Server Error{% endblock %} 4 | 5 | {% block content %} 6 |
7 |
8 |

500

9 |

Sorry. Something went terribly wrong. Go home.

10 |
11 |
12 | {% endblock %} 13 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/skeleton/client/templates/footer.html: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/skeleton/client/templates/main/about.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.html" %} 2 | 3 | {% block content %} 4 | 5 |
6 |
7 |

About

8 |
9 |
10 | 11 | {% endblock %} 12 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/skeleton/client/templates/main/home.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.html" %} 2 | 3 | {% block content %} 4 | 5 |
6 |
7 |

Welcome!

8 |
9 |
10 | 11 | {% endblock %} 12 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/skeleton/client/templates/user/members.html: -------------------------------------------------------------------------------- 1 | {% extends "_base.html" %} 2 | {% block content %} 3 |

Welcome, {{ current_user.email }}!

4 |

This is the members-only page :)

5 | {% endblock %} 6 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/skeleton/server/main/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/skeleton/server/main/__init__.py -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/skeleton/server/user/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/skeleton/server/user/__init__.py -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/test-requirements.txt: -------------------------------------------------------------------------------- 1 | flake8==2.4.0 2 | Flask-Testing==0.4.2 3 | discover 4 | nose 5 | coverage==4.0.3 6 | -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/docs/03、docker网络/labs/labs/flask-skeleton/tests/__init__.py -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/docs/07、Kubenetes/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/docs/07、Kubenetes/readme.md -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/imgs/01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/imgs/01.png -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/imgs/02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/imgs/02.png -------------------------------------------------------------------------------- /books/专题知识库/14、docker&Devops/imgs/03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/14、docker&Devops/imgs/03.png -------------------------------------------------------------------------------- /books/专题知识库/15、小程序/images/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/15、小程序/images/1.png -------------------------------------------------------------------------------- /books/专题知识库/16、RXJS学习专题/docs/image/05-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/16、RXJS学习专题/docs/image/05-01.png -------------------------------------------------------------------------------- /books/专题知识库/20、flutter/01、flutter从零到实战/01、初识Flutter/README.md: -------------------------------------------------------------------------------- 1 | ## 初识flutter 2 | 3 | ### 跨平台的历史 4 | webView(PhoneGap、Ionic) ==> React Native ==> flutter 5 | 6 | ### Flutter 绘制原理 7 | -------------------------------------------------------------------------------- /books/专题知识库/20、flutter/01、flutter从零到实战/02、dart语法/code/01、demo.dart: -------------------------------------------------------------------------------- 1 | /** 2 | * main 是 dart 入口 3 | * 4 | * 打印函数使用的是 print 5 | */ 6 | main(List args) { 7 | print("Hello World"); 8 | } 9 | -------------------------------------------------------------------------------- /books/专题知识库/20、flutter/01、flutter从零到实战/02、dart语法/code/03、非零即真.dart: -------------------------------------------------------------------------------- 1 | main(List args) { 2 | var flag = "123"; 3 | 4 | // 这样就是错误的语法, 必须要是一个布尔值, 没有非空即真的说法 5 | // if (flag) { 6 | // print("实行代码失败"); 7 | // } 8 | } 9 | -------------------------------------------------------------------------------- /books/专题知识库/20、flutter/01、flutter从零到实战/02、dart语法/code/05、集合类型.dart: -------------------------------------------------------------------------------- 1 | main(List args) { 2 | // 1. List 3 | var names = ["abc", "bcd", "cde", "abc"]; 4 | 5 | // 2. Set 6 | var movies = {"nihao", "nicai", "shibushi"}; 7 | // 去重 8 | names = Set.from(names).toList(); 9 | print(names); 10 | 11 | // 3. map 12 | var info = { 13 | "name": "yanle", 14 | "age": 30, 15 | }; 16 | 17 | // 4. 没有关键字定义接口, 所有 class 都是隐式接口 18 | } 19 | -------------------------------------------------------------------------------- /books/专题知识库/20、flutter/01、flutter从零到实战/02、dart语法/code/06、函数的基本使用.dart: -------------------------------------------------------------------------------- 1 | main(List args) { 2 | print(sum(1, 2)); 3 | } 4 | 5 | // 返回类型可以省略, 但是开发过程中可以省略(开发中不推荐); 6 | int sum(int num1, int num2) { 7 | return num1 + num2; 8 | } 9 | -------------------------------------------------------------------------------- /books/专题知识库/20、flutter/01、flutter从零到实战/02、dart语法/code/08、函数是一等公民01.dart: -------------------------------------------------------------------------------- 1 | main(List args) { 2 | // 函数传递 3 | test(bar); 4 | 5 | // 匿名函数 6 | test(() { 7 | print("匿名函数被调用"); 8 | return 10; 9 | }); 10 | 11 | // 箭头函数 12 | // 函数体只有一行代码 13 | test(() => print("箭头函数被调用")); 14 | } 15 | 16 | void test(Function foo) { 17 | foo(); 18 | } 19 | 20 | void bar() { 21 | print("bar 函数被调用"); 22 | } 23 | -------------------------------------------------------------------------------- /books/专题知识库/20、flutter/01、flutter从零到实战/02、dart语法/code/09、赋值运算符.dart: -------------------------------------------------------------------------------- 1 | main(List args) { 2 | // ??= 3 | // 原来的变量有值的时候, 就不执行, 如果是 null, 就赋值 4 | // var name = "why"; 5 | // name ??= "lilei"; 6 | // print(name); 7 | 8 | // ??: 9 | // 类似于 || 10 | var name = null; 11 | var temp = name ?? "lilei"; 12 | print(temp); 13 | } 14 | -------------------------------------------------------------------------------- /books/专题知识库/20、flutter/01、flutter从零到实战/02、dart语法/code/11、for循环.dart: -------------------------------------------------------------------------------- 1 | main(List args) { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /books/专题知识库/20、flutter/01、flutter从零到实战/02、dart语法/code/12、面向对象01_类的定义.dart: -------------------------------------------------------------------------------- 1 | main(List args) { 2 | var p = Person("why", 18); 3 | } 4 | 5 | class Person { 6 | late String name; 7 | late int age; 8 | 9 | Person(this.name, this.age); 10 | } 11 | 12 | 13 | -------------------------------------------------------------------------------- /books/专题知识库/20、flutter/01、flutter从零到实战/02、dart语法/code/12、面向对象04_重定向构造函数.dart: -------------------------------------------------------------------------------- 1 | main(List args) { 2 | var p = Person("name"); 3 | print(p.age); 4 | } 5 | 6 | class Person { 7 | late String name; 8 | late int age; 9 | 10 | // 构造函数的重定向 11 | Person(String name) : this._internal(name, 0); 12 | 13 | Person._internal(this.name, this.age); 14 | } 15 | -------------------------------------------------------------------------------- /books/专题知识库/20、flutter/01、flutter从零到实战/02、dart语法/code/12、面向对象05_常量构造函数.dart: -------------------------------------------------------------------------------- 1 | main(List args) { 2 | // 这个地方要使用 const 3 | const p1 = Person("why"); 4 | const p2 = Person("why"); 5 | print(identical(p1, p2)); 6 | } 7 | 8 | class Person { 9 | final String name; 10 | const Person(this.name); 11 | } 12 | -------------------------------------------------------------------------------- /books/专题知识库/20、flutter/01、flutter从零到实战/02、dart语法/code/12、面向对象08_继承.dart: -------------------------------------------------------------------------------- 1 | main(List args) {} 2 | 3 | class Animal { 4 | int age = 0; 5 | 6 | Animal(this.age); 7 | } 8 | 9 | class Person extends Animal { 10 | String name = ""; 11 | 12 | Person(this.name, int age) : super(age); 13 | } 14 | -------------------------------------------------------------------------------- /books/专题知识库/20、flutter/01、flutter从零到实战/04、第一个flutter应用/img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/专题知识库/20、flutter/01、flutter从零到实战/04、第一个flutter应用/img.png -------------------------------------------------------------------------------- /books/专题知识库/20、flutter/01、flutter从零到实战/readme.md: -------------------------------------------------------------------------------- 1 | # flutter从零到实战 2 | 3 | 4 | 5 | 相关文档: https://book.flutterchina.club/preface.html 6 | -------------------------------------------------------------------------------- /books/专题知识库/20、flutter/02、flutter实战总结/readme.md: -------------------------------------------------------------------------------- 1 | # Flutter 实战总结 2 | 3 | ## 基础组件类 4 | 5 | 6 | 7 | 8 | ## 其他 9 | - [provider](https://github.com/rrousselGit/provider/blob/master/resources/translations/zh-CN/README.md) 10 | -------------------------------------------------------------------------------- /books/专题知识库/20、flutter/README.md: -------------------------------------------------------------------------------- 1 | # Flutter 2 | 3 | - [01、flutter从零到实战](./01、flutter从零到实战/readme.md) 4 | -------------------------------------------------------------------------------- /books/专题知识库/21、工程化专题/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /books/专题知识库/21、工程化专题/README.md: -------------------------------------------------------------------------------- 1 | # 工程化专题 2 | 3 | ## 构建工具方向 4 | - vite 5 | - webpack 6 | - [这次我要当 webpack5 react 配置工程师](https://juejin.cn/post/7187973541675925562) 7 | 8 | 9 | 10 | ## 包管理 11 | - pnpm 方向研究 12 | - monorepo 方向研究 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /books/专题知识库/22、chorme extensions/readmd.md: -------------------------------------------------------------------------------- 1 | # chorme extensions 2 | 3 | 学名 chrome 扩展程序, 俗名: 谷歌插件 4 | -------------------------------------------------------------------------------- /books/发展与OKR/01、发布的npm开源模块/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/发展与OKR/01、发布的npm开源模块/.gitkeep -------------------------------------------------------------------------------- /books/发展与OKR/02、在折腾的个人项目/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/发展与OKR/02、在折腾的个人项目/.gitkeep -------------------------------------------------------------------------------- /books/发展与OKR/02、在折腾的个人项目/01、jsDeliver和github自制资管管理/README.md: -------------------------------------------------------------------------------- 1 | ## jsDeliver和github自制资管管理 2 | 3 | ### 参考文档 4 | - [https://github.com/xjh22222228/boomb](https://github.com/xjh22222228/boomb) 5 | - [免费jsDeliver CDN使用](https://zengwu.com.cn/p/2456a806.html) 6 | - [jsDeliver+github打造属于自己的图床](https://blog.csdn.net/weixin_45631738/article/details/104731332) 7 | -------------------------------------------------------------------------------- /books/发展与OKR/02、在折腾的个人项目/README.md: -------------------------------------------------------------------------------- 1 | ## 在折腾的个人项目 2 | 3 | - [jsDeliver和github自制资管管理](/books/发展与OKR/02、在折腾的个人项目/01、jsDeliver和github自制资管管理/README.md) 4 | -------------------------------------------------------------------------------- /books/发展与OKR/03、研究的项目/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/发展与OKR/03、研究的项目/.gitkeep -------------------------------------------------------------------------------- /books/发展与OKR/04、研究的问题/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/发展与OKR/04、研究的问题/.gitkeep -------------------------------------------------------------------------------- /books/发展与OKR/05、源码研究/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/发展与OKR/05、源码研究/.gitkeep -------------------------------------------------------------------------------- /books/发展与OKR/06、自我管理/02、规划/2023年/README.md: -------------------------------------------------------------------------------- 1 | # 2023 年规划 2 | 3 | 每年都在做规划, 每年都有大量没有实现的规划内容; 4 | 去年 22 年, 算是非常忙碌的一年, 但是感觉产出却很一般, 主要公司工作为主, 没有明确自己的一个定位, 很多事情也是做了一半, 拿不到结果产出。 5 | 还有一些事情是实在是推进就很难, 想拿到漂亮的产出也就更加难了, 比如一直在做系统优化等方向的工作。 6 | 后续想继续往在这个行业精耕细作下去, 就需要尽快强化自己的核心竞争力。 7 | 8 | --------- 9 | 10 | > 2023 年 01 月 22 日 - 周天 11 | 12 | 今天是 农历 23 年初一, 一晃眼自己已经工作七年了。 13 | 14 | --------- 15 | 16 | -------------------------------------------------------------------------------- /books/发展与OKR/06、自我管理/02、规划/21年/README.md: -------------------------------------------------------------------------------- 1 | # 2021年规划与OKR 2 | 3 | - [12.08-12.12](/books/发展与OKR/06、自我管理/02、规划/21年/01、12.08_12.12/README.md) 4 | - [12.15-12.19](/books/发展与OKR/06、自我管理/02、规划/21年/02、12.15_12.19/README.md) 5 | 6 | -------------------------------------------------------------------------------- /books/发展与OKR/06、自我管理/02、规划/22年/02、01.10-01.16/README.md: -------------------------------------------------------------------------------- 1 | ## 第二周 2 | 3 | > 01.10-01.16 4 | 5 | - 驱动学习 6 | - 完成 charles 相关技术分享文档整理 - done 7 | - 自动化机器人可以产出文档 8 | - 提升与思考 9 | - 完成研究话题:[为何富人越来越富,穷人越来越穷](/books/发展与OKR/06、自我管理/03、思考/02、为何富人越来越富,穷人越来越穷/README.md) 10 | - 规划目标小程序产品文档 11 | - 开始做胖熊的简历官网 12 | - 作息约束 13 | - 每天晚上 24:00 睡觉 14 | - 早上 07:00 起床 15 | - 早上固定学习时间 90 分钟, 锻炼时间 30 分钟, 周末每天锻炼时间 45 分钟 16 | 17 | -------------------------------------------------------------------------------- /books/发展与OKR/06、自我管理/02、规划/22年/03、01.17-01.23/README.md: -------------------------------------------------------------------------------- 1 | ## 第三周 2 | 3 | > 01.17-01.23 4 | 5 | - 驱动学习 6 | - 自动化机器人可以产出文档 7 | - 整理 `babel` 总结 8 | - 提升与思考 9 | - 完成研究话题:[为何富人越来越富,穷人越来越穷](/books/发展与OKR/06、自我管理/03、思考/02、为何富人越来越富,穷人越来越穷/README.md) 10 | - 规划目标小程序产品文档 11 | - 开始做胖熊的简历官网 12 | - 作息约束 13 | - 每天晚上 24:00 睡觉 14 | - 早上 07:00 起床 15 | - 早上固定学习时间 90 分钟, 锻炼时间 30 分钟, 周末每天锻炼时间 45 分钟 16 | 17 | -------------------------------------------------------------------------------- /books/发展与OKR/06、自我管理/02、规划/README.md: -------------------------------------------------------------------------------- 1 | # 规划 2 | 3 | - [2017年](/books/发展与OKR/06、自我管理/02、规划/17年/17年前端进阶计划.md) 4 | - [2018年](/books/发展与OKR/06、自我管理/02、规划/18年/18年计划书.md) 5 | - [2019年](/books/发展与OKR/06、自我管理/02、规划/19年/19年计划书.md) 6 | - [2020年](/books/发展与OKR/06、自我管理/02、规划/20年/20年计划书.md) 7 | - 2021年 8 | - [2022年](/books/发展与OKR/06、自我管理/02、规划/22年/README.md) 9 | -------------------------------------------------------------------------------- /books/发展与OKR/06、自我管理/03、思考/README.md: -------------------------------------------------------------------------------- 1 | ## 思考 2 | 3 | - [如何改变自己的命运思考](/books/发展与OKR/06、自我管理/03、思考/01、如何改变自己的命运?/README.md) 4 | - [为何富人越来越富,穷人越来越穷](/books/发展与OKR/06、自我管理/03、思考/02、为何富人越来越富,穷人越来越穷/README.md) 5 | -------------------------------------------------------------------------------- /books/知识库/01、前端技术知识/12、css3新单位vw、vh、vmin、vmax的使用详解/img.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/知识库/01、前端技术知识/12、css3新单位vw、vh、vmin、vmax的使用详解/img.jpg -------------------------------------------------------------------------------- /books/知识库/01、前端技术知识/16、点击链接下载的研究/timg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/知识库/01、前端技术知识/16、点击链接下载的研究/timg.jpg -------------------------------------------------------------------------------- /books/知识库/01、前端技术知识/23、Object.assign()与深拷贝/index.js: -------------------------------------------------------------------------------- 1 | let Mock = require('mockjs'); 2 | 3 | let data = Mock.mock({ 4 | 'list|1-10': [{ 5 | 'id|+1': 1, 6 | name: '@cname', 7 | title: '@ctitle' 8 | }], 9 | message: '123' 10 | }); 11 | 12 | console.log('reData', data); 13 | -------------------------------------------------------------------------------- /books/知识库/01、前端技术知识/24、前端展示太长,截取为点点点/README.md: -------------------------------------------------------------------------------- 1 | ## 前端展示太长,截取为点点点 2 | 3 | ```stylus 4 | overflow: hidden; 5 | text-overflow: ellipsis; 6 | white-space: nowrap; 7 | ``` -------------------------------------------------------------------------------- /books/知识库/01、前端技术知识/25、thumbStyle/test.js: -------------------------------------------------------------------------------- 1 | const styleToCssString = require('./styleToCssString'); 2 | 3 | console.log(styleToCssString({ 4 | width: '50px', 5 | textAlign: 'center' 6 | })); 7 | -------------------------------------------------------------------------------- /books/知识库/01、前端技术知识/27.请求超时重试/demo.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /books/知识库/01、前端技术知识/29.100万个函数执行保证浏览器不卡/worker.js: -------------------------------------------------------------------------------- 1 | /** 2 | * create by yanle 3 | * create time 2024/1/16 00:12 4 | */ 5 | 6 | onmessage = function(event) { 7 | const start = event.data.start; 8 | const end = event.data.end; 9 | let sum = 0; 10 | for (let i = start; i <= end; i++) { 11 | sum = i + 1; 12 | } 13 | postMessage(sum); // 向主线程发送消息 14 | }; 15 | -------------------------------------------------------------------------------- /books/知识库/02、技术生态圈/05、npm镜像源切换问题/README.md: -------------------------------------------------------------------------------- 1 | # npm镜像源切换问题 2 | 3 | 切换到淘宝镜像: `npm config set registry https://registry.npm.taobao.org` 4 | 切换到官方镜像: `npm config set registry http://registry.npmjs.org` 5 | 6 | 查看自己发布的包: `npm view 包名` 7 | 查看包的所有历史版本版本: `npm view jquery versions` 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /books/知识库/02、技术生态圈/12、git clone 太慢了的解决办法/readme.md: -------------------------------------------------------------------------------- 1 | # git clone 太慢的解决办法 2 | 使用github的镜像网站进行访问,`github.com.cnpmjs.org`,我们将原本的网站中的github.com 进行替换。例如上例子中替换为 3 | `https://github.com.cnpmjs.org/graykode/nlp-tutorial` 就可以访问非常快了。 4 | 5 | 提交的内容可以直接同步到 `githun.com`; 6 | 7 | 还可以直接访问个人主页: `https://github.com.cnpmjs.org/yanlele` 8 | -------------------------------------------------------------------------------- /books/知识库/02、技术生态圈/13、Github实用技巧/img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/知识库/02、技术生态圈/13、Github实用技巧/img.png -------------------------------------------------------------------------------- /books/知识库/02、技术生态圈/13、Github实用技巧/img_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/知识库/02、技术生态圈/13、Github实用技巧/img_1.png -------------------------------------------------------------------------------- /books/知识库/02、技术生态圈/13、Github实用技巧/img_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/知识库/02、技术生态圈/13、Github实用技巧/img_2.png -------------------------------------------------------------------------------- /books/知识库/02、技术生态圈/13、Github实用技巧/img_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/知识库/02、技术生态圈/13、Github实用技巧/img_3.png -------------------------------------------------------------------------------- /books/知识库/02、技术生态圈/13、Github实用技巧/img_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/知识库/02、技术生态圈/13、Github实用技巧/img_4.png -------------------------------------------------------------------------------- /books/知识库/02、技术生态圈/13、Github实用技巧/img_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/知识库/02、技术生态圈/13、Github实用技巧/img_5.png -------------------------------------------------------------------------------- /books/知识库/02、技术生态圈/13、Github实用技巧/img_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/知识库/02、技术生态圈/13、Github实用技巧/img_6.png -------------------------------------------------------------------------------- /books/知识库/02、技术生态圈/13、Github实用技巧/img_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/知识库/02、技术生态圈/13、Github实用技巧/img_8.png -------------------------------------------------------------------------------- /books/知识库/02、技术生态圈/14、ChatGPT/readme.md: -------------------------------------------------------------------------------- 1 | # ChatGPT 2 | 3 | ## 如何注册? 4 | https://www.youtube.com/watch?v=ceN1Sly-QuI 5 | -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/02、node基础api_path/01、path_normalize.js: -------------------------------------------------------------------------------- 1 | const {normalize} =require('path'); 2 | //const normalize =require('path').normalize; 3 | 4 | console.log(normalize('/user/local/bin')); 5 | console.log(normalize('/user//local/bin')); 6 | console.log(normalize('/user/local/../bin')); 7 | -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/02、node基础api_path/02、path_join.js: -------------------------------------------------------------------------------- 1 | const path=require('path'); 2 | console.log(path.join('/user','local','bin/')); 3 | console.log(path.join('/user','..local','bin/')); -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/02、node基础api_path/03、path_resolve.js: -------------------------------------------------------------------------------- 1 | const path=require('path'); 2 | 3 | 4 | console.log(path.resolve('./', __filename)); 5 | console.log(path.resolve('./')); -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/02、node基础api_path/04、path_names.js: -------------------------------------------------------------------------------- 1 | const path=require('path'); 2 | 3 | const filePath= '/user/local/bin/no.txt'; 4 | 5 | console.log(path.basename(filePath)); 6 | console.log(path.dirname(filePath)); 7 | console.log(path.extname(filePath)); 8 | -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/02、node基础api_path/05、path_parse&&format.js: -------------------------------------------------------------------------------- 1 | const path=require('path'); 2 | 3 | const filePath='/user/localhost/node_modules/n/package.json'; 4 | 5 | const ret=path.parse(filePath); 6 | console.log(ret); 7 | console.log(path.format(ret)); 8 | 9 | -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/02、node基础api_path/06、path_sep&&delimiter&&win32&&posix.js: -------------------------------------------------------------------------------- 1 | const path=require('path'); 2 | 3 | console.log(path.sep); 4 | console.log(`win32 : ${path.win32.sep}`) 5 | 6 | 7 | console.log(`path: ${process.env.PATH}`); 8 | console.log(`delimiter ${path.delimiter}`); 9 | console.log(`delimiter ${path.win32.delimiter}`); 10 | 11 | 12 | -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/02、node基础api_path/07、paths.js: -------------------------------------------------------------------------------- 1 | const path=require('path'); 2 | 3 | console.log(`__diername ${__dirname}`); 4 | console.log(`process.cwd() ${process.cwd()}`); 5 | 6 | //相对路径 7 | console.log(`./ ${path.resolve('./')}`) 8 | 9 | -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/04、node基础api_event/01、event_base.js: -------------------------------------------------------------------------------- 1 | const EventEmitter=require('events'); 2 | 3 | class CustomEvent extends EventEmitter{ 4 | 5 | } 6 | 7 | const ce=new CustomEvent(); 8 | 9 | ce.on('test',()=>{ 10 | console.log('this is test!'); 11 | }); 12 | 13 | setInterval(()=>{ 14 | ce.emit('test') 15 | },1000); -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/04、node基础api_event/02、event_param.js: -------------------------------------------------------------------------------- 1 | const EventEmitter=require('events'); 2 | 3 | class CustomEvent extends EventEmitter{} 4 | 5 | const ce=new CustomEvent(); 6 | 7 | ce.on('error',err=>{ 8 | console.log(err) 9 | }); 10 | 11 | ce.emit('error',new Error('yanle')); -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/04、node基础api_event/03、event_once.js: -------------------------------------------------------------------------------- 1 | const EventEmitter=require('events'); 2 | 3 | class CustomEvent extends EventEmitter{ 4 | 5 | } 6 | 7 | const ce=new CustomEvent(); 8 | 9 | ce.once('test',()=>{ 10 | console.log('test event!') 11 | }); 12 | 13 | setInterval(()=>{ 14 | ce.emit('test') 15 | },1000); 16 | -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/04、node基础api_event/README.md: -------------------------------------------------------------------------------- 1 | # 事件驱动 模块'events' 2 | - [一个最简单的实例(其实就是让事件对象继承'events'模块)](./01、event_base.js) 3 | - 通过on来绑定一个事件方法,第一个参数是事件名称,第二个参数是一个function,可以接收参数。 4 | - 通过emit来触发一个时间,第一个参数为触发的事件名称,第二个参数是触发事件所要传递的参数,如果需要传递多个参数,直接写在后面就可以了。 5 | - once绑定的事件,只能触发一次 6 | - removeListener 移除事件,第一个参数为移除事件的名称,第二个参数为移除事件所绑定的函数 7 | - removeAllListeners 移除所有事件,只接受一个参数,就是事件名称 8 | 9 | 10 | -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/05、node基础api_fs/01、readFile.js: -------------------------------------------------------------------------------- 1 | const fs=require('fs'); 2 | 3 | fs.readFile('./README.md','utf-8',(err,data)=>{ 4 | if(err){ 5 | throw err; 6 | } else{ 7 | console.log(data) 8 | } 9 | }); -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/05、node基础api_fs/03、stat.js: -------------------------------------------------------------------------------- 1 | const fs=require('fs'); 2 | 3 | fs.stat('./03、stat.js',(err,stats)=>{ 4 | if(err){ 5 | throw err; 6 | } else{ 7 | //是否是一个文件夹 8 | console.log(stats.isDirectory()); 9 | //是否是一个文件 10 | console.log(stats.isFile()); 11 | 12 | //其他信息 13 | console.log(stats); 14 | } 15 | }); -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/05、node基础api_fs/04、rename.js: -------------------------------------------------------------------------------- 1 | const fs=require('fs'); 2 | 3 | fs.rename('./test.txt','yanle.txt',err=>{ 4 | if(err){ 5 | throw err 6 | } 7 | console.log('成功了!'); 8 | }); -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/05、node基础api_fs/05、unlink.js: -------------------------------------------------------------------------------- 1 | const fs=require('fs'); 2 | 3 | fs.unlink('./test.txt',err=>{ 4 | if(err){ 5 | console.log(err) 6 | } 7 | }); -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/05、node基础api_fs/06、readdir.js: -------------------------------------------------------------------------------- 1 | const fs=require('fs'); 2 | 3 | fs.readdir('./',(err,files)=>{ 4 | if(err){ 5 | throw err; 6 | } 7 | 8 | console.log(files) 9 | }); -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/05、node基础api_fs/07、mkdir.js: -------------------------------------------------------------------------------- 1 | const fs =require('fs'); 2 | 3 | fs.mkdir('test',err=>{ 4 | if(err){ 5 | throw err; 6 | } 7 | console.log('success') 8 | }); -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/05、node基础api_fs/08、rmdir.js: -------------------------------------------------------------------------------- 1 | const fs=require('fs'); 2 | 3 | fs.rmdir('./test',err=>{ 4 | if(err){ 5 | throw err; 6 | } 7 | console.log('success') 8 | }); -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/05、node基础api_fs/09、watch.js: -------------------------------------------------------------------------------- 1 | const fs=require('fs'); 2 | 3 | fs.watch('./',{ 4 | recursive:true//是否递归监视 5 | },(eventType,filename)=>{ 6 | console.log(eventType,filename) 7 | }); -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/05、node基础api_fs/10、readstream.js: -------------------------------------------------------------------------------- 1 | const fs=require('fs'); 2 | 3 | const rs=fs.createReadStream('./10、readstream.js'); 4 | 5 | rs.pipe(process.stdout); -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/05、node基础api_fs/11、writestream.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | 3 | const ws = fs.createWriteStream('./test.txt'); 4 | 5 | const tid = setInterval(() => { 6 | const num = parseInt(Math.random() * 10); 7 | 8 | if (num < 8) { 9 | ws.write(num+''); 10 | } else { 11 | clearInterval(tid) 12 | ws.end(); 13 | } 14 | }, 200); 15 | 16 | ws.on('finish', () => { 17 | console.log('done!') 18 | }); -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/05、node基础api_fs/pages/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/知识库/03、Node技术知识/05、node基础api_fs/pages/main.js -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/05、node基础api_fs/pages/test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/06、单元测试/01、math.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | add: (...args) => { 3 | return args.reduce((prev, curr) => { 4 | return prev + curr; 5 | }) 6 | }, 7 | 8 | mul: (...args) => { 9 | return args.reduce((prev,curr)=>{ 10 | return prev*curr; 11 | }) 12 | } 13 | }; -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/06、单元测试/README.md: -------------------------------------------------------------------------------- 1 | # 测试 2 | 3 | - assert 是nodejs原生的断言 4 | - chai 是封装了的三方断言工具库 5 | - power-assert 也是封装了的三方断言工具库 6 | - mocha 专门用来测试的第三方框架,非常强大,推荐使用 7 | - istanbul 是用来做单元测试覆盖率的,非常强大好用 8 | 9 | 10 | ### package.json 配置 11 | ```javascript 12 | "scripts": { 13 | "test": "mocha 18年/2月/7、单元测试/test/02、mocha.js", 14 | "cover": "istanbul cover node_modules/mocha/bin/_mocha 18年/2月/7、单元测试/test/02、mocha.js" 15 | }, 16 | ``` -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/06、单元测试/test/01、simple.js: -------------------------------------------------------------------------------- 1 | const {should,expect,assert}=require('chai'); 2 | const {add,mul}=require('../01、math'); 3 | 4 | /* 5 | if(add(2,3)===5){ 6 | console.log('add true') 7 | }else{ 8 | console.log('add false') 9 | }*/ 10 | 11 | // assert.equal(add(2,3),5); 12 | 13 | should(); 14 | 15 | add(2,3).should.equal(5); 16 | // expect(add(2,3)).to.be(5); 17 | assert.equal(add(2,3),5); -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/07、大型服务端项目测试和UT覆盖示例/test/api/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const action = require('./achievement'); 4 | module.exports = function() { 5 | describe('Api', function() { 6 | action(); 7 | }); 8 | }; -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/07、大型服务端项目测试和UT覆盖示例/test/mocha.opts: -------------------------------------------------------------------------------- 1 | --require intelli-espower-loader -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/09、封装日志输出模块/test.js: -------------------------------------------------------------------------------- 1 | let log = require('./index'); 2 | 3 | 4 | log.info('yanle'); 5 | log.error('yanle'); 6 | log.success('yanle'); 7 | log.trace('yanle'); 8 | log.debug('yanle'); 9 | log.warn('yanle'); 10 | log.fatal('yanle'); -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/10、node爬虫/03、puppeteer实现截图.js: -------------------------------------------------------------------------------- 1 | const puppeteer = require('puppeteer'); 2 | 3 | puppeteer.launch().then(async browser => { 4 | const page = await browser.newPage(); 5 | await page.goto('https://example.com'); 6 | await page.screenshot({path: 'screenshot.png'}); 7 | await browser.close(); 8 | }); 9 | -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/10、node爬虫/src/spider1/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * create by yanle 3 | * create time 2019/4/1 12:10 AM 4 | */ 5 | 6 | const hotNews = require('./hotNews'); 7 | 8 | const spider1 = (app) => { 9 | hotNews(app); 10 | }; 11 | 12 | module.exports = spider1; -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/10、node爬虫/src/spider1/localNews.js: -------------------------------------------------------------------------------- 1 | /** 2 | * create by yanle 3 | * create time 2019/4/1 12:45 AM 4 | */ 5 | /** 6 | * [description] - 抓取本地新闻页面 7 | */ 8 | -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/1、commonjs/03、require.js: -------------------------------------------------------------------------------- 1 | const mod=require('./2、cusmod'); 2 | 3 | console.log(mod.testVar); 4 | mod.testFn(); -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/1、commonjs/04、cache.js: -------------------------------------------------------------------------------- 1 | require('./2、cusmod'); 2 | require('./2、cusmod'); -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/1、commonjs/04、test.js: -------------------------------------------------------------------------------- 1 | /** 2 | * create by yanlele 3 | * create time 2018-11-16 15:12 4 | */ 5 | 6 | exports = '123'; 7 | 8 | // module.exports = '123123'; 9 | 10 | -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/1、commonjs/1、run.js: -------------------------------------------------------------------------------- 1 | let test = require('./04、test'); 2 | console.log(test); 3 | 4 | console.log('this is test.'); -------------------------------------------------------------------------------- /books/知识库/03、Node技术知识/1、commonjs/2、cusmod.js: -------------------------------------------------------------------------------- 1 | console.log('this is a module'); 2 | 3 | const testVar=100; 4 | 5 | function test(){ 6 | console.log(testVar); 7 | } 8 | 9 | module.exports.testVar=testVar; 10 | module.exports.testFn=test; -------------------------------------------------------------------------------- /books/知识库/05、优秀技术文档与前沿技术归档/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/知识库/05、优秀技术文档与前沿技术归档/.gitkeep -------------------------------------------------------------------------------- /books/知识库/06、优秀开源项目/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yanlele/node-index/73662c1a5cc65979b5d49b2a35b5d977c0496e00/books/知识库/06、优秀开源项目/.gitkeep -------------------------------------------------------------------------------- /books/知识库/07、基础功能探索/01、人民币大小写互换/test.js: -------------------------------------------------------------------------------- 1 | const rmbHelper = require('./rmbHelper'); 2 | 3 | let rmb = 123764.123; 4 | let RMB = rmbHelper.convert(rmb); 5 | console.log(RMB); 6 | // let rmbNum = rmbHelper.rmbToNum(RMB); 7 | // console.log(rmbNum); -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "yanlele", 3 | "version": "0.0.1", 4 | "description": "YanLe-node-index", 5 | "main": "index.js", 6 | "scripts": { 7 | }, 8 | "author": "", 9 | "license": "ISC", 10 | "dependencies": { 11 | }, 12 | "devDependencies": { 13 | }, 14 | "browserslist": [ 15 | ">= 1%", 16 | "last 2 version" 17 | ] 18 | } 19 | --------------------------------------------------------------------------------