2019 年终总结,2020 新年展望

关键词:水流不腐

2019

工作

2018 年底从一个创业公司,换到了另一个创业公司,今年算是全新的一年, 水流不腐 这个关键词也是从这而来。

新公司是 AI 公司,都说现在 AI 处于风口,虽然我是做基础设施的,但是也想看看风口上的 AI 公司有何不同。 创业公司对于我来说,另一个好处就是大部分基础设施都处于起步阶段,这个时候,正好可以经历基础平台从零到一。

从之前做公有云,私有云网络,接触到了容器平台,发现容器平台也是现在基础设施的风口, 所以也希望在新公司能够在容器平台能够学习到这方面的知识。

今年公司换了,技术方向也换了,最主要的就是身边的同事也都换了一圈,接触到的技术,做的事和之前完全不一样, 确实感觉到不同环境能够学习到的内容完全不一样。

今年的老板作为架构师,和他接触,也开始了解到了架构方面的知识:

设计模式
在以前做网络相关时,确实能用到的比较少,但是在目前容器平台,更高层次的程序架构考虑,这是必不可少的, Kubernetes 源码中也能看到不少设计模式的影子。
Domain Driven Design(DDD)
真正从需求到设计再到实现,不再是之前随想实现,DDD 就是用于指导这个流程的。前端领域常见的 MVC 架构也是同源的。

另外,今年大量接触到了 Kubernetes, 容器解决了应用部署的问题,而 Kubernetes 解决了容器编排,调度的问题

Pod
方便多个容器之间协作,解决多活高可用
Service + KubeDNS
解决容器之间互相访问
Storage Class
解决存储
Operator
解决中间件服务的生命周期管理

Kubernetes 成为了现在容器编排的事实标准,虽说少不了背后 Google 的支持,但是 Kubernetes 自身的设计和实现也确实是出色, 感觉 Kubernetes 还得再火个很长的时间。

2020 年的任务之一,就是能够站在架构的角度,回过头来看 Kubernetes ,尤其在 Operator 相关的地方,需要多下功夫。

技术

今年努力多接触新技术,争取各个领域都能够有所涉猎。

后端
作为主业
  • Golang: 从零实践 DDD 实现了一个类 Operator 的 API,从设计,到实现,到测试。
  • Rust: 终于入门了这门学习曲线陡峭的语言,开始尝试在开源社区中贡献,提交了一个 lsd PR,已经合并到主干, 能看到在 Contributor 里排前列了
前端
接触一下潮流前线前端娱乐圈
  • Javascript: 尝试了一下 Javascript + CSS ,后来发现原来需要多借用 Chrome 调试,果然前端和后端玩法还是不一样
  • 微信小程序: 同样是赶潮流,但是微信圈的小技术圈太局限,所以还是转到了 Taro 使用 React 的语法上线了一个玩具,感受了一下微信小程序的全流程
  • Flutter: 这个是目前最看好的的跨平台方案,通过实现自己的渲染引擎,只依赖系统的图形绘制相关接口,保证各平台的体验一致性和性能,2020 希望能够上线一个以上的程序。
其他
生命在于折腾,多感受些总是好的
  • Haskell: 最著名的函数式编程语言,不拜读一下,总是有所遗憾,初步学习了一下,函数式编程通过抽象出函数,通过类似数学解题的思路编程,难怪学术界对函数式编程有所偏爱。只可惜未来得及深入学习更多函数式编程的思路。
  • Emacs Lisp: 学习至今,最有价值技术必须属 Emacs 了,而 2019 年开始从抄别人的配置文件到自己实现部分的 Emacs Lisp 配置,作为最年迈的编程语言之一,也是想多学习一下 Lisp 的设计思想。
  • Beancount: 准确来说, beancount 应该算到生活里,但是 2019 年尝试实现自己的 Beancount 解析器,导入器,所以也列到这里。
  • Language Server Protocol: 微软开源的统一编辑器后端,让 VS CodeEmacs 这样的编辑器能够更容易的达到和 IDE 一样的开发体验,2019 年 Golang 的 LSP Server 替换了三次,终于出了官方的 gopls,但是目前完善度比较捉鸡,所以 2020 年希望能够参与完善。

生活

今年生活变化可以说是翻天覆地。

房子
2018 年底买了人生的第一套房子,正式升级未房奴,2019 年完整的感受到的房奴的压力,好在自己还算乐观,2020 转压力为动力。
孩子
2019 年不知不觉中升级成了父亲,压力值++,2020 重心难免需要转到孩子上了。
记账
以前试用过 Money Pro, MoneyWiz, 随手记 ,都没持续坚持下去,2019 年从 Byvoid 了解到了 Beancount,感觉这个应该是想要的那个了,今年分析了一下,可惜由于房子和孩子,主要支出如预期,成了吃饭。

阅读

2018 立了 10 本书的 Flag

时间简史
读了半本,从 黑洞 开始,感觉有点理解不了了,加上时间少了,没能查资料,看不下去了,2020 把这半本看完。
Getting Thing Done
重新看了一次,常读常新,结合 Emacs Org Mode ,感觉工作上找到了不错的实践,就是 Agent 使用上还需要研究一下
SICP
大致看了一遍,前面部分其实就是用 Scheme 重新入门了编程,回顾了编程到底在干啥,就是 元编程 部分感觉 2020 年可以拓展一下,在 Emacs Lisp 中也能用上。
DDD + iDDD
接触 DDD 之后,这两本经典都是老板推荐的,可惜真的有点硬核了,各自看了一半,不过有了之前的实践,2020 年可以再战一次。
函数式编程思维
函数式编程思维的入门书
The Rust Programming Language
Rust 官方入门书
Rust编程之道
Rust 官方入门书只讲了语法入门,看一本中文大全,从另一个角度了解一下,不过开始的比较晚,还没看完。
穷爸爸富爸爸
理财入门书,从小缺少了理财教育
小狗钱钱
同上,都是补习了一下理财知识
等待宝贝
床头书,开始学习培养孩子

2020

2019 是一个变化的开始,2020 年必须继续努力。

技术

Go Bean
主要的 Golang 开源项目,主要就是解析 beancount 文件,导入帐目。2020 把功能完善,再把推广做起来。
LSD
参与的第一个 Rust 开源项目,一个 ls 替代。2020 多做贡献,争取一个 Collaborator
Flutter
有意思的扩平台语言,2020 希望能够上线一个 Flutter 实现的 iOS 或者 Android 应用。
gopls
目标:5 个以上的 Pull Request
Kubernetes
工作需要,自己也参与到开源社区里,目标:2 个以上的 Pull Request

阅读

时间简史
把剩下的半本读完
DDD
把剩下的半本读完
Rust 编程之道
把剩下的内容读完
人类简史
声名在外的一本人类历史书,角度新奇,之前扫过一次,今年认真看一看
Linux内核设计与实现
经典 Linux 内核书,决定上限。
程序设计语言,实践之路
编程语言名著,2019 年了解了这么多语言,是时候从编译原理的角度看看编程语言了。
黑客与画家
之前扫过,没想公司又发了一本,那就复习一下这本经典

还有经济学方面的,需要再找两本书,再看看其他大佬们的书单,看看补充一下。

生活

生活其实不需要过多计划,目前就是:

房子
有新的收入帮助还贷款
孩子
顺利生产,起一个好听的名字