岩佐 幸翠 / kosui
テックリード @ 株式会社カケハシ
医療SaaSの共通基盤を開発しています。認証認可基盤・組織管理・テナント分離などのプラットフォーム領域を担当。TypeScriptと関数型プログラミングを軸に、堅牢で型安全なシステム設計を実践しています。TSKaigi、関数型まつり、SRE Kaigiなどのカンファレンスで登壇。
Timeline
- Talk
@ SRE KAIGI 2026
開発チームが信頼性向上のためにできること
Embedded SRE不在でも開発チームが信頼性に責任を持ち、改善を続けるための具体的な方法論と、運用を通じて学んだ教訓を紹介します。
- External
@ KAKEHASHI Tech Blog
TypeScriptのテストにはas const satisfiesが便利です
テストでダミーデータを定義する際の型検査エラーを、as const satisfies の組み合わせで解決する方法を紹介。Discriminated Unionやオプショナルプロパティを持つ型でも、型安全性を保ちながらリテラル型推論を活用できる。
- Post
Node.jsパフォーマンスチューニングをDatadog APMとClaude Codeでサクッとやる
Datadog APMでNode.jsのプロファイルを取得し、Claude Codeと組み合わせてパフォーマンスのボトルネックを特定・改善する方法を紹介します。
- External
@ KAKEHASHI Tech Blog
TypeScriptの宣言的な配列操作 - ビジネスロジックを明確にする
配列操作を手続き的スタイルから宣言的スタイルへ移行するメリットを解説。filterやmapなどの高階関数とカリー化を組み合わせ、ビジネスロジックの意図を明確にするコーディング手法を提案。
- Post
私がTypeScriptで `interface` よりも `type` を好む理由
interfaceの宣言マージがセキュリティリスクを招く可能性を示しながら、アプリケーション開発でtypeを優先すべき理由を解説します。
- External
@ KAKEHASHI Tech Blog
日本の医療に本気で向き合う。認証・権限管理基盤チームの決意
複数プロダクト間で共通する認証・権限管理を一元化する基盤の役割や、厚生労働省ガイドラインに基づく二要素認証必須化への対応など、医療DXを支える基盤チームの取り組みと展望を紹介。
- External
@ KAKEHASHI Tech Blog
他言語経験者が知っておきたいTypeScriptのクラスの注意点
Java/C#経験者がTypeScriptのクラスを使う際の4つの落とし穴を解説。構造的部分型によるドメインオブジェクトの混同、thisの動的束縛、private修飾子の実行時の限界などについて代替アプローチとともに紹介。
- Talk
@ 関数型まつり 2025
堅牢な認証基盤の実現:TypeScriptで代数的データ型を活用する
医療システムの認証基盤で代数的データ型を活用し、複雑な状態管理を型安全に実現した事例を紹介します。
- Post
なぜTypeScriptでメソッド記法を避けるべきか?実務に近い事例の紹介
TypeScriptでメソッド記法を使うと引数の型チェックが甘くなる理由を、タスク管理サービスの実例を交えて解説します。
- Post
生成AIにMermaid.jsでロバストネス図を描いてもらう
Mermaid.jsのフローチャート機能を活用してロバストネス図を描く手法を紹介し、生成AIを用いて図を自動生成する実践例を示した記事です。
- Post
TypeScriptでドメインイベントを容易に記録できるコード設計を考える
データ変更の記録をドメインイベントとして型安全に設計する方法を、リポジトリ設計とテーブル設計の観点から具体的なコード例とともに解説した記事です。
- Post
Union型から交差型への変換
TypeScriptのUnion型を交差型へ変換するユーティリティ型の実装を、条件型の分配法則と関数引数の反変性という2つの型システムの性質を用いて詳しく解説した記事です。
- Post
Discriminated Unionを利用したStateパターンの実現
Discriminated Unionを活用したStateパターンの実装方法を、シンプルな状態遷移から振る舞いの入力が状態ごとに異なるケースまで段階的に紹介した記事です。
- Post
複雑な状態遷移😭: クラスではなく関数とDiscriminated Unionで状態の定義と遷移を表現する
TypeScriptでクラスによる状態管理の課題を示し、Discriminated Unionとコンパニオンオブジェクトパターンを用いて型安全に状態遷移を表現する方法を解説した記事です。
- Talk
@ OAuth & OpenID Connect 勉強会 ー 認可サーバーの作りかた(AWS編)
プロダクト成長に対応するプラットフォーム戦略: Authleteによる共通認証基盤の移行事例
医療SaaS企業カケハシが、複数プロダクト向けに統一認証基盤を構築した事例。 Authleteを活用したアーキテクチャと、プロダクトチームとの移行戦略を紹介。
- External
@ KAKEHASHI Tech Blog
目的別データベースの実践: PostgreSQL 行レベルセキュリティと DynamoDB Outboxパターン
PostgreSQLの行レベルセキュリティによるテナント間データ分離と、DynamoDBのOutboxパターンによるイベント配信を紹介。医療SaaSにおける個人情報保護と高可用性の要件に応じた目的別データベース選定の実践例。
- Post
網羅的なPRDやDesign Docを書かなくなった
網羅的なPRD・Design Docを書いてレビューするより、関係者と対話しながら観点とトレードオフを洗い出す方が少ない手数で良い意思決定ができるという主張をまとめた記事です。
- Talk
@ TSKaigi 2024
複雑なビジネスルールに挑む:正確性と効率性を両立するfp-tsのチーム活用術
fp-tsの柔軟な関数合成・エラー合成機能を活用し、Excel入稿機能の複雑なバリデーションで正確性と効率性を両立させた事例を紹介します。
- Talk
@ Findy様 TypeScript 開発言語を統一 〜フロントからバックまで活用〜 Lunch LT
品質とスピードを両立: TypeScript の柔軟な型システムをバックエンドで活用する
TypeScriptの柔軟な型システムをバックエンドで活用し、品質とスピードを両立させるための実践的なテクニックを紹介します。
- Post
TSKaigiにプロポーザルが採択されました🎉
TSKaigi 2024へのプロポーザル採択報告と、サーバサイドTypeScriptでfp-tsを活用した複雑なビジネスロジック検証の取り組みを紹介する記事です。
- Talk
@ Findy様 ドキュメント管理を制する 陳腐化を防ぐための実践事例 Lunch LT
更新"しない"ドキュメント管理 「イミュータブルドキュメントモデル」の実運用
ドキュメントを更新し続ける代わりに、意思決定を記録する「イミュータブルドキュメントモデル」の実運用について紹介します。
- Talk
@ SmartHR・カケハシ・リクルートのエンジニアが語る「複雑化するプラットフォーム開発をスムーズに進めるための方法」
大規模SaaSにおけるプラットフォームシステム開発の進め方
大規模SaaSにおけるプラットフォームシステム開発で、要求分析とアジャイル開発を小さく反復する方法論を紹介します。
- External
@ KAKEHASHI Tech Blog
社内ドキュメントはなぜ更新されないのか?情報の鮮度を最小限の運用負荷で維持する「イミュータブルドキュメントモデル」のススメ
情報を可変的なリソース情報と不変的なイベント情報に分類し、イベントの積み重ねとしてリソースを表現することで、最小限の運用負荷でドキュメントの鮮度を維持するアプローチを提案。
- Post
for...of 文を使わずに Promise を直列実行するための TypeScript 向けユーティリティ
for...of文を使わずにPromiseを直列実行するためのTypeScript向けユーティリティ関数forOfを紹介する記事です。
- External
@ KAKEHASHI Tech Blog
リストを題材にして代数的データ構造に入門してみる
プログラマに馴染み深い「リスト」を題材に、Sum Type(和)とProduct Type(積)で代数的にデータ構造を表現する方法を解説。方程式の展開を通じてリストの構造を直感的に理解する。
- External
@ DeNA Engineering Blog
AWS ECS on Fargate + FireLens で大きなログが扱いやすくなった話
ECS on Fargate環境でFireLensを使用した際に、16KB以上のログが分割されてJSONパースが失敗する問題の原因と、FluentBitのMultilineフィルタによるログ結合の解決策を解説。
- External
@ KAKEHASHI Tech Blog
なぜバックエンドTypeScriptか?技術選定背景と実践例を紹介します
バックエンドにTypeScriptを採用した技術選定の背景と実践例を紹介。構造的部分型の柔軟性やImmutableプログラミングとの親和性を評価し、NestJS・Prisma・fp-tsを組み合わせた型安全な開発の知見を共有。
- Talk
@ DeNA TechCon 2021 Winter
User-Agent 文字列削減によるサービス影響とその対策
Chrome の User-Agent 文字列削減がウェブサービスに与える影響と、 User-Agent Client Hints を使った対策について解説するライトニングトーク。
- Talk
@ MCCMMANCC 2019
Goのコンパイラをみてみよう 〜iotaを通じて〜
Go言語の「iota」という言語機能に焦点を当て、 Goコンパイラのソースコードを読み解きながら内部実装を探索する。