カッパでも分かるiOSアプリゲーム開発

カッパがひたすらゲーム制作に関することを書くブログです。Railsに関するTipsもたまにまとめてます。

今までのRailsプロジェクトで使った便利 gem 一覧

スポンサードリンク

Ruby on Rails 5 超入門
f:id:InvokeTwoA:20151023183618p:plain「新プロジェクトに関わる度、便利なgemを知るなぁ」
f:id:InvokeTwoA:20151215172640p:plain「bundle install でサービス完了までやってくれるgem無いかな」

gem名 説明
oj optimized json を扱うためのライブラリ。Oj。jsonよりも早いらしい。 Oj3 でオジサンぽく読める
slim-rails hamlと殆ど同じ。テンプレートエンジン
dotenv-rails .env ファイルに環境設定を全て記述できるようになる
jQuery-Validation-Engine-rails jQuery による validation が行える
jwt jwt(json web トークン)を作るのに便利。これでセキュリティもチャーラー・ヘッチャラー
enumerize railsのModelで列挙型を扱うのに便利
seed-fu rake db:seed の強化版。つまりガンダム seed destiny
jp_prefecture 都道府県コードとかから色々な操作ができる。都道府県関係を扱うサービスなら重宝
geocoder google の地図APIを使える。超便利。距離計算とか超高速でできる。ある地点から近い順にデータ表示とかも楽チン
dropzonejs-rails ドラッグ&ドロップでファイルアップロード
rspec-request_describer rspec で describe に get /hoge/ とか書いただけで GET アクセスのテストをしてくれる
json_spec json 関係のマッチングなどを簡単に書けるようになる
faker rspec でテストデータ作る時に便利
google-api-client youtube の閲覧数とか取得するのに使用
acts_as_list active-record をリストのように使える。rails1 とかでは標準機能だった?とか。 sort_order とかのカラムを入れ替える時に便利
ranked-model acts_as_list とどっち使うか迷うところ
inherited_resources たまたま所属してPJで使ってた。単純な REST なページを作る時に色々と省略できる。慣れないと苦労する黒魔術的な gem だと思う。最近はもう使われてないのか

f:id:InvokeTwoA:20151023183618p:plain「沢山新しい gem に出会ったー!と思ったけど列挙してみたらこんだけかー」
f:id:InvokeTwoA:20151215172640p:plain「リスト化してみると以外と少ないもんですな」

  • 関係無いけど「 rails をやってるエンジニアは rails 以外の言語を使いたくなくなる」って wiki にあったけどその通りだと思う
  • 「rails 以外を使えなくなる」と同義だから怖い話でもあるけど

(追記) プロジェクトが変われば世界は変わる

f:id:InvokeTwoA:20151023183618p:plain「あたらしいPJでは postgresql だったり minitest だったり、使ってるライブラリが全然違ったりする」
f:id:InvokeTwoA:20151215172640p:plain「環境適応能力こそがエンジニアに一番大事な能力ですな」
f:id:InvokeTwoA:20151023183618p:plain「チャラい職場では自らもチャラくなる。自我など無かった」

gem名 説明
grape RailsでAPI簡単に作れるぜ、という gem バージョン管理とかしてくれる
rabl Rails で JSON API 使うならコレらしい。 トラブル起きそうな gem 名だ
grape-rabl grape で rabl 使うならこれ。グラブルみたいだ
oj json に関する処理を高速化
faraday HTTPクライアントライブラリ。 通信しまくるぜぇ curl おじさん
active_type モデルが fat にならないように type ごとに分類できる
woothee User Agent の解析任せろマン
roo Excel の扱いに定評のあるライブラリ。Google Spreadsheet を扱う事もできる
hologram css のスタイルガイドを自動生成する。ふーん
ancestry モデルで階層構造を扱える。 parent(親), children(子), depth(階層), root(先祖)など
acts_as_singleton シングルトンとして扱える
counter_culture 「俺はカウンターキャッシュより強い」
dragonfly 画像のリサイズとかやってくれる。名前が格好いい
dragonfly-s3_data_store ドラゴン s3 に侵略
sidekiq 非同期処理を実行
fastimag 画像サイズを高速で取得
typus 管理画面系
foreman ProcFileを読み込み複数プロセスを管理できるGem
rails-erd 今のデータ構成を erd.png といった感じの ER図にして出力できる

総評

f:id:InvokeTwoA:20151023183618p:plain「もう gem が無いと何もできる自信がないよ」
f:id:InvokeTwoA:20151215172640p:plain「Rails ができる人= 色々なgemを知ってる人  なんて世界になったら怖いですな」