Posts
-
サーバサイドTypeScriptの関数型ドメインモデリングを実践するエージェント向けプラグインを公開
サーバーサイドTypeScriptで関数型ドメインモデリングを実践するための原則を、コーディングエージェント向けスキルプラグインとして公開した。
-
TSKaigi 2026にプロポーザルが採択されました
TSKaigi 2026で「TypeScriptのclassはなぜこうなったのか」というテーマで30分セッションに登壇します。classの歴史的経緯・落とし穴・使いどころを体系的に整理するトークです。
-
ログのPII漏洩を防止する: TypeScriptの型推論とランタイムの境界
TypeScriptの構造的部分型はログへのPII混入を型レベルで防げない。型の限界を認めた上で、センシティブな値を関数クロージャに閉じ込めるSensitive型と、Pino redactによる多層防御の設計パターンを提案する。
-
仕様について考える前に要求分析をしよう
SDDが話題だが、その前工程である要求分析が見落とされがちだ。RDRAの表形式フォーマットがコーディングエージェントと相性が良い理由と、Claude Codeを使った実践ワークフローを紹介する。
-
TypeScriptの型安全の限界: Zodでもプロトタイプ汚染は防げるのか
TypeScriptの型安全を過信するリスクについてのX上の議論をきっかけに、Zodのスキーマ定義次第ではプロトタイプ汚染を防げないケースを検証しました。構造的部分型がサーバサイド開発にもたらすセキュリティリスクについても考察します。
-
「コードレビューは死んだ」のか?AIエージェント時代のコードレビュー不要論を読み解く
Latent.Spaceの「How to Kill the Code Review」を起点に、AIエージェント時代のコードレビュー不要論の主張と批判を整理し、エンジニアとしてどう向き合うべきかを考察する。
-
すぐにポストモーテムを準備したい!Claude Codeスキルの設計指針
ポストモーテムの準備は辛い。情報源が散在し、テキスト量が膨大で、インシデント直後の疲弊した状態でやらなければならない。Claude Codeのカスタムスキル機能を使って、この準備作業を大幅に軽くする設計指針を紹介します。
-
品質要求が相反するシステムをどう分割するか — サービスベースアーキテクチャの実践
マイクロサービスでもモノリスでもない選択肢として、サービスベースアーキテクチャを医療SaaSの共通基盤で採用した経緯と実装、運用の教訓を紹介します。
-
Node.jsパフォーマンスチューニングをDatadog APMとClaude Codeでサクッとやる
Datadog APMでNode.jsのプロファイルを取得し、Claude Codeと組み合わせてパフォーマンスのボトルネックを特定・改善する方法を紹介します。
-
私がTypeScriptで `interface` よりも `type` を好む理由
interfaceの宣言マージがセキュリティリスクを招く可能性を示しながら、アプリケーション開発でtypeを優先すべき理由を解説します。
-
ユーザーの内部IDの発行権を他人に握らせてはいけない
外部サービスのIDやユーザーが変更可能な値をシステムの内部IDに使うべきでない理由と、そのリスクを具体例で説明します。
-
なぜTypeScriptでメソッド記法を避けるべきか?実務に近い事例の紹介
TypeScriptでメソッド記法を使うと引数の型チェックが甘くなる理由を、タスク管理サービスの実例を交えて解説します。
-
生成AIにMermaid.jsでロバストネス図を描いてもらう
Mermaid.jsのフローチャート機能を活用してロバストネス図を描く手法を紹介し、生成AIを用いて図を自動生成する実践例を示した記事です。
-
TypeScriptでドメインイベントを容易に記録できるコード設計を考える
データ変更の記録をドメインイベントとして型安全に設計する方法を、リポジトリ設計とテーブル設計の観点から具体的なコード例とともに解説した記事です。
-
Union型から交差型への変換
TypeScriptのUnion型を交差型へ変換するユーティリティ型の実装を、条件型の分配法則と関数引数の反変性という2つの型システムの性質を用いて詳しく解説した記事です。
-
Discriminated Unionを利用したStateパターンの実現
Discriminated Unionを活用したStateパターンの実装方法を、シンプルな状態遷移から振る舞いの入力が状態ごとに異なるケースまで段階的に紹介した記事です。
-
複雑な状態遷移😭: クラスではなく関数とDiscriminated Unionで状態の定義と遷移を表現する
TypeScriptでクラスによる状態管理の課題を示し、Discriminated Unionとコンパニオンオブジェクトパターンを用いて型安全に状態遷移を表現する方法を解説した記事です。
-
網羅的なPRDやDesign Docを書かなくなった
網羅的なPRD・Design Docを書いてレビューするより、関係者と対話しながら観点とトレードオフを洗い出す方が少ない手数で良い意思決定ができるという主張をまとめた記事です。
-
TSKaigiにプロポーザルが採択されました🎉
TSKaigi 2024へのプロポーザル採択報告と、サーバサイドTypeScriptでfp-tsを活用した複雑なビジネスロジック検証の取り組みを紹介する記事です。
-
for...of 文を使わずに Promise を直列実行するための TypeScript 向けユーティリティ
for...of文を使わずにPromiseを直列実行するためのTypeScript向けユーティリティ関数forOfを紹介する記事です。