现在的位置: 首页 > 综合 > 正文

One Year at Vimbra

2014年09月05日 ⁄ 综合 ⁄ 共 1573字 ⁄ 字号 评论关闭

一年工作下来,做的事情不多,但还是改变了一些。

因为作为 Vimbra 公司里现在唯一一个正儿八经的资深工程师,以及中间夹带做了的 Meetisan 服务器,我花了一年的时间在 web 方面扩展视野。Redis, MongoDB, PostgreSQL, PHP, Python, Clojure,很多东西我开始尝试上手去用。用 DistroWatch 的话说,put the fun back into computing。
随着看过碰过的东西的增多,技术决断力也在增强。这一年我的技术重心从之前在群硕时期侧重的 Java 逐渐转移到 Python,一方面是厌倦了Java 的笨重,包括 JVM 启动,包括 Eclipse,也包括繁冗的语法;另一方面,我逐渐意识到,小而美的项目也可以做成许多事情。进程边界不是限制,而是辅助。年中看过一部分 Erlang,包括 Armstrong 的论文,对我的思维方法形成了重要的影响。在这个方面,下一年我的目标是在 Protocol Buffer 或 Thrift
中选择一个进行尝试和研究。
工具方面,从 Eclipse 挣脱出来之后,在 TextMate 和 Vim 中浪费了不少时间,最后回到了 Emacs。我不是教徒,用 Emacs 的原因其实很简单:支持多重语言的基本高亮和排版,外加后期发现的 TRAMP 功能。
Linux 方面:熟练 screen,开始学习 tmux。Amazon AMI 用了一年还是不喜欢,将生产环境迁回 Ubuntu Server LTS。基于 Xvfb / Selenium 架设的 AJAX proxy 虽然是一坨渣,但想法是相当到位的。https://github.com/wolf0403/ajax-for-dummies Vagrant
开始用,Docker 没找到感觉。近期计划:docker / saltstack 。
Clojure。这一年花了大量时间在 Clojure 上。这个语言有趣,一部分来自 Lisp,一部分来自自己。年初开始的时候 Clojure 用的是 1.2,最后切换到 1.5。Lisp 的部分,本身有些东西是非常好用的,比如 assoc / dissoc / select-keys 等——我现在在 Python 中经常都会想使用这些能力。Immutable data structure 如果能在语言层面被优化,用起来真心顺手。Clojure 的库的强大,是听过 C++ 宣传的我所完全没有想到的。从 1.5
的 core.async 到 core.logic,sqlkorma,prismatic plugins(https://github.com/prismatic/plumbing !!!)每次都让我感到震惊。大概我还是不会用 Clojure 开始写我的下个项目,但这个语言的确不会被我彻底抛弃(PHP,嗯。)很可惜的是没有啃下
core.types。
Python。发现 iPython Notebook 到现在虽然还没有给我带来任何实际的好处(Vimbra 的算法研究项目完全失败了),但完全改变了我对编程的看法。年初的时候是 mSpeed 的服务器和部署工具,之后是 Meetisan 的服务器端,这个星期开始把 Vimbra 的服务器端加入大量的 Python,这个语言给我带来了极大的生产力提高。当然,缺乏编译期类型检查给我带来了巨大的麻烦,逼迫我开始写各种类型 assertion(同 Clojure)和 unit test。其实后者是被赵宇同学给
Meetisan 写的 unit test 震惊之后才在努力培养的。
Gunicorn / Supervisor 都是很棒的东西。Fabric 后来用的比较少,因为没有成体系。应该重新看看有没有别的解决方案。
其它:Coursera 的 R 课程刚开始。估计下面会在 R 上面放一点时间;或者如果哪天抽风买了 Mathmetica…… 
下一年计划:
Docker / Salt / Fabric
Erlang / Go,捡一个起来。
iOS?

抱歉!评论已关闭.