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
560
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
個人OSSが、机の上から世界に広がるまでの話
shinyasaita
1
360
モバイルアプリ開発概論2026
recruitengineers
PRO
3
460
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
1.5k
Data Hubグループ 紹介資料
sansan33
PRO
0
3.1k
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
2
250
20分でわかるセキュアAPI
nwiizo
0
170
Invisible to AI? Making TYPO3 Sites Quotable by AI Search Systems
wolfgangwagner
0
140
Digitization部 紹介資料
sansan33
PRO
2
7.7k
【CEDEC2026】グラフィックスエンジニアのためのニューラルシェーディング入門
cygames
PRO
0
120
AIコーディングの次。コードレビューと理解負荷を解消して組織の開発生産性を高める
moongift
PRO
2
2.1k
『三匹の子ぶた』から学ぶネットワークセキュリティの昔と今 / Network Security: Then and Now Through the Lens of The Three Little Pigs
nttcom
1
1.7k
ホームラボ紹介
y_sera15
0
100
Featured
See All Featured
Color Theory Basics | Prateek | Gurzu
gurzu
0
410
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
930
Paper Plane (Part 1)
katiecoart
PRO
1
10k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
580
sira's awesome portfolio website redesign presentation
elsirapls
0
320
Darren the Foodie - Storyboard
khoart
PRO
3
3.5k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
770
Measuring & Analyzing Core Web Vitals
bluesmoon
9
950
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
470
エンジニアに許された特別な時間の終わり
watany
108
250k
Rails Girls Zürich Keynote
gr2m
96
14k
Crafting Experiences
bethany
1
240
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 ありがとうございました