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社群,这里倒是个好地方。
文件、工具网站
- https://rubygems.orgRubyGems官方套件储存库
- https://github.comGitHub是Ruby社群最多人使用的源码储存空间
- http://ruby-toolbox.com 整理分类Ruby常用套件,并根据Github Watchers和RubyGems下载排行
- http://www.ruby-forum.comRuby论坛
- http://guides.rails.infoRails官方导览文件
- http://guides.rubygems.orgRubygems导览文件
- http://railscasts.com 录影介绍Rails技巧,由Ryan Bates主持。
- http://asciicasts.com 文字版的Railscasts
书籍
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/
美国
- RubyConf http://rubyconf.org
- RailsConf http://www.railsconf.com/
- RubyNation http://www.rubynation.org/ 东岸
- RubyConf MountainWest http://mtnwestrubyconf.org/ 西岸
- JRubyConf http://jrubyconf.com/__JRuby专属大会
Confreasks上有包括RubyConf在内的许多演讲录影,其中Keynote基调演讲推荐一看,其他可以挑有兴趣的主题一看。
欧洲
- EuRuKo http://euruko.org/ 欧洲最大的研讨会,德国
- Scottish Ruby Conference http://scottishrubyconference.com 英国
- Frozen Rails https://frozenrails.eu/ 芬兰
亚洲
- RubyKaigi http://rubykaigi.org 日本
- RubyConf India http://rubyconfindia.org 印度
- RubyConf Taiwan http://rubyconf.tw 台湾
- RubyConf China http://rubyconfchina.org/ 中国
- RedDotRubyConf http://reddotrubyconf.com/ 新加坡
- RubyConf Philippines http://rubyconf.ph 菲律宾
社群中知名活跃的Rubyist几乎都有个Twitter帐号,如果想知道第一手消息和八卦,可以从以下帐号开始Follow:
Ruby 核心
Ruby committers成员http://rubycommitters.org/
- @yukihiro_matz 松本行弘,Ruby发明人
- @_ko1 笹田耕一,Ruby核心开发者
- @JEG2Ruby核心团队成员、Ruby Quiz一书作者、FasterCSV作者
- @tenderloveRuby和Rails和Rack核心团队成员、Nokogiri作者
- @david_a_blackRuby核心团队成员、The Well-Grounded Rubyist一书作者
- @drbrainRuby核心团队成员、Rubygems和RDoc维护者
- @_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
- @pragdaveProgramming Ruby一书作者,此书是第一本英文Ruby程式语言书籍,有重要的Bible地位。
- @petercRuby Inside站长
- @chadfowler 美国Ruby协会(Ruby Central, Inc.)会长,主办每年的RubyConf
- @takahashim 高桥征义、日本Ruby协会会长,他有两本着作有中文翻译:高桥流简报和Ruby Programming-向 Ruby 之父学程式设计。高桥先生每年都来台湾参加OSDC.TW。
- @kakutani 角谷信太郎、日本Ruby协会,日本RubyKaigi大会主办人
- @greggpollackRuby5 podcast主持人
- @obieThe Rails 4 Way一书作者
- @brixenRubinus核心成员
- @igrigorik 知名部落客
- @rbatesRailscasts站长
- @rtomaykoSinatra核心成员
- @headiusJRuby核心成员
- @tmm1EventMachine核心成员
- @qrushRubygems.org站长
- @ryanbiggRails 4 in Action一书作者
- @drbrainRubygems维护者
- @a_matsuda 日本知名Rubyist
另外,每年会颁发一次Ruby Heros奖项。
知名厂商
- @37signalsRails的发源公司
- @engineyardRails云端服务的领导厂商
- @GitHub 知名Git hosting服务公司
- @herokuRuby的PaaS云端服务平台领导厂商
- @phusion_nl 出产Passenger和REE的公司
- @thoughtbot 知名Rails顾问公司
- @pivotallabs 知名Rails顾问公司
- @hashrocket 知名Rails顾问公司
其他
- @ruby_newsRuby News
- @RubyInsideRuby Inside
- @railsRails
- @rspecRSpec
- @jrubyJRuby
- @rubiniusRibinius
- @macrubyMacRuby
- @seattlerb 西雅图Ruby社群,最早的Ruby社群
- @sdruby 圣地亚哥Ruby社群
讲中文的Rubyists
- @rubytaiwanRuby Taiwan社群。另外,这个帐号Follow了台湾Ruby相关开发者。
- @ihower 本书作者
- @xdite 台湾知名部落客
- @godfatPTT Ruby版板主
- @JuanitoFatas 中文RailsGuides翻译者和维护Ruby中文官网
- @flyerhzmRails Best Practices Gem作者
- @robbinfan 大陆ITeye站长
- @lgn21st 上海Shanghaionrails社群组织者
如何回报问题及贡献开源社群
如果你发现一个可能是Ruby、Rails核心或任何函式库的Bug,请先从它们的Issue Tracking System找找看有没有类似发生过的问题,或许有人已经回报这个问题,并获得解答或原作者说法。如果没有,也请不要吝啬回报你的发现,如果可以顺道找出原因,并附上程式Patch那就更好了。
- Ruby程式语言的Issue Tracking System使用Redmine,也有Mirror在Github上,你也可以直接送Pull request,不过建议还是要在Redmine上开票。
- Rails的Issue Tracking System使用Github的Issue tracking system,除了开Issue之外,如果想送Patch,可以在Fork这个专案,完成之后送Pull request请求Core Team合并。如果你的Commits被接受的话,恭喜你就会列名在Rails Contributors上。
目前大部分的Ruby开源软件都使用Github来做版本控制,你可以透过它提供的Issue回报问题给作者,或是透过README得知作者联络方式。另外,你也可以利用Github提供的Fork功能,分支一个版本做修正补丁,完成后发Pull Request请求原作者合并你的修改。
除了发现Bug回报补丁,你也可以贡献文件:
- Rails文件http://guides.rubyonrails.org/contribute.html
- Ruby Taiwan的文件http://guides.ruby.tw