へろへろもへじ

(ブログタイトル募集中)

「Ruby on Rails チュートリアル」を進めてみて途中経過をまとめた

今更ながらRails使いへの登竜門(?)「Ruby on Rails チュートリアル*1」を読み始め、Railsの勉強を始めました。まだ1〜3章までの消化ですが、Rails周りの強力なツール群に感銘を受けております。ただ強力な分ちょっと登場人物やお約束も多いので、ここまでのことをざっくりまとめてみました。

ちなみに、ワタシのRuby歴は5ヶ月程度で、業務では使っておりません。(今後使いたい願望はアリ...

過去にちょっとしたFluentdのプラグインを公開した経歴はありますといったレベルです。

1〜3章までで学べたこと

  • RVMを利用した、Rails環境の構築 (1章)
  • Bundlerを利用した、Gemの管理 (1章)
  • Rails Serverを利用して、デフォルトのWebページをローカルで表示 (1章)
  • RailsにおけるMVCアーキテクチャ (1章)
  • GitによるRailsプロジェクトのバージョン管理 (1章)
  • GitHubへのRailsプロジェクトの公開 (1章)
  • HerokuへのRailsプロジェクトの公開 (1章)
  • DBを利用し、CRADを網羅したデモアプリの作成 (2章)
  • ActiveRecordの簡単な使用例 (2章)
  • RailsにおけるRESTfulなルーティング (2章)
  • 静的ページのRailsプロジェクトの作成 (3章)
  • RSpecを利用したTDD (3章)
  • RVMとBundlerの統合 (3章)
  • Guardによるテストの自動化 (3章)
  • Spork を使ったテストの高速化 (3章)
  • GuardとSporkの連携 (3章)

ここまでに登場したRailsに関する人物について

RVM

  • Ruby Version Managerの略
  • バージョンや依存関係にあるモジュールを管理してくれる
  • 類似のツールにrbenv(sstephenson/rbenv · GitHub)がある
  • rbenvとの同居はできない

RVM: Ruby Version Manager - RVM Ruby Version Manager - Documentation

Bundler

  • gemパッケージの管理をしてくれる (PHPでいうところのComposer)
  • 使用するgemのバージョンを指定できる
  • オプションで環境毎に使用するgemを指定できる
  • これらはGemfileで管理し、bundle installで一括でインストールできる

Bundler: The best way to manage a Ruby application's gems

Gem

Rails Server

  • Rails用のビルトインサーバー。Railsインストール時に同胞されている。
  • rails s」コマンドで立ち上がる
  • ポートは3000番

Heroku

  • Railsアプリを動かすことができるPaaS
  • アドオンや有料のオプションを付けなければ無料で使える

Heroku | Cloud Application Platform

ActiveRecord

  • Active Recordパターンから成る、O/Rマッパー
  • Rails用というわけではなく、Ruby単体からでも使える

README.rdoc

RSpec

  • DSLで記述できるテストツール
  • Test::Unitではなく最近はRSpecを利用してテストするらしい

Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)

Guard

guard/guard · GitHub

Spork

  • RSpecが走るたびにRailsの起動するコストを軽減し、RSpecを高速化するためのツール
  • TDDが捗る

sporkrb/spork · GitHub

所感

  • ここまで素敵なチュートリアルに出会ったことないです、コミュニティの方々ありがとうございます!!
  • 道のりはまだまだ長い
  • 覚えること多いけど、慣れたら開発コストは相当抑えられそう
  • とにかくツールの充実度に感無量です!!