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
Firebaseは良いけど辛い/2019-03-27-llt8
Search
Satoshi SAKAO
March 27, 2019
Technology
270
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Firebaseは良いけど辛い/2019-03-27-llt8
社内のLTイベント「えるLT Vol.8」で発表した資料です
Satoshi SAKAO
March 27, 2019
More Decks by Satoshi SAKAO
See All by Satoshi SAKAO
Testcontainers/2024-11-20-llt32
ottijp
0
120
Pkl/2024-04-17-llt31
ottijp
0
140
JavaScriptのデバッグ/2023-09-04-llt30
ottijp
0
210
CDK for TerraformでAzureリソースをデプロイする/2023-05-15-llt29
ottijp
1
370
TWELITEへの誘い/2022-12-27-llt28
ottijp
0
200
ビルドツールBazelを触ってみた/2022-09-28-llt27
ottijp
0
240
HashiCorp Vaultを使ったシークレットのセキュアな一元管理 〜Ansibleを添えて〜/2022-07-12-llt26
ottijp
0
200
AWSインフラのデプロイをCDKでカイゼンする/2022-03-23-llt25
ottijp
0
130
Amazon Timestreamでデータ補間/2021-12-27-llt24
ottijp
0
130
Other Decks in Technology
See All in Technology
「AIチャットからもできないの?」と言われたら ~業務アプリをMCP対応するときの認証・認可の勘所
oidfj
0
210
デザインレビューは自動化できるのか?─ Flutter × Figma で UI 品質保証を考える
techiro
2
830
AIがGISを代替する日:〜すべてをAIが創る時代に、私たちがFOSS4Gに関わる意味〜
lehupa
1
210
Lint の層を組み直した話
bengo4com
3
330
バックオフィスに染み出すTypeScript ── clasp で安全に仕組みを作る
nealle
1
190
[JAWS Festa 2026]一番いい仕事は、請求書に現れない / jawsfesta2026
sh_fk2
2
410
Sizing, Benchmarking and Performance Tuning Apache Flink Clusters
rmetzger
0
140
Kiro 入門 (1 つのエージェントを、どの画面からでも) | 目指せ Kiro マスター 01
inariku
PRO
6
1.3k
業務でAWSをあまり使っていない私が、AWSへのモチベを保つ方法
smt7174
0
180
ライフワーク「猫でもわかるDirectConnect」
kentapapa
0
290
Kiro Crew 入門 (手を離しても進む仕事) | 目指せ Kiro マスター 11
inariku
PRO
4
610
In-Context Learning再入門。ICLの勾配降下的解釈の研究動向を追ってみる。
dai08srhg
1
740
Featured
See All Featured
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
610
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
350
Visualization
eitanlees
153
17k
HDC tutorial
michielstock
2
1k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
630
Joys of Absence: A Defence of Solitary Play
codingconduct
1
570
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Prompt Engineering for Job Search
mfonobong
0
580
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
910
Believing is Seeing
oripsolob
1
270
For a Future-Friendly Web
brad_frost
184
11k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Transcript
Firebaseは良いけど辛い Satoshi SAKAO えるLT Vol.8 2019/03/27 (Wed) I1
話すひと I2 インフォコム株式会社 オープンイノベーションセンター " アプリケーションエンジニア JS (ES6) / Node.js
/ GCP / IoT / iOS (Swift) フォーカスリーディング / 技術士合格に向けた学習 Satoshi SAKAO @ottijp
話すこと • Firebaseはいいぞ • ユースケースを考えないとうまくハマらなくて詰むかもしれない • ※ 2017年の話なので注意 I3
I4 2017年にやっていた企画と検証システム
認知症ケア支援サービス I5
初期の構成 I6 Z-worksとの連携をHerokuにサービスを置いた その他はFirebaseで完結させようとしていた
Firebaseはいいぞ • サーバサイド実装,インフラ管理が不要 • データストア,ファイルストレージ,プッシュ通知, 認証,アナリティクス,FaaS • Realtime Databaseがすごい便利(NoSQL+WebSocket) •
こりゃあFirebaseだけでいけるぜ!ヒャッハー!! I7
I8 終わりの始まり
RTDBの制約が真綿のように首を締め始めた • 外部キー制約が付けられない • ソートが特定キーのみでしかできない • フィルタリングが限定的 • マイグレーションの辛さ •
同一データパスに対するビジネス条件による アクセス制御の実現が困難 I9
なんとかすればFirebaseだけで頑張れるんじゃないかという意地 • Cloud Functionsでロジックの実装 • Flashlight(ElasticSearch) で検索の補完 • ※結局別のコンピューティングインスタンスは必要 •
Cloud FireStoreの誘惑 • 当時PJの後半くらいでちょうどリリースされた I10
最終的な構成 I11 RTDBでは辛い部分はHerokuに逃げた 認証はFirebaseのみに留めた
I12 失敗と学び
失敗と学び • RTDB(NoSQL+リアルタイム同期)はすごい便利だけど, 結局Pros/Consとユースケースを考えて使わないと死ぬ • Herokuを主,Firebaseを従として, FirebaseをうまくMBaaS的に使えると良かった • スタートガイドだけではなく,もう少し実現したいシステムに 近い具体的な実装を試してみて,適合性を判断すべきだった
• 仮説検証システムでまだ傷が浅くてよかった? I13
$ exit I14