Ruby 和 Rails 的生态圈(Ecosystem)

一个成功的开放原始码程式语言和框架,背后一定有一个强大的社群在支持。团队和个人的时间成本有限,你不可能每个用到的工具和函式库工具都自己从头开发。因此,熟悉一个程式语言,不只是了解其语法而已,能够熟悉它的生态圈、社群和领导厂商,了解有什么工具和资源可以运用、了解当遇到问题的时候,有什么管道可以帮助你,也是一件非常重要的事情。

台湾社群

Ruby Taiwan http://ruby.tw 社群成立于2008年10月,主要是针对Ruby程式语言及软件开发,进行业界的交流及分享,提昇开发人员的技术深度与广度。

新闻网站

Ruby on Rails的官方部落格http://weblog.rubyonrails.org/包括最新的Rails版本发布、安全性维护通知、新功能介绍等等。

Ruby Weekly http://rubyweekly.com/也是由Peter Cooper每周整理的Ruby重点新闻,透过E-mail订阅寄送,包括最新头条、推荐文章以及最新函式库工具等。笔者非常推荐订阅一读。

This week in Rails https://rails-weekly.ongoodbits.com/Rails核心成员Godfrey Chan每周整理的Rails开发重点新闻,透过E-mail订阅寄送,包括最新修正的 Bug、Rails 新功能以及 Rails 要闻等。

Ruby5 Podcast http://ruby5.envylabs.com/每周两次的五分钟Podcast Ruby社群新闻,由Gregg Pollack主持。

Ruby Flow http://www.rubyflow.com/相较于上述的新闻透过编辑来过滤,Ruby Flow可以让网友自行张贴新闻。也因为如此所以讯息量比较混杂一些。如果你有开放原始码专案或Ruby相关消息想要告知给Ruby社群,这里倒是个好地方。

文件、工具网站

书籍

Ruby(线上免费)

Rails(线上免费)

Ruby程式语言

  • Programming Ruby 1.9 & 2.0 (Pragmatic)
  • The Well-Grounded Rubyist 2nd. (Manning)
  • Eloquent Ruby (Addison-Wesley)

Rails

  • Agile Web Development with Rails 4th. (Pragmatic)
  • The Rails 4 Way (Addison-Wesley)
  • Rails 4 in Action (Manning)

年度大会

Ruby社群热衷于世界各地举办研讨会,请参考Ruby There http://rubythere.com/获知最近举办的研讨会。详细研讨会列表请参考Ruby Conferences http://rubyconferences.org/

美国

Confreasks上有包括RubyConf在内的许多演讲录影,其中Keynote基调演讲推荐一看,其他可以挑有兴趣的主题一看。

欧洲

亚洲

Twitter

社群中知名活跃的Rubyist几乎都有个Twitter帐号,如果想知道第一手消息和八卦,可以从以下帐号开始Follow

Ruby 核心

Ruby committers成员http://rubycommitters.org/

  • @yukihiro_matz 松本行弘,Ruby发明人
  • @_ko1 笹田耕一,Ruby核心开发者
  • @JEG2Ruby核心团队成员、Ruby Quiz一书作者、FasterCSV作者
  • @tenderloveRubyRailsRack核心团队成员、Nokogiri作者
  • @david_a_blackRuby核心团队成员The Well-Grounded Rubyist一书作者
  • @drbrainRuby核心团队成员RubygemsRDoc维护者
  • @_whyRuby社群传奇人物,于2009/8/19消失,行踪成谜,成为Ruby社群第一大悬案。
  • @_zzakRuby核心团队成员,主要负责Ruby原始码的文件

Rails 核心

Rails核心成员http://rubyonrails.org/core及所有贡献者http://contributors.rubyonrails.org/

  • @DHHRails发明人
  • @wycatsRails核心团队成员、JQuery核心团队成员、Rails 3架构师
  • @josevalimRails核心团队成员、Elixir 语言作者
  • @lifoRails核心团队成员
  • @bitsweatRails核心团队成员
  • @fxnRails核心团队成员,主要负责维护Rails Guides文件
  • @spastorinoRails核心团队成员
  • @yves_sennRails核心团队成员,主要负责 Active Record
  • @rafaelfrancaRails核心团队成员

知名Rubyists

另外,每年会颁发一次Ruby Heros奖项。

知名厂商

其他

讲中文的Rubyists

如何回报问题及贡献开源社群

如果你发现一个可能是RubyRails核心或任何函式库的Bug,请先从它们的Issue Tracking System找找看有没有类似发生过的问题,或许有人已经回报这个问题,并获得解答或原作者说法。如果没有,也请不要吝啬回报你的发现,如果可以顺道找出原因,并附上程式Patch那就更好了。

  • Ruby程式语言的Issue Tracking System使用Redmine,也有MirrorGithub上,你也可以直接送Pull request,不过建议还是要在Redmine上开票。
  • RailsIssue Tracking System使用GithubIssue tracking system,除了开Issue之外,如果想送Patch,可以在Fork这个专案,完成之后送Pull request请求Core Team合并。如果你的Commits被接受的话,恭喜你就会列名在Rails Contributors上。

目前大部分的Ruby开源软件都使用Github来做版本控制,你可以透过它提供的Issue回报问题给作者,或是透过README得知作者联络方式。另外,你也可以利用Github提供的Fork功能,分支一个版本做修正补丁,完成后发Pull Request请求原作者合并你的修改。

除了发现Bug回报补丁,你也可以贡献文件: