APIスロットリングの実現方法

ある期間でのあるWeb APIに対するアクセス回数上限を与えたときのスロットリングについて、一例ではあるがRack::Attack (v6.3.1)で採用されているしくみについて調べた。 ここでは、ある期間において特定のクライアントからのアクセスを一定回数以下に制限す…

ポモドーロ・テクニックを2か月間やってみての感想

2か月ほどポモドーロ・テクニックを使って仕事をしてみたので感想を書きます。 前提 仕事ではWebアプリケーション*1*2の開発が主な業務。最近、会社の勤務体制が原則として在宅勤務に移行した*3。 なぜ始めたか 在宅勤務はとても便利だが、家の中でずっと同…

意図せず関連先のカラムでwhereしつつeager loadしたらクエリのパフォーマンスが極端に悪化した事例

問題 15個ぐらいのさまざまなクエリパラメータを検索条件として受け付けることができる一覧取得API(「Item取得API」とする)があった。 そのAPIで取得するItemは複数の関連を持っていた。また、関連先の取得時にN+1問題の対策が不十分だったので、取得する…

『SQLパフォーマンス詳解』を読んだ

RDBのインデックス作成の戦略や実行計画の読みかたにもう少し詳しくなりたいと思っていたので、この手の話題が体系的にまとめられている『SQLパフォーマンス詳解』を読んだ。今回は和訳版を公式サイトで購入したが、SQLのインデックスとそのチューニングにつ…

macOSのDay Oneにプレーンテキストをインポートする

macOS Catalina 10.15.4 Day One 4.11.1 とします。 Day Oneのインポート機能 Day Oneはさまざまな形式のデータをエントリとしてインポートできる。 Importing data to Day One | Day One Help 日付形式の問題 上述したサポートページには、プレーンテキスト…