berwin / Blog

记录成长的过程
MIT License
4.16k stars 316 forks source link

2016年终总结 #12

Open berwin opened 7 years ago

berwin commented 7 years ago

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

深入浅出 Koa2

Promise

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

我分享的关于Promise的ppt

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

《关于promise的一个很奇怪的问题》

ES6

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

Vue

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

下面是我写的文章

《深入浅出 - vue之深入响应式原理》

《深入浅出 - vue之state》

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

最后给大家个福利 -> vue整体流程图

其他

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

关于分享

泛前端分享会

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

北京 NodeParty

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

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

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

小灶会

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

promise

小灶会启动的第一期光荣的由我给大家分享 Promise,并且在过后还给大家留了作业~ ppt

co

第二次在小灶会上分享是分享co的实现原理 ppt

关于生活

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

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

其他

读书

读完了:

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

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

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

自考

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

英语

学完了新概念一册

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

weimengxi commented 7 years ago

欢迎继续读《白夜行》姊妹篇《幻夜》。 读完心情一定不好受, 可以再来一本《解忧杂货铺》。

暖心完怀疑东野圭吾变风格了吗?那就再来一本《嫌疑犯x的献身》,东野圭吾果然还是那个东野圭吾。

think2011 commented 7 years ago

好想知道博主是如何分析源码的,另外流程图很赞!

berwin commented 7 years ago

@think2011 一般有两种方法吧,一种是针对某个具体的api只看这个接口相关的实现,追着看。看完一个懂一个,看的多了,就形成了点到面的进化~还有一种是每个框架或工具都有一个入口文件,比如nodejs相关的源码package中都很明确的写了一个主文件,然后顺着这个主文件一层一层往深看,我一般用这种方式

think2011 commented 7 years ago

@berwin (⊙o⊙)哦,谢谢!

shouhe commented 7 years ago

谢谢 帮我理解好多!

hellovue2017 commented 5 years ago

为你点赞!

EvilCodes commented 5 years ago

如何自考呢?

berwin commented 5 years ago

@EvilCodes https://zikao.bjeea.cn/ 这个网站上自己选专业,每年四月份和十月份报名去考试就行了

songlindong commented 1 year ago

你的promise ppt里面好像不是很全呢,还想学一下呢