refresh token rotation とは何か
refresh token rotation は、リフレッシュトークンを使うたびに新しいものへ入れ替える仕組みです。漏洩検知と被害抑制の考え方を解説します。
Server Actions と Cookie 認証 - フォーム送信時に何が起きるか
Next.js の Server Actions で、ブラウザからCookie付きPOSTが送られ、サーバ側でsessionを確認して更新処理を行う流れを解説します。
Server Components と認証 - なぜサーバ側で session を読むのか
React Server Components と Next.js App Router で、認証チェックやデータ取得をサーバ側に置く理由を解説します。トークン露出を避ける考え方です。
Unit of Workパターン - 変更をまとめて一貫して保存する
Unit of Workで複数変更をtransactionへまとめる境界とRepositoryとの違いを解説。
オニオンアーキテクチャ - ドメインを中心に置く設計
オニオンアーキテクチャでドメインを中心に置く理由と、外側から内側へ向ける依存方向を解説。
クリーンアーキテクチャ - 変更に強い境界設計
クリーンアーキテクチャの依存方向、ユースケース、アダプターの役割と過剰設計を解説。
ドメイン駆動設計(DDD) - 業務の言葉でソフトウェアを設計する
DDDのDomain Model、ユビキタス言語、集約、境界づけられたコンテキストを解説。
ヘキサゴナルアーキテクチャ - ポートとアダプターで外部依存を分離する
ヘキサゴナルアーキテクチャの入力・出力ポート、Driving・Driven Adapter、外部技術を交換できる設計を解説。
マイクロサービスで JWT が使われる理由
マイクロサービスで自己完結型JWTを使う利点と、署名・claims・権限・鍵・失効を各サービスで検証する注意点を解説します。
境界づけられたコンテキスト - 言葉の意味が変わる場所に境界を引く
DDDの境界づけられたコンテキストを、同語異義、ユビキタス言語、コンテキストマップから解説。
MVCC - 多版同時実行制御とスナップショット分離
MVCCが行の複数バージョンとスナップショットを使い、読み取りと更新を並行させる仕組みをPostgreSQLの例で解説します。
Write-Ahead Log - WAL による耐障害性とクラッシュリカバリ
データページより先に変更ログを永続化するWALの原則、コミット、REDO、チェックポイント、運用上の注意を解説します。
コンシステントハッシュ法 - 分散キャッシュ・データベースの負荷分散
コンシステントハッシュ法の原理、仮想ノード、リバランスの最小化、DynamoDB・Cassandra・memcached等での実装例を解説。分散システムにおける効率的なデータ分配の基礎を体系的に紹介。
バックプレッシャー - 過負荷制御とフロー制御のパターン
速い送信側と遅い受信側の間で、待機、上限付きキュー、破棄、拒否を選び、過負荷の連鎖を防ぐ方法を解説します。
ブルームフィルタ - 確率的データ構造による高速存在判定
ブルームフィルタがビット配列と複数のハッシュで『存在しない』を判定する仕組み、偽陽性、容量設計を解説します。
結果整合性 - Eventual Consistency と収束の考え方
更新が複製先へ非同期に伝わる間の古い読み取り、最終的な収束、セッション保証、競合解決とUX設計を解説します。
CAP定理入門 - 分散システムの一貫性・可用性・分断耐性
CAP定理を『三つから二つを選ぶ』という誤解なく説明し、ネットワーク分断時に一貫性と可用性のどちらを優先するか考える方法を解説します。
オブザーバビリティ入門 - メトリクス・ログ・トレースの使い分け
メトリクス、ログ、トレースが答えやすい問いを整理し、一つの障害を三つのsignalで調査する流れを解説します。
サーキットブレーカーパターン入門 - 失敗中の依存先を呼び続けない
Closed、Open、Half-Openの状態、失敗率と時間窓、timeout、fallback、retryとの組み合わせを解説します。
ストラングラーフィグパターン入門 - レガシーを段階的に置き換える
入口のrouting、機能単位の移行、切り戻し、データ所有境界を使い、旧システムを段階的に置き換える方法を解説します。