2013年新学期にRubyを始めるエンジニアが読むべきサイトまとめ
初心者ぺちぱーがRubyのコードを書くに当たって、大変勉強になったサイト、これから読んでおきたいドキュメントを紹介する。
Index
- Ruby入門・チュートリアル
- Ruby reference
- Ruby 2.0の新機能
- Rubyコーディング規約
- Ruby関連の情報
- Ruby tool
- Ruby ブログ
- rbenv & ruby-build
- Gem
- Bundler
- irb
- pry
- RDoc
- YARD
- RSpec
- Cucumber
- SimpleCov
- ruby-prof
- Rake
- Rack
- Rack対応HTTPサーバー
- Sinatra
- Ruby on Rails
- Rails 4.0の新機能
Ruby入門・チュートリアル
Rubyを始めるときに、入り口になるところ。他言語文化圏からの移民の人達は第1章 Ruby言語ミニマムから読み始めると、256倍ぐらい理解が早くなると思う。
Ruby reference
Rubyと標準ライブラリについてのリファレンス。~~Ruby本体はGitHubで開発が行われている。~~ウソでしたごめんなさい。レポジトリガイドによると、SVNがメインらしい。gitも利用可能。
- Ruby 2.0.0 リファレンスマニュアル
- Ruby Core Reference
- Ruby Essentials - Techotopia
- 逆引きRuby
- まつもと直伝 プログラミングのオキテ - まつもと直伝 プログラミングのオキテ - ITpro
Ruby 2.0の新機能
Rubyが2013年に20歳になるということでリリースされた、Ruby 2.0についての新機能を紹介している記事。
Rubyコーディング規約
Ruby関連の情報
Ruby周辺の様々な情報が得られるサイト。
- Stack Overflow 困った時はここ。
- Rubyist Magazine 日本 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌
- 一般社団法人日本Rubyの会の公式Wiki
- Ruby on Rails Screencasts - RailsCasts
- 日本で生まれ世界が育てた言語 Ruby - ITpro
- Ruby Freaks Lounge:連載 - gihyo.jp
Ruby tool
Rubyツールを探したいときに見るところ。
Rubyブログ
Rubyについてのブログ。
rbenv & ruby-build
Rubyをインストールするときに使うツール。例えば、仕事で1.9.3を使っているけど、2.0も試しに使ってみたい場合など、複数バージョンをインストールしたり、切り替えて使ったりできる。GitHubのリポジトリにある、READMEがそのままドキュメントになっているので、とりあえずここを見れば迷う事はないと思う。すでにphpenvやphp-buildを使っていれば、説明は不要だろうか。
Gem
Rubyで作られたライブラリ、フレームワーク、ツールなどのリポジトリであるGemについてのドキュメント。
Bundler
Gem管理ツールであるBundlerについてのドキュメントは、各フレームワーク毎に使い方が書いてある。モダンなぺちぱー御用達のComposerみたいなツール。
irb
Ruby用REPL。標準ライブラリに含まれている。
pry
Ruby用REPLのpryは、すごいirbらしい。
RDoc
RubyのドキュメンテーションツールであるRDocのドキュメント。
YARD
もう一つのドキュメンテーションツールであるYARDのドキュメント。@hoge タグが使えるので、ぺちぱーにはこっちの方が分かりやすいかもしれない。
- Features
- Guides
- rubydoc.info
- rdocは捨て去られてYARDになった
- Ruby の YARD(Yardoc) の @ タグ - きたももんががきたん。
- Rails/Rubyドキュメントをキレイに生成するYARD、早見表付き! - 酒と泪とRubyとRailsと
- yard graphでクラス図を生成しちゃえ☆(ゝω・)vキャピ - @sugamasao.blog.title # => ”コードで世界を変えたい”
RSpec
RubyでデファクトになっているテスティングフレームワークのRSpecについてのドキュメント。
- RSpec
- Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)
- Rubyist Magazine - スはスペックのス 【第 2 回】 RSpec on Rails (コントローラとビュー編)
- Rubyist Magazine - 改めて学ぶ RSpec
- RSpecによるユニットテストの書き方 - tech.recompile.net
Cucumber
BDD用のテスティングフレームワークCucumberについてのドキュメント。受け入れテストによく使われるらしい。まだ使った事が無い。
SimpleCov
Ruby 1.9に対応したカバレッジ測定ツール。C0に対応。Ruby 1.8まではRCovを使うのが定番だったらしい。
- rubydoc.info
- kennyjのブログ(仮): ruby1.9時代にrcovは使ってはいけない。simplecovを使おう!
- Ruby 1.9.2 + Rails3でテストカバレッジを取るにはSimpleCovが良さそう - FIRN.JP
- Railsライブラリ紹介: テストのカバレッジを求める「SimpleCov」 - TECHSCORE BLOG
ruby-prof
うわっ…私のコード、遅すぎ…?と思った時には計測しよう。標準ライブラリについてくるprofileの代替品。C extensionなので数倍速くて、XDebugみたいにメソッド毎の実行時間がとれるらしい。
Rake
Ruby用makeのRake。Octopressでも、rake generate
などのコマンドですでに使っているはずだ。
Rack
webアプリケーションインターフェースのRackについてのドキュメント。Ruby向けのWSGIみたいなもの。開発の経緯については第23回 Rackとは何か(1)Rackの生まれた背景:Ruby Freaks Lounge - gihyo.jpに日本語の解説があった。
Rack対応HTTPサーバー
名前 | 説明 | source | doc | gem |
---|---|---|---|---|
WEBrick | Rubyに標準で付いてくるHTTPサーバー。開発用。 | GitHub | doc | |
mongrel | 現在は開発停止。後継はThin。Ruby以外の言語にも対応したmongrel2が開発されている。 | GitHub | gem | |
Thin | Mongrelのパーサーを利用したHTTPサーバー。 | GitHub | doc | gem |
Unicorn | Ruby製のHTTPサーバー。GitHubの事例 | git | doc | gem |
Passenger | Apacheやnginxと一緒に動かすやつ。redmine動かすのに使ったりした。standaloneもあるらしい。 | GitHub | doc | gem |
Sinatra
webアプリケーションのためのマイクロフレームワークであるSinatraについてのドキュメント。Octopressでもpreviewするときに使っている人も多いんじゃないかと思う。
Ruby on Rails
もはや説明は不要なほどに有名な、RubyのwebアプリケーションフレームワークのRuby on Railsについてのドキュメント。現在は4.0 beta1の開発中のようだ。自分がGitHubでウォッチしているコードの中でもダントツでコミット数が多く、2005年のリリース以来、非常に活発な開発が続いている。
Rails 4.0の新機能
実はWEB+DB PRESS Vol.73の「詳解Rails 4」が一番詳しい解説なんじゃないかと思う。
- WEB+DB PRESS Vol.73
- 作者
- 設樂 洋爾
- 白土 慧
- はまちや2
- 大和田 純
- 松田 明
- 後藤 大輔
- ひろせ まさあき
- 小林 篤
- 近藤 宇智朗
- まかまか般若波羅蜜
- Mr. O
- 川添 貴生
- 重国 和宏
- 柳澤 建太郎
- 奥野 幹也
- 佐藤 鉄平
- 後藤 秀宣
- mala
- 中島 聡
- 堤 智代
- 森田 創
- A-Listers
- 出版社
- 技術評論社
- 発売日
- 2013-02-23
- メディア
- 大型本
- 価格
- ¥ 1,598
オンラインでの解説はこちら。
Conclusion
入門編ドキュメント類や、これから必要になりそうなリファレンスのありかを整理していただけのはずだったが、調べていくうちに、かなりの量の周辺ツール・ドキュメントが出てきて、Rubyコミュニティってすごいんだなと思った。Rails・CI関連のツールも調べようと思ったけれど、とりとめが無くなりそうだったので、これは別の機会にまとめてみようと思う。CapybaraとかPoltergeistとかPhantomJSとか。