タグ

gemに関するfbisのブックマーク (3)

  • Apartment でマルチテナントサービスを作成する - Qiita

    2018-08-17 追記 数百テナント程度なら大きな問題なく利用できる一方、数千テナント規模になってくると migration コストが重くなってきました。 一つの解として SmartHR 社では citus という DB As a Service への移行を決めました。 詳しくはこちらのブログ記事をご参照ください。 SmartHR が定期メンテナンスを始めた理由とやめる理由 - SmartHR Tech Blog 概要 Rails でマルチテナントサービスを実現する apartment という gem を紹介します。 バージョン rails: 4.2.0 apartment: 1.0.0 マルチテナントサービス? 1 つのサービスの中に複数のテナントが同居するサービスです。 例としては Qiita:Team や Trello などなど、企業やチームで利用する SaaS 型のサービスが想

    Apartment でマルチテナントサービスを作成する - Qiita
  • Gemfileのベストプラクティス

    長年の運用で「Gemfileはこう運用すると上手くいった」という知見が蓄積されてきたので、ここに書き出してみておく。 Bundler/OrderedGemsを有効化する RuboCopBundler/OrderedGems Copを有効化する。 悪い例: gem 'puma' gem 'jbuilder' 良い例: gem 'jbuilder' gem 'puma' セクションを分けない 基的に、独自の判断で空行を入れてセクションを分けたりしない。 ここで言うセクションとは「空行で区切られた1つのまとまり」のことである。Bundler/OrderedGems は、このまとまりの中で辞書順であることを要求する。 悪い例: gem 'aws-sdk-rails' gem 'aws-sdk-s3' gem 'graphql' gem 'graphql-batch' 良い例: gem 'aw

  • Gemfileにないgemを使いたい - Qiita

    アプリケーション体や自動テストを実行するのに必要なgemは、開発者全員が同じものをインストールするべきだ。しかし、pry-*などの開発支援系のgemについては、開発者全員が同じものを使う必要はないのではないか1。 Bundlerの作法に従うと、自分が使いたい開発支援系のgemとGemfileに登録されているgemい違っている場合には、Gemfileを編集してbundle installすることになる。この操作を複数のプロジェクトで繰り返すのは面倒だ。また、自分好みの設定は手元だけで使いたいこともあるだろう。GemfileやGemfile.lockをVCSで管理しているときには、誤って変更をコミットしないように気をつけなければならない。 ここでは主に、bundle exec --によるgemのバージョン固定の恩恵を受けながら、特定のgemだけはGemfileに登録せずに使う方法について

    Gemfileにないgemを使いたい - Qiita
  • 1