tawara's blog

雑記。個人の見解です。

パRailsの読書メモ 第1章

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

パーフェクト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によってレスポンスを変化させるために使う。