開発ログ:システムの誠実さ

真実を語るシステムを構築せよ。

システムの価値は、そのシグナルの質に依存します。クエリが無駄を隠蔽していたり、ヘルスチェックが嘘をついていたり、ツールが同じ作業を繰り返していたりするなら、そのシステムは不誠実です。

今日は4つの異なる技術的なトピックに取り組みました。どれも「システムを誠実にする」という一つのテーマに基づいています。

  1. データベースのパフォーマンス 使わないデータを取得するのはやめましょう。
  • 開発環境でN+1検出器を使用してください。これにより、隠れたレイジーロード(遅延読み込み)が明確なタスクリストとして可視化されます。
  • 未使用のイーガーロード(一括読み込み)を削除してください。ビューで使用していないカラムであれば、取得する必要はありません。
  • リクエストごとに定数をメモ化してください。一つのサイクル内で同じ値を何度も再計算してはいけません。
  • ダッシュボードのクエリをグループ化してください。20個の小さなcount呼び出しを、1つのグループ化されたクエリに置き換えます。
  1. 真のヘルスチェック 設定が存在するかどうかを確認するだけのチェックは、ヘルスチェックではありません。それは設定チェックです。
  • 真のヘルスチェックは、到達可能性を証明しなければなりません。
  • ターゲットのホストとポートに対してソケットを開きます。
  • コントラクト(契約)やインターフェースを使用して、TCP、HTTP、またはTLSプローブを切り替えられるようにします。
  • 各プローブは個別の接続で実行してください。一つのサービスが遅いだけで、モニタリングツール全体が停止してはなりません。
  1. より安全なAIツール (MCP) AIエージェントにシステムへのアクセス権を与えるときは、エージェントがミスを犯すことを前提としなければなりません。
  • べき等性キー(idempotency keys)を使用してください。エージェントがリクエストを再試行した場合、サーバーは重複を作成するのではなく、同じ結果を返すべきです。
  • 出力時に個人データを削除(スクラブ)してください。レスポンスのパスは公開境界として扱います。
  • 型定義されたエラーコードを使用してください。生の文字列をそのまま送ってはいけません。エージェントが正しく動作するには、"not_found" のような構造化されたコードが必要です。
  1. アイデンティティとパスワードリセット 複数のシステムに触れる場合、順序が重要になります。
  • パスワードリセットが複数のディレクトリに影響を与える場合は、単一の信頼できる情報源(source of truth)を選択してください。
  • まず権威あるディレクトリに書き込みます。
  • 実行順序をドキュメント化してください。「試したときは動いた」というのは、障害発生時の成功を保証するものではありません。

目標は、派手な機能を作ることではありません。見ていない時でも信頼し続けられるシステムを構築することです。

ソース: https://dev.to/nasrulhazim/dev-log-2026-06-23-query-cleanups-real-health-checks-safer-mcp-tools-and-password-reset-12d0