ruby

Ruby on Rails

FakerやGimeiのseedをrspecのseedと一致させる

概要 rspecにおいて、単体テストの順番や使うデータをランダム化してテストパターンを増やすために config.order = :randomを有効化するのは普通かと思います。テストが失敗したときに、rspecコマンドの--see...
Diary

Toonesの利用料を取得するスクリプト

概要 Toonesのサービス利用料を集計するためにはWebの画面にログインしてCSVファイルをダウンロードする方法しか無く、APIで取得ができません。手元で毎月集計したいので簡単なスクリプトを作ってみました。とりあえず作っただけなの...
Ruby

AASMでステータス変更と同じクリティカルセクションで実行

概要 主にActiveRecordと併用して使うステータス管理用のgemがあります。AASM(ステートマシーン)です。「ステータス変更と同時に別の処理を実行したい」という要求を満たすために排他制御(主にデータベースのトランザクション...
Ruby

分割されていない電話番号から市外局番と市内局番の求め方

概要 分割されていない電話番号から、市内局番や市外局番を求めたい。0292323011 => 029-232-3011phonelibが良さそう。phonelibはGoogle libphonenumberのデータをもとにして...
Ruby

CloudWatchにrubyアプリケーションからログを投げる

しかし、投げまくっていると以下のような例外が出るので、Throttlingされてしまったらsleepする必要があります。そうなると全体としての処理パフォーマンスのボトルネックになってしまうので要注意です。 Aws::Clou...
Program & Service

新型コロナウィルス陽性者グラフのFeed

概要 以前、毎日の新型コロナウィルス陽性者数のグラフを投稿するTwitter Botを作ったのですが、神奈川県以外すべてTwitterにBanされました。プラットフォームに依存するとBanされたときに困るので1次情報源は自分のサイト...
Ruby on Rails

物理メモリが不足したらpumaを自動で再起動

概要 pumaがどんどんメモリを食っていってしまう。同様に、sidekiqもたくさんメモリを食ってしまっている。GCしても減らない。 ObjectSpace.each_object(ActiveRecord::Relation...
Diary

DNSレコードのリグレッションテスト

概要 DNSのzoneサーバを移行する際に、新サーバで設定が正しく行われているかをプログラムで確認するためのコードを書きました。zoneサーバの移行は基本的にはコピペかと思いますので。設置が間違っていたり漏れていると大惨事になるので...
API

Google APIのOAuth2に関連したトークンの扱い方法とシーケンス

概要 Using OAuth 2.0 to Access Google APIsにシーケンスがかいてあります。 上記のシーケンスはシンプルすぎて、重要なシーケンスとアクターが漏れているので、もう少し細かくシーケ...
Ruby

TTSとTTBを取得するrubygem作った

概要 経理処理などで、TTS、TTB、TTMといった為替の値を使って処理する場合がある。日本では東京三菱UFJ銀行が提供している為替の値を使うことがデファクトスタンダードになっている気がする。しかし、プログラム上から利用しやすい形態...
タイトルとURLをコピーしました