2026年6月26日 依存ライブラリがディスク上の任意のファイルを読める。cap-std は許可を求めさせる Rust の標準ライブラリはあらゆる依存ライブラリに対して、暗黙的なファイルシステム権限を付与する。cap-std はそれを能力ベースの API に置き換え、コードがパスを開く前にそのアクセス権を証明することを強制する。 capability-based-securityrustcap-stdsandboxing
2026年6月25日 あなたのサービスは知らぬ間の共犯者:Confused Deputy Attackの仕組み Confused Deputy Attackは、特権を持つサービスを騙してその権限を悪用させる攻撃です。ここでは、攻撃者が暗黙の信頼をどう突くか、そしてcapability-based securityがなぜ解決策になるかを解説します。 capability-based-securityconfused-deputysecurityattacks
2026年6月24日 あなたの権限チェックは嘘をついている ケイパビリティベースセキュリティは、散在するロールチェックを改ざん不可能な権限トークンで置き換える。コードを読みにくくすることなく TypeScript で実装する方法はこちら。 capability-based-securitytypescriptpermissionssecurity
2026年6月23日 もしすべての関数が、権限を前提とするのではなく受け取る必要があったら? ほとんどのコードは ambient authority のもとで動作している。つまり、すべての関数があらゆるリソースに暗黙的にアクセスできる。capability-based security はこのモデルを覆し、関数に明示的でスコープ化された権限を受け取らせる。 capability-based-securitypermissionssecurityzero-trust
2026年6月22日 throw するのをやめて、エラーを返すべきか 例外を投げると、型システムから失敗の経路が見えなくなる。明示的なエラー返却がコードをより正直にする理由と、それを苦痛なく導入する方法。 type-level-correctnesserror-handlingtypescriptrust
2026年6月21日 Rustのnewtypeで、誤った状態をコンパイル時に無償で表現不能にする 1フィールドのラッパー構造体が、1バイトのオーバーヘッドも増やさずに単位混在バグや型の混同を防ぐ。 type-level-correctnessrustnewtypeszero-cost-abstractions
2026年6月20日 Switch文はコンパイル時にバグを見逃す TypeScriptのswitch文は、ケースの欠落を黙って許してしまう。以下は、実行時ではなくビルド時に失敗する、網羅性チェック付きのパターンで置き換える方法だ。 type-level-correctnesspattern-matchingtypescripttype-safety
2026年6月19日 コンパイラが不足している状態のケースを捕捉すべきだ。QAチームが見つけるのではなく マシンに新しい状態を追加するのは簡単だ。すべてのswitch文を更新することを覚えておくのは難しい。TypeScriptに、ケースを忘れたときにコンパイルを拒否させる方法を紹介する。 type-level-correctnessstate-machinesexhaustiveness-checkingtypescript
2026年6月18日 はい、でも型システムにはドルが何かを教える必要がある TypeScriptはすべての数値を同一に見なす。ここでは、コンパイラが本番環境に到達する前に通貨換算のバグを捕捉できるよう、USDとEURの違いを教える方法を紹介する。 type-level-correctnesscurrencytypescriptfinancial-software
2026年6月17日 数値はただの数値ではない:コンパイラに単位のバグを見つけさせる方法 ミリ秒を要求される場所に秒を渡すようなバグは、どんなテストも通り抜けてしまう。ここでは、単位を TypeScript の型システムに直接エンコードして、実行時コストゼロで混在をコンパイル時に検出する方法を解説する。 type-level-correctnessunitstypescriptzero-cost-abstractions