我的 2017

2017 总结:写了一篇博客,发了一篇公众号。完。

为什么写的少了,如果说因为带娃太忙没有时间,都是借口,时间挤一挤总会有的。这一年,我看了一些书,学了一些东西,做了一些决定,每次想写点东西又不知为何总是没有做到。也许是懒了,也许是浮躁了,因为写东西太花时间了。我写作速度不快,简单的几句话总是要反复斟酌。所以想着还不如把时间用来学习更深入的东西,写更多的代码。结果也看到了,深入的东西没有学到多少,代码没写多少,同时,文章也一篇没有写。

所以看来,把写作的时间腾出来学习对我来说是个伪命题。最近在看《快速阅读术》,里面就提到了『呼吸』式阅读,即不能只看(吸气),还要写下来(呼气),这样能减轻阅读的负担,还能帮助吸收理解。所以,希望之后我能尽量多写吧,就算写的内容对别人没什么帮助,至少可以写给自己。

读书

这一年,我买了好多纸质书,已经堆满了我的桌子。主要是技术类的书籍:《Hadoop权威指南》(影印版,没看),人工智能类书籍:《神经网络与深度学习》、《TensorFlow实战》、《图解机器学习》、《程序员的数学1,2,3》、《高等数学上下册》、《深度学习》、《机器学习》(西瓜书),编程语言类:《Go语言实战》、《Kotlin实战》、《Javasript权威指南》,游戏渲染相关:《WebGL编程指南》、《OpenGL ES 3.0编程指南》、《OpenGL超级宝典》、《OpenGL编程指南》

首先说说人工智能,自 AlphaGO 先后击败人类顶级围棋选手李世石、柯洁,可以说 AI 大热。整个业界、整个公司都掀起了一股学习 AI 的热潮。为了搞清楚机器学习、深度学习到底是个什么东西,我投入了不少的精力,最后我觉得也算是简单的入门了,更高深的就不敢说。

从零开始学习机器学习,一开始我感到很吃力。大家都知道学习一门编程语言时,都会先学习 Hello World 怎么写。最让人受打击的是,一开始学习的房价预测这个 HelloWord 级别的线性模型时,就让我倍感吃力。突然感觉数学知识不够用了,然后找来《高等数学》把卡住的几个概念温习了一遍,然后在脑子里不停的想那个梯度下降到底是个什么东西。我又找来 Andrew Ng 的视频,然后继续想这个东西的本质是什么。

某天突然就想明白了,就是设计了一个模型,然后通过求导,不断迭代,将预期值和实际值的误差降到最小,然后把模型的参数计算出来的一个过程。而且,如果你使用 TensorFlow 之类的框架的话,甚至求导和梯度下降都不需要你来做了,直接一个 API 搞定了。之后深度学习相关的一些模型、CNN、聚类算法等等,也有了概念性的直观理解。知道大概是怎么回事,虽然没有太多的动手实践。然后发现,原来写个手写数字识别的程序也是这么简单的事情。最后我极力推荐李宏毅老师关于 Deep Learning 的课程,去 YouTube 搜下就有了。这是我看过的讲的最生动、最通俗易懂,同时讲的也很透彻的课程了(嗯,不用谢)。

17 年底,微信上线了『小游戏』。为了职业生涯的转型,我突击了一下游戏渲染相关的知识。之前做游戏开发时,主要做的是游戏逻辑、UI、后台相关的开发,对渲染引擎这块感觉专业性太强,有点敬而远之。这次沉下心来学习,感觉自己的知识体系又打开了一扇门。

除了技术类的书,我都首选看电子版了。主要是在微信读书和 Kindle 上看。读过的有印象的书罗列一下:《腾讯传》、《如何高效学习》、《教父》三部曲、《摩根写为儿子的32封信》、《人民的名义》、《刻意练习》、《富爸爸穷爸爸》、《股票大作手回忆录》、《从20万到30亿:特朗普自传》 等等。

印象最深刻的是《教父》和《富爸爸穷爸爸》。教父讲的其实是一个在外打拼,为了给家里人更好生活,但被形势所迫,一步一步成为黑帮老大的故事。它讲的其实是作为男人对家庭的责任感。教父不管在外面要忍受什么,做多么危险的事,在家时从不在家人面前讨论工(砍)作(人)。他所做的一切,都是为了保护他的家人。反复刷教父电影三部曲还不过瘾,又拿书来刷。惊喜的是书里的第二部和第三部是另外单独的故事,特别是第二部关于吉利安诺的故事。印象最深的是他被枪击后顿悟的那段,特别的精彩,很好奇为啥没有拍成电影。

《富爸爸穷爸爸》也是很老的书了,看完之后才发现我就是书里提到的财商很低的人啊。原来谈钱并不是那么让人羞耻的事情,特别是程序员,跳槽谈钱时,总是感觉扭扭捏捏难为情,其实大可不必。首先我们要端正对钱的态度,我们追求金钱,是为了改善和保障家人的生活。其次,我们要学习怎样赚钱,怎样让钱为我工作,而不是我为钱工作,最终走上快车道,实现财务自由。这本书早在 2000 年左右就出了,如果当时就看了并且砸锅卖铁投资房地产,现在不就发了吗。当然,开始投资从来都不晚,机会到处都是,就看你能不能看准了。

代码

2017 年我在 GitHub 上的代码提交次数只有 30 几次,可以忽略不计了。这里特别要提下 Go 的静态网站生成器 Hugo,从我最早使用时的 v0.1 几版本,到现在已经到了 v0.36 版本。开源社区的项目就像一个大轮子,单位时间内虽然不是速度最快,但是不断有人参与进来推动轮子前进,不知不觉之间,已经前进了很多很多。新版本不断在改进完善,旧的过时功能不断被修正和删除,以至于之前我写的几个主题被迫进行了几次升级,以支持新版的 Hugo。

就在我兴致勃勃打算写这篇文章时,才发现使用最新版 Hugo 生成我的博客页面时,所有文章列表相关的页面都生成不出来了。于是我用了一个晚上的时间去查原因,看 Hugo 的更新文档,最后解决好之后已然夜深人静了。

之前我在用 Cocos2d-x 写游戏时也有这种感悟。某天突然心血来潮想写个小游戏玩玩,然后发现 Cocos2d-x 又更新了好几个版本,加了好多内容。等我更新完 SDK,看过更新的内容之后,写游戏这件事本身却被抛在了脑后。等哪天突然又想起来,发现 SDK 又更新了,周而复始。我写游戏的速度,已经赶不上游戏引擎更新的速度了。

所以,我的一个感悟是,这个世界正在以你难以想象的速度在向前发展,不管你看得见还是看不见。所以你一定要保持前进,保持进步,不然等你回过神来,会发现已经被远远的抛在后面。

重点

没错,前面说的都不重要。保持身体健康,心情愉快,家庭和谐才是最重要的。所以,2018 年的一个小目标是:坚持锻炼身体。对了,去年买的佳明 Forerunner 235 手表不知道放哪里去了,我要去找找了,再见。

微信扫一扫交流

作者:CoderZh
微信关注:hacker-thinking (一个程序员的思考)
本文出处:https://blog.coderzh.com/2018/02/25/my-2017/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。