私のモダンなRails環境

投稿日: 2016-03-15

最近やたらと1からRailsアプリを作っている。

いい機会なので私が最近構築しているRails環境をここにメモしておく。

Puma

http://puma.io/

スピードを重視して作られたウェブサーバー

新しめのアプリケーションサーバーソフトの中でも安定していて、しかも早い!

速さは正義である

Sidekiq

http://sidekiq.org/

スレッドベースのバックグラウンド処理ライブラリ

プロセスベースのResqueと比べて軽量だったり早かったりするが、スレッドセーフを意識しないと痛い目に合う。

バックグラウンド処理にC言語で書かれたライブラリを使う場合は特に注意すべし

RSpec

http://rspec.info/

Minitestと対をなす?テストフレームワークの一つ。

Rails開発のコアメンバーの方々からはあんまり好かれていないようだが、自分はRSpecに慣れてしまっているので今更Minitestには乗り換えられない。

FactoryGirl

https://github.com/thoughtbot/factory_girl

fixtures replacement

メンテが大変なyamlファイルによるfixtureをやめて設定ベースのfixtureを導入する。

Devise

https://github.com/plataformatec/devise

もはやデファクトスタンダードとなった認証機能を追加してくれるgem

パスワードリマインダーから連続パスワード間違いによるアカウントロック機構まで、これ一つでできちゃいます。

OmniAuthと組み合わせてfacebookやtwitterのSNSログインを実現できます。

Capistrano

昔ながらのデプロイツール

そろそろ新しく出てきたデプロイツールも試してみたい気もする

Foreman

https://github.com/ddollar/foreman

開発環境専用。

Procfileというファイルに開発環境に起動すべきコマンドを羅列しておくことによって開発環境の起動がforeman startコマンド1回で済むようになる

solrやsidekiqなどを使用していると地味に便利

Bootstrap for Sass

https://github.com/twbs/bootstrap-sass

レスポンシブなHTMLフレームワークのBootstrapをRailsに簡単に組み込める公式gem

will_paginate

https://github.com/mislav/will_paginate

ページネーションを簡単にシームレスに実現するgem

will_paginate-bootstrapを使えばBootstrap対応の見た目になります

Gretel

https://github.com/lassebunk/gretel

最近知ったパンくずリストを設定/出力するgem

よく考えられていてとても使いやすい。

bootstrap対応

Quiet Assets

https://github.com/evrone/quiet_assets

開発環境専用。

大量に出るアセットのログを抑止する

たんにそれだけだが、とても便利

Rails template

せっかくまとめたからtemplate化しようかな・・・