Ruby on Railsフレームワーク


Ruby


Rubyはプログラミング言語の一つです。スクリプト言語というカテゴリに分類されます。bash上でのshファイルや、コマンドプロンプトのbatファイルなどと同じようにOS側にインストールした機能を呼び出す形で実行する形式を取っていて、ソースコードをコンパイルすることなく実行できます。似た言語にPythonなどがあります。


gemという「パッケージ管理システム」


パッケージ管理システムと呼ばれるプログラムがRubyの実行環境を整えたり外部のパッケージをインストールするのに使えます。パッケージの多くは別の様々なパッケージから便利な機能を組み合わせて作られています。当然必要なパッケージも同時にインストールしなければ動きませんが、パッケージが重複してしまったりバージョン間で互換性がなかったりなど様々なトラブルが発生します。そのようなトラブルを解決するシステムがパッケージ管理システムです。実はwindows以外の主要なOSではデフォルトでパッケージ管理システムがインストールされています。


Railsとは


Rubyで開発されているサーバーサイドフレームワークがRuby on Railsです。フレームワークとは特定の用途に特化したライブラリ群などをパッケージ化して開発効率を高めたものを言います。

キーワード
* フルスタック
* Don\’t Repeat Yourself
* Convention(規約) over Configuration(設定)

フルスタックというのはしばしば情報系で使われる単語で、通常分業するところを一人でやってしまうといった意味です。オールラウンダーと言い換えることができると思います。つまりRuby on Railsは超多機能なのです。

Don\’t Repeat Yourselfとはここでは繰り返し書かないと言う意味です。Ruby on Railsはコードを短く書けるように設計されています。Convention over Configurationもよく練られたルールでレイアウトなどを指定して、個人的に書かなければならない設定ファイルは極力減らそうというコードを短く書くための設計思想です。

コードが短くて済み、多機能であるこのフレームワークは一見万能です。しかし高機能でコードが短いというのは動きをイメージしにくい要因になります。学習ということであれば一般的には不向きと考えていいかもしれません。

今すぐ辞めて欲しい、「Ruby on Rails勉強してます」「CakePHP勉強してます」 – sumyapp
http://blog.sumyapp.com/2013/07/no-recommend-rails/

ですが現代のコンピュータの動きを完全に追える人間など存在しないのも事実です。アセンブラという機械語と一対一で対応する言語ありますが、C++で書かれたOSをビルドすることによってどのようなアセンブラに対応する機械語が出力されているかイメージできる人はいないと思います。人間の想像力を遥かに超える規模になると思います。
CPUで処理される部分はまだ良いとしてもOpenGLなどGPUを使用するライブラリを使う場合はGPUメーカーのみが知る世界です。
例えばゲームエンジンを使わずにゲームを作れる人はいないでしょう。しかしゲームエンジンを使うことで最終的な成果物のクオリティを上げることができます。当然使うでしょう。商業的に価値のあるゲームならかなり高価なゲームエンジンでも出来る限りいいものを使うでしょう。

まず何かを形にしたい、そこから色々なことを学びたいというタイプの人はどんどん便利なツールを使うべきだと思います。もっとも作りたいものをイメージできる時点で先のエントリの対象としている初心者には当てはまらないと思いますが。

インストール

以下のエントリを参考にさせていただきました。

Ruby on Rails 4.2 を Windows にインストールする手順をかなり丁寧に説明してみました – Rails 雑感 – Ruby on Rails with OIAX
https://www.oiax.jp/rails/zakkan/rails_4_2_installation_on_windows.html

MSYS2環境で実行しました。

まずRuby2.1.9をインストールしました。一度latestをインストールしたのですが、Railsのインストール時点でこけるのでエントリに沿ってインストールしました。

gem update --system
gem install bundle
gem install rails
gem install rails --version=\"~>4.2.3\" --no-ri --no-rdoc
rails new foo --skip-bundle
cd foo
bundle install

これでfooという実行ファイルが生成されるはずです。

rails g scaffoldを実行すれ際にエラーが発生しました。とりあえずcan't open fileとなっているパッケージをインストールする。

rails g scaffold user name:string email:string
gem install sass-rails
rails g scaffold user name:string email:string
gem install uglifier
rails g scaffold user name:string email:string
gem install coffee-rails
rails g scaffold user name:string email:string
gem install coffee-rails --version=\"4.1.0\"
rails generate scaffold user name:string email:string
gem install jquery-rails
rails generate scaffold user name:string email:string
gem install turbolinks
rails generate scaffold user name:string email:string
gem install jbuilder
rails generate scaffold user name:string email:string
gem install sdoc
rails generate scaffold user name:string email:string
gem install byebug

gem install byebugでエラー発生、以下のエントリを参考にして解決した。このような知的資源を提供してくれている人がいるのはとてもありがたい。

> byebugのインストール方法 – Qiita
http://qiita.com/Keech/items/b06ff606b5de00231e4d

rails generate scaffold user name:string email:string
gem source -a http://rubygems.org/
gem install byebug
rails generate scaffold user name:string email:string
gem install web-console --version=\"~>2.0\"
rails generate scaffold user name:string email:string
gem install tzinfo-data
rails generate scaffold user name:string email:string
rake db:migrate
rails s

ようやく実行することができました。

確かに最高に高機能なのがわかります。

rails newコマンド
bundle install
rails generate scaffoldコマンド
rakeコマンド

たったのこれだけで簡単なアカウント管理が実装できてしまいます。わくわくしますね。

Add a Comment

メールアドレスの入力は任意です。(公開されることはありません)