🦢

Ruby on Railsとは

2023/02/13に公開

Ruby on Rails(Rails,RoR)とは

  • Webアプリケーションをより効率よく作るための、Webアプリケーションフレームワークの1つ。
  • Rubyで書かれていて、オープンソース。

公式サイト等

作者

  • デイヴィット・ハイネマイヤー・ハンソン氏
  • デンマーク出身のエンジニア

歴史

  • 2004年7月に最初のバージョンがリリース
    ...
  • 2016年6月30日 バージョン5.0リリース
  • 2019年8月17日 バージョン6.0リリース
  • 2021年12月15日 バージョン7.0リリース

Ruby on Railsのコンセプトは他のフレームワークにも大きな影響を与えている

10年以上に渡ってビジネスに利用され続けている

RubyGems(gem)

  • 幅広いライブラリがgemという形式で公開。
  • よく使う機能などがgemで公開されており、利用することで開発工数が削減できる。

ライブラリの作成や、公開、インストールを助けるシステム!

例えば、ログイン機能を作りたいといったときに1から作る必要がない!
ログイン機能実現するgemが公開されているので、それを利用できる!

採用事例

  • クックパッド...料理のレシピ共有サイト
  • freee...会計ソフト
  • GitHub...ソースコードバージョン管理
  • Airbnb...民泊サイト
  • Square...ネット経済
    など

スタートアップやベンチャー企業でも人気

Railsの基本理念を知ろう

設定より規約

  • Convention over Configuration,CoC
  • 例)データベースのテーブル名はモデルの複数形にする。
    モデル名:User→データベースのテーブル名:users

規約があることで、複数の開発者で開発した時に統一感が出やすいメリット!!
サービスの本質的ではないところは規約に乗っ取れば考える必要がなくなる◎

同じことを繰り返さない

  • Don't Repeat Yourself,DRY
  • 例)消費税用の計算用コードが、複数箇所に重複して書かれている。
    消費税が8%から10%になった時に、メンテナンスし忘れで
    ある画面では8%のままで販売されてしまっていたということも起こりうる。

同じ内容のコードを複数の箇所に書かないようにすることにより、
メンテナンスしやすく、不具合が発生しにくいコードが書けるという考え方

共通の処理は一箇所にまとめる!!
一箇所改修すれば再度全体が修正されるようにする。

MVCアーキテクチャの基本を知ろう

MVCアーキテクチャ

MVCとはModel,View,Controllerの頭文字をとったもの

  • Model
    データベースアクセスなどデータ関連処理
  • View
    画面表示
  • Controller
    リクエストやレスポンスを制御
    ViewとModelの橋渡し

MVCの役割ごとに分けてプログラムを書く!!
通常MVCごとにファイルを分けてプログラムを書く。
役割ごとに分けて書くことでプログラム全体の見通しが良くなり、
メンテナンス性が高まるメリットがある。

MVCの相関図

ユーザーからアクセスがあったら
Controllerが受け取り、Modelでデータベースからデータを取得して
その結果を画面にViewで描画する。

MVCの解釈は状況や人によって厳密には異なったりするが
入門レベルの段階ではこのくらいでざっくりと理解しておけばOK


今日は色々と忙しかったからここまで!!
来週は水曜に有給取ったから
やること終わらせて勉強頑張ろう!

Discussion