blog

紫陽花

Ruby On Railsについて

Ruby On Railsについて書く。
普段触っているフレームワークはコレ。
もう触り始めてちょうど11ヶ月ぐらい経つ。だいたい1年くらい
Ruby On Railsはその名の通りプログラミング言語Rubyで動いています。
フレームワークってなんぞや、って人はカンタンにアプリが作れちゃう優れものって認識でだいたおkです。(雑)

もっと詳しく言うと、Gemと呼ばれるライブラリの集合体で、カンタンにアプリ開発の土台を一瞬で作ってくれるのがフレームワークです。

Railsにはある程度制約を設けることによって開発のやり易さと分かり易さを生み出しています。
制約というより設計思想ですね。

設定より規約(Convention Over Configuration)

設定より規約、これは開発者の決定すべきことをなるべく少なくさせるものです。Rails側である程度ルールが決まっているということです。
アプリを作る際に今回はこういうルールで作ろう、という自分たちでルールを考えるのではなくてフレームワーク側で、ここにはコレを書け!的なことが決められていることである程度保守性が担保され、また運用開発もしやすくなります。

同じ作業を繰り返さない(Don't repeat yourself)

DRY(ドライ)設計、その名の通り、同じ作業を繰り返さないで作りなるべき無駄を省きましょうという考え方。
プログラムコードの重複は変更や保守を困難なものにし、またプロダクトの透明さを失わせてブラックボックス化することがあります。
そこでDRYにすることで無駄をなるべく減らしてシンプルで、かつキレイで見やすいコードを作ることが念頭に置かれて開発ベースが作られます。

REST(Representational State Transfer)

REST(レスト)とは、アプリケーションを構成するコンポーネント
RDBMSCRUD(Create/Read/Update/Delete)
・HTTPRequestの各メソッド(GET/POST/PUT/DELETE)
に対応させて、自由に作成/読み出し/更新/削除できるもの(リソース)として扱うアーキテクチャ
URLでデータを操作できるようにします。

MVCモデル

RailsではMVCモデルが採用されています。
これはアプリケーションの構成をModel View Controller に機能訳を行い動かす設計のことです。
Modelにビジネスロジックを集め ViewにHTMLファイルを置き Controller でやり取りの中継を行います。
これによりシンプルでまとまりのあるアプリケーションが作られます。

O/Rマッパー

オブジェクト関係マッピング(Object-relational mapping ORM)とは、オブジェクト指向プログラミングの間の非互換なデータを変換するプログラミング技法のことです。
Rubyは純正のオブジェクト指向型のプログラミング言語ですべてのモノをオブジェクトとして考えて動きます。
RailsではORマッパーによりデータベース操作をやりやすくするActiveRecordと呼ばれるGem(ライブラリ)がデフォルトで導入されています。
これによりRailsではSQL文を書くことなくRubyの書き方によりデータベースの操作を行うことができます。