Program & Service カジノのルーレットシミュレータを書いてみました 概要 ダズンベット法を使うと勝ちやすいとか書いてあるので実際にプログラムを書いて検証してみました。 「勝率が高いベッティング方法とマーチンゲール法による資金管理を組み合わせれば最強じゃね?」と思ってプログラムを書いて検証してみました。 世の... 2022.11.06 Program & Service
Ruby on Rails FakerやGimeiのseedをrspecのseedと一致させる 概要 rspecにおいて、単体テストの順番や使うデータをランダム化してテストパターンを増やすために config.order = :randomを有効化するのは普通かと思います。テストが失敗したときに、rspecコマンドの--seedオプシ... 2022.06.02 Ruby on Rails
Diary Toonesの利用料を取得するスクリプト 概要 Toonesのサービス利用料を集計するためにはWebの画面にログインしてCSVファイルをダウンロードする方法しか無く、APIで取得ができません。手元で毎月集計したいので簡単なスクリプトを作ってみました。とりあえず作っただけなのでハード... 2022.05.02 Diary
Ruby AASMでステータス変更と同じクリティカルセクションで実行 概要 主にActiveRecordと併用して使うステータス管理用のgemがあります。AASM(ステートマシーン)です。「ステータス変更と同時に別の処理を実行したい」という要求を満たすために排他制御(主にデータベースのトランザクション)を使う... 2022.04.20 Ruby
Ruby 分割されていない電話番号から市外局番と市内局番の求め方 概要 分割されていない電話番号から、市内局番や市外局番を求めたい。0292323011 => 029-232-3011phonelibが良さそう。phonelibはGoogle libphonenumberのデータをもとにしている。日本の市... 2021.04.15 Ruby
Ruby CloudWatchにrubyアプリケーションからログを投げる しかし、投げまくっていると以下のような例外が出るので、Throttlingされてしまったらsleepする必要があります。そうなると全体としての処理パフォーマンスのボトルネックになってしまうので要注意です。 Aws::CloudWatchLo... 2021.03.12 Ruby
Program & Service 新型コロナウィルス陽性者グラフのFeed 概要 以前、毎日の新型コロナウィルス陽性者数のグラフを投稿するTwitter Botを作ったのですが、神奈川県以外すべてTwitterにBanされました。プラットフォームに依存するとBanされたときに困るので1次情報源は自分のサイトで運営す... 2020.11.17 Program & Service
Ruby on Rails 物理メモリが不足したらpumaを自動で再起動 概要 pumaがどんどんメモリを食っていってしまう。同様に、sidekiqもたくさんメモリを食ってしまっている。GCしても減らない。 ObjectSpace.each_object(ActiveRecord::Relation).each(... 2019.06.20 Ruby on Rails
Diary DNSレコードのリグレッションテスト 概要 DNSのzoneサーバを移行する際に、新サーバで設定が正しく行われているかをプログラムで確認するためのコードを書きました。zoneサーバの移行は基本的にはコピペかと思いますので。設置が間違っていたり漏れていると大惨事になるのでテスト出... 2019.03.27 Diary
API Google APIのOAuth2に関連したトークンの扱い方法とシーケンス 概要 Using OAuth 2.0 to Access Google APIsにシーケンスがかいてあります。 上記のシーケンスはシンプルすぎて、重要なシーケンスとアクターが漏れているので、もう少し細かくシーケンス図を書き直しました。特に、... 2018.11.22 API