Tech Blog
技術ブログ
自社で運用している本番システムで実際に起きたことを、運用している当事者が書いています。障害の症状・原因・直し方を、どのファイルの何行目を見て書いたかまで記事ごとに残しています。日本語と英語で同じ内容を公開しています。
- Bing WebmasterのUrlCountが1のまま止まっていたsitemap-indexの罠
- セット割引プレビューのlistTotalはunitsを掛け忘れ、表示額と契約額が食い違う
- dpm set-device-ownerはアプリを起動する。先にprefsを書かないとdevice_idを横取りされる
- 招待のcompany_idで重複申込みをチェックすると、共有リンク経由では常にnullになる
- Claude Codeのスケジュールタスクが止まる3つの形(ENOTFOUND・enabled: false)
- gcloud ADCが約44時間で切れる「Reauthentication failed」を無人実行で避ける
- GCSのallUsers+objectViewerは、get専用のつもりがlistも渡っていた
- tokenは合っているのに、design/dateのquery parameterで画面外データが取れるIDOR
- Cloud Runのレート制限はインスタンス間で共有されない(maxOutputTokensも無かった)
- ScanFilter.setDeviceAddressがIllegalArgumentExceptionで落ちる
- outboxパターンのfail-openで他校の広告配信がsent扱いのまま消えた
- RLSのINSERT WITH CHECKが会社IDしか見ず、承認ステータス列を自己申告できた
- vercel --prodの同時実行は、vercel inspectでコミットが分からなくなる
- 契約月数を延長すると、term_monthsを見た帳票表示だけ金額とズレる
- semgrep ci --config=autoでコード変更なしにmainが赤くなる
- 実寸プレビューは常に横16:9なのに、スマホ用@media(max-width:899px)が紛れ込み崩れた
- Stripe Checkout amount_unsetで「7日で自動切替」が永久に発動しない
- 招待経路の申込ページがsp.unitsをそのまま表示し、確定枚数と食い違い
- gen-og.tsのキャッシュが壊れた画像を「更新済み」と誤認し、日英95本中91本が同じOGP画像になっていた
- 古いNext.jsのままpushしたら脆弱性バージョン判定でデプロイがブロックされた
- 別商品がサブドメインを足しただけで、他のAレコードが消えた(お名前.com/01.dnsv.jp はゾーン全体を送信)
- マイグレーション番号衝突を直した1時間後、0041_console_name.sqlでまた衝突した
- Next.js server actionでerrorを握りつぶし、保留失敗を保留成功と誤通知した
- 未追跡のpnpm-lock.yamlがVercelをpnpmプロジェクトと誤検知させた
- reminder_log_kind_checkを正規表現で抽出するテストが偽greenだった
- RegExp.testの部分一致で"unsigned"が"signed"に誤検出した
- 検索順位の実査にGoogle Custom Search APIではなくBrave Search APIを使う理由
- 直接申込に入れたfail-closedガードが、団体配分と招待発行の別経路には無かった
- supabase-js の count クエリが失敗してもnullで、監視は自分の異常に気づけなかった
- copyOneDayの一括置換で固定フラグの連絡が黙って消えていた