2025年7月6日 / 最終更新日時 : 2025年7月6日 admin Ruby on Rails SidekiqUniqueJobsでSidekiq-Cronが重複実行されないようにする タスク(バッチ)の二重起動や重複実行を防ぐ方法はいくつかありますが、Redisロックを使ったGem(SidekiqUniqueJobs)を見つけたので試してみました。 RedisSidekiqtask監視
2024年12月30日 / 最終更新日時 : 2025年7月6日 admin Ruby on Rails RuboCopにPerformanceのルールを導入してみた RuboCopにRSpecのルールを導入してみた に続き、RuboCop Performance を導入しました。 パフォーマンス的に良い書き方を提案(強制)してくれます。 導入時に何故かRailsのルールが増えてしまっ […] RuboCop
2024年9月22日 / 最終更新日時 : 2025年1月5日 admin Ruby on Rails RuboCopにRSpecのルールを導入してみた RuboCopにRSpecのルールが提供されているので導入してみました。 RSpecのルールはデフォルトだと厳し過ぎるのと、あえて従いたくないルールもあるので設定変更しました。今まで書いていたものも、自分なりのルールで書 […] RSpecRuboCop
2023年12月31日 / 最終更新日時 : 2023年12月31日 admin AWS(Amazon Web Services) ECS(Fargate)でアプリサーバー(Rails)の前にWebサーバー(Nginx)を入れる ECS(Fargate)でECRにpushしたRailsアプリを動かす では簡単にする為、ALB経由で直接Rails(Unicorn)にアクセスするようにしました。 テストや社内利用ならばこれでも問題ないのですが、大量の […] ALBDockerECRECSFargate
2023年12月13日 / 最終更新日時 : 2023年12月17日 admin AWS(Amazon Web Services) ECS(Fargate)でECRにpushしたRailsアプリを動かす ALB -> ECS(Fargate) -> RDS, EFS, SES という構成でRailsアプリを動かしてみます。 ※間にNginxや、手前にWAFも入れた方が、ベストですが、それはまた後日。 Clou […] ALBECRECSEFSFargateRDSSES
2023年11月29日 / 最終更新日時 : 2023年12月2日 admin Ruby on Rails Ruby3.2.2/Rails7.0(WebpackerからSprocketsに移行)とGemをバージョンアップ Ruby3.1.4から3.2.2へ、Rails6.1から7.0へのバージョンアップと、 WebpackerからSprocketsに移行したので手順をメモしておきます。 Rails7.1にしなかったのでは、現段階でDevi […] Devise Token AuthDockerwebpackバージョンアップ環境構築
2023年8月6日 / 最終更新日時 : 2024年10月9日 admin Ruby on Rails 0時〜9時前までに実行するとバグる(テストが落ちる)原因と対策 今の現場で、以前から9時前にテストを走らせると落ちる問題があり、 不意に原因が分かったので対応しました。 理解が若干曖昧だったので、改めて再現させて、ベストプラクティスを考えてみました。 先ずは、現象を再現させる 前提: […] ActiveRecordConfigRSpec調査
2023年7月22日 / 最終更新日時 : 2023年7月23日 admin Ruby on Rails FactoryBot作成のベストプラクティス!? RSpecを結構書いてますが、テストを書く上で、FactoryBotが整備されていると楽ですよね。 ただ、最低限でも過剰でも、テストケースが漏れたりします。 また、無駄にINSERTされて、テストが遅くなったりする事もあ […] FactoryBotRSpec共通化
2023年6月27日 / 最終更新日時 : 2023年6月28日 admin Ruby on Rails RailsのRubyバージョンアップ(3.0.0→3.1.4)(Dockerも) 遅ればせながら、バージョンアップしました。(Rails除くGemや、packageもできるだけ最新に) 意外と手こずったので、メモしておきます。 DockerMySQLPostgreSQLRailsAdminwebpackyarn環境構築
2023年6月23日 / 最終更新日時 : 2023年6月23日 admin Ruby on Rails Capistranoでのデプロイ時にDelayed::Jobを再起動する Gemにcapistrano3-delayed-jobがあるのですが、service作る形になっていて、sudoで設定が必要だったり(セキュアにする為、アプリユーザーのsudoはできないようにしている)、OSに依存しそう […] CapistranoDelayed::Jobデプロイ環境構築