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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
totto2727
September 05, 2024
Programming
76
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
660
Other Decks in Programming
See All in Programming
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
150
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
symfony/aiとlaravel/boost
77web
0
120
トークンをケチるな、設計しろ:GitHub Copilotを賢く使うコンテキスト戦略
ochtum
0
280
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
320
エージェンティックRAGにAWSで入門しよう!
har1101
9
1.9k
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
250
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
4
1.6k
吝嗇家のためのAI活用 / AI development for miser - ChatGPT + Issue Driven Development
tooppoo
0
170
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
240
【やさしく解説 設計編 #0】DDDのコード、読めるのに分からない人へ
panda728
PRO
1
180
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
630
Featured
See All Featured
The Curse of the Amulet
leimatthew05
2
13k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
150
Un-Boring Meetings
codingconduct
0
330
Exploring anti-patterns in Rails
aemeredith
3
430
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
380
Bash Introduction
62gerente
615
220k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
Designing for humans not robots
tammielis
254
26k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
880
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