Today I Learned

日々の仕事と学びの振り返りです。何をして、何を学んだかを記録します。

2026년 9월

2026-09-18

ロックで1件ずつしか処理しないサーバーの前では、キューよりもワーカー内のジッター付きリトライが先です

同時に送信されたフォーム数件が「ただいま混み合っています」で失敗していた問題を、キューとワーカーに分けて解決しながら、キューの再配信だけでは競合が解消されないことと、例外をackすると静かに失われることを確認した記録

  • 相手がロックで1件ずつしか処理しない場合、キューの再配信だけでは競合は解消されません。再配信も同じ時刻に集中してまた衝突するので、ワーカー内のランダムなジッター付きリトライが先で、キューのバックオフは障害用です
  • すでに「受付完了」と答えた後は、ワーカーが想定外の例外をackしてはいけません。ackはそのまま静かな消失です

2026년 7월

2026-07-14

開発環境を整備していて出会った汎用概念:シェルの引用符・モノレポ公開・CIランナー・ガード設計

ツール・インフラを整備しながら遭遇したシェルの単語分割、workspace公開の書き換え、CIランナーの不一致、fail-openガードを汎用概念として整理したTIL

  • シェル変数に入ったパスは空白があると引用符なしで使うと複数の引数に分割され、コマンドが静かに壊れる
  • モノレポ内部の依存はworkspaceプロトコルでリンクし、公開時に実際のバージョンへ置換するマネージャーで上げるべきだ