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
Vercel Edge Functions を使って作る画像メーカー
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Doarakko
April 10, 2024
Programming
86
0
Share
Vercel Edge Functions を使って作る画像メーカー
https://zenn.dev/peperoncicicino/articles/04ddadba105194
Doarakko
April 10, 2024
More Decks by Doarakko
See All by Doarakko
Cloudflare Workers で X(Twitter)のボットを作ってみた
doarakko
0
320
JOIN して1ヶ月のエンジニアに聞いた Liiga の良いところ 3 選
doarakko
0
88
わんわおーん
doarakko
0
73
職場を明るくする
doarakko
0
330
コードレビューの時間を削減しました
doarakko
0
100
仕事中に隠れてテレビ番組表を見るぞ
doarakko
0
220
GitHub Project の運用を自動化しました
doarakko
0
120
GitHub Actions に入門しました
doarakko
0
1.4k
積ん読を消化するために
doarakko
0
1.3k
Other Decks in Programming
See All in Programming
AIエージェントと協働するCLI開発 — BunとOpenClawで学んだこと
yoshikouki
1
210
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
5
650
iOS26時代の新規アプリ開発
yuukiw00w
0
200
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
150
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
0
100
バックエンドにElysiaJSを採用して気付いた、良い点・悪い点
wanko_it
1
170
LLM Plugin for Node-REDの利用方法と開発について
404background
0
110
1人1案件のプロダクトエンジニア時代に、"プロセス監督"としてチャレンジしたこと
non0113
0
310
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
1
490
inferと仲良くなる10分間
ryokatsuse
1
250
TSKaigi2026-静的解析への投資がAI時代のコード品質を支える ── カスタムESLintルールの設計と運用
hayatokudou
6
1.1k
開発とはなにか、Essenceカーネルで見えるもの
ukin0k0
0
210
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Thoughts on Productivity
jonyablonski
76
5.2k
Claude Code のすすめ
schroneko
67
220k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.3k
Site-Speed That Sticks
csswizardry
13
1.2k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
380
4 Signs Your Business is Dying
shpigford
187
22k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
390
The Curious Case for Waylosing
cassininazir
1
360
Designing Experiences People Love
moore
143
24k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
250
Paper Plane
katiecoart
PRO
1
50k
Transcript
Vercel Edge Functions を使って作る 画像メーカー Engineer Guild Lightning Talk @Doarakko
# 経歴 BtoB SaaS、HR、EC(現職) # 仕事 金融系新規プロダクトの開発チームリード バックエンド、フロントエンド、インフラとフルサイクルに開発 # 趣味
・海外サッカー観戦 ・個人開発 たなあみ @Doarakko 2
自分の体型に一番近いポケモンを見つけられるサービス「PokeFit」 3
Vercel とは 4 ・簡単に言うと Web アプリを公開するためにいろいろなものを提供してくれるサービス ・Next.js は Vercel
が作ってます ・最近は Postgres・Redis・Storage なども提供 → Vercel だけでいろいろなサービスを作れる💪
Vercel Edge Functions とは 5 ・JavaScript のコードを CDN 上で動かせるようにするもの ・超簡単に言うと、ユーザーにより近いところで処理が行われるので速い
🍍 ランタイムを「edge」にするだけ
画像メーカーの例 6 https://gigazine.net/news/20201015-ghibli-subtitles-maker/ https://web.save-editor.com/pic/picture_text_jojo_tool.html
画像メーカー? 7
画像メーカーには OGP 画像が必要不可欠(個人的な意見) 8 生成した画像を SNS で拡散してほしい → 画像付き投稿はアカウント連携しないとできない(X など)
→ 画像をローカルに保存してから投稿するのめんどくさい → 画像投稿だとサイト URL は共有されずらい 🍇 Web Share API では PC で対応されていない環境がある(2024年4月現在)
画像メーカーには OGP 画像が必要不可欠(個人的な意見) 9 URL 投稿により OGP 画像が展開されるようにすることで アカウント連携なしで間接的に画像を SNS
に共有できるようにする
OGP ありの画像メーカーを作るつらみ 10 ・生成された画像ごとにページを生成、ページごとの OGP 画像を作成する必要が ・画像メーカーなので画像が大量生成される → 読み込み、書き込み、保存し続けることにお金がかかる💰
「PokeFit」では約30万枚の画像が生成されています 11
Vercel Edge Functions を使って無料で運用 12
Vercel Edge Functions がリクエストの度にOGP 画像を動的に生成 13 クローラー OGP 画像の URL
Vercel Edge Functions 画像を保存するストレージ
画像を返すAPIを実装してメタタグにパスを埋め込み 14 index.tsx /api/og/index.tsx 🍎 HTML/CSS を SVG に変換するライブラリ「vercel/satori」を使用
🚨 永遠に無料で運用はできません 15 ・Vercel Edge Functions の無料枠(月50万回:2024年4月現在) を超えるとお金がかかる ・生成された画像ごとにユニークなページを作成している →
ページ ID と内容(今回はポケモンの ID)を保存するためのデータストアが必要 → データストアの無料枠を超えるとお金がかかる(今回は Supabase を使用) 🎉 相当使われないと無料枠は超えません、超えた時は逆に喜びましょう
仕組みは Vercel が用意してくれているので あとは何をどう表示するのか考えるだけ
まとめ 17 ・今 Edge が熱い ・オリジナリティも出せて短期間でアウトプットできるので 勉強ついでに何かアプリを作りたい方に画像メーカーの開発おすすめです ・楽しんでものづくりしてます
Vercel Edge Functions を使って作る 画像メーカー Engineer Guild Lightning Talk @Doarakko