Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
そのドキュメント、自動化しませんか?
Search
yuk
July 20, 2026
Technology
700
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
そのドキュメント、自動化しませんか?
yuk
July 20, 2026
Other Decks in Technology
See All in Technology
2026-08-15 JAWS-UG 茨城 #16 Secrets ManagerにおけるSecret値の管理(Terraformの場合) / Secrets Manager Secrets
masasuzu
0
450
AI画像認識を活用したゲーム内決済処理検証の自動化
gree_tech
PRO
0
110
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.5k
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
アクセスキーが漏れた日にやるべきこと- 無効化の先にある本当の対応
kazzpapa3
0
120
LLM・AIエージェントシステムベストプラクティス
shibuiwilliam
6
1.6k
ハッカソンで入賞した話 @ Findy LT
asari194617
0
1.4k
35分でわかるEffective Platform Engineering
nwiizo
5
570
属人化を叩き割れ!「制作加速」と「安定化」の矛盾を打破する:8年目プロダクトが辿り着いた「ミスが起こり得ない」アセット制作フローの全貌
gree_tech
PRO
0
120
RelayerというPHPのフレームワークを作った
polidog
PRO
0
100
AIで変わるエンジニアの働き方(仮)
naoinaoi
0
280
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Balancing Empowerment & Direction
lara
6
1.2k
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
From π to Pie charts
rasagy
0
310
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Done Done
chrislema
186
16k
Music & Morning Musume
bryan
47
7.3k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
300
エンジニアに許された特別な時間の終わり
watany
108
250k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Transcript
2026.07.20 そのドキュメント、 ⾃動化しませんか? スプレッドシートのモデル⼀覧を、コードから⾃動⽣成へ 内藤勇介
// ABOUT ⾃⼰紹介 内藤勇介 / Yusuke Naito @yuksew ユースタイルラボラトリー株式会社 ∙
訪問介護向け SaaS「カイビズ」を開発 ∙ バックエンドエンジニア / 設計 ∙ 最近: 介護報酬の請求計算、開発体験の向上 02
// AGENDA 今⽇話すこと 01 スプレッドシートでモデル⼀覧を作るつらみ 02 正本(SSOT)はコードへ。モデル⼀覧は⽣成する 03 同じやり⽅を DB
にも 04 まとめ 03
// BACKGROUND スプレッドシートでモデル⼀覧を作るつらみ 07
// BACKGROUND ドメインモデル⼀覧をスプレッドシートで管理していた • モデルとフィールドの⼀覧(論理名‧型‧必須‧備考) • モデルを追加‧変更するたびに、シートも⼿で更新 • OpenAPI のスキーマをここから⽣成していた
04
// BEFORE 当時の仕組み 自動 スプレッドシート モデル⼀覧 GAS schemas.json 生成 components/schemas
スキーマ定義 openapi.yaml 手動 / AI → HTML API の定義 ⼿書き(または AI) schemaは⾃動⽣成。API のパス定義は⼿書き、シートの更新は⼿作業。 05
// BEFORE つらみ • 5年間の開発でシートが 350 枚を超えた • リポジトリ外なので コミット‧PR
に残らない • 検索‧相互参照に弱い • AI で読み書きがしづらい 06
// APPROACH 正本はコード、⽣成はツールに任せる。 07
// TYPESPEC TypeSpec とは models/common.tsp /** 氏名 */ @OpenAPI.extension( "x-kind",
"valueObject") model StructuredName { familyName: string; givenName: string; displayName: string; } API‧モデルを定義する⾔語 TypeScript ライクに書ける メタ情報も TypeSpec に書ける 08
// BUILD ─ API モデル⼀覧と OpenAPI を⽣成する TypeSpec 定義 openapi:build
models/*.tsp tsp compile + 生成スクリプト モデル⼀覧 OpenAPI tsp compile → OpenAPI(openapi.yaml) build-html.js → API ドキュメント(HTML) build-model-docs.js → モデル⼀覧(models.html) 09
// BUILD 同じやり⽅を DB にも 07
// BUILD ─ DB DB は実物から抽出する migration tbls + Liam
380 本(スキーマの正本) MySQL に migrate → スキーマ抽出 ER図‧DB定義書 tbls k1LoW/tbls 実 DB からスキーマを抽出し、DB定義書を⽣成 Liam @liam-hq/cli 抽出したスキーマから ER図 を⽣成 11
// PIPELINE push 1回で、全部が更新される OpenAPI TypeSpec 定義 models/*.tsp GitHub Actions
openapi:build モデル⼀覧 ER 図 migration GitHub Actions tbls + Liam DB 定義書 GitHub Actions で実⾏ → Cloudflare Pages に公開。 ⽣成物を相互リンクで接続。 12
// BEFORE → AFTER 変わったこと Before After • シート 350枚超を⼿で維持
• push 1回で⽣成‧更新 • コミット‧PR に残らない • コミット‧PR‧差分に乗る • 検索‧AI 連携に弱い • 検索‧AI に強い 13
// TAKEAWAYS まとめ 01 正本はコードに置き、モデル⼀覧は⽣成する 02 push 1 回で、ぜんぶ最新になる 03
AI が読める「正本」に寄せる 14
// THANK YOU ありがとうございました