Railsで開発するときの環境
この記事は Classi Advent Calendar 2017 - Qiita 14日目の記事です。
今回は私がRuby on Railsで開発するときの環境を晒します。
※Mac OSでの環境
- vim
ご存知CLIで動作する(GUIもある)テキストエディタ。NeoBundle等のプラグイン管理ツール特に導入しないでちまちまがんばっている。
カラースキームは
[dracula](https://github.com/dracula/vim)を使っている。
vimrcはgithubにdotfilesリポジトリ作ってcloneしてくるだけでvimの設定が完了できるようにしてある。
インデントの数が言語によって違うのはftpluginで定義。
filetype plugin indent on augroup filetypedetect au BufRead,BufNewFile *.c setfiletype c au BufRead,BufNewFile *.cpp setfiletype cc au BufRead,BufNewFile *.cc setfiletype cc au BufRead,BufNewFile *.java setfiletype java au BufRead,BufNewFile *.rb setfiletype ruby au BufRead,BufNewFile *.py setfiletype python au BufRead,BufNewFile *.php setfiletype php au BufRead,BufNewFile *.js setfiletype javascript au BufRead,BufNewFile *.yml setfiletype yaml au BufRead,BufNewFile *.slim setfiletype slim au BufRead,BufNewFile *.html setfiletype html augroup END
RubyMineとかもちょっと触ってみたいなとは思っているが腰が重くてなかなか使いにいけていない。
iTerm
Macデフォルトのターミナルよりもちょっと高機能なターミナル
デュアルディスプレイにしてターミナルを29個並べるのが基本的なスタイルになっている。ターミナル少ないと作業が捗らない。
fish
fish shell
割と新しめな(たぶん)ナウいシェル。これもvimと同じくコンフィグファイルをgitにあげてるのでcloneするだけで設定完了できるようにしている。
rbenvとか勝手に設定してくれるようなのもあって重宝。ssh_agentはなんかうまく動いてくれないので別途設定ファイルを書く必要あり。
fixtures
主にテストデータの作成に用いる
今まではseedを使っていたがリレーションの管理が面倒なのでfixtureのyml管理に移行した。
テーブルが多く存在するDBだと大きな効果を発揮する。
こっからgem
better_errors
デバッグに便利なgem
rubocop・guard・foreman
コーディング規約を守らないと怒ってくれる便利なlint
開発環境ではrubocopをguardでリアルタイムで見張るようにしている。foremanをいれて一気にスタートできて便利。 コーディング規約をymlで管理できるのがとても嬉しい。
Procfileはこんな感じ
redis: bundle exec redis-server /usr/local/etc/redis.conf web: bundle exec rails s -p 3000 guard: bundle exec guard -i
これをつくって,foreman startすれば立ち上がってくれるのでコマンドがシンプルになって良い。
思っていたよりもRailsのための環境はそこまでなかった・・・