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.org RubyGems官方套件儲存庫
- https://github.com GitHub是Ruby社群最多人使用的源碼儲存空間
- http://ruby-toolbox.com 整理分類Ruby常用套件,並根據Github Watchers和RubyGems下載排行
- http://www.ruby-forum.com Ruby論壇
- http://guides.rails.info Rails官方導覽文件
- http://guides.rubygems.org Rubygems導覽文件
- 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核心開發者
- @JEG2 Ruby核心團隊成員、Ruby Quiz一書作者、FasterCSV作者
- @tenderlove Ruby和Rails和Rack核心團隊成員、Nokogiri作者
- @david_a_black Ruby核心團隊成員、The Well-Grounded Rubyist一書作者
- @drbrain Ruby核心團隊成員、Rubygems和RDoc維護者
- @_why Ruby社群傳奇人物,於2009/8/19消失,行蹤成謎,成為Ruby社群第一大懸案。
- @_zzak Ruby核心團隊成員,主要負責Ruby原始碼的文件
Rails 核心
Rails核心成員http://rubyonrails.org/core及所有貢獻者http://contributors.rubyonrails.org/
- @DHH Rails發明人
- @wycats Rails核心團隊成員、JQuery核心團隊成員、Rails 3架構師
- @josevalim Rails核心團隊成員、Elixir 語言作者
- @lifo Rails核心團隊成員
- @bitsweat Rails核心團隊成員
- @fxn Rails核心團隊成員,主要負責維護Rails Guides文件
- @spastorino Rails核心團隊成員
- @yves_senn Rails核心團隊成員,主要負責 Active Record
- @rafaelfranca Rails核心團隊成員
知名Rubyists
- @pragdave Programming Ruby一書作者,此書是第一本英文Ruby程式語言書籍,有重要的Bible地位。
- @peterc Ruby Inside站長
- @chadfowler 美國Ruby協會(Ruby Central, Inc.)會長,主辦每年的RubyConf
- @takahashim 高橋征義、日本Ruby協會會長,他有兩本著作有中文翻譯:高橋流簡報和Ruby Programming-向 Ruby 之父學程式設計。高橋先生每年都來台灣參加OSDC.TW。
- @kakutani 角谷信太郎、日本Ruby協會,日本RubyKaigi大會主辦人
- @greggpollack Ruby5 podcast主持人
- @obie The Rails 4 Way一書作者
- @brixen Rubinus核心成員
- @igrigorik 知名部落客
- @rbates Railscasts站長
- @rtomayko Sinatra核心成員
- @headius JRuby核心成員
- @tmm1 EventMachine核心成員
- @qrush Rubygems.org站長
- @ryanbigg Rails 4 in Action一書作者
- @drbrain Rubygems維護者
- @a_matsuda 日本知名Rubyist
另外,每年會頒發一次Ruby Heros獎項。
知名廠商
- @37signals Rails的發源公司
- @engineyard Rails雲端服務的領導廠商
- @GitHub 知名Git hosting服務公司
- @heroku Ruby的PaaS雲端服務平台領導廠商
- @phusion_nl 出產Passenger和REE的公司
- @thoughtbot 知名Rails顧問公司
- @pivotallabs 知名Rails顧問公司
- @hashrocket 知名Rails顧問公司
其他
- @ruby_news Ruby News
- @RubyInside Ruby Inside
- @rails Rails
- @rspec RSpec
- @jruby JRuby
- @rubinius Ribinius
- @macruby MacRuby
- @seattlerb 西雅圖Ruby社群,最早的Ruby社群
- @sdruby 聖地亞哥Ruby社群
講中文的Rubyists
- @rubytaiwan Ruby Taiwan社群。另外,這個帳號Follow了台灣Ruby相關開發者。
- @ihower 本書作者
- @xdite 台灣知名部落客
- @godfat PTT Ruby版板主
- @JuanitoFatas 中文RailsGuides翻譯者和維護Ruby中文官網
- @flyerhzm Rails 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