呜。。写小结完全是为了督促自己一把,顺便理一理过去一年自己把时间都花在哪了。就像理财,不怕亏损,就怕花得不明不白。很具体的也没啥好说的,就随便过一过好了。

考研

花了我大把大把的时间,除了达成了目标以外。最大的收获是把阿宝骗到手了,其次是英语狠狠的补了一把。最不甘心的是,三年的技术和折腾就在这段时间差不多全忘光了。不过,塞翁失马,焉知非福。

毕设

忙完考研就忙毕设了,总没个消停的时间。毕设老师不是很 push,所以趁这段时间赶紧看了一部分 Unix 网络编程,算是把计算机网络这块短板给补了补。后来同组的小伙伴家里出了事,毕设任务量一下多了不少,就花了一段时间做毕设。

记得有个需求是:客户端将加密后的文件传给服务器,并能从服务器下载,当然用户认证也得有。不过当时时间比较紧,没想清楚应用层该用什么协议,就闷着头做了。后来想想有不少缺陷和可以改进的地方,比如,如果用 HTTP 做上层协议而不是直接用 TCP 能轻松不少。一来是因为 HTTP 成熟且简单,二来是技术风险小,开源库肯定一搜一大把。虽然当时有考虑到这一点,但是因为纯 C 的 HTTP 库要么有不少依赖或者得直接“一条龙”,要么就很久没有维护了、文档少;以及毕设项目本身不算复杂,而且服务器不是重点,最后就简单粗暴的直接用 TCP 了。现在想想真是“Too young, too simple, sometimes naive.”

暑假

毕设做完后勾起了我造轮子的欲望,于是暑假就花了一些时间写了个“轻量级” HTTP 服务器。这东西倒不是很难实现,用了 libuv 分离开更底层的套接字编程后,剩下的大部分是“体力活”。不过 HTTP 虽然看似简单,但是实际上有很多让具体实现难以“优雅”的地方,比如:缓存引入的状态变化和 HTTP 本身无状态之间的“矛盾”。还有向后兼容这种蛋疼的事情……都让它不像看上去那么简单。

后来去了云巴实习了一个月(因为九月份就开学)。期间:

  1. 读了部分业务代码
  2. 学了 Erlang
  3. 学了 Ansible

认识到自己有几个问题:

  1. 代码读得太少。仔细想想,确实没怎么读过代码
  2. 掌握的技能/技术没有形成系统,泛而不精
  3. 操作系统是短板,面试的时候一眼就被看穿了……
  4. 身体不好。容易感冒,腰和脖子都有些难受
  5. 英语不够好。虽说一般的技术文档没问题,但是稍难一点的文档,还是得集中注意力才能看懂

开学

第一个月

在被 Erlang 虐得死去活来以后,对函数式产生了哲学上的兴趣,遂继续折腾了下 Erlang。但是因为非并发场景用起来麻烦,且 gen 之类的 OTP 找不到合适的练习方式,最后还是放弃了。

第二个月

算法虽然不算短板,但是也不算很好,为了让它更长一点,又开始刷 OJ 题。不过始终停留在 i 阶段,没有发生 i+1 的变化。因为总是对函数式念念不忘,就顺便学了久仰大名的 Haskell。总算没白学,了解到很多新奇的东西,编程思维有所提升。抱着深入了解函数式的心态买了本 计算机程序的构造和解释。正如豆瓣上的评论所说:“有些书是这样子,你抱着一个目的去读,结果发现它完全写的不是你期待的那些内容,但是却给了你更大的惊喜。” 这本书又简称为 SICP,很难一两句话说清楚它到底讲了些什么,只能说真的是书如其名,千万别误会,里面的内容和硬件无关。暂时只读了前三章,思想很精华,收获不小。

接下来..%&$@

考试,写作业,考试,做 project ... 忙的不可开交,想清楚了一些事情。看了吴恩达的公开课,发现机器学习挺好玩的。

一切都是兴趣使然