My DevelopmentalTools and environments.

1. Editor

1.1 Vim

非常经典的编辑器。不过一个大问题是,对复制粘贴其实不太友好,同时在服务器中书写的话需要担心服务器掉线无法保存的问题,此外再怎么配合插件,做到一边写程序一遍调试也有难度。所以我目前只用 Vim 编写轻量级的脚本,长篇大论型(比如本博客的 markdown)就转而用下面介绍的编辑器了。

1.2 Textmate2

以前用的 TextMate2。强大之处在于,这个有个 rmate 包,可以在服务器上直接__远端__打开文本,

1.3 Atom

TextMate2 只有 mac 版,不能跨平台,同时给人感觉有些小众,包的丰富程度不能和 SublimeText 比,然后对 github 支持的也不足。

Atom 就是一个跨平台、用的人多并且各种 personal 补丁多、很好支持Github最后还免费(相比SublimeText)的一个编辑器。种种优点,让我只用了一天就决定改用这个了。

2. Zsh

Zsh 是 shell 的一种,可以认为是升级版的 bash。zsh 相比 bash 的强大之处,相比只要百度下都会深有体会。

这是我目前 zsh 的设置。

png

我的 Zsh + vim + Atom_rmate 的配置文件,详细可见 https://github.com/huboqiang/my_zsh

3. 开发环境

3.1 Rstudio

Rstudio 不需多言。不过我也算是今年才意识到 Rstudio 有个 Rmarkdown,可以把分析过程和分析笔记直接整合。

3.2 Anaconda

Anaconda是专门面向科学计算版本的python。 初学者 python 装包是个可怕的过程。记得三年前用官网的 python 为了装 scipy 曾经装了三天三夜,而如果下载 anaconda 版本,首先安装python不到5分钟,然后装好后自带scipy,并且conda的升级比pip更加强大。

Anaconda 功能的强大还体现在 UI 层面。一是里面的 Spyder,可以当成是 Rstudio 使用,二是里面的 Jupyter配合Ipython,再配合良好的封包以及 matplotlib+seaborn,可以起到 Rmarkdown 一样的作用。

3.3 Zeppelin

Zeppelin是Spark 版本的 Rmarkdown/Jupyter。spark-shell 的调试持久性不足是个很要命的问题,同时 scala 程序封包也不像 python 那么简单,而 Zeppelin 则给了 spark-shell 一个持久性的环境。

不过说真的,Zeppelin 虽好,也太难用了,我觉得干前端的人想在github出名的话,给 Zeppelin 改成 Jupyter 70% 好用,过三五年这东西火成 Rstudio 这样以后,这段经历绝对是日后跟人炫耀的重要资本。


本文作者Boqiang Hu, 欢迎评论、交流。
转载请务必标注出处: [DevelopmentalTool]My DevelopmentalTools and environments.