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
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
FPGAが実現する遠方宇宙の高空間分解能天体撮影 -大型地上望遠鏡の視力を補正する「補償光学」とは?-
komei_mt
0
230
『三匹の子ぶた』から学ぶネットワークセキュリティの昔と今 / Network Security: Then and Now Through the Lens of The Three Little Pigs
nttcom
1
1.8k
Cursor Meetup Sapporo - Cursor物語 続編
cocacola917
0
150
LLM・AIエージェントシステムベストプラクティス
shibuiwilliam
6
1.1k
Digitization部 紹介資料
sansan33
PRO
2
7.7k
取引先から届く 「セキュリティチェックシート」の読み解き方
kamadamakoto
0
150
【Google Cloud Next Tokyo'26】Gemini Enterprise と Oracle AI Database で実現する、業務データ活用を実現する AI エージェント実装
shisyu_gaku
0
250
Webアクセシビリティ入門 2026
recruitengineers
PRO
3
550
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
TypeScript入門 2026
recruitengineers
PRO
3
570
LanceDB入門
mocobeta
7
420
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
19k
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
470
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Skip the Path - Find Your Career Trail
mkilby
1
180
Designing Powerful Visuals for Engaging Learning
tmiket
1
490
Believing is Seeing
oripsolob
1
190
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
400
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
610
RailsConf 2023
tenderlove
30
1.5k
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