2016年终总结
# 2016年终总结

今天是16年12月30号，后天就是2017年了，一直拖到现在，趁着今天工作不是太忙，也是时候给自己做一个2016年的总结了。

## 关于技术

### Koa

由于我们组准备使用nodejs进行前后端分离，所以2016年最开始我的精力主要放在了研究Koa上面，仔细研究过Koa的每一行源码以及Koa使用到的依赖(co、koa-compose等)，对Koa的实现及原理进行了非常深入的理解，对Koa深入了解后我又研究了Koa2的源码，深入了解他们的不同及各自的特点，总结来说，Koa2和Koa各有优缺点吧

研究完Koa还是不够的，在实际项目使用中会用到非常多的第三方模块，所以我就把项目中常用的模块的源码也看了一遍（包括但不限于 koa-router，koa-bodyparser，koa-etag，koa-error，koa-session，egg-logger 等等），主要就是想明白他们的工作原理，并确定他们的安全性，毕竟对于server端我还是想尽可能的知道每一行代码是如何工作的，这样可以避免出现一些问题，即便真出了问题我也可以清晰的明白为什么会出现问题，而使用最短的时间解决它。

关于Koa我写了两篇文章，我自认为是目前国内关于Koa最火，最好的两篇文章，没有之一

[深入浅出 Koa](https://github.com/berwin/Blog/issues/8)

[深入浅出 Koa2](https://github.com/berwin/Blog/issues/9)

### Promise

其实异步解决方案无论是co还是async都是基于Promise的，所以Promise已经是一个必备技能，所以我就花了一点时间把Promise好好研究了一下，并进行了一个分享

[我分享的关于Promise的ppt](http://berwin.github.io/ppts/promise/)

后来关于Promise我遇到一个坑，其实这个问题也挺有意思的，后来找到了答案，下面是我在cnodejs上的提问

[《关于promise的一个很奇怪的问题》](https://cnodejs.org/topic/5809847b27a1d99178a9904d)

### ES6

ES6也已经是一项必备技能了，所以我系统的学习了一下ES6，我精读了一遍阮一峰的《ECMAScript6入门》，后来我又跟着我们组内的小伙伴一起精读了原版的 《understanding ECMAScript6》每周4大家会来总结每章的内容和一些使用经验与存在哪些天坑

### Vue

我们组前后端分离技术选型选择的是 vue.js，所以我最近花了一些时间和精力来研究vue.js的工作原理，这样可以帮助我写出最优雅的代码（关于优雅的代码我想说的是：其实不理解原理也可以写代码，但是不能恰到好处的使用好每一个api，不能恰到好处的发挥每个api它应该发挥的作用，代码写到`恰到好处`，我觉得是一项艺术）以及更迅速的帮助我debug程序。

下面是我写的文章

[《深入浅出 - vue之深入响应式原理》](https://github.com/berwin/Blog/issues/11)

[《深入浅出 - vue之state》](https://github.com/berwin/Blog/issues/13)

还有一篇文章待写中《深入浅出 - vue之event》真正写出来标题和内容有可能会有变化。

最后给大家个福利 -> [vue整体流程图](http://p8.qhimg.com/t011905101548cc4955.png)

### 其他

其实2016这一整年除了上面提到的我还学了很多其他的零零星星的小知识，比如node中的stream呀，如何使用vuex呀，好多这种小知识，但是一时又想不起来，算了，随它去吧

## 关于分享

### 泛前端分享会
我们360内部每周一都有一个泛前端分享会，是我们奇舞团举办的，基本上每次分享者也都是我们奇舞团的小伙伴，我也不例外，在研究透Koa之后去泛前端分享会对Koa的工作原理进行了一个分享，不过据我观察听众们都是一脸懵逼的听完的，可能是我第一次分享经验不足吧


### 北京 NodeParty
7月份的时候应邀，在北京NodeParty对Koa进行分享，主题还是对Koa的工作原理进行讲解，这次台下的听众们好多了，能感觉的出来他们确实是懂的，也提了一些比较好的问题，后来回家听自己的分享录音，发现自己讲的真他妈的烂，跟屎一样，我到现在都好奇台下的听众是怎么忍受一个多小时的分享时间的。对自己的一个总结就是，

1. 太紧张
2. 因为紧张说话语无伦次

可能是第一次见到这种场面所以比较紧张，但我想下次在遇到这种场面我还是会紧张。。。

### 小灶会
我们小组内有《小灶会》活动，就是在我们组内进行分享，可以分享任何东西。

**promise**

小灶会启动的第一期光荣的由我给大家分享 Promise，并且在过后还给大家留了作业~ [ppt](http://berwin.github.io/ppts/promise/)

**co**

第二次在小灶会上分享是分享co的实现原理 [ppt](http://berwin.github.io/ppts/co/)


## 关于生活

现在每周我都会在公司楼上的健身房锻炼2~3次，主要练胸、肩、臂部的肌肉，发现时间长了每周不去几次心难受。

报考了驾照，我发现我酷爱驾驶，开车真是爽啊，就是没钱买车

## 其他

### 读书

读完了：

《明朝那些事》全套7册，《编写可读代码的艺术》《小王子》《白夜行》《穷爸爸富爸爸》《外交官爸爸写给儿子的信》《万万没想到：用理工科思维理解世界》《教父》

还有一些读了一半放在那里一直没再读的：

《自控力》《巴比伦富翁的理财课：有史以来最完美的致富圣经》《知行合一王阳明》《晚清最后十八年》《沉思录》《红顶商人胡雪岩》等。

### 自考
2016年参加了10月份的自考，考了一门离散数学，并且通过了，现在在学习高等数学。

### 英语
学完了新概念一册

就这样，其他的想到了在补充吧~