ECS のSidekiqワーカタスクをSidekiqのキュー内の滞留ジョブ数でオートスケールする

id:kizashi1122 です。お久しぶりです。 前提 弊社では Rails 製のサービスを運用しています。非同期ジョブの処理には Sidekiq を使っています。 そしてそのジョブを処理するワーカは AWS ECS で Fargate で動かしています。 ワーカは役割ごとにいくつかのEC…

Ruby Set を Hash で置き換える

こんにちは、masm11 です! みなさんは、Ruby で集合を表現する時に、何を使いますか? Set を使いますか? Set って内部的には Hash を使ってますよね。そう、Hash でも実現できます。 今回は、Set を Hash で置き換えた話をします。 Set とは Set とは、よ…

Ruby や Rails の Deprecation Warning を Slack に通知する

どうも @shutooike です! インゲージには "内部品質の担保/向上" をミッションとしたQAチーム *1 があります。 今回は Ruby や Rails のバージョンアップ対応で大事な Deprecation Warning を Slack に通知するようにした話です。 こんな感じで Slack に飛…

Rails の面白いコードやコメントを集めてみた

みなさんこんにちは! サーバとフロントと、いずれが本職か分からなくなってきた hikaru-kimi です! 最近 JavaScript 関連の記事が続きましたので、原点回帰ということで Rails についての記事を書くことにいたしました! 好評シリーズ「Rails のソースコー…

GitHub Actions で差分ファイルのみ RuboCop を実行する

こんにちは @shutooike です。 GitHub Actions は実行時間の従量課金です。 コスト削減のため Pull Requet の差分ファイルのみ RuboCop を実行するようにしました。 完成版 on: - pull_request env: GH_TOKEN: ${{ github.token }} GH_REPO: ${{ github.repo…

rubocop の --force-exclusion オプションは Exclude だけじゃなく Include も見てくれる

どうも @shutooike です。 結論はタイトルのままです。 --force-exclusion とは Force excluding files specified in the configuration Exclude even if they are explicitly passed as arguments. Basic Usage :: RuboCop Docs 引数として明示的に渡された…

Postfix pipemap を使ってみる

こんにちは、masm11 です。 Postfix3 から、テーブルの種類が増えましたね。 inline, randmap, unionmap, pipemap ですね。 今回、pipemap を使うことで Postfix から PostgreSQL へのクエリを削減 できましたので、ご紹介します。 PostgreSQL へのクエリ 弊…