Closed44

Ruby・Rails よく使うGemについて

Haruya IzumiHaruya Izumi

gem rails

なぜ6系か?

  • rails5系を使う理由がないから
  • ドキュメントも多く、エラー時の対応も容易
  • はじめからWebpackerが梱包されているから
Haruya IzumiHaruya Izumi

gem puma

なぜunicornでなく、pumaなのか?

  • Pumaはマルチスレッドで動くので、プロセスを増やす必要がないからリソースが少ない中でも効率的にリクエストをさばくことが可能になる。
  • 大量のアクセスをさばくような想定ではないから...Pumaの方がパフォーマンスが良いと判断した。・

https://scoutapm.com/blog/which-ruby-app-server-is-right-for-you-ja

https://blog.kasei-san.com/entry/2020/08/26/103831

Haruya IzumiHaruya Izumi

gem webpacker

Webpackerとはgemの名前で、Webpack を導入してくれるもの

Webpackを使用してRails上でJavaScript開発をするために必要な一連のまとまりを実装することができるgem

Haruya IzumiHaruya Izumi

gem turbolinks

Turbolinksとは、画面遷移を高速化させるライブラリ

1.リンクのクリックイベントが発火
2. 画面遷移を阻害し、非同期でリクエストを送る
3. HTMLをレスポンスとして返す
4. headタグに含まれているJSとCSSが、現在のページと一致しているかチェック
5. headタグはマージ、bodyタグは差し替えることで画面遷移が起きたように見せかける

Haruya IzumiHaruya Izumi

gem jbuilder

JSON形式のデータを簡単に作成する事が出来るgem

Haruya IzumiHaruya Izumi

gem rails-i18n

アプリケーションの文言を英語以外の別の1つの言語に翻訳する機能や多言語サポート機能を簡単かつ拡張可能な方式で導入するためgem

Haruya IzumiHaruya Izumi

gem sorcery

Railsに認証機能の実装を行うためのライブラリ

deviseとの違い

  • sorceryの方がシンプルでカスタマイズ性がある
  • deviseは簡単なコマンドですぐに実装できるがその分ブラックボックス化されがち
Haruya IzumiHaruya Izumi

gem groupdate

所定のタイムゾーンに基づいて、日時のデータを扱い、メソッドが増えて扱いやすくなるgem

Haruya IzumiHaruya Izumi

gem go

Railsの変数を、JSで使える変数に変換してくれるgem

Haruya IzumiHaruya Izumi

gem cancancan

Railsの権限管理のgem

Haruya IzumiHaruya Izumi

gem faker

ある項目のデータを自動で出力してくれるgem

Haruya IzumiHaruya Izumi

gem gimei

ランダムな日本語のデータを作成してくれるgem

Haruya IzumiHaruya Izumi

gem active_hash

変更されないデータ(都道府県名やカテゴリー選択など)をモデルファイル内に直接記述することで、データベースへ保存せずにデータを取り扱うことができるgem

Haruya IzumiHaruya Izumi

gem will_paginate

ページネーションを簡単に実装できるgem

Haruya IzumiHaruya Izumi

gem meta-tags

RailsアプリケーションをSEO対応にするためのgem

Haruya IzumiHaruya Izumi

gem config

定数管理を簡単にできるようにするgem

Haruya IzumiHaruya Izumi

gem factory_bot_rails

サンプルデータ(≒ ダミーのインスタンス)を簡単に作成することができるテストツール

Haruya IzumiHaruya Izumi

rspec-rails

RSpec とは Ruby プログラマー向けの BDD(Behaviour-Driven Development) ツール

Haruya IzumiHaruya Izumi

gem capybara

ラックベースのWebアプリケーション用の統合テストツールです。ユーザーがWebサイトをどのように操作するかをシミュレートする

Haruya IzumiHaruya Izumi

gem selenium-webdriver

プログラミングを介して、ブラウザを操作するライブラリ

Haruya IzumiHaruya Izumi

gem better_errors

デフォルトのエラー画面を見やすくしてくれるgem

Haruya IzumiHaruya Izumi

gem bindingof_caller

better_errorsのエラー画面にirbをつけてくれるgem

Haruya IzumiHaruya Izumi

gem letter_opener_web

開発環境で送信したメールをブラウザで確認することができるgem

Haruya IzumiHaruya Izumi

gem listen

ファイルの変更を検知して変更について通知してくれるgem

Haruya IzumiHaruya Izumi

gem rubocop

Rubyの静的コード解析を実行するgem

Haruya IzumiHaruya Izumi

gem rubocop-performance

Rubocopのプラグインで性能低下につながるコードを指摘し修正を促す Cop の集合のこと

Haruya IzumiHaruya Izumi

gem overcommit

git hooksの管理・拡張をサポートするgem

Haruya IzumiHaruya Izumi

gem capistrano-rails

Capistranoでマイグレーションやアセットのコンパイルを可能にするgem

Haruya IzumiHaruya Izumi

gem capistrano-rbenv

Capistranoでrbenvでインストールしたrubyを使用可能にするgem

Haruya IzumiHaruya Izumi

gem capistrano-rbenv-vars

rbenv-varsをインストールするためのCapistranoプラグイン

Haruya IzumiHaruya Izumi

gem tzinfo-data

TZInfoが参照するタイムゾーン情報を提供するgem

https://qiita.com/tatama/items/3f0f5e42cb5f75b53817

このスクラップは2022/03/17にクローズされました