パRailsの読書メモ 第1章

September 26, 2020

こんにちは、たわらです。

パーフェクト Ruby on Rails【増補改訂版】の読書メモです。

  • Ruby をインストールすると gem コマンドが使えるようになる

    • Gem コマンドを使うと Ruby で出来ている配布用ライブラリの gem を管理できる。
  • Ruby をインストールすると rake コマンドが使えるようになる

    • rake コマンドはタスクランナーで、実行する処理を Rake タスクと呼ぶ。
    • 主にリリース作業などの定形処理を実行する(基礎課題では記事更新の Rake タスクを作ったな)
  • Ruby をインストールすると bundle コマンドが使えるようになる

    • 「開発しているプロジェクト内でどの gem を使用しているか」「どのバージョンを使用しているか」を明示する仕組み
    • Gemfile という設定ファイルに gem パッケージ名を書く。gem のバージョンや依存関係を解決した結果を Gemfile.lock に保存する。Gemfile.lock がある場合、bundle install はこれを参照する。プロジェクトに新しく参加する人もこれを参照することで同じバージョンの gem を利用できる。
  • Gemfile

    • git_source は gem パッケージを検索するサーバーの設定
  • bundle exec コマンド Bundler でインストールされている gem を使用してコマンドを実行する

  • Rails の思想

    • 設定より規約
      • 規約に従うことで設定ファイルを減らし、コミュニケーションがスムーズになり、本来注力すべきビジネスロジックに集中できる
    • DRY
      • 同じことを繰り返さない
    • REST
      • /employees/1 URI が示す内容を「リソース」と呼ぶ。社員情報を取得する処理は/employees/1 へ HTTP の GET メソッドでアクセスして取得する
    • 自動テスト
  • 主要なファイルやディレクトリ

    • bin/ アプリケーションを開発するために利用する実行コマンドを格納しているディレクトリ
    • lib/  Rake タスクなどアプリケーションから独立したコードを格納するディレクトリ
    • config/ アプリケーションの動作に関する設定ファイルを格納するディレクトリ
    • bundle exec をつけなくても実行できるコマンドを bin ディレクトリに用意している。このファイルを binstub という
  • DSL とはドメイン特化言語(ドメインとっかげんご domain-specific language、DSL)とは、特定のタスク向けに設計されたコンピュータ言語

  • db:migrate って rake コマンド

  • (.:format)はアクセスした URL によってレスポンスを変化させるために使う。