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
FastAPI+VercelでZennのバッジをお手軽に作る
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
ganyariya
January 20, 2021
Technology
910
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
FastAPI+VercelでZennのバッジをお手軽に作る
https://rakus.connpass.com/event/198587/
ganyariya
January 20, 2021
More Decks by ganyariya
See All by ganyariya
The Hundred Machine Learning 7.4-7.7
ganariya
0
71
ありがとう競技プログラミングこんにちはDocker
ganariya
0
1.7k
輪講 The hundred ML3.3-3.5
ganariya
0
110
Other Decks in Technology
See All in Technology
チームで進めるAI駆動アジャイル×ウォーターフォール
kumaiu
0
150
爆速でマルチプロダクトを立ち上げる時 事業・CTO目線で大事にしたい事
miyatakoji
0
100
AGENTS.mdとSkillsで始めるAIエージェント活用
sonoda_mj
2
190
機械学習を「社会実装」するということ 2026年夏版 / Social Implementation of Machine Learning June 2026 Version
moepy_stats
4
1.3k
社内 AI エージェント Synapse と セマンティックレイヤーの育て方
hiroakis
2
1.6k
RSA暗号を手計算したくなること、ありますよね?? (20260615_orestudy6_rsa)
thousanda
0
190
AI駆動開発を通して感じた、 AI時代のデザイナーの役割変化
whisaiyo
0
210
現地で盛り上がった WWDC26 Keynote
zozotech
PRO
1
180
Bucharest Tech Week 2026 - Reinventing testing practices in the AI era
edeandrea
PRO
1
140
個人最適 から 全体最適 へ AI情報共有会・AIギルド・AI-DLC で進める カンリーの組織展開
rfdnxbro
0
2.2k
価格.comをAI駆動で全面刷新する ー 30年分の技術的負債を返し、次の30年の土台をつくる ー / AI Engineering Summit Tokyo 2026
tkyowa
53
59k
[モダンアプリ勉強会]今更聞けないGit/GitHub入門
tsukuboshi
0
360
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
How to Talk to Developers About Accessibility
jct
2
230
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
The SEO Collaboration Effect
kristinabergwall1
1
480
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
200
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
300
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
220
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
How STYLIGHT went responsive
nonsquared
100
6.2k
Transcript
FastAPI+VercelでZennのバッジをお⼿軽に作る ganariya FastAPI+Vercel -> Zenn-Badge ganariya
ganariyaの⾃⼰紹介 普段は競技プログラミングをしています そのためバックエンドやAPIは初⼼者です 温かい⽬で⾒守ってやってください 履歴書はGitHubのGanariyaリポジトリにあります ⻑期インターンが終わり、アルバイトを探しています (もしよければぜひ...)(ぜひ...) FastAPI+Vercel -> Zenn-Badge
ganariya
デモ FastAPI+Vercel -> Zenn-Badge ganariya
FastAPI+Vercel -> Zenn-Badge ganariya
FastAPI+Vercel -> Zenn-Badge ganariya
FastAPI+Vercel -> Zenn-Badge ganariya
FastAPIのご紹介 FastAPI+Vercel -> Zenn-Badge ganariya
FastAPI is 何 Python製REST Framework 似たものだと Flask 2018年にできており⾮常にモダンで⾼機能 (Python3.6〜) ASGI
⾮同期処理 GraphQL / WebSocket FastAPIのうれしさ3選について紹介 FastAPI+Vercel -> Zenn-Badge ganariya
その1 型ヒントとバリデーション Type Hintsを積極的に利⽤したフレームワーク username:str と引数で指定すると ⾃動で引数の型をバリデーション 型が正しいかなどの確認ロジックをコードで書かなくてよい 返り値なども型の指定が可能 型
-> IDEの恩恵を受けられる @app.get("/{username}/liked", response_class=HTMLResponse) def get_liked(username: str): user: User = scrape_user(username) badge = make_badge(username, 'Zenn liked', str(user.total_liked_count)) return HTMLResponse(content=badge, status_code=200, media_type='image/svg+xml') FastAPI+Vercel -> Zenn-Badge ganariya
その2 OpenAPIとSwagger-UI FastAPIは⾃動でOpenAPIのフォーマットを吐き出す /docs にアクセスするとSwagger-UIが⾃動で作成される 型をPythonで書くとそのままSwaggerへ! FastAPI+Vercel -> Zenn-Badge ganariya
その3 ドキュメント ドキュメントがとても丁寧 TutorialからAdvancedまで体系的に書かれている ファイル分割 , モジュールのプラクティス なども触れられている FastAPI+Vercel ->
Zenn-Badge ganariya
Vercel FastAPI+Vercel -> Zenn-Badge ganariya
Vercel もともとNow(Zeit社)というサービス そのため、ネットの記事の情報がかなり混在している 似たサービスだと Heroku GitHubから⾃動デプロイ 無料枠が⼤きい 無制限のWebサイト+API Go, Python,
Node.jsなどのサーバーレス ただしデプロイ回数は1⽇あたり制限あり DBが使えない (サーバーレスなので) FastAPI+Vercel -> Zenn-Badge ganariya
FastAPI+Vercel -> Zenn-Badge ganariya
設定ファイル {now, vercel}.json リポジトリのルートに置いてプッシュすると、Vercelが⾃動デプロイ { "version": 2, "builds": [ {
"src": "zenn_badge/app.py", "use": "@now/python" } ], "routes": [ { "src": "/.*", "dest": "zenn_badge/app.py" } ] } FastAPI+Vercel -> Zenn-Badge ganariya
FastAPI + Vercelまとめ FastAPI 型とともに過ごせる ⾮常に⾼機能でモダン Vercel 破格的無料枠 jsonファイルひとつで済む DBは外部を利⽤する
FastAPI + Vercel 開発が楽しい! FastAPI+Vercel -> Zenn-Badge ganariya
ご清聴ありがとうございました! GitHub: ganariya Qiita: ganariya Twitter: ganariya Zenn: ganariya AtCoder:
ganariya2525 FastAPI+Vercel -> Zenn-Badge ganariya