Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
TypeSpec & Orvalでの自動生成が けっこう便利だった話
Search
secobaka
January 15, 2026
Technology
4
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TypeSpec & Orvalでの自動生成が けっこう便利だった話
自動生成はいろいろ便利だ!
secobaka
January 15, 2026
More Decks by secobaka
See All by secobaka
Goで圧倒的な速度改善をした話
secobaka
0
16
Other Decks in Technology
See All in Technology
実践!Cloud Run ハンズオン!! / Cloud Run handson
y0hgi
2
280
初海外で注意すべきこと12選!!!安全快適なre:invent生活にするために
yuuuuuuu168
1
160
Active Record Connection Adaptersにおける長年の課題に再び取り組む
yahonda
0
150
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
0
170
触りたくないデータに、どう触るか AI時代のRBACアクセスガバナンス
ivry_presentationmaterials
0
260
Optunaの最新リリースv5.0について
pfn
PRO
0
120
[JAWS-UG彩の国埼玉#12]そろそろ準備する?re:Invent2026をやさしく解説 / reinvent2026-sainokuni
sh_fk2
1
340
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
770
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
860
夫婦で子育てするための育児標準化
codmoninc
PRO
0
330
hackers_champloo_2026_tidb
makocchi
0
160
遠藤な_めぐろLT #38 「社内のAI活用推進」@麻布台_20261009
endonanana
0
130
Featured
See All Featured
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
590
Accessibility Awareness
sabderemane
1
250
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
520
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
540
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
BBQ
matthewcrist
90
10k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
How GitHub (no longer) Works
holman
316
150k
Visualization
eitanlees
153
17k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Transcript
TypeSpec & Orvalでの自動生成が けっこう便利だった話 千株式会社 高倉 輝
自己紹介 千株式会社 システム開発部 高倉 輝 (secobaka) GitHub: https://github.com/secobaka Qiita:
https://qiita.com/secobaka 趣味: 映画・アイドル・漫才 youtube: https://www.youtube.com/@友を失った夜
なんの話? - 自動生成が便利だった話 - TypeSpec→API仕様書 - Orval→クライアントコード
TypeSpec - Microsoft製 - API仕様の定義に特化したDSL - TypeSpec(.tsp)で記述したものをOpenAPI(.yaml)に変換できる
None
TypeSpecの利点 - 記述が簡潔 - TSライクな記述でAPI仕様書を定義できる - ファイルの分割が可能 - OpenAPI→TypeSpecの移行が可能 -
ツールを利用することで既存の API仕様書からTypeSpecへの移行をすることも可能 - バックエンドコードの自動生成やテストにも利用できる - 例) PHP - spectator - API仕様書で定義したスキーマと実際のコードで実装している型が一致しているかをテ ストすることができる
Orval - API仕様書から、クライアントコードや型定義を自動生成できる - Request, Responseの型定義の生成 - 型安全の保証 - クライアントコードの生成
- データフェッチライブラリ (TanstackQueryなど)やHttpクライアント(fetchなど)を選択可能
Orvalの利点 - 手動コーディングの削減 - API利用の際のコードの実装にかかる時間を削減できる - 型安全性の保証 - APIの変更が型エラーとして検知できる -
記述の標準化 - クライアントコードは自動生成されるため、一貫したフォーマットで記述ができる - クライアントコード以外も生成できる - MSWのMockの生成 - 開発段階、テスト、Storybookなどでの利用が可能 - Zodのobjectの生成 - バリデーション時の利用が可能
まとめ 自動生成けっこう便利だ!