今更感がありますが、
最近Railsはじめたので読んでみました。
gemすげーと思いましたのでメモします。
こういうのを知っているのと知らないでは、かなり違いますね。。
Railsはじめたばかりの方にはオススメの本だと思います。
第3章 アセット
Sprockets
Asset Pipelineの基盤となるgem
アセットファイルにアクセスするためのパス管理
アセットのコンパイル
アセットファイル同士の依存生を管理する
CoffeeScript
teaspoon,jasminerice,jasmine-rails
Asset Pipelineを経由したユニットテストをすることができる
Sass
Turbolinks
高速にページ遷移することができる
jquery-turbolinks
Turbolinksで画面遷移した際にも、自動でjQuery.redy()に登録したイベントハンドラを呼び出してくれる
第4章 Railsのロードパスとレイヤーの定義方法
active_decorator
モデルとビューを橋渡しするレイヤーを追加できる
sidekiq
非同期処理を行うライブラリ
※例) 画像アップロード、画像変換、動画の変換処理
第5章 開発を効率化するgem
pry-rails
RailsコンソールでirbではなくPryを利用できるようになる
pry-byebug
ステップ実行でデバッグを行うことができる
Hirb
コンソール上のモデルの出力を整形する
※日本語などのマルチバイト文字が入る場合は
hirb-unicodeを一緒にインストールする
better_errors
例外が発生した際にエラー画面が変更され、スタックトレース、セッショ情報、リクエストパラメータなどが見やすくなる
binding_of_callerと合わせて利用することで、画面上でコマンとを入力し、オブジェクト操作できる
Spring
railsやrakeコマンドが処理を開始する時間が高速化する
※RSpecを実行する場合はspring-commands-rspecというgemを追加する
rails-erd
モデルのER図を生成する
第6章 実践Webアプリケーション開発
twitter-bootstrap-rails
本編ではでは使ってませんでしたがbootstrap導入楽ちんでした
omniauth
ユーザ認証機能を提供してくれる
TwitterのOAuthを利用した認証には「OmniAuth Twitter」を利用する
gem 'omniauth', '~> 1.2.2'
gem 'omniauth-twitter', '~> 1.1.0'
Kaminari
ページネーション機能を作る
bootstrap用に 「kaminari-bootstrap」がある
ransack
モデルの検索インターフェースを簡単に作ることができる
carrierwave
画像アップロード機能を簡単に作ることができる
mini_magick
ImageMagickをRubyから扱うことができる
第7章 Railsアプリケーションのテスト
rspec-rails
RailsのテストフレームワークライブラリのRSpec
インストール後にテストしてみると動かなかったのですが、
こちらに対応方法が書いてありました。
Rails4+RSpec3で新規プロジェクトを作ったときのハマりポイントまとめhttp://qiita.com/youcune/items/3a1e4ef76e71da43e043
group :development, :test do↲
gem 'rspec-rails', '~> 3.0.0'↲
end↲
shoulda-matchers
バリデーションのテストをかなり簡潔に記述できるようになります。
group :test do↲
gem 'shoulda-matchers', '~> 2.6.0'↲
end↲
fixture replacement
テストのためのモデルオブジェクトを生成してくれます。
カラムの種類が増えたり減ったりした時に便利のようです。
group :development, :test do
gem 'factory_girl_rails','~> 4.5.0'
end
capybara
エンドツーエンドのテスト
group :test do↲
gem 'capybara', '~> 2.2.1'↲
end↲
poltergeist
JavaScriptのテスト用
※ poltergeistを使用する場合、テストケースとして実行されるプロセスとは別にサーバ用のプロセスを作成するため、Railsデフォルトのデータベーストランザクション機能は使えないため、「database_cleaner」を使用するそうです。
group :test do↲
gem 'poltergeist', '~> 1.5.0'↲
gem 'database_cleaner', '~> 1.2.0'↲
end↲
##simplecov
カバレッジを出力する
brakeman
Railsアプリケーションの脆弱性を英的解析する
第8章 Railsのインフラと運用
chef,berkshelf
設定中に以下のようなエラーが出たが
こちらの記事で無事解決
$ vagrant provision
==> default: Running provisioner: chef_solo...
Generating chef JSON and uploading...
==> default: Running chef-solo...
==> default: stdin: is not a tty
==> default: [2014-10-28T13:00:43+00:00] INFO: Forking chef instance to converge...
==> default: [2014-10-28T13:00:43+00:00] WARN:
==> default: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
==> default: SSL validation of HTTPS requests is disabled. HTTPS connections are still
==> default: encrypted, but chef is not able to detect forged replies or man in the middle
==> default: attacks.
==> default:
==> default: To fix this issue add an entry like this to your configuration file:
==> default:
==> default: ```
==> default: # Verify all HTTPS connections (recommended)
==> default: ssl_verify_mode :verify_peer
==> default:
==> default: # OR, Verify only connections to chef-server
==> default: verify_api_cert true
==> default: ```
==> default:
==> default: To check your SSL configuration, or troubleshoot errors, you can use the
==> default: `knife ssl check` command like so:
==> default:
==> default: ```
==> default: knife ssl check -c /tmp/vagrant-chef-3/solo.rb
==> default: ```
==> default:
==> default: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
knife-solo
chef-soloに特化したコマンドツール
New Relic
アプリケーションの監視
cinch
IRC Botフレームワーク
Airbrake
エラー通知と解析に特化したSaas
オープンソースのerrbitもあるようです。
serverspec
サーバの状態をテストするためのツール
第10章 Railsを拡張する
Rack
たくさんのアプリケーションサーバとたくさんのRubyフレームワークとをつなぐ規約