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
78
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
670
Other Decks in Programming
See All in Programming
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
150
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
150
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
670
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.7k
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
220
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
240
Lean は証明の正しさを確認するためだけのツールって思ってませんか?
inoueasei
1
150
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
1.4k
進化を続けるGo toolsの現在地 / The Current State of Ever-Evolving Go Tools
hond0413
0
160
yield再入門 #phpcon
o0h
PRO
0
990
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
210
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
440
Featured
See All Featured
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
119
120k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
250
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
sira's awesome portfolio website redesign presentation
elsirapls
0
320
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
WCS-LA-2024
lcolladotor
0
790
The untapped power of vector embeddings
frankvandijk
2
1.8k
Marketing to machines
jonoalderson
1
5.7k
Become a Pro
speakerdeck
PRO
31
6.2k
How STYLIGHT went responsive
nonsquared
100
6.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.3k
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