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
Firebaseは良いけど辛い/2019-03-27-llt8
Search
Satoshi SAKAO
March 27, 2019
Technology
0
250
Firebaseは良いけど辛い/2019-03-27-llt8
社内のLTイベント「えるLT Vol.8」で発表した資料です
Satoshi SAKAO
March 27, 2019
Tweet
Share
More Decks by Satoshi SAKAO
See All by Satoshi SAKAO
Testcontainers/2024-11-20-llt32
ottijp
0
65
Pkl/2024-04-17-llt31
ottijp
0
92
JavaScriptのデバッグ/2023-09-04-llt30
ottijp
0
160
CDK for TerraformでAzureリソースをデプロイする/2023-05-15-llt29
ottijp
1
290
TWELITEへの誘い/2022-12-27-llt28
ottijp
0
160
ビルドツールBazelを触ってみた/2022-09-28-llt27
ottijp
0
180
HashiCorp Vaultを使ったシークレットのセキュアな一元管理 〜Ansibleを添えて〜/2022-07-12-llt26
ottijp
0
160
AWSインフラのデプロイをCDKでカイゼンする/2022-03-23-llt25
ottijp
0
95
Amazon Timestreamでデータ補間/2021-12-27-llt24
ottijp
0
110
Other Decks in Technology
See All in Technology
デザインとエンジニアリングの架け橋を目指す OPTiMのデザインシステム「nucleus」の軌跡と広げ方
optim
0
120
パフォーマンスチューニングのために普段からできること/Performance Tuning: Daily Practices
fujiwara3
2
140
プロダクト開発と社内データ活用での、BI×AIの現在地 / Data_Findy
sansan_randd
1
540
知覚とデザイン
rinchoku
1
610
AI時代、“平均値”ではいられない
uhyo
8
2.6k
仕様駆動開発を実現する上流工程におけるAIエージェント活用
sergicalsix
2
520
AIの個性を理解し、指揮する
shoota
1
230
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
300
20251024_TROCCO/COMETAアップデート紹介といくつかデモもやります!_#p_UG 東京:データ活用が進む組織の作り方
soysoysoyb
0
120
From Natural Language to K8s Operations: The MCP Architecture and Practice of kubectl-ai
appleboy
0
290
プロファイルとAIエージェントによる効率的なデバッグ / Effective debugging with profiler and AI assistant
ymotongpoo
1
360
.NET 10のBlazorの期待の新機能
htkym
0
150
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Side Projects
sachag
455
43k
YesSQL, Process and Tooling at Scale
rocio
173
15k
Visualization
eitanlees
149
16k
Context Engineering - Making Every Token Count
addyosmani
8
310
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
930
Being A Developer After 40
akosma
91
590k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
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