Winter Holiday Plan

寒假计划 2017.1.12 ~ 2017.2.12

-[X] Graphql 2017.1.14 ~ 2017.1.18

1
2
3
4
5
6
7
// obj 代表这个函数返回的对象
// param 代表传入函数的参数
// context 代表对象注入的上下文
// info 函数的状态
resolve: function(obj, param, context, info) {
// return obj;
}

-[X] mongodb 2017.1.20 ?

Robomongo、Mongochef用作MongoDB可视化工具
后台运行需添加日志路径
mongoess, mongolass 作为连接mongodb的中间件

-[X] node 2017.1.14 ?

nvm、n管理node版本
nrm切换npm源

-[X] memcached 2017.1.19 ?
-[X] docker

images显示镜像, ps显示容器, rm删除容器, rmi删除镜像, tag标记
run commit build 相关命令
容器云保证最小开销,易扩展
数据保留在数据卷中,容器由Dockerfile创建

-[ ] es2015,es2016 2017.1.14 ?
-[ ] origami studio

节点动效软件

-[X] koa/express 2017.1.14 ?

koa后面再说吧。。
关于express中headerSent公共属性与304缓存
express中使用res.headerSent公共属性判断是否发送了header,
我们知道header是早于body的,所以当我们在发送200头时,
client端才认为我们达成了一次正确请求,
当我在express中使用中间件的headerSent属性是否为true来判断是否发送了协议头,
却发现如下报错

Error: Can't render headers after they are sent to the client.

这是由于当我们请求时,如果缓存未过期,返回304协议头,将会不再进入路由,
但如果我们在此之前使用中间件判断时会出现headerSent为false的情况,
所以应当在中间件判断headerSent的位置判断协议头是否不为304
-[X] 函数式编程
函数一等公民, 一切变量都是函数
闭包, 调用外部函数中变量
内存泄漏, 父函数在闭包函数被释放前无法释放
回调, 函数入参
原型链
-[X] node单元测试
mocha是一种js测试框架:
describe是Test Suite的开始, 可相互嵌套,
it是测试模块,
before在beforeEach执行之前同步执行
beforeEach在每个it执行之前执行
afterEach在每个it执行之后执行
after在afterEach执行之后同步执行
xit, it.skip, 空函数 都会pending测试
supertest should istanbul
-[ ] 深度学习