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
Cloudflareを使い倒す!
Search
totto2727
September 05, 2024
Programming
74
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cloudflareを使い倒す!
totto2727
September 05, 2024
More Decks by totto2727
See All by totto2727
Playwrightから始めるVisual Regression Testingのススメ by とっと
totto2727
2
2.9k
NotionのURLをWorkersで綺麗にしよう!
totto2727
0
640
Other Decks in Programming
See All in Programming
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2k
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
220
AIで効率化できた業務・日常
ochtum
0
120
Webフレームワークの ベンチマークについて
yusukebe
0
160
RTSPクライアントを自作してみた話
simotin13
0
570
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.2k
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
2
560
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
4.9k
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
230
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
220
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.4k
Claspは野良GASの夢をみるか
takter00
0
180
Featured
See All Featured
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
140
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
170
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
55k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
370
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
Designing for humans not robots
tammielis
254
26k
Abbi's Birthday
coloredviolet
2
8k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Claude Code のすすめ
schroneko
67
230k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Transcript
Cloudflareを使い倒す! とっと/株式会社ゆめみ 1
自己紹介 ニックネーム:とっと 所属: 職種:フロントエンドエンジニア 推しフレームワーク RemixとAstro 推し:棗いつき、藍月なくる 布教用Playlist 2
Cloudflareはいいぞ 安い 早い 簡単 3
どういうサービスがある? 筆者がよく使うものだけでも… Cloudflare CDN Cloudflare Pages Cloudflare Workers Cloudflare Access
4
他にも Cloudflare Workers Cloudflare D1 Cloudflare KV Cloudflare Queues Cron
Triggers Workers AI Cloudflare R2 Cloudflare Zero Trust etc... 5
特におすすめ Cloudflare Pages 静的アセットの配信からSSRまでカバー ブランチプレビューあり 無料!!!(条件あり) Cloudflare Access 特定のドメインに認証を追加 メール、SSO、IP制限などに対応
無料!!! 6
7
使用例 8
フロントエンドのホスティング Cloudflare Pages Cloudflare Access Remix, Astro, Qwik, etc... ブランチプレビュー
+ SSR + CI/CD Accessで閲覧できる対象を限定することも可能 9
Web API Cloudflare Workers Cloudflare D1 Cloudflare KV Hono データベースもD1とKVでいける
Cloudflare内のスタックで全て完結 10
作成中のRSS Reader RPC バックエンド Cloudflare D1 Cron RSS FeedのTrigger Queue
取得処理のバファー Pages Webフロントエンド RSS Feedの取得処理 外部に公開しない処理 ユーザー RSS Feed (Zennなど) 11
Cloudflare WorkersのRPCモード 別のWorkersをあたかも 普通のインスタンスの様に呼び出せる機能 12
RPCモードのサンプルコード // worker1.ts import { WorkerEntrypoint } from "cloudflare:workers"; export
default class extends WorkerEntrypoint { async fetch() { return new Response("Hello World"); } async newCounter() { let value = 0; return (increment = 0) => { value += increment; return value; }; } } # worker2 > wrangler.toml name = "client_worker" main = "./src/clientWorker.js" services = [ { binding = "COUNTER_SERVICE", service = "counter-service" } ] // worker2.ts export default { async fetch(request, env) { using f = await env.COUNTER_SERVICE.newCounter(); await f(2); // returns 2 await f(1); // returns 3 const count = await f(-5); // returns -2 return new Response(count); }, }; 13
まとめ Cloudflareでできることは色々あります! まずは個人開発($5/月)で試してみませんか? 14