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
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
180
テーブルをDELETEした
yuzneri
0
140
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
4
380
Foundation Models frameworkで画像分析
ryodeveloper
1
600
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
140
その節約、円になってますか?
isamumumu
1
710
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
640
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.7k
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
150
React本体のコードリーディング
high_g_engineer
1
140
【QA Test Talk Vol.8】AI-DLC による Whole Team Approach の加速
pkshadeck
PRO
0
120
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.3k
Utilizing Notion as your number one productivity tool
mfonobong
4
520
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Mind Mapping
helmedeiros
PRO
1
300
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.2k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
390
[SF Ruby Conf 2025] Rails X
palkan
2
1.3k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
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