├── docs
├── .nojekyll
├── CNAME
├── note
│ ├── basis
│ │ ├── regexp.md
│ │ ├── object.md
│ │ ├── func.md
│ │ ├── string.md
│ │ ├── array.md
│ │ ├── cookie-storage.md
│ │ └── async.md
│ ├── library
│ │ ├── webpack
│ │ │ ├── optimization.md
│ │ │ ├── plugins.md
│ │ │ └── webpack4.md
│ │ ├── vue
│ │ │ ├── all-posts.md
│ │ │ └── skill.md
│ │ └── react
│ │ │ └── experience-talk.md
│ ├── http
│ │ ├── get-post.md
│ │ ├── url-render.md
│ │ ├── cross-domain.md
│ │ ├── cache.md
│ │ └── ajax.md
│ ├── performance
│ │ ├── render-page.md
│ │ ├── reflow-repaint.md
│ │ ├── perf.md
│ │ ├── performance.md
│ │ ├── h5-perf.md
│ │ └── ssr.md
│ ├── english
│ │ └── 7500-macmillan.md
│ ├── specification
│ │ ├── aria.md
│ │ ├── dtd.md
│ │ ├── mime.md
│ │ ├── semantic-version.md
│ │ └── eslintrc.md
│ ├── git
│ │ ├── config.md
│ │ └── commonly-used.md
│ ├── computer
│ │ └── concept.md
│ ├── algorithm
│ │ ├── data-structure.md
│ │ ├── queue.md
│ │ ├── stack.md
│ │ ├── time-space.md
│ │ ├── advance-sort.md
│ │ ├── basic-sort.md
│ │ ├── linked-list.md
│ │ ├── bst.md
│ │ └── graph.md
│ ├── css3
│ │ ├── bfc.md
│ │ ├── transform.md
│ │ ├── selector.md
│ │ └── matrix.md
│ ├── security
│ │ └── csp.md
│ ├── groceries
│ │ └── about-interview.md
│ ├── h5
│ │ ├── blob.md
│ │ └── file-filelist.md
│ ├── compatibility
│ │ └── compatibility.md
│ ├── linux
│ │ └── ubuntu-utils.md
│ └── dom
│ │ ├── dom-event.md
│ │ └── dom.md
├── asset
│ ├── img
│ │ ├── 3.png
│ │ ├── 3d.png
│ │ ├── he.png
│ │ ├── 3d33.png
│ │ ├── 3dmr.png
│ │ ├── bdjs.jpg
│ │ ├── bfs.png
│ │ ├── c1.jpeg
│ │ ├── csp.png
│ │ ├── dfs.png
│ │ ├── dxlb.png
│ │ ├── hou.png
│ │ ├── hsyx.png
│ │ ├── ljjg.png
│ │ ├── mr1.png
│ │ ├── mr2.png
│ │ ├── mr3.png
│ │ ├── mr4.png
│ │ ├── net.png
│ │ ├── qian.png
│ │ ├── spa.png
│ │ ├── ssr.png
│ │ ├── sxlb.png
│ │ ├── tree.png
│ │ ├── zbx.png
│ │ ├── zbx2.png
│ │ ├── zdxx.png
│ │ ├── aaafuck.png
│ │ ├── after.png
│ │ ├── ajax1.png
│ │ ├── ajax2.png
│ │ ├── arrow.png
│ │ ├── before.png
│ │ ├── bianli.png
│ │ ├── blob-jr.png
│ │ ├── cookie.png
│ │ ├── dxxhlb.png
│ │ ├── graph.png
│ │ ├── ji-xl.png
│ │ ├── jisuan.png
│ │ ├── juzhen.png
│ │ ├── number.png
│ │ ├── perf.jpeg
│ │ ├── point.png
│ │ ├── render.png
│ │ ├── sanjiao.png
│ │ ├── showpdf.gif
│ │ ├── sjccjg.png
│ │ ├── sjjg1.png
│ │ ├── sxxhlb.png
│ │ ├── trans.png
│ │ ├── wanqu.png
│ │ ├── yiban.png
│ │ ├── yuanyin.png
│ │ ├── zhichu.png
│ │ ├── zuobiao.png
│ │ ├── bianhuan2.png
│ │ ├── function.png
│ │ ├── git-merge.png
│ │ ├── hou-plus.png
│ │ ├── transform.png
│ │ ├── zuobiao2.png
│ │ ├── zuobiao3.png
│ │ ├── bubble-sort.gif
│ │ ├── input-output.png
│ │ ├── linjiebiao.png
│ │ ├── merge-srot.gif
│ │ ├── git-merge-noff.png
│ │ ├── insertion-sort.gif
│ │ ├── selection-sort.gif
│ │ ├── use-the-scene.png
│ │ └── git-merge-squash.png
│ └── intro.gif
├── README.md
└── index.html
├── README.md
└── LICENSE
/docs/.nojekyll:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/docs/CNAME:
--------------------------------------------------------------------------------
1 | kb.zhangzhipeng.net
--------------------------------------------------------------------------------
/docs/note/basis/regexp.md:
--------------------------------------------------------------------------------
1 | ## 正则表达式
--------------------------------------------------------------------------------
/docs/note/library/webpack/optimization.md:
--------------------------------------------------------------------------------
1 | ## webpack 优化总结
2 |
3 | #### 提取 manifest 和 runtime
--------------------------------------------------------------------------------
/docs/asset/img/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/3.png
--------------------------------------------------------------------------------
/docs/asset/img/3d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/3d.png
--------------------------------------------------------------------------------
/docs/asset/img/he.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/he.png
--------------------------------------------------------------------------------
/docs/asset/intro.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/intro.gif
--------------------------------------------------------------------------------
/docs/asset/img/3d33.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/3d33.png
--------------------------------------------------------------------------------
/docs/asset/img/3dmr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/3dmr.png
--------------------------------------------------------------------------------
/docs/asset/img/bdjs.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/bdjs.jpg
--------------------------------------------------------------------------------
/docs/asset/img/bfs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/bfs.png
--------------------------------------------------------------------------------
/docs/asset/img/c1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/c1.jpeg
--------------------------------------------------------------------------------
/docs/asset/img/csp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/csp.png
--------------------------------------------------------------------------------
/docs/asset/img/dfs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/dfs.png
--------------------------------------------------------------------------------
/docs/asset/img/dxlb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/dxlb.png
--------------------------------------------------------------------------------
/docs/asset/img/hou.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/hou.png
--------------------------------------------------------------------------------
/docs/asset/img/hsyx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/hsyx.png
--------------------------------------------------------------------------------
/docs/asset/img/ljjg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/ljjg.png
--------------------------------------------------------------------------------
/docs/asset/img/mr1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/mr1.png
--------------------------------------------------------------------------------
/docs/asset/img/mr2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/mr2.png
--------------------------------------------------------------------------------
/docs/asset/img/mr3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/mr3.png
--------------------------------------------------------------------------------
/docs/asset/img/mr4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/mr4.png
--------------------------------------------------------------------------------
/docs/asset/img/net.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/net.png
--------------------------------------------------------------------------------
/docs/asset/img/qian.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/qian.png
--------------------------------------------------------------------------------
/docs/asset/img/spa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/spa.png
--------------------------------------------------------------------------------
/docs/asset/img/ssr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/ssr.png
--------------------------------------------------------------------------------
/docs/asset/img/sxlb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/sxlb.png
--------------------------------------------------------------------------------
/docs/asset/img/tree.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/tree.png
--------------------------------------------------------------------------------
/docs/asset/img/zbx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/zbx.png
--------------------------------------------------------------------------------
/docs/asset/img/zbx2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/zbx2.png
--------------------------------------------------------------------------------
/docs/asset/img/zdxx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/zdxx.png
--------------------------------------------------------------------------------
/docs/asset/img/aaafuck.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/aaafuck.png
--------------------------------------------------------------------------------
/docs/asset/img/after.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/after.png
--------------------------------------------------------------------------------
/docs/asset/img/ajax1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/ajax1.png
--------------------------------------------------------------------------------
/docs/asset/img/ajax2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/ajax2.png
--------------------------------------------------------------------------------
/docs/asset/img/arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/arrow.png
--------------------------------------------------------------------------------
/docs/asset/img/before.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/before.png
--------------------------------------------------------------------------------
/docs/asset/img/bianli.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/bianli.png
--------------------------------------------------------------------------------
/docs/asset/img/blob-jr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/blob-jr.png
--------------------------------------------------------------------------------
/docs/asset/img/cookie.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/cookie.png
--------------------------------------------------------------------------------
/docs/asset/img/dxxhlb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/dxxhlb.png
--------------------------------------------------------------------------------
/docs/asset/img/graph.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/graph.png
--------------------------------------------------------------------------------
/docs/asset/img/ji-xl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/ji-xl.png
--------------------------------------------------------------------------------
/docs/asset/img/jisuan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/jisuan.png
--------------------------------------------------------------------------------
/docs/asset/img/juzhen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/juzhen.png
--------------------------------------------------------------------------------
/docs/asset/img/number.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/number.png
--------------------------------------------------------------------------------
/docs/asset/img/perf.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/perf.jpeg
--------------------------------------------------------------------------------
/docs/asset/img/point.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/point.png
--------------------------------------------------------------------------------
/docs/asset/img/render.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/render.png
--------------------------------------------------------------------------------
/docs/asset/img/sanjiao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/sanjiao.png
--------------------------------------------------------------------------------
/docs/asset/img/showpdf.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/showpdf.gif
--------------------------------------------------------------------------------
/docs/asset/img/sjccjg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/sjccjg.png
--------------------------------------------------------------------------------
/docs/asset/img/sjjg1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/sjjg1.png
--------------------------------------------------------------------------------
/docs/asset/img/sxxhlb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/sxxhlb.png
--------------------------------------------------------------------------------
/docs/asset/img/trans.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/trans.png
--------------------------------------------------------------------------------
/docs/asset/img/wanqu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/wanqu.png
--------------------------------------------------------------------------------
/docs/asset/img/yiban.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/yiban.png
--------------------------------------------------------------------------------
/docs/asset/img/yuanyin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/yuanyin.png
--------------------------------------------------------------------------------
/docs/asset/img/zhichu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/zhichu.png
--------------------------------------------------------------------------------
/docs/asset/img/zuobiao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/zuobiao.png
--------------------------------------------------------------------------------
/docs/asset/img/bianhuan2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/bianhuan2.png
--------------------------------------------------------------------------------
/docs/asset/img/function.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/function.png
--------------------------------------------------------------------------------
/docs/asset/img/git-merge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/git-merge.png
--------------------------------------------------------------------------------
/docs/asset/img/hou-plus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/hou-plus.png
--------------------------------------------------------------------------------
/docs/asset/img/transform.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/transform.png
--------------------------------------------------------------------------------
/docs/asset/img/zuobiao2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/zuobiao2.png
--------------------------------------------------------------------------------
/docs/asset/img/zuobiao3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/zuobiao3.png
--------------------------------------------------------------------------------
/docs/asset/img/bubble-sort.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/bubble-sort.gif
--------------------------------------------------------------------------------
/docs/asset/img/input-output.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/input-output.png
--------------------------------------------------------------------------------
/docs/asset/img/linjiebiao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/linjiebiao.png
--------------------------------------------------------------------------------
/docs/asset/img/merge-srot.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/merge-srot.gif
--------------------------------------------------------------------------------
/docs/asset/img/git-merge-noff.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/git-merge-noff.png
--------------------------------------------------------------------------------
/docs/asset/img/insertion-sort.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/insertion-sort.gif
--------------------------------------------------------------------------------
/docs/asset/img/selection-sort.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/selection-sort.gif
--------------------------------------------------------------------------------
/docs/asset/img/use-the-scene.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/use-the-scene.png
--------------------------------------------------------------------------------
/docs/asset/img/git-merge-squash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HcySunYang/knowledge/HEAD/docs/asset/img/git-merge-squash.png
--------------------------------------------------------------------------------
/docs/note/library/vue/all-posts.md:
--------------------------------------------------------------------------------
1 | ## 博客 Vue 文章汇总
2 |
3 | * [Vue2.1.7源码学习](http://hcysun.me/2017/03/03/Vue%E6%BA%90%E7%A0%81%E5%AD%A6%E4%B9%A0/)
4 | * [探索Vue高阶组件](http://hcysun.me/2018/01/05/%E6%8E%A2%E7%B4%A2Vue%E9%AB%98%E9%98%B6%E7%BB%84%E4%BB%B6/)
5 |
--------------------------------------------------------------------------------
/docs/note/http/get-post.md:
--------------------------------------------------------------------------------
1 | ## get 请求和 post 请求的区别
2 |
3 | #### 传递数据的方式
4 |
5 | get 通过 URL 或 cookie 传参
6 |
7 | post 将数据放到请求体(BODY) 中
8 |
9 | #### 传递数据的大小
10 |
11 | get 的URL长度有限制
12 |
13 | post 则可以传递大量的数据
14 |
15 | #### 安全性
16 |
17 | get 传递的参数会暴露在 URL 中
18 |
19 | post 则不会
20 |
21 | 另外注意 GET 请求的参数会保存在浏览器的历史记录中
--------------------------------------------------------------------------------
/docs/note/performance/render-page.md:
--------------------------------------------------------------------------------
1 | ## 浏览器渲染页面的过程
2 |
3 | 浏览器渲染页面的过程如下图:
4 |
5 |
6 |
7 | #### 一、解析HTML创建DOM Tree
8 |
9 | 浏览器解析HTML文档,并构造一颗DOM树(DOM Tree)
10 |
11 | #### 二、解析CSS计算样式数据
12 |
13 | 浏览器构造DOM树的同时,还会解析CSS样式并计算最终的样式数据,生成样式规则。
14 |
15 | #### 三、构造渲染树(Render Tree)
16 |
17 | 根据 `DOM Tree` 和 样式数据构造一颗渲染树(Render Tree)
18 |
19 | 渲染树会忽略不需要渲染的DOM元素(如:head标签、display值为none的元素)
20 |
21 | #### 四、layout布局
22 |
23 | 当渲染树构造完成后,浏览器会对渲染树进行布局,即分配固定的坐标点给DOM元素。
24 |
25 | #### 五、paint绘制
26 |
27 | 布局完成后,浏览器将绘制最终的界面给用户
28 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## knowledge
2 |
3 | 前端(Not just)工程师终究要掌握的知识
4 |
5 | 访问:[https://kb.zhangzhipeng.net](https://kb.zhangzhipeng.net/#/)
6 |
7 | ## Intro
8 | > 该项目收藏积累了前端(Not just)所应该掌握的知识,包括 JavaScript语言基础、DOM、CSS3、计算机原理、网络、性能、规范以及数学。
9 |
10 | 动图展示部分内容,该文档持续更新。
11 |
12 | 
13 |
14 | ## Contribution
15 |
16 | clone 项目:
17 |
18 | ```
19 | git clone https://github.com/HcySunYang/knowledge.git
20 | ```
21 |
22 | 启动web服务:
23 |
24 | ```
25 | // 你可以使用任何方式,如
26 | http-server -p 9090
27 | ```
28 |
29 | 访问文档:
30 |
31 | ```
32 | http://localhost:9090/docs
33 | ```
34 |
35 | ## Thanks
36 |
37 | 本文档使用开源文档工具 [docute](https://github.com/egoist/docute)
--------------------------------------------------------------------------------
/docs/note/english/7500-macmillan.md:
--------------------------------------------------------------------------------
1 | ## 7500核心词汇(整理自《麦克米伦高阶英汉双解词典》)
2 |
3 | ### 7500 核心词汇的意义
4 |
5 | 以下内容摘自知乎书店的免费书籍 [《相见恨晚的英语学习方法》](https://www.zhihu.com/publications/book/119559236)。
6 |
7 | `7500` 核心词汇的意义是什么的,如下图:
8 |
9 | 
10 |
11 | * 第一列是单词数
12 | * 第二列是对应单词在英语里出现的频率——也就是你遇到这些单词的可能性
13 | * 第三列是对应单词一些例子
14 |
15 | > 英文中使用频率最高的 `10` 个词竟然占了所有英语 `25%` 的内容,换一种说法——你仅仅需要掌握 `10` 个单词就可以理解英语世界里 `25%` 的内容,更近一步,如果要理解英语世界里一半的内容,你只需要认识 `100` 个单词就够了,如果你再厉害些,掌握了最高频的 `1000` 个单词,你就可以理解 `75%` 的内容了,如果你有 `7000` 的词汇量,你可以理解其中 `90%` 的内容,事实上,由于语境的帮助,剩下 `10%` 的生词你基本可以推测出来。
16 |
17 | 现在感受到这 `7500` 个核心词汇的威力了吗?还等个球?掌握起来,快快快~~~~
18 |
19 | ### 单词列表
20 |
21 | #### A
22 |
23 | 待录入...
--------------------------------------------------------------------------------
/docs/note/library/vue/skill.md:
--------------------------------------------------------------------------------
1 | ## Vue 奇技淫巧
2 |
3 | #### 使用 hook:* 事件监听子组件相应生命周期钩子的触发
4 |
5 | 一图胜千言:
6 |
7 | 
8 |
9 | #### 如何让所有的后代组件实例都能够访问由根组件注入的选项
10 |
11 | 比如 `Vuex` 注入 `store` 的选项,在所有后代组件中都可以通过 `this.$store` 访问,其实很简单:
12 |
13 | ```js
14 | Vue.mixin({
15 | beforeCreate() {
16 | this.$store = this.$options.store || (this.$parent && this.$parent.$store)
17 | }
18 | })
19 | ```
20 |
21 | 首先对于跟组件来讲,传递给 `Vue` 构造函数的所有选项(包括 `Vue` 提供的选项和自定义选项),都是可以通过 `this.$options.xxx` 访问的,所以如果根实例对象想要访问这个选项,只需要将该选项添加到根实例的某个属性上即可:
22 |
23 | ```js
24 | this.$xxx = this.$options.xxx
25 | ```
26 |
27 | 但是对于子组件,访问他们自身的 `this.$options.xxx` 是访问不到从根组件注入的选项的,但是可以通过访问之前在父组件实例上定义的属性简介访问:
28 |
29 | ```js
30 | this.$parent && this.$parent.xxx
31 | ```
32 |
33 | 这样,就使得根组件以及其所有后代组件,都会在他们的实例对象上添加对选项的引用,使得它们全部能够访问由根组件注入进来的选项。
34 |
--------------------------------------------------------------------------------
/docs/note/performance/reflow-repaint.md:
--------------------------------------------------------------------------------
1 | ## 重排和重绘
2 |
3 | #### 重排(reflow)
4 |
5 |
重新构造渲染树(Render Tree)的过程,叫做重排
6 | 7 | 当DOM元素的变化影响了几何属性(如:宽高、位置)时,浏览器需要重新计算元素的几何属性,同时其他元素的几何属性也可能受到影响,这个时候浏览器会使渲染树(Render Tree)中受影响的部分失效,并重新构造渲染树,这个过程叫重排。 8 | 9 | > 浏览器在构造渲染树的时候,通常只需要遍历一次 10 | 11 | ###### 重排的触发时机 12 | 13 | * 添加、删除、替换DOM节点 14 | * 改变DOM元素的位置、尺寸、内容 15 | * 浏览器窗口大小发生改变 16 | * 页面初次渲染 17 | 18 | #### 重绘(repaint) 19 | 20 | 浏览器绘制变化的部分到屏幕叫重绘 21 | 22 | 元素的变化不一定触发重排,但一定触发重绘 23 | 24 | #### 渲染树变化队列和刷新 25 | 26 | 浏览器有自己的优化机制,即并不是每次变化都会触发重排,而是将变化缓冲在队列里,当变化达到一定数量后刷新变化队列,触发重排。但是我们在获取一下属性时,浏览器会强制更新变化队列触发重排,因为这些属性需要返回实时的值: 27 | 28 | * offsetTop、offsetLeft、offsetWidth、offsetHeight 29 | 30 | * scrollTop、scrollLeft、scrollWidth、scrollHeight 31 | 32 | * clientTop、clientLeft、clientWidth、clientHeight 33 | 34 | * getComputeStyle()、currentStyle(IE) 35 | 36 | #### 性能优化(最小化重排和重绘) 37 | 38 | 在修改元素多种样式属性时,使用替换class名的方式 代替 使用js脚本逐个修改样式 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /docs/note/performance/perf.md: -------------------------------------------------------------------------------- 1 | ## 性能 2 | 3 | 从两方面思考 `web` 的性能问题:**页面纬度**、**运行纬度** 4 | 5 | * **页面纬度:**页面的加载所经历的过程,思考在这个过程中有哪些是需要重点关注并能做一些优化的事情。 6 | * **运行维度:**通常指动画(js动画、css动画、其他动画等等),以及交互性能问题等。 7 | 8 | #### 需要深入思考的问题 9 | 10 | * 页面到底是什么时间被渲染出来? 11 | 12 | 答:??? 13 | 14 | * 如何测量、上报、提升性能? 15 | 16 | 答:如下图所示: 17 | 18 |
19 |
20 | 开发者通常通过 `DevTools` 来分析,用 `WebPerf APIS` 来获取和上报数据。
21 |
22 | 对于上报,开源的工具可以使用 [grafana](https://github.com/grafana/grafana),或者使用公司自建的上报系统。
23 |
24 |
25 |
26 | #### 与性能相关的资源链接
27 |
28 | * [w3c 性能工作小组](https://github.com/w3c/web-performance)
29 |
30 | `w3c 性能工作小组` 会制定相应的指标规范,以及各个指标的意义。浏览器会根据该规范收集数据并暴露给开发者,开发者需要做的就是获取浏览器所暴露出来的信息。
31 |
32 | * [我理解的前端性能 & 优化](https://zhuanlan.zhihu.com/p/33825610)
33 |
34 | * [Why First Paint as Web Perf API?](https://docs.google.com/document/d/1wdxSXo_jctZjdPaJeTtYYFF-rLtUFxrU72_7h9qbQaM/edit)
35 |
36 | ## 好东西
37 |
38 | * [grafana](https://github.com/grafana/grafana)
--------------------------------------------------------------------------------
/docs/note/specification/aria.md:
--------------------------------------------------------------------------------
1 | ## 无障碍访问与ARIA
2 |
3 | #### 无障碍访问
4 |
5 | 概念:通俗的讲就是一句话,没有任何因素能够对你访问该网站产生障碍
6 | 7 | 如果鼠标坏了,那么使用键盘应该能够正常访问,反之亦然,存在视力障碍的用户应该能够通过声音访问该网站,这就是所谓的无障碍访问。 8 | 9 | 例如使用“屏幕阅读器“访问网站时,软件会阅读屏幕的内容以声音的方式传达给视力障碍的用户,这个时候,我们的HTML页面要保证可访问性,例如该使用`` 标签的地方使用 `` 标签,如果你想要使用 `` 标签充当按钮,记得要在 `` 标签上添加 `role="button"` 属性,使得屏幕阅读器准确的访问网站,不至于误导用户。 10 | 11 | #### ARIA 12 | 13 |ARIA(Accessible Rich Internet Applications[可访问的富互联网应用])
14 | 15 | [ARIA规范](https://www.w3.org/TR/html-aria/) 16 | 17 | ARIA 分为三部分: 18 | 19 | * role属性 20 | 21 | ```css 22 | role="tab", 23 | role="button", 24 | role="radio", 25 | role="checkbox", 26 | role="link", 27 | … 28 | ``` 29 | 30 | * aria属性 31 | 32 | ```css 33 | aria-haspopup, 34 | aria-label, 35 | aria-owns 36 | … 37 | ``` 38 | 39 | * aria状态属性 40 | 41 | ```css 42 | aria-checked, 43 | aria-checked,, 44 | aria-selected, 45 | aria-expanded, 46 | aria-hidden, 47 | aria-invalid, 48 | … 49 | ``` -------------------------------------------------------------------------------- /docs/note/specification/dtd.md: -------------------------------------------------------------------------------- 1 | ## 文档模式 2 | 3 | #### 严格模式与混杂模式 4 | 5 | ###### 不同文档模式的由来 6 | 7 | 相信了解过浏览器或浏览器厂商发展历史的同学都知道,在浏览器的发展初期,是没有什么标准可言的,各大浏览器厂商各自实现一套解析文档的方式,这对于开发者来说就如同灾难一样,开发者需要针对不同厂商的浏览器做兼容处理。慢慢的人们开始注意到标准的重要性,并成立了规范组织制定相应的标准,各个浏览器厂商也开始向标准靠拢,但随之而来的问题就是,如果一味的向标准靠拢,那必然会导致一个问题:老旧的网站将无法正常显示。为了做到向后兼容,浏览器厂商就保留了原有的文档解析方式,也就是现在所说的 `混杂模式`,同时将向标准靠拢的解析方式称为 `标准模式`,又称 `严格模式`。 8 | 9 | 也就是说,两种模式所代表的是浏览器解析文档的方式。而至于如果开启这两种模式,可以使用 `` 标签。 10 | 11 | #### 文档类型 12 | 13 | ###### 14 | 15 | `` 用来声明文档类型,目的告诉浏览器使用哪种模式去解析文档。说白了就是告诉浏览器在解析文档的时候是采用 `混杂模式` 还是 `标准模式`。 16 | 17 | ###### 开启 混杂模式(quirks mode) 18 | 19 | 如果浏览器发现在文档开始处没有 `文档类型声明`,即没有 `` 标签,那么浏览器默认会使用混杂模式解析文档,当然不写 `` 标签是极其不推荐的方式。 20 | 21 | ###### 开启 标准模式(standards mode) 22 | 23 | ```html 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | ``` 33 | 34 | 以上三种的任意一种都可以触发标准模式 35 | 36 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017 HcySunYang 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /docs/note/git/config.md: -------------------------------------------------------------------------------- 1 | ## git config 配置项 2 | 3 | #### core.autocrlf 4 | 5 | 是否自动将 LF 转换为 CRLF,当 git 提示 `warning: LF will be replaced by CRLF` 时,可以将该选项设为 `false` 关闭提示。 6 | 7 | ```sh 8 | git config core.autocrlf false 9 | ``` 10 | 11 | #### core.filemode 12 | 13 | 是否忽略文件权限 14 | 15 | ```sh 16 | # 忽略文件全向 17 | git config core.filemode false 18 | ``` 19 | 20 | #### credential.helper 21 | 22 | 认证助手,当我们使用HTTPS方式clone项目时,每次 pull、push 都会提示输入密码,为了不每次都输入密码,就需要配置 `credential.helper` 选项。 23 | 24 | ```sh 25 | # cache 将凭据存储在内存中 26 | git config credential.helper cache 27 | # store 将凭据保存在磁盘上 28 | git config credential.helper store 29 | ``` 30 | 31 | 操作步骤如下: 32 | 33 | ###### 在家目录创建并编辑 .git-credentials 文件 34 | 35 | ```sh 36 | cd ~ 37 | touch .git-credentials 38 | vim .git-credentials 39 | ``` 40 | 41 | ###### 把如下内容写入.git-credentials文件中,保存并退出 42 | 43 | ``` 44 | # {username} 你的git账户名 45 | # {password} 你的git密码 46 | # example.com 你的git仓库域名 47 | # 例子:https://hcysunyang:12345678@github.com 48 | 49 | https://{username}:{password}@example.com 50 | ``` 51 | 52 | ###### 设置凭据存储方式 53 | 54 | ```sh 55 | git config credential.helper store 56 | ``` 57 | 58 | #### user.name 59 | 60 | 配置git用户名 61 | 62 | #### user.email 63 | 64 | 配置用户邮箱 -------------------------------------------------------------------------------- /docs/note/http/url-render.md: -------------------------------------------------------------------------------- 1 | ## 从输入URL到页面加载完成的过程中都发生了什么事情? 2 | 3 | #### 解析URL 4 | 5 | 当你在浏览器中输入URL并敲回车之后,浏览器会把URL分成几部分: 6 | 7 | * 1、协议:从计算机获取资源的方式,常见的HTTP、FTP等 8 | * 2、网络地址:域名或者IP,指示网络中的哪一台计算机 9 | * 3、资源路径:指示在该计算机上获取哪一个资源 10 | 11 | #### DNS域名解析 12 | 13 | 当浏览器发现网络地址并不是IP,而是域名的时候,浏览器会向DNS服务器发送请求,查找域名对应的IP,如果该DNS服务器没有找到该域名对应的IP,那吗会向上级请求,直到根节点,结果只有两个:要吗找到了,要吗找不到。 14 | (你电脑里的网络设置里面有DNS的服务器IP) 15 | 16 | 扩展:例如百度、淘宝这些访问量及其大的网站,在DNS域名解析时,在不同的区域或不同网络下解析出来的IP可能是不同的,这就涉及负载均衡的第一步:在DNS解析域名时,将你的访问分配到不同的入口,同时尽可能保证你访问的入口是在所有入口中可能较快的一个。 17 | 18 | #### 确定端口 19 | 20 | 如果网络地址中不包含端口,那么会使用协议默认的端口。HTTP协议默认端口是80,HTTPS协议默认端口是443 21 | 22 | #### 发送HTTP请求 23 | 24 | 当浏览器对域名完成一系列的解析之后,就会构建一个HTTP请求,HTTP属于应用层协议,真正的数据传输是传输层协议TCP完成的,这就涉及到TCP建立连接的“三次握手”: 25 | 26 | * 1、发送端发送带有 SYN 标志的数据包给接收端,并在一定的延迟时间内等待回复 27 | * 2、接收端收到数据包后传回一个带有 SYN/ACK 标志的数据包以示确认传达信息 28 | * 3、发送端收到信息后还会发送一个带有 ACK 标志的数据包给接收端以示握手成功,连接建立完成 29 | 30 | #### 服务器处理并响应请求 31 | 32 | 服务器收到客户端发送的HTTP请求后,分析请求报文,并查找相应的请求资源,并返回响应报文。 33 | 34 | 响应报文中包含一个重要的信息,状态吗: 35 | 36 | 常见的 4 开头的状态吗一般表示请求出了问题,如 404 表示请求的资源不存在 37 | 3 开头的状态吗一般表示重定向,如 301表示永久重定向 38 | 5 开头的状态吗一般表示服务器出了问题,如 500 表示服务器出错 39 | 2 开头的一般代码成功,如 200 40 | 41 | #### 页面渲染 42 | 43 | 请查看 [浏览器渲染页面的过程](/note/performance/render-page) 44 | 45 | -------------------------------------------------------------------------------- /docs/note/performance/performance.md: -------------------------------------------------------------------------------- 1 | ## 尽量少用 innerHTML 2 | * 原因:因为 innerHTML 会调用一个沉重且高消耗的HTML解析器。 3 | 4 | ## 缓存DOM操作 5 | * `NodeList` 或 `HTMLCollection` 由于这两个集合的实时性原因,每次访问此集合都会重新查询文档。这将导致性能问题,应该做缓存处理 6 | 7 | ## JavaScript默认是同步解析的 8 | * 当DOM在解析时遇到 ` 80 |