matsubokkuri

Ruby on Rails

Rails 6.1.5でdb:migrationのときにreference周りでエラー

問題rails db:migrateをしたときに、以下のようなエラーが出るようになってしまった。親のキーがbigntで作られていないから、外部キーが貼れないというエラー。Column `parent_id` on table `childr...
docker

chromedriverのインストールをarmとintelのDockerfileで共通化

概要E2Eテストをするためのchromedriverは、Linuxのディストリビューションごとにパッケージで提供されていないので、おそらく直接ダウンロードしているケースがほとんどかと思います。Dockerfile上で、アーキテクチャごとにダ...
docker

armとintelのdocker-compose共通化へ向けて(mysql編)

追記Officialの方でもarm64に対応していたのでオフィシャルをそのまま使えそうです。この記事を書いた時点ではまだリリースされていませんでした。背景m1(arm)のmacで既存プロジェクトのdocker-compose upをすると以...
Diary

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

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

Amazon Linux 2にtigをインストール

Extra Packages for Enterprise Linux (EPEL)に入っているので、EPELを有効化して、tigをインストールするだけ。% sudo amazon-linux-extras install -y epel%...
docker

armとintelのdocker-compose共通化へ向けて(Ruby on Rails編)

問題M1macでDockerのrubyイメージからを使おうとすると、nokogiriの部分でエラーが出ます。% docker run --rm -it ruby:3.0.3-buster bashroot@489921d6a766:/# g...
Ruby

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

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

Envoy(受付アプリ)のSlack通知が遅いので自作

概要Envoyというオフィスのエントランスで受付をするシステムがあります。理想のワークフローは、Envoyで訪問者が受付をした際に、担当者宛にSlackで通知を飛ばすこと。Envoyが提供しているSlackのIntegrationを使うと、...
Program & Service

Google Domainsのドメインでメール送信ができなくなったけど解決

概要独自ドメインの転送メールアドレスを無料で行えるように設定しました。しかしながら、1週間ぐらい経過してからメールを送信したら、以下のようなエラーメールが返ってきてしまいました。You no longer have access to fo...
Program & Service

Google Domainsへ移管して無料でカスタムドメインをGmailで使う

概要Google Domainsでドメインを管理すれば、無料でGmailをカスタムドメインで利用できるようになるらしいので設定してみました。おそらく、これに当たるのかなと思います。custom domainでaliasが作れる感じかなと思い...