生成AI
CIの疎通確認だけ403で落ちる問題への対処: リトライ処理をテスト可能なNodeスクリプトに切り出す新着!!

夜間バッチで本番URLの疎通確認をしてから、Lighthouse計測のような重い処理を走らせるCIジョブを運用しています。

続きを読む
生成AI
Next.jsのサーバー内で自分のAPIを相対URLのfetchで呼ぶと失敗する理由と、直接呼び出しへの直し方新着!!

実運用しているサービスで、「人間の返信は保存されるのに、LLM(AI)による返信だけが保存されない」という不具合がありました。

続きを読む
生成AI
認証Providerの障害時にリフレッシュを連打しない:セッション単位クールダウンと503の設計新着!!

認証Providerの障害中にリフレッシュを連打すると、回復を遅らせたりレート制限を招いたりします。セッション単位のクールダウンを入れ一時失敗の直後は503を返す設計と、失敗の種類で破棄と継続を分ける実装パターンを解説します。

続きを読む
生成AI
夜間監視の自動起票が『同じ原因なのに量産される』を止めた話

夜間の監視ジョブが失敗するたびにGitHub Issueを自動起票する仕組みは便利ですが、同じ原因の失敗が続くと毎晩issueが積み上がります。本記事では同一原因のopenなissueに追記し、なければ新規作成するdedupロジックで増殖を解消した設計を紹介します。

続きを読む
生成AI
本人アカウントと委任アカウントが同じ機能を触るとき、権限チェックをどう一本化するか

本人アカウントと権限レベル付き委任アカウントが同じ機能を操作するシステムで、権限チェックを承認処理と作成処理で再利用して一本化する設計パターンを解説します。

続きを読む
生成AI
CLIの起動判定がCIでだけ失敗する謎—TTY検出で出力形式が変わる罠

CLIはTTY接続の有無で出力形式を変えることがあり、これがE2EテストのCI環境でのみ起動判定が失敗する原因に。この謎を解き明かし、起動待ち判定の切り分け方と、原因の見えにくい不具合を解決するアプローチを解説します。

続きを読む
生成AI
LLMを使わない「今日のおすすめ」設計 — 優先順位付きルールチェーンという選択肢

「今日のおすすめ」機能、LLMなしで設計しませんか?ユーザー履歴から導かれる優先順位付きルールチェーンで、説明可能かつ安全な提案ロジックをテストとログで担保するアプローチを解説します。

続きを読む
インフラ
サーバーレス環境でスキーマキャッシュが効かない罠:WeakMapとモジュールレベル変数の使い分け

Cloudflare Workers のように、リクエストごとに実行環境(isolate)が使い回されつつも、DBクライアントのようなオブジェクトはリクエストのたびに新しく生成し直す構成があります。こうした環境でよくあるのが、「DBのスキーマ情報(カラムの有無など)を毎回問い合わせてしまい、1リクエストあたり複数本の introspection クエリが直列のRTTとして積み上がる」という問題です

続きを読む
Vitest
Vitest fake timersとReact Testing Library waitForの相性問題と解決策

Vitestでfake timers使用時、waitForがタイムアウトする問題の解決方法を解説。モック関数の正しい設定、スプレッド演算子の注意点など実践的な解決策を具体例と共に紹介。同じ問題で躓いている開発者必見のトラブルシューティングガイドです。

続きを読む