Categories
286 ページ目
Tech
2つの処理が互いのロックを待ち合って、永久に止まる。ロックを取る順番を全体で1つに揃える【Deadlock】
並列数を上げたら、かえって全体が落ちた。同時に動く数を上限で絞って待たせる【Semaphore】
障害のたびにリトライを連発し、かえって復旧を遅らせる。待ち時間を倍々に伸ばして散らす【Exponential Backoff】
消したはずの検索が裏で動き続け、リソースを握ったまま離さない。キャンセルを最後まで伝える【AbortController】
ボタンを連打すると、同じ処理が二重に走って二重送信になる。await をまたぐ前に実行中フラグを立てて締め出す【Race Condition】
コードテイマー シリーズ目次
キャンセル機能を足したら、確認メールが2通届いた。部品同士の直結をやめ仲介役に集める【Mediator】
リクエストID の形式を変えるのに、30ファイルを直す羽目になった。横断処理を1か所に集める【Middleware】
共通関数にしても、HTTPの外から呼べない。ハンドラーに作り付けた処理を切り出す【Command】
同じ直しが、3本目のバッチにだけ当たらなかった。丸写しの骨格を1本にまとめる【Template Method】
1年前に保管した証跡が、監査の朝に開かなかった。暗号化や圧縮を1枚ずつ重ねる【Decorator】
通知を1本足しただけで、ポイント付与が止まった。反応を直書きせず「起きた」と知らせる【Observer】
支援者IDが、そのまま寄付額として処理された。意味の違う値を別の型にする【Value Object】
キャンセルしたはずの注文が発送された。状態の判断を状態自身に持たせる【State】
テストが1行も書けない。部品を内部で作るのをやめ、外から受け取る【Dependency Injection】
1
…
6
7
8
…
20