又到一年总结时,本来想着在农历年前考完科目三拿到驾照后再写的,目前来看希望不大了,这个目标只能留在17年去实现了,有种书到用时方恨晚的感觉。 一个词来总结 16 年——“运动元年”,算是完成了 15 年一小目标。OK,下面简单回顾下 16 年那些“重大事件”吧。
强身健体
减肥大计
从 4 月初开始到现在,体重大概从100KG减到现在的85KG,最轻的时候到了80KG,冬天又反弹了5KG左右。单看数字其实并没有什么,网上很多人在半年内都能做到,但是对我来说意义要更深远。从去健身房开始,发现了另一种生活方式,生活不在只有代码,生活可以更丰富多彩,在此期间我也跑了两次马拉松,爬了好多山。对自己的身体也有了更多的了解,之前认为减肥就是体重下降,其实这时非常肤浅的,如果健身能够让你改变之前懒散的生活方式,周末走出房门,拥抱大自然,认识更多的朋友,那么体重对你来说还那么重要嘛。
乒乓球
在我运动细胞高涨期间,组织了公司的乒乓球协会,并在年底的比赛中获得第二名。乒乓球从小就喜欢玩,可以是之前体重的缘故,只能玩这种小球😂,大二体育课还选修了一年。在协会里认识了各类高手,每天下班后去打两局也成了常态,心里的满足感极高。
天天向上
读书
16 年读的书不多,15 年终总结时列出的书只完成了两本。
上半年终于完成《SICP》的阅读,Github 上的笔记 有了 248 个 star、37 个 fork、33 个 watch,读完这本书,不仅仅是对编程语言有了新的认识,更重要的是挑战自己,看看是否能坚持做好一件事。
另一本看完的书是《CODE》,这本书相对来说偏硬件,科普类型,但是对理解计算机内部构造还是非常有帮助的,从简单的门电路,到二八译码器,锁存器,二极管,一步步深入,建议每一位同学都读读。
上面两本是计划内的,此外还完成了《The Joy of Clojure》、《 Clojure Cookbook 》。 《Python Essential Reference》 看到了第13章,占全书的37%左右。
前几天看到一篇文章《买个书,你还凑什么运费?》,是的,就像该文说的,我也有囤书“病”,其实这个道理大家都懂,就是做起来比较难而已,这里再把 16 年年初定的目标拿过来,17 年继续:
- Computer Systems: A Programmer’s Perspective,这本书主要是让我能够更好的理解操作系统。
- 公共问题经济学,主要是一些经济学知识,在现代社会,每个人都需要懂一些经济学,不是嘛
- Java Concurrency in Practice,主要讲授多线程方面的知识。
- The Little Schemer - 4th Edition,这是一本小巧精炼的书,主要讲解 Scheme 方面的东西,对理解一些概念,像递归、lambda 很有帮助,是 SICP 很好的辅助书籍。
- The Seasoned Schemer,TLS 的晋级篇
- On Lisp,Advanced Techniques for Common LISP,主要是学习 Lisp 中宏的强大
为了不重蹈覆辙,之后会做个详细的读书计划,目标太大不容易实现,切分成小目标就好多了,和减肥一个道理。目标是在 17 年把上面几本书全部消灭。
Github
从数字来看,370 次比去年的 459 次少了些,提交也基本上是在上半年,应该也是在看 SICP 的阶段,7 月份后业余时间都用在了健身上,看书与写代码的时间确实少了不少。
- 15年十一期间写了 Java 版 Scheme,16 年用 Clojure 重新实现了次,目前有 3 个 watch,11 个 star;
- 还写了一个浏览器插件 Advance History,用于统计分析流量纪录,目前有 83 个 star,6 个 watch,11 个 fork
- 看 Python Essential 期间,写了个 Python 版的 Shell,主要是用generator 来实现不同命令间的 pipeline,可惜目前没有持续开发,17 年应该会再在这个项目上发力。目前 3 个 watch,19 个 star。
博客
现在来看看 16 年的博客,产量明显低于预期,没能做到每月都有产出。
- 质量最高的应该算《Socket 编程实战》,现在的开发离不开网络,但是对于网络通信,很多人不是非常了解,这篇文章算是给出了较为详细的解释;
- 最装 X 的文章应该是《我为什么一周内连跑 2 个马拉松》,用了“洪荒之力”才完成的,主要纪录自己从一个小胖子,怎么一步步完成全马(42.195KM)的心理历程;
- 《如何实现一个没有名字的递归函数》 主要写的是 Y 算子,算是《 编程语言的基石——Lambda calculus 》的继承篇,但是感觉这两篇文章写的都不是很好,17 年理解加深后需要再完善这两个函数式编程中的基本概念;
- 《编程语言中的变量作用域与闭包》算是在 SICP 第四章环境模型的基础上,重点介绍了 JS 与 Python 中的变量作用域,之后一句话解释什么是闭包:
一个闭包对象包含:一个函数与声明函数时的环境
,闭包是为了解决自由变量作用域的问题而提出的概念; - 《python, ruby, javascript 浅析》 这篇文章第一次涉及到了 Ruby 语言,相比 Python,Ruby 更灵活,更适合元编程;
- 《SICP 第四章总结》、《SICP 第五章总结》 是 SICP 一书最后两章,第五章偏重编译器实现的细节,看到不是很详细,以后可能会有 Clojure 把 SICP 上的重要习题再做一遍,温故知新;
- 《韩国济州岛4日游》、《夜爬初体验》 是两次非常愉快的经历,第一次走出国门,第一次黑夜爬山,都非常难忘;
- 《Clojure 开发那些事》 16 年最后一篇文章,看完 SICP 以后就觉得要找一门 Lisp 方言作为主力语言,这篇文章算是开个头,预计接下来的几年内都会重点使用 Lisp。
技术文章除了发在个人博客,今年依次开通了微信公众号,掘金专栏,一方面是提升自己文章曝光率,建立自己的品牌;另一方面是找到志同道合的小伙伴,个人博客文章难免会有遗漏、错误的地方,需要志同道合者指出,共同进步。为了区分生活类文章,开通简书,以后生活感悟的文章主要会放在这里。
学洋文
16 年初决定用扇贝打卡,到今天为止打卡 167 天,不到半年。而且有些天水分也比较大,基本上 2 分钟就打卡了。
期间也买过 iPhone 上的VOA集合,听了两天也没坚持下来,虽然计算机方面的书能看英文我尽量看英文,但是英文阅读能力还是每提高多少,就其原因,觉得还是大多数时候我都不求甚解,很多复杂句式自己也懒得去分析,久而久之可能就丧失了这种能力,加上手机上阅读本身就能难集中注意力,所以一年下来英语水平还是那么样。
前两天看到一篇文章《没人会等你优秀,遇到别人时你必须已经很优秀》,自己想出国但是语言又一直原地打转怎么可以呢?机会是留给有准备的人。17 年的英语学习计划要多去动笔动脑,学习英语时直接开飞行模式,把干扰降到最低,正好扇贝有个新年计划,交费20.17元,定个300天打卡的小目标,等到 18 年再见证效果。
总结与展望
16 年是正式工作的第二年,这一年的工作平淡无奇,没什么特别突出的地方,代码风格相对来说还是比较满意,总结出了 Python 最佳实践,并在实际项目中应用;用 Node.js 完成了一内部工具,供 BI 的同学使用,这个项目陆陆续续做了一年半,事实证明 Node.js 的回调确实挺坑,维护起来成本略高;年底时,把 Clojure 正式应用到工作中,算是跨出 Lisp 大门的第一步,后面打算在公司内部做几次分享,来推广 Clojure,平时也会多去学习 Github 上的开源项目,Clojure 第三方库一般都比较短小精悍,由于其语言本身的扩展性非常好,所以可以用较少的代码来实现同样的功能,17 年会写几篇文章来总结这方面的经验。
如果说 16 年是运动元年,那么 17 年将会是运动翌年,健身应该是一件很享受的事情,跑步机上挥汗如雨之后,练练肩,练练腿,最后冲个澡,回去大睡一觉,生活还能更美好嘛?!17 年还应该会去爬黄山、庐山、华山。
16 年高质量文章较少,17 年会在阅读经典书籍的同时,多去总结,发散思维,最少做到每月一篇高质量博客,现在有了公众号后,更要勤奋,把自己的品牌(KeepWritingCodes)建立起来。
好了,总结的差不多了,最后放几张有意义的照片告别2016,迎接崭新的2017。</2016>Hello World<2017>