Ruby开发者应该熟悉的10个工具




1. Git

Git 是进入Ruby 这个生态圈首先最应该学会的工具。几乎所有以Ruby 开发出来的套件都放在Github上。也就是不管你要下载或修改协作都需要透过Git。

2. RVM

Ruby 有很多种 implementation,比较多人在使用的有

◆ 标準的 MRI Ruby 1.8.7

◆ 标準的 MRI Ruby 1.9.2

◆ REE ( Ruby Enterprise Edition)

◆ JRuby 等等

其实你用哪一种版本开发都无所谓,不过目前有一些project 只能在 Ruby 1.9.2 上执行。切换 Ruby 环境跑实验 project 在之前的时代是一件很痛苦的事。

所以有人发明了RVM,让开发者可以无痛的可以切换各种Ruby 环境,甚至透过RVM 制造出独立的 Gemset 环境,无负担的尽情实验新工具。

3. Mac

不可否认的开发Ruby 程式,Mac 是第一首选环境。

最初的原因是撰写Ruby / Rails 的利器: TextMate macromates.com(原链接http://marcomates.com/已失效) ,是 Mac 上的软体。而后来使用 Mac 开发 Ruby 程式的开发者越来越多,更加深这种情况, 造成一些实战 best practices 以及友善的开发工具,几乎都以 Mac 为优先或唯一平台发佈,如:Pow 与 Homebrew。

4. Homebrew

原先在Mac 上,套件管理几乎是 Macports 与 Fink 的天下。但这两者因为 dependency 处理不佳,加上需要 sudo 执行。某些时候会造成套件管理上的灾难。 在 OSX 10.6 之后的时代,就逐渐被后起之秀 Homebrew 取代。

Homebrew 有两大极优秀之点:

by user,不需 sudo 就可以安装套件。不会把档案权限搞得一团脏。

更新迅速以及乾净。Homebrew 是 git-based 的 fomula sets,透过预设的 fomula 安装程式。

安装时如果发现有错误,可以自行修改,并透过 Github 的功能发 pull request 要求管理者 patch。用 Homebrew 建置出来的 Rails 开发环境通常极为乾净且无恼人的套件 bug。

( Rails developer 最常会撞雷的两大套件:MySQL 与 ImageMagick 在 brew 上装,几乎没什么问题…)[註1]

5. Pow

这是由 37signals 所开发出来的网页伺服器,可以跑任何 Rack Based 的网页程式。特点是,你可以把某个开发中的 project,如:wiki,symlink 到自己的家目录底下的 .pow/ 资料夹。

  1.     $ cd ~/.pow 
  2.     $ ln -s ~/projects/wiki
复制代码


再打开浏览器上的 http://wiki.dev/,就可以把 projects 挂起来了。

(原理是拦截对 port 80 上的 request 导回 Pow)

在从前,如果你要挂上 projects,通常得自己改 local 的 apache conf 和 /etc/hosts 加上设定。挂起、移除、重开都非常麻烦。

而 Pow 的诞生,让常常追许多新玩意的开发者,实验的成本变得极度低廉。

6. Rack

Rack 是一个 Ruby 套件,也同时是 Ruby 界的网页程式标准interface。背后的想法与塬理可以参考我以前写的一篇旧文 Rack 与 Rack middleware。

现在只要看以 Ruby 开发的网站程式,几乎都支援 Rack。不会再有以前哪一套框架,推荐独家使用哪一套 web server 跑的乱象。

而因为有了 Pow,挂起 Rack-based 的网站实验程式成本也很低廉。

同时因为採用 Rack 架构开发的缘故,开发者可以透过 Rack middleware 外挂实作一些框架或程式没有的功能。

比如说:

◆ rack-now-www 硬是干掉网址的 www

◆ rack-rewrite 在不支援 .htaccess 的环境下,直接使用 rack 硬 rewrite routing

也很自然而然的会知道:

◆ 想恶搞,改 config.ru

◆ 想重开,touch tmp/restart.txt

这些潜规则。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值