VTRyo Blog

一歩ずつ前に進むブログ

ruby

ローカル開発環境の Rails 7.x × MySQLで水平シャーディングをやってみる

これは、Money Forward Engineering 1 Advent Calendar 2022 20日目の記事です。 今回はローカルでRails7.xとMySQLでHorizontal Shardingを試したので、かんたんに試せる例を書いておこうと思います。 前提 動作確認環境 Rails 7.0.4 Ruby 3.0.2p107 MySQL V…

【ISUCON12初出場】悦びと屈辱の狭間で。 〜初期状態がチームハイスコアなんて信じたくなかった〜

専門家とは、非常に狭い分野で、ありとあらゆる失敗を重ねてきた人間のことである ――ニールス・ボーア 2022年7月23日にISUCON12が開催された。 今回初出場であったが、出場するきっかけをくれたのは、ISUCON9で優勝した@rosylilly氏であった。 出場前時点で…

Where are the dependent gems within Rubygem?

Rubygemを開発していて、他のgemを参考にしていると定義していないはずのメソッドが急に呼ばれていたりして「これ独自定義?じゃないよな……あ、やはりgemを使っている」としばらくして気づいた。 どうして途中まで依存したgemの存在に気づかなかったのかとい…

rake taskでループ内にあるinvokeが実行されない

rake taskのinvoke こういうパターンのrake taskがあったとする ids = [1,2,3] ids.find_each do |id| Rake::Task['sync_documents'].invoke(id) p === execute id === end これを実行すると execute 1までしか実行されずに困ったという話。 reenableが必要 …

Omn​​iAuthのCVE-2015-9284対応に関連して発生するDeviseのYou are using an old OmniAuth version, please ensure you have 1.0.0.pr2 version or later installed.を解消する

環境 対応前 omniauth 1.9.1 devise 4.7.1 omniauth-google-oauth2 0.8.0 対応後 omniauth 2.0.4 devise 4.8.0 omniauth-google-oauth2 1.0 整理する タイトルだけだと、何言ってんだ別々の問題だろって感じなので、先に問題を整理する。 OmniAuthのCVE-2015…

UnicornがGracefulにrestartしているのか確認する kill -s USR2 `cat unicorn.pid`

ども。タイトル通りです。 確認する方法はいくらでもあると思いますが、僕が一番よく使う方法を書いておきます。 なおgracceful restartとは以下の部分の話をしています。 USR2 - reexecute the running binary. A separate QUIT should be sent to the orig…

An error occurred while installing nokogiri (1.10.0), and Bundler cannot continue.

ども。意気揚々とbundle installしようとしたら出鼻をくじかれたどうも僕です。