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
Cloud Functions for Firebase
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
k2wanko
June 23, 2017
Technology
340
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cloud Functions for Firebase
https://nikkei.connpass.com/event/58121/
k2wanko
June 23, 2017
More Decks by k2wanko
See All by k2wanko
Sales AI Cloud "ailead" TSConfig Strictly Adopted / セールスAIクラウド「ailead」の TSConfig厳格化対応した話 /
k2wanko
4
2k
Google Analytics for Firebaseを 使うときに把握しておきたいこと / Keep in mind when using Google Analytics for Firebase
k2wanko
2
530
パスワードのない未来のための Firebaseで実装するFIDO2 / FIDO2 actualized by Firebase for the password-less future
k2wanko
5
2.5k
Firebase Auth& Performance Monitoring
k2wanko
0
380
What's New Firebase 2019 Q1 #FJUG #io19jp
k2wanko
5
2.7k
Firebase for Grow
k2wanko
5
1k
gosecを試してみた話 / try gosec
k2wanko
0
3.7k
最近のFirebase / Recent Firebase
k2wanko
4
1.7k
Firebase Japan User Group Introduction 2018 #FJUG
k2wanko
0
640
Other Decks in Technology
See All in Technology
2026TECHFRESH畢業分享會 - 原生還是跨平台? App 開發踩坑實錄
line_developers_tw
PRO
0
1.1k
LayerX コーポレートエンジニアリング室におけるサプライチェーンセキュリティへの取り組み / Supply Chain Security at LayerX Corporate Engineering
yuyatakeyama
2
590
Kiroで書いた 設計書 が AI レビューの 採点基準 になる
ezaki
0
110
2026TECHFRESH畢業分享會 - AI 時代的人生存檔點
line_developers_tw
PRO
0
1.1k
AWS Security Agent といっしょに脅威モデリングをやってみよう
amarelo_n24
0
100
Bucharest Tech Week 2026 - Reinventing testing practices in the AI era
edeandrea
PRO
1
160
新しいUbuntu/GNOMEが使いたいからXからWaylandへ移行頑張ってるの巻 2026-06-20
nobutomurata
0
130
入門!AWS Blocks
ysuzuki
1
130
Agent Skills設計で柔軟性と硬さのバランスが難しい話
nassy20
0
130
エンジニアリング戦略の作り方 / Crafting Engineering Strategy
iwashi86
21
7k
SONiCの統計情報を取得したい
sonic
0
180
LLMにもCAP定理があるという話
harukasakihara
0
380
Featured
See All Featured
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
170
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
How STYLIGHT went responsive
nonsquared
100
6.2k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
460
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
The Limits of Empathy - UXLibs8
cassininazir
1
360
Practical Orchestrator
shlominoach
191
11k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
610
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
440
Transcript
Cloud Functions on Firebase Hosting @k2wanko
Profile コキチーズ Twitter, GitHubはk2wanko Qiitaはkoki_cheese Firebase エンジョイ勢 お仕事はセキュリティエンジニア
Cloud Functions
Cloud Functions - Event駆動のPaaS - HTTP,PubSub,Cloud StorageのEventを受け取って実行される - Beta -
Node.jsをサポート - Goサポートも開発中(?) https://github.com/GoogleCloudPlatform/cloud-functions-go
Cloud Functions for Firebase
Cloud Functions for Firebase - Cloud Functions受け取れるEventにFirebaseのイベントも追加したもの - Realtime Database,
Analytics, Auth, Storage のイベントを受け取れる - Eventの追加をコードベースで追加できる どういうことができるのか? - RealtimeDBに書き込まれたイベントでメッセージの翻訳をすることができる - Storageに保存されたイベントで画像をwebpに変換する - HTTPトリガーでFirebase Custom Authのbackendにできる - ユーザが削除されたイベントで関連データを削除する - etc examples: https://github.com/firebase/functions-samples
Firebase Hosting
Firebase Hosting - 静的ファイルを配信できるサービス - 設定でSingle Page Application用のrewriteなどもできる - HTTP2対応
- Link headerを付けることでServer Pushも可能 - 高速なCDNがついてる - 独自ドメインを登録するだけで無料で証明書を発行してくれる <- 最高
Cloud Functions on Hosting
Cloud Functions on Hosting - Hostingで返すコンテンツを Cloud FunctionsのHTTPトリガーで動的に生成できる
つまりどういうことか?
HostingでServer Side Renderingができる!!
SSRの必要性 については次の記事を参考にしてください http://www.publickey1.jp/blog/17/server_side_renderingserver_side_rendering_ng- japan_2017.html 要約 - SEOのために - Performanceのために 課題
- 現状Node.jsでしかSSRできない - SSRの負荷はコストが高い - Node.jsなのでサーバ台数を増やさなければならない
過去の挑戦 - GAE/Goでやろうとした。 - 無料で抑えるには当時はGAE/Goが最適と判断 - GoでNode.jsのAPIを色々頑張らないといけないので辛すぎる - http://qiita.com/koki_cheese/items/13426921f0b5861725e5
Cloud Functions を使うと - 現状Node.jsでしかSSRできない - FunctionsはNode.jsが使える - SSRの負荷はコストが高い -
Vue.jsを使えばブロッキングしないので CPUを効率的に使える - Node.jsなのでサーバ台数を増やさなければならない - Functionsはスケールする(あなたの予算の限り...)
DEMO https://goo.gl/SiwKzo
Tips
リアルタイムデータベースの セキュリティルール辛い
Firebase Bolt使いましょう - セキュリティルールを記述するための言語 - TypeScriptで書かれている - コメントが書ける - コンパイルするとJSONを吐き出す
- https://github.com/firebase/bolt
CDNのコンテンツは いつ配信されるのか?
CDNについて キャッシュを返すかどうかは次の項目が一致するかどうかを見る - Hostname - Path - Query - Varyで指定されたHeaderの値
Varyの初期値はAccept-Encoding, Authorization, Cookieがセットされているので 一般的なユーザー識別の方法を取っていれば 別のユーザーにコンテンツをCDNが配信してしまうということは起きにくい
Enjoy Function!
Reference - https://github.com/k2wanko/vue-hackernews-2.0/tree/firebase-hosting - https://firebase.google.com/docs/ - https://firebase.google.com/docs/functions - https://firebase.google.com/docs/hosting/functions