From a0881b36088e6a578910f41aeb82e0f0392ebfa5 Mon Sep 17 00:00:00 2001 From: Lellansin Date: Mon, 23 Jan 2017 16:10:24 +0800 Subject: [PATCH] Fix typos --- README.md | 12 ++++++------ sections/js-basic.md | 12 +++++++----- sections/node-basic.md | 8 ++++---- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index d9e5cb1..902bd63 100644 --- a/README.md +++ b/README.md @@ -36,9 +36,9 @@ Hi, 欢迎来到 ElemeFE, 如标题所言本教程的目的是教你如何通过 > 与前端 Js 不同, 后端是直面服务器的, 更加偏向内存方面, 对于一些更基础的问题也会更加关注. -* `[Doc]` Modules (模块) -* `[Doc]` Globals (全局变量) -* `[Doc]` VM (虚拟机) +* [`[Doc]` Modules (模块)](https://nodejs.org/dist/latest-v6.x/docs/api/modules.html) +* [`[Doc]` Globals (全局变量)](https://nodejs.org/dist/latest-v6.x/docs/api/globals.html) +* [`[Doc]` VM (虚拟机)](https://nodejs.org/dist/latest-v6.x/docs/api/vm.html) ### 常见问题 @@ -105,11 +105,11 @@ Hi, 欢迎来到 ElemeFE, 如标题所言本教程的目的是教你如何通过 ## Network -*### 常见问题 +### 常见问题 * HTTP 协议中的 POST 和 PUT 有什么区别? -`TCP/UDP` 的区别? `TCP` 粘包是怎么回事,如何处理? `UDP` 有粘包吗? -`time_wait` 是什么情况?出现过多的 `close_wait` 可能是什么原因? +* `TCP/UDP` 的区别? `TCP` 粘包是怎么回事,如何处理? `UDP` 有粘包吗? +* `time_wait` 是什么情况?出现过多的 `close_wait` 可能是什么原因? * socket hang up 是什么意思? 一般什么情况下出现? * 列举几个提高网络传输速度的办法? diff --git a/sections/js-basic.md b/sections/js-basic.md index a7c4eed..49c0840 100644 --- a/sections/js-basic.md +++ b/sections/js-basic.md @@ -38,7 +38,7 @@ Javascript 的类型判断其实是个挺折磨人的话题, 不然也不会有 在面试时, 作用域并不是一个很好问的知识点, 一般会问的是 `es6 中 let 与 var 的区别`, 或者列举代码, 然后通过对代码的解读来看你对作用域的掌握比较方便. -印象中那本《你不知道的 Javascript》讲的很好了, 有兴趣可以去看那本书. +印象中那本 [《你不知道的 Javascript》](https://book.douban.com/subject/26351021/) 讲的很好了, 有兴趣可以去看那本书. ## 引用传递 @@ -68,7 +68,7 @@ while(true) ```javascript let arr = []; while(true) - arr.push(1); + arr.push(); ``` 如果 push 的是 `Buffer` 情况又会有什么区别? @@ -99,12 +99,10 @@ var replaceThing = function () { setInterval(replaceThing, 1000) ``` -比如上述情况中 unused 的函数中持有了 originalThing 的引用, 使得每次旧的对象不会释放从而导致内存泄漏 (例子出自[《Node.js 垃圾回收》](https://eggggger.xyz/2016/10/22/node-gc/)) +比如上述情况中 `unused` 的函数中持有了 `originalThing` 的引用, 使得每次旧的对象不会释放从而导致内存泄漏 (例子出自[《Node.js 垃圾回收》](https://eggggger.xyz/2016/10/22/node-gc/)) 当然对于一些高水平的同学, 要求能清楚的了解 v8 内存 GC 的机制, 懂得内存快照等 (之后会在`调试/优化`的小结中讨论) 了. 比如 V8 中不同类型的数据存储的位置, 在内存释放的时候不同区域的不同策略等等. -包括说闭包应用的场景, 什么样的场景用闭包比较好, 如何写出 - ## ES6 新特性 推荐阅读阮一峰的 [《ECMAScript 6 入门》](http://es6.ruanyifeng.com/) @@ -113,4 +111,8 @@ setInterval(replaceThing, 1000) 深入的话, es6 有太多细节可以深入了. 比如结合 `引用` 的知识点来询问 `const` 方面的知识. 结合 `{}` 的使用与缺点来谈 `Set, Map` 等. 比如私有化的问题与 `symbol` 等等. +其他像是 `闭包是什么?` 这种问烂了问题已经感觉没必要问了, 取而代之的是询问闭包应用的场景更加合理. 比如说, 如果回答者通常使用闭包实现数据的私有, 那么可以接着问 es6 的一些新特性 (例如 `class`, `symbol`) 能否实现私有, 如果能的话那为什么要用闭包? 亦或者是什么闭包中的数据/私有化的数据的内存什么时候释放? 等等. + +`...` 的使用上, 如何实现一个数组的去重 (使用 Set 可以加分). + 暂时写上这些, 之后会慢慢整理, 如果内容比较多可能单独归一类来讨论. diff --git a/sections/node-basic.md b/sections/node-basic.md index f11c09f..60534ac 100644 --- a/sections/node-basic.md +++ b/sections/node-basic.md @@ -16,7 +16,7 @@ > 如何在不重启 node 进程的情况下热更新一个 js/json 文件? 这个问题本身是否有问题? -可以清楚掉 require 的缓存重新 require, 是具体情况还可以用 vm 模块重新执行. +可以清除掉 `require` 的缓存重新 `require`, 是具体情况还可以用 VM 模块重新执行. 当然这个问题可能是典型的 [`X-Y Problem`](http://coolshell.cn/articles/10804.html), 使用 js 实现热更新很容易碰到 v8 优化之后各地拿到缓存的引用导致热更新 js 没意义. 当然热更新 json 还是可以简单一点比如用读取文件的方式来热更新, 但是这样也不如从 redis 之类的数据库中读取比较合理. @@ -26,11 +26,11 @@ ### 模块机制 -node 的基础中毫无疑问的应该是有关于模块机制的方面的, 也即 require 这个模块的一些原理的问题. +node 的基础中毫无疑问的应该是有关于模块机制的方面的, 也即 `require` 这个内置功能的一些原理的问题. -关于模块互相引用之类的, 不了解的推荐先好好读读[官方文档](https://nodejs.org/dist/latest-v6.x/docs/api/modules.html) +关于模块互相引用之类的, 不了解的推荐先好好读读[官方文档](https://nodejs.org/dist/latest-v6.x/docs/api/modules.html). -然后官方文档已经说得很清楚了, 每个 node 进程只有一个 vm 的上下文, 不会跟浏览器相差多少, 模块机制在文档中也描述的非常清楚了: +其实官方文档已经说得很清楚了, 每个 node 进程只有一个 VM 的上下文, 不会跟浏览器相差多少, 模块机制在文档中也描述的非常清楚了: ```javascript function require(...) {