2018 年总结

8 minute read Published: 2019-01-30

快要过农历新年了才来进行年度总结,似乎稍微晚了点 。但由于 2018 年是我工作的第一年,当时也是刚过完年才入职的,所以今天总结也是正好合适的。

2018 年 3 月份入职,终于从一名学生成为了一名职业程序员。技能上在公司里面学到很多,第一次写 PHP,第一次接触 GraphQL。主要工作内容相比在学校里面写 C++、Julia 有了很大的转变。另外也参与了几个小型的研发项目,尤其是第一个独立项目,从需求调研到设计评审,这些都是以前没重视的地方。这也为后来这个项目没有产生交付价值埋下了伏笔,最大的教训就是从需求到设计一定要花足够的时间,前期基础打好,后面的编码其实是相对简单的。另外在这个项目上的遗憾就是,没有按 TDD 的方式去开发实践,由于牵涉到核心业务,在上线之前测试了很久,而且测试到最后也没有充足的信心,导致上线延期。这个项目的经验我估计是不太可能会忘记了,教训深刻,需要时刻警醒。

2018 年还有一个比较大的进步就是开始拿 Rust 来写一些业余代码。从 2015 年开始看 Rust 文档,陆续看了 3 遍也入门了 3 次,今年基本上所有的业余代码都是用 Rust 来写,以 Rust 的角度来学习,包括其它网络、设计模式方面的知识。希望 2019 年下来,能参与一些开源的 Rust 项目。

2018 年算下来也看了不少技术书籍,尤其是上半年不用值班的时候,早起看书的感觉真是不错。下面简短地总结一下,按自我感觉收获大小排序。

不愧是介绍比特币的「圣经」,就像学习 C++ 必推荐《C++ Primer》,想深入了解比特币,这本书也是必看的。这类书都是稍有难度的入门书,大而全,讲解清晰,能把东西说明白。比特币作为第一种加密货币,模型是经典的,但同时弊端也很明显,如果没有更多创新的解决方案被实现合并进去,比特币甚至是整个区块链的加密货币都可能只是昙花一现。但是我个人认为加密货币是未来,最起码数字货币是未来,不需很多年中国都会推行数字货币。

以前看过一个说法,当你觉得自己写的代码很丑,这个时候就需要学习设计模式。我就是实在看不下去自己写的 PHP 代码,才看的这本书。这本书确实不错,语言幽默,又把重点的都讲到了,以后也要常翻。另外我是以 Rust 的角度来学习设计模式的,跟书里面的 Java 实现对比着学,对设计模式的体会更好一点。

期待了很久的书,从 early release 等到了正式出版。也是写得很好,由浅到深可以一本书入门。其实它的定位和官方的《The Rust Programming Language》是重叠的,可惜我把官方的 “The book” 第 1 版看了两遍,第 2 版看了一遍,还是认为这本书对新手更友好。

第一本 Rust 中文书,作者也是常年写文章介绍 Rust。这本书基本上涵盖了作者所有的专栏文章,更系统化,内容比《Programming Rust》要深,有些地方我还是不太理解。写 Rust 代码需要很好的设计,需要在脑海里有很清晰的虚拟内存空间概念,我觉得不比 C++ 简单。但是由于 Rust 没有历史包袱,又能吸取历史教训,同时工程化也做得很好,希望未来几年能流行开来。

有段时间在网上看到了别人把吴恩达机器学习课程的字幕资料整理成了这本书,就花了时间看完了一遍。内容也是非常好的,可以算做入门资料。可惜我对机器学习的热情要放下一阵子了,估计今年不会专门看机器学习方面的书了。

在公司里学习 OKR 时自己看的一本书,第一次接触 OKR,有当时学习 GTD 时的兴奋感。以后我的个人规划也会按照 OKR 的方式进行。

算是介绍 Rust 网络编程的入门书籍。由于 Rust 在网络这一块还在快速发展,等 async 语法稳定,相关库更新后,估计会有一波热潮,这是 2019 年学习的重点。

介绍 Julia 的小册子,2018 年 Julia 终于发布了 1.0,可喜可贺。

看完一半的书,2019 年要继续看完

+《Mastering Ethereum》

+《Zero to Monero》

+《软技能》

+《领域驱动设计》

+《我的第一本 Docker 书》

+《时间序列分析》看了几章,未来可能不继续看

另外 2018 年看了 2 篇 DHT 的论文,分别是 KAD 和 Chord。

由于在公司学习了 OKR,所以 2019 年的打算将会按照季度 OKR 的方式进行,另外在日常的时间管理中,希望 2019 年能不断总结自己在实践 GTD 上的不足之处。