Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Cloudflareを使い倒す!
Search
totto2727
September 05, 2024
Programming
86
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
3k
NotionのURLをWorkersで綺麗にしよう!
totto2727
0
680
Other Decks in Programming
See All in Programming
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
740
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
460
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.7k
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
290
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1k
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
8
5.3k
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
520
Androidだけじゃない、DroidKaigiで広がった私の技術スタック
akkeylab
0
110
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
330
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
230
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
420
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
280
Featured
See All Featured
Design in an AI World
tapps
1
340
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
310
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
520
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
3
4.3k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
600
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
330
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
260
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