はじめに
Firebaseコミュニティ Firebase Japan User Group(FJUG)の2019/2/18に開催されたMeetup内容のまとめです。
LT
Firestore rulesの運用とLocal Emulatorを使ったテスト
スピーカー
- Ginco
内容
- FirebaseDatabaseの62%が漏洩
- そこで、Firestoreのセキュリティ基礎
- クライアントから直接アクセスできる
- アクセスはAPIキーが必要
- だれでもアクセスできるからrulesを整理
- rules
- read/ write権限
- データのバリデーション
- 漏洩しないためのrules設定
- 機密データは別階層にしてrules設定を厳しく - ワイルドカードでのrules設定できるが多用しないほうが良い
- Ginco
- リリース中期でrulesが300件こえて管理困難に
- rulesのテスト方法
- ClientSDKだけrulesが適用される
- テストProjectを使った方法
- あまり良くなかったそう
- 現在はFirestore Local Emulator でテストしてる
- 認証、未認証アカウント、Adminアカウントを簡単に利用可能
- テストデータの競合しない、truncateしなくていい
- プロジェクトIDかえればまっさらな状態にできる
- テスト実行時間が1/8に削減できた
資料
Firestore東京リージョン利用に伴う Firebaseプロジェクト移行手順
スピーカー
内容
- アルで現在移行作業中
- 100回程度のgetベンチマーク
- us-centralは平均200ms
- 東京リージョンだと平均100ms
- firestoreのデフォルトリージョンはus-central(β以前のプロジェクトは全部この状態)
- firebaseは1プロジェクト1firestoreなのでリージョン変更は作り直さないといけない
- Firebase AuthenticationはInport/Exportできるので新プロジェクトでも同じユーザにできる
- 匿名ユーザはログイン状態が引き継がれないためデータが消えてしまう
- 旧Firestore -> GCSにデータをExport ー>GCS ー>新Firestoreに
- ロンチ後だとデータ整合性担保するためにメンテナンス入れて移行が現実的
資料
Firestore x React Hooks
スピーカー
- Mamoru Amano
内容
- ReactHooks
- React16.8から導入されたFunctionComponentの新しいAPI
- componentのstateをfunctionで管理
資料
- 未公開
firebase × Vueと開発速度
スピーカー
- k-okina
内容
- firebaseつかってインフラ、バックエンドのリソース余裕できた分、フロントに力入れよう
- Firebase が時間を生んでくれたおかげで堅牢な設計や凝った UI ができた
- pring.ts + vue.jsで開発すると開発速度上がりそう
- firebaseはいい感じにcacheしてくれて状態管理で困らない
- 次はElm + Firebase構成を使いたい。
- ElmはReduxやVuexなどに影響を与えた言語なので最高なのでは?
- firestoreのちょいテク
- 分散カウンタ
- 同一ドキュメントの更新は1秒に1回の制限がある
- 多重いいねやCloudfunctionの多重実行対策にサブコレクションで保持する
- 分散カウンタ
資料
FirestoreのセキュリティルールをCircleCIでCIする
スピーカー
- ninjinkun
内容
- 個人開発したBlogFeedbackアプリ
- PWAで開発してる
- Firestoreはセキュリティルールが命
- セキュリティルールをCIしたい
- データ構造修正のたびにセキュリティルール更新が発生する
- 更新のたびにルールが正しいか保証したい
- そこでLocal Emulator
- circleciでやってる
- cloud fanctionをcircleciでデプロイする場合、nodeのバージョンがちがうと動作しないので注意
- firebase-tools > 6.1.1問題
- circleciでのエミュレーター起動で落ちる
- 原因;エミュレーターがIPv6アドレスにバインドするように変更されてた
- cicleciではIPv6がサポートされてない
- Jarを直接起動することで解決
- Jar直接起動だとHostが上書きできるのでIPv4に書き換えれる
- Jarを直接起動することで解決
- cicleciではIPv6がサポートされてない
資料
FirebaseとJIRAで進めるクラッシュ管理
スピーカー
- 株式会社ナビタイムジャパン 向井さん
内容
- firebaseのCrashlytics
- JIRAとの連携
- CrashlyticsのissueからJIRAチケットを作ることができる
- Firebaseとの統合からJIRAを選択する必要あり
- JIRAとの連携
- ナビタイムさんでの運用
- Crash対応に集中する時間を設けている
- スプリントとチケットにより運用に乗せている
資料
- 未公開