並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 124件

新着順 人気順

Firestoreの検索結果41 - 80 件 / 124件

  • Firestoreの簡易管理ツールをNuxt.jsでつくってみた - Qiita

    Firestore、とっても便利ですが、Firebaseのコンソールがイケてないので、 ローカルで動かせる簡易の簡易ツールを作ってみました。Nuxt.js製です。 Firebase Admin SDKを使ってるので、秘密鍵を配置すればOK。 セキュリティルールの変更も不要です。 動いているところはこんな感じ。 GitHubで公開してます。ただ書きなぐりなので、ソースはイケてないです。。 まだα版くらいなので、機能は限定的です。。 memory-lovers/simple-firestore-admin: Simple Firestore Admin なんで作ったか Firestoreを使ったWebサービスを作ってみたところ、 ちょこっとしたDBの変更にもデータが多かったり、1ドキュメントのサイズが大きいと、 Firebaseコンソールだと重い感じに。。 いろいろ見ていると、Webサービスな

      Firestoreの簡易管理ツールをNuxt.jsでつくってみた - Qiita
    • 予算の上限に達したらFirestoreを自動で停止するやつで請求青天井の恐怖に怯える日々を卒業する

      先日、こちらの記事を拝見したのですが、Firebase卒業の理由1位に 「クラウド破産の恐怖」 が挙げられていました。 Firetoreは並列性の高いデータベースですから、ちゃんと作っていれば100万人同時接続でもびくともしません。しかし逆に言えば、もしプログラムに誤りがあって大量の無駄な読み書きが発生すれば、ものすごい勢いでコストが嵩んでいくことになります。実際私も何度か開発中にコーディングミスをして無限再読み込みをしてしまったことがあります。その時は明らかにアプリの動作速度が低下したのですぐに気付きましたが、この危険については私もそれなりに気になるところではあります。そこで、 予算をオーバーしたらFirestoreを自動で停止する仕組み を作ってみることにしました。 プログラムから予算とコストを管理する プロジェクトの現在のコストや予算の通知を受ける方法については、以下の公式ドキュメン

        予算の上限に達したらFirestoreを自動で停止するやつで請求青天井の恐怖に怯える日々を卒業する
      • Nuxt.js(SPA)+FirebaseのWebアプリで初マイグレーションをしてけど、いろいろ失敗した話。。 - Qiita

        これはただの失敗談です。。役に立つかわからないけど、誰かの参考になるといいな。。 Nuxt.js+Firebaseで開発したWebサービスをリリースして2ヶ月目くらい。 サービス止めて、初マイグレーションしてときの失敗談です。 サービスを止めてやりたかったこと いままではちょこっとした変更が多かったため、 サービスを止める必要なく、Nuxtアプリの更新だけで十分でしたが、 新しい機能を追加する際に、Firestoreのスキーマを変える必要が出てきました。 やりたいことは、 「 今までのデータを読み取って、別の形式に再構成する 」 という感じのことで、止めないとダメかなと。 メンテンナンスのときの手順 手順はこんな感じ。 メンテナンス画面に遷移するようにmiddlewareを変更 firestoreのルールを全部ブロックするように変更 スキーマ変更処理を実行 メンテナンス画面を解除し、hos

          Nuxt.js(SPA)+FirebaseのWebアプリで初マイグレーションをしてけど、いろいろ失敗した話。。 - Qiita
        • 組織戦略と GraphQL、Hasura

          Amazon SQSコンシューマー疎結合への旅 - 出張! #DevelopersIO IT技術ブログの中の人が語る勉強会 #3

            組織戦略と GraphQL、Hasura
          • FirebaseのFirestoreに便利なクエリ「array-contains-any」「where-in」ってのができたからサンプルサイトとともに解説するぞ! - フロントエンドの地獄

            前から噂されていた便利クエリarray-contains-anyおよびwhere-inがついにJSのSDK等に入ったので早速使ってみます! SDK入りたてでできたてホヤホヤのため、まだ公式ドキュメントには影も形もありません笑(2019/10/30現在) ※ 11/3追記 : 更に同じくwhereでのInクエリも発行できるようになっていたので、それについても追記しました! array-contains-any ってどんなの 今までwhereにarray-containsを指定すると、arrayに特定の値が入っているdocumentを検索できました。 実際のコードはこんな感じで、blogsコレクションの中で「tagsフィールドの中に"tech"が入っているドキュメント」を検索できます。 firebase .firestore() .collection("blogs") .where("tag

              FirebaseのFirestoreに便利なクエリ「array-contains-any」「where-in」ってのができたからサンプルサイトとともに解説するぞ! - フロントエンドの地獄
            • Rowy - Low-code backend on Google Cloud and Firebase

              Manage your database on a spreadsheet-UI and build powerful backend cloud functions, scalably without leaving your browser. Start like no-code, extend with code.

                Rowy - Low-code backend on Google Cloud and Firebase
              • Firebaseを活用したPUSH通知基盤構築

                2018年7月2日、Firebase Japan User Groupが主催するイベント「Firebase Meetup #4」が開催されました。2011年に登場し、その後Googleが買収たことでクラウドプラットフォームの一員となったFirebase。その知見を共有するため、Firebaseをサービスに用いるエンジニアたちが一堂に会して、プレゼンテーションを行いました。「Firebaseを活用したPush通知基盤構築のよもやま話」では、danno氏が登壇この講演はcrash.academyでもご視聴いただけます。講演資料はこちら Firebaseを活用したPush通知基盤構築 danno氏(以下、danno):こんにちは。テレビ東京コミュニケーションズのdannoと申します。 いつもFirebase User Groupには参加させていただいてて、フィードバックしないとなというところで、

                  Firebaseを活用したPUSH通知基盤構築
                • 【第2回】Go言語(Golang)入門~Firestore導入編~ – 株式会社ライトコード

                  Firestoreを利用してみるこれから何を書いていくか…? 迷ったのでTwitterでアンケートを取ってみました! 今日入門編書いたけど、次のGolangの記事どんなのがいいかな — 笹のり (@sasa_nss_app) September 5, 2019 結果、「Fire Storeを使ったNoSQLの何か」が1位に! 今回は、Firestoreでなにかやってみようかと思います! Firestoreとは? FirebaseやGCPが提供しているサービスの1つで、いわゆるNoSQLのクラウドデータベースです モバイルアプリケーションなどでは、各ローカルにデータベースを持ったりすることも多いですが、API側でデータを保存することも多いはずです。 本来ならば自分たちでデータベースを用意し、APIとしてのエンドポイントを用意しなければいけません。 しかし、Firestoreを利用するとGUI

                    【第2回】Go言語(Golang)入門~Firestore導入編~ – 株式会社ライトコード
                  • 【第3回】Go言語(Golang)入門~Firestoreデータ操作編~ – 株式会社ライトコード

                    package main import ( "context" "log" firebase "firebase.google.com/go" "google.golang.org/api/option" ) func main() { // 初期化 ctx := context.Background() sa := option.WithCredentialsFile("path/to/serviceAccount.json") app, err := firebase.NewApp(ctx, nil, sa) if err != nil { log.Fatalln(err) } client, err := app.Firestore(ctx) if err != nil { log.Fatalln(err) } // データ追加 _, _, err = client.Collecti

                      【第3回】Go言語(Golang)入門~Firestoreデータ操作編~ – 株式会社ライトコード
                    • テスト駆動で学ぶ Firestoreセキュリティルール の書き方(認証、スキーマ検証、バリデーション) - Qiita

                      テスト駆動で学ぶ Firestoreセキュリティルール の書き方(認証、スキーマ検証、バリデーション)FirebaseJestFirestoreCloudFirestoreTypeScirpt 今までセキュリティルールをあまり書かずセキュリティ的にアレなものを量産していたので、 その反省からFirestoreのセキュリティルールについて学んだことを記します。 2020/12/01 追記 この記事は、以下バージョン時点の情報です。 node: 10.15.3 @firebase/testing: 0.12.3 内容案内 本記事では以下について記載しています。 Firestore セキュリティールールのテスト環境構築方法(TypeScirpt & Jest) ユーザー認証のルール記載方法、テスト方法 スキーマ検証のルール記載方法、テスト方法 値のバリデーションのルール記載方法、テスト方法 コー

                        テスト駆動で学ぶ Firestoreセキュリティルール の書き方(認証、スキーマ検証、バリデーション) - Qiita
                      • 【失敗と後悔】Flutterアプリ開発 七つの大罪 (と二つの余罪) - Qiita

                        Flutter Advent Calendar 2019の22日目の記事です。 はじめに 私は今年の5月にウィッシュリスト(やりたいことリスト)を作ったり、共有したりできるアプリをFlutter + Firebaseで作り、リリースしました。この記事では、そのアプリを開発し、約半年間運営する中で見えてきた失敗や後悔をまとめ、七つの大罪として皆様に共有したいと思います。同じ過ちを繰り返す人が一人でも減れば幸いです... 嫉妬の罪:アプリ強制アップデートの仕組みを実装せずにリリースした 罪状 ゲームなどではよくある「アプリの強制アップデート」だが、これを行わず運用している多くのアプリへの〈嫉妬〉から、強制アップデートの仕組みを実装せずバージョン1.0.0をリリースしてしまった 詳細 ゲームアプリを起動して、まずアップデートさせられるという体験を自分がよくしていたんですね。で、これが「面倒だなぁ

                          【失敗と後悔】Flutterアプリ開発 七つの大罪 (と二つの余罪) - Qiita
                        • Firebase Cloud Firestore Security Rules Essentials

                          Cloud Firestoreのセキュリティールールのテクニックがこの1冊に。 基礎から応用まで幅広く、Cloud Firestoreを使ったサービス開発の現場で役に立つノウハウを収録しています。

                            Firebase Cloud Firestore Security Rules Essentials
                          • Powerful GUI for Firestore - Firefoo

                            Download Free Trial Available for Mac, Windows, Linux Free 14-day trial No credit card required Import & ExportImport and export collections to CSV and JSON. Download backups of your database and transfer data across projects or to the emulator. Powerful Admin PanelView and edit your data in a table, tree or as JSON. Rename and copy collections and documents, query Firestore from JavaScript. Secur

                              Powerful GUI for Firestore - Firefoo
                            • [TS] Firestoreを型安全にするライブラリ Fireschema を作った [rules自動生成/データ自動型付け] - Qiita

                              [TS] Firestoreを型安全にするライブラリ Fireschema を作った [rules自動生成/データ自動型付け]TypeScriptFirebasecloudfunctionsFirestoreFirestore型付け係 8/18 更新 Custom Transformer を使用し、documentSchema<T>() の型引数 (T の部分) の AST 解析によって rules の文字列が自動生成できるようになったため、documentSchema() の引数が不要になりました スキーマレスな Firestore では、その気になれば一般ユーザーが予期しない構造のデータをセットできてしまうので、セキュリティルールで書き込み時のスキーマ検証を設定する必要があります。しかし、セキュリティルールはモデル定義に合わせて手動で書かなければならないのでミスが起きやすく、そのために

                                [TS] Firestoreを型安全にするライブラリ Fireschema を作った [rules自動生成/データ自動型付け] - Qiita
                              • Firestore Data Bundlesを活用してFirestoreの読み取りコストを削減する

                                2020年12月頃にFirestore Data Bundlesという機能がリリースされたもののあまり話題になっていないので調べてみました。知らない人も多いのではないでしょうか? まず参考にしたblogとドキュメントを👇 に載せておきます。公式blogが利用シーンなども書かれておりわかりやすかったのでおすすめです(英語)。 参考 公式blog Load Data Faster and Lower Your Costs with Firestore Data Bundles! 公式ドキュメント Cloud Firestore data bundles Serve bundled Firestore content from a CDN Firestore Data Bundlesとは Firestoreでは、ユーザー全員が同じデータを読み取る場合でもそれぞれのユーザー(デバイス)ごとに読み

                                  Firestore Data Bundlesを活用してFirestoreの読み取りコストを削減する
                                • Firestore エミュレータのデータをローカル環境で import/export する - Qiita

                                  概要 Firebase エミュレータで Firestore の import/export ができるようになったので、導入方法について紹介します。これまで、エミュレータを再起動する度にデータが初期化されていていましたが、特定のタイミングで export して起動時に import できるので、毎回テストデータを取り込む作業がなくなるなど、開発効率が上がります。 導入方法 本機能は firebase-tools の 7.14.0 で対応したので、 firebase-tools を再インストールして firebase のバージョンが 7.14.0 以上であることを確認します。 firebase emulators:export --help Usage: firebase emulators:export [options] <path> export data from running em

                                    Firestore エミュレータのデータをローカル環境で import/export する - Qiita
                                  • Angular と Firebase で月間PV1億超えの PWA を作った話 - Qiita

                                    はじめに これは Angular Advent Calendar 2019 10日目の記事です。 こんにちは (。・ω・。) Angular と Firebase で CGM サービス(一般ユーザー投稿型サービス)を開発している者です。 早いもので、Angular Advent Calendar も 3 回目の参加となります。 例年ではなんとなく不吉な 4 日目をいただいていたのですが、今年も募集当日にエントリーしに行くと既に 9 割ほどの枠で参加表明があり、狙っていた? 4 日目も埋まっていました。 (どこでも良いので他の人が嫌がる確率が高そうなところに入ったろの精神 今まで #1 しかなかったカレンダーが今年は勢いそのまま #2 まで誕生し、ここ 1 年での Angular コミュニティの成長を実感しています (ノ゚∀゚)ノ 小話はこの辺で... この記事では、約 2 年間 Angul

                                      Angular と Firebase で月間PV1億超えの PWA を作った話 - Qiita
                                    • Firebase Meetup #15でLTをしてきました | BLOG - DeNA Engineering

                                      2019年12月3日に開催された Firebase Meetup #15 で、 「CQRSを学ぶついでにCloud FunctionsとFirestoreを連動させる時の小技も学ぶ」というタイトルでLTをしてきました。 Firebase はGoogleが提供するmBaaSです。 Webアプリ・ネイティブアプリのバックエンドで共通して必要になる機能一式を提供してくれるサービスで、 うまく活用すると開発のコストを抑えながらスケーラブルなアプリケーションを作ることができます。 DeNAにおいても、実はさまざまなサービスでFirebaseが活用されています。 今回のLTでは、Firebase上にアプリケーションを構築する際の工夫として、 コマンドクエリ責務分離(CQRS)をキーワードにお話しさせていただきました。 スライドは公開しているのですが、それだけ見ても内容が伝わりにくいところがありますので

                                        Firebase Meetup #15でLTをしてきました | BLOG - DeNA Engineering
                                      • 公開論文から学ぶ Google のテクノロジー : パート 3:データベース技術編 | Google Cloud 公式ブログ

                                        Google Cloud のサービスは、Google が長年にわたって構築してきたグローバルネットワーク、そして、世界各地のデータセンターによって提供されています。これは、Google 検索をはじめとするさまざまな Google のサービスを支えるインフラでもあり、その上では、Google 独自の技術を活用したさまざまなミドルウェアが稼働しています。 Google のエンジニアは、自分たちが開発した技術の詳細を論文として公開しており、これまでに公開された論文は、Google の研究チーム、Google Research の Web サイトにある Publication Database で検索できます。このブログシリーズでは、次の4つの分野に分けて、Google Cloud の技術に関連の深い論文を紹介していきます。 分散処理基盤(コンテナ技術)とデータセンター ネットワーク技術 データベ

                                          公開論文から学ぶ Google のテクノロジー : パート 3:データベース技術編 | Google Cloud 公式ブログ
                                        • 自分のお気に入りのエディタテーマを見つけられるサービスを作った

                                          何を作ったか エディタやシンタックスハイライトのテーマは星の数ほどあり、自分が本当に好きなものが何かを答えることは難しいと思っています。そこで、2つのテーマを並べどちらが好きかに回答し続けることで、どのテーマが一番好きかを調べられる syntax highlight battle というサービスを作りました。 FYI: https://syntax-highlight-battle.ojisan.dev/ 元々、最強の syntax highlight を知りたくてバトルするサイトを作った話 というものを作っていたのですが、これは自分がどのテーマを使うか悩んだときに知人にとったアンケートサイトとして作っており、そのときに「自分が選んだ一番気に入っているテーマを知りたい」という声を頂いていたことを思い出したので、作りました。 自分にあうテーマを見つけたい人は是非とも使ってみてください。 改善

                                            自分のお気に入りのエディタテーマを見つけられるサービスを作った
                                          • Firestoreのデータをgcloudを使ってバックアップ&別のプロジェクトへインポートしてみる - Qiita

                                            Firestoreのデータをガリガリ見ていきたいなと思っていたら、 別のプロジェクトに移行できそうだったので、いろいろ調べたときの備忘録。 分析目的だけど、BigQueryは1000カラム制約で使えなかったので代替案... 別プロジェクトなら無料枠でいろいろできそう。 いろいろ試したけど、ダメだった経緯はこちらにまとめました。。 - Firestoreのデータを分析するための3つの方法とその注意点 - Qiita 注意 Firestoreのエクスポート/インポートについて、いくつか注意。 Firestoreのエクスポート/インポートはBlazeプランが必要(無料枠では不可) ドキュメントの読み取りと書き込み時にCloud Firestoreの料金が課金される さらに、 エクスポート / インポート オペレーションのコストは、費用制限の対象にはなりません。 オペレーションが完了するまで、エク

                                              Firestoreのデータをgcloudを使ってバックアップ&別のプロジェクトへインポートしてみる - Qiita
                                            • Cloud FunctionsのCloud Firestoreトリガーの重複発火を防ぐ、より良いアプローチ

                                              Cloud FunctionsのCloud Firestoreトリガーの重複発火を防ぐ、より良いアプローチMonday, December 16, 2019 Cloud Functionsで、Cloud Firestoreトリガーを使う場合、「重複発火」に気をつけないといけません。 本来であれば、記述したCloud Functionsの処理は1回のトリガーで1回だけ実行されてほしいのですが…どういうわけか複数回呼び出されることがたまに起こります。 ちなみに、「少なくとも1回以上実行される可能性がある」ことと、「実行する関数自体は冪等性を担保して実装してね」とドキュメントには記載があります。 Cloud Firestore triggers#Limitations and guarantees 今回は重複発火が起こると困る例や、防ぐためのより良い方法を書いてみようと思います。 重複発火が起こ

                                                Cloud FunctionsのCloud Firestoreトリガーの重複発火を防ぐ、より良いアプローチ
                                              • Firestoreのデータを分析するための3つの方法とその注意点 - Qiita

                                                別の記事を書く前に、いろいろ試したことの備忘録。 Firestoreのデータをいろいろ見たかったけど、 別プロジェクトの移動してみることにした経緯のまとめ。 試したのは以下の3つ エクスポートデータをBigQueryにインポートしてBigQuery上で確認 node-firestore-import-exportを使ってローカルのJSONファイルとしてエクスポートして確認 別プロジェクトにデータを移行して、別プロジェクト上で確認(この記事) それぞれの方法と注意点は以下の通り。 1. BigQueryにインポートして確認 公式ドキュメントなどで紹介されている通り、 FirestoreのデータをBigQueryにインポートできるらしい。 これが一番いい方法だが、後述するカラム10000制約に引っかかったので、諦める形に。。 流れとしては、こんな感じ。 バックファイルファイルを配置できるようC

                                                  Firestoreのデータを分析するための3つの方法とその注意点 - Qiita
                                                • GitHub - rowyio/rowy: Low-code backend platform. Manage database on spreadsheet-like UI and build cloud functions workflows in JS/TS, all in your browser.

                                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                    GitHub - rowyio/rowy: Low-code backend platform. Manage database on spreadsheet-like UI and build cloud functions workflows in JS/TS, all in your browser.
                                                  • Cloud Firestore のクエリが遅くなる理由

                                                    .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads 71 Ads API 10

                                                      Cloud Firestore のクエリが遅くなる理由
                                                    • Introducing the new Firebase JS SDK

                                                      Get ready for a new faster web experience with Firebase. For the longest time you all have asked us to optimize the size of our JavaScript libraries, and we’ve done just that. We’ve released brand new beta libraries that are significantly smaller in size. Some are even up to 80% smaller! We’ve managed to reduce the size all without removing any features from the previous version too! How did we do

                                                        Introducing the new Firebase JS SDK
                                                      • Firebase Firestoreのエミュレーターを使ってローカルで開発する

                                                        もしかしたら皆さん知ってたんでしょうか。おれは最近知りました。(普通にドキュメントに載ってる。) 先にまとめ エミュレーターがあればだいたいローカルで開発できるぞ Firebase コンソールみたいなウェブ UI で閲覧、編集もできる npx firebase init でインストール npx firebase emulators:start で起動 app.firestore().useEmulator("localhost", 8080); でアプリから接続 公式:Firebase Local Emulator Suite の概要 例:ginpei/firebase-emu-example Firestore 以外の Firebase の機能もあるんだけど、本稿では主に Firestore についてお話しします。 ※↓こんな感じです エミュレーターでできること 本物 Firestore

                                                          Firebase Firestoreのエミュレーターを使ってローカルで開発する
                                                        • 型安全なFirestoreフレームワーク「Fireschema」の紹介

                                                          Firestore の JavaScript SDK では、withConverter() を使うと任意のコレクションに型をつけたり自動でデータをデコード/エンコードしたりできますが、コレクションの親子関係の情報は持たないので、SubCollection や Parent を参照するときは毎回手動で withConverter を呼び出さなければなりません。 また、Firestore のセキュリティルールで書き込み時に型チェックをするには手動でルールを記述する必要があり、構文も複雑になりやすいので、できれば TypeScript の型情報から自動でルールを生成したいところです。 Fireschema を使うと、スキーマを宣言的に記述するだけで、親子関係を考慮したデータの型付け、デコード、セキュリティルールの生成などを自動で行うことができます。 Fireschema の機能 Firestor

                                                            型安全なFirestoreフレームワーク「Fireschema」の紹介
                                                          • Firebase 公式動画から『Firestore の DB 設計の基礎』を学ぶ - Qiita

                                                            概要と投稿の背景 本投稿では、Firestore の DB 設計の基礎についてまとめます。 私は普段、都内の企業で Flutter エンジニアとして勤務しています。最近は Python/Django のバックエンド API や、Nuxt.js/Vue.js による Web フロントエンドのタスクにも取り組むことがあるのですが、業務レベルで Firestore を使いこなすような機会はありません。 ですが、趣味や個人で使用する範囲のアプリケーションを開発する際には、DB としての Firestore の便利さ・手軽さ・それでいて高機能な面に魅力を感じており、最近では NoSQL データベースや Firestore の特徴をうまく捉え、メリットを活かしながら、いろいろな規模のサービスを Firestore を用いて実現している例もかなりあるようです。 これから行おうとしている個人開発でも、Fi

                                                              Firebase 公式動画から『Firestore の DB 設計の基礎』を学ぶ - Qiita
                                                            • 個人開発報告: 月例振り返り&開発予定 (2019年9月) - くらげになりたい。

                                                              個人開発界隈、 毎月報告ししていて、おもしろそうだなと。。 あたかさんとかnabettuさんとかTAKASHIさんとかTAKUYAさんとか。。 受託以外でもたべていけるようになりたい。。 なので、今月からやってみようかなと(´ω`) 9月の振り返り 積読ハウマッチ 7月末にリリースした読書管理サービス。 積読を読まなきゃ!を促進したいと思って、 登録した本の総額を計算するサービスを作ってみましたヽ(=´▽`=)ノ だいぶユーザも登録書籍も増えてきて、 自分では見つけられない本と出会えるようになってきた♪ tsundoku.site やったこと: 11回アップデート🚀 振り返ってみると、11回もアップデートしてた(´ω`) 2019/09/02 読書メモ機能を追加 ✨ 2019/09/08 読書メモを改善 ✨ 2019/09/09 洋書検索に対応 ✨ 2019/09/10 FAQ と更新情

                                                                個人開発報告: 月例振り返り&開発予定 (2019年9月) - くらげになりたい。
                                                              • Firestoreのデータ操作(取得, 追加, 更新, 削除) - わくわくBank

                                                                Cloud Firestore SDKを利用して、Firestoreのデータ操作方法を確認します。「ドキュメントの追加, 更新, 取得, 削除」「ページング処理」「トランザクション」「一括書き込み」といった操作方法を取り上げます。 なお、データベースの作成などは下記ページで実行済みです。 Firebase|【入門】Firestoreの使い方 - わくわくBank ドキュメントを追加 新規作成( 自動的にID生成 ) - CollectionReference.add(docData) CollectionReferenceのaddメソッド を利用してドキュメントを追加します。 (async () => { try { // 省略 // (Cloud Firestoreのインスタンスを初期化してdbにセット) const userRef = await db.collection('user

                                                                  Firestoreのデータ操作(取得, 追加, 更新, 削除) - わくわくBank
                                                                • Firestore RulesのテストをJestで書くテスト

                                                                  結論 Jest使うのはやめた方が良さそう(拘りが無い限り) 2020/10/15 追記: そうでもなさそう。「本題」の章に追記有り。 という残念な結果に至ったが、Firestore Rulesにおけるテストの始め方を記していく。恐らく他のJSテストフレームワークでも大差は無い。 初学者向けの説明記事となるので興味無い方は「本題」の章に飛んで頂きたい。 目標 最初のテストを書く。 細かい設定等は端折っているので、そちらは適時公式ドキュメント等を参照して頂きたい。 前提 当記事はFirestoreを用いたJSプロジェクト作成済みの状態を前提とする。 また、Firebase JavaScript SDK は以下の環境を前提としている。 Node.js: 10.15.0 or greater yarn: 1.0.0 or greater java: 1.8.0 or greater Java8+

                                                                    Firestore RulesのテストをJestで書くテスト
                                                                  • [Firebase]Firestoreの設計の思考法(正規化/非正規化)

                                                                    なぜ書くのか? SIerでがっつりSQLServer(RDB)を使って開発をしていたため、 正規化思考が抜けずFirestore(NoSQL)のDB設計をするにあたってかなり苦労したので、 同じ苦労をしている方へFirestoreの設計を学習する入り口を書こうと思いました。 RDBとFirestoreの違い 個人的に一番苦しんだ違いは**テーブル結合(inner join, outer join)**ができなかったことです。 Twitterのフォロー一覧のような機能を作ることを例に見ていきます。 RDBの場合 ユーザーテーブル id name imageUrl profile_text

                                                                      [Firebase]Firestoreの設計の思考法(正規化/非正規化)
                                                                    • FirestoreでTwitterのタイムラインを実装する場合のベストプラクティスとは|Nino|note

                                                                      規模や実装によりますがSaaSを使った方が楽です。詳しい実装や金額を見ていきましょう。Twitter規模のサービスをベースに話を進めます。 Firestoreのみで実装する場合FirestoreはORオペレーターがないのでタイムラインを実装するにはフォロワー全員のタイムラインコレクションにツイートの参照を追加する必要があります。 たとえば300万人のフォロワーがいるHIKAKINが「おはよう」とツイートした場合、おはようツイートのIDをフォロワー全員のタイムラインコレクションに計300万回書き込む必要があります。 FirebaseのBlazeプランでは1書き込みが0.00018円なので300万回を掛けて540円が費用として発生します。また、通信量やDB容量も嵩むので厳密にはさらにコストがかかります。 逆にタイムライン表示は単に各ユーザーのタイムラインコレクションを呼ぶだけですみます。ノーコ

                                                                        FirestoreでTwitterのタイムラインを実装する場合のベストプラクティスとは|Nino|note
                                                                      • 【図で解説】Firestoreでできること・できないこと

                                                                        Firestoreとは Google社が提供するNoSQL型のデータベースです。 特徴として、リアルタイムのデータを受信できる、つまりDB側のデータが変更されるとすぐに、クライアント側に反映される仕組みを提供しています。 FirestoreはNoSQLの1つ NoSQLとはざっくり言えば、RDB以外のデータベース製品です。FirestoreもNoSQLの1つです。Firestoreのデータ構造は、個人的な印象でいえば階層化されているKVSです。 KVSとは KVS(Key-Value Store)とは、JavaでいうMap、Pythonでいう辞書、PHPでいう連想配列にあたるデータ構造です。キーとそれに紐づけられたデータを管理します。 KVSは一般的に逆引きに弱いです。逆引きとは、条件を満たすデータを取得することです。例えば、ユーザIDがキーで名前と電話番号が関連付けられたデータのとき、名

                                                                          【図で解説】Firestoreでできること・できないこと
                                                                        • firestore の入出力に型をつける

                                                                          firestore の SDK に withConverter というメソッドがあるのですが、その宣伝です。 型が欲しいってどういうこと? たとえば firestore 上のあるドキュメントが name と age というフィールドを持っているとして、それをクライアントが取得したときそのデータに name と age が存在する保証はあるのでしょうか。 db.collection("user") .withConverter(converter) .get() .then(result => { const data = result.docs.map(d => ({ // 本当にnameがある? name: d.data().name, // 本当にageがある? age: d.data().age, })) setState(data) }) d.data() はクライアントバリデーシ

                                                                            firestore の入出力に型をつける
                                                                          • 【個人開発】FlutterとFirebaseでサボり防止アプリを作った - Qiita

                                                                            (2022年6月追記) 2022年6月現在、この記事にあるアプリよりも、ほぼ同じコンセプトのReact+NextJS製webサービス「みんなで作業場」に滞在していることが多いです。 是非お越しください! アプリ 先日、個人開発アプリをリリースしました!やったね!!! 審査も通りまして、現在App StoreとPlay Storeで配信されております。 App Store Play Store せっかくなので、利用した技術のメリットと注意点をまとめておこうと思います。 作ったアプリ これです。 広報用ページも作ってみたのでリンクを貼っておきます。 広報用ページはスマホで見る用にレイアウトしてます。 監視し合う会 〜お互いサボらないようにみんなで作業しよう〜 英語名: Procrastinators Watch Mutually 解決したい課題 やらなきゃいけないことがあるのに、なかなか取り組

                                                                              【個人開発】FlutterとFirebaseでサボり防止アプリを作った - Qiita
                                                                            • Firestore のデータを TypeScript と Security Rules で安全に扱う話 - GiXo Ltd.

                                                                              TAG : Advent Calendar | Firebase | Firestore | React | Refeed | Tech & Science | TypeScript | トチカチ | フロントエンド AUTHOR :   ギックス POSTED :  2020.12.16 08:22 この記事は GiXo アドベントカレンダー の 16 日目の記事です。 昨日は、TableauのLOD表現で注意すべきことでした。 MLOps Div. の堀越です。突然ですがみなさん Firestore は好きですか?私は好きです。ときどき「安定してない」、「パフォーマンスにムラがある」、「モジュールでかすぎ」といった苦言も見かけますが、弊社のように少人数で開発を行うチームにとってフルマネージドの Firestore はサービス開発に欠かせない存在となっています。なお、先日のMLOps D

                                                                                Firestore のデータを TypeScript と Security Rules で安全に扱う話 - GiXo Ltd.
                                                                              • Cloud Firestore のベスト プラクティス  |  Firebase

                                                                                フィードバックを送信 Cloud Firestore のベスト プラクティス コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 ここで紹介するベスト プラクティスは、Cloud Firestore を使用するアプリケーションを構築する際のクイック リファレンスとしてご利用ください。 データベースのロケーション データベース インスタンスを作成するときは、ユーザーとコンピューティング リソースに最も近いデータベースのロケーションを選択してください。広範囲に及ぶネットワーク ホップはエラーが発生しやすく、クエリのレイテンシを増加させます。 アプリケーションの可用性と耐久性を最大化するには、マルチリージョン ロケーションを選択し、重要なコンピューティング リソースを少なくとも 2 つのリージョンに配置します。 アプリケーションでレイテンシが重要な場合や、他の GC

                                                                                • モバイル向けNoSQL「Firestore」で件数を数える「count()関数」、期限付きデータ「Time To Live」など新機能。Firebase Summit 2022

                                                                                  モバイル向けNoSQL「Firestore」で件数を数える「count()関数」、期限付きデータ「Time To Live」など新機能。Firebase Summit 2022 Googleは10月18日に米ニューヨークでモバイル向けのバックエンドサービスであるFirebaseにフォーカスしたイベント「Firebase Summit 2022」を開催し、モバイル向けのNoSQLデータベースFirebaseの新機能として、件数を数える「count()」関数や期限が来たら自動的にデータが消去される「Time To Live」などを発表しました。 クエリ結果の件数を返してくれるcount()関数 これまでFirebaseでクエリの結果何件のデータがマッチしたのかを数えるには、プログラマが検索処理の後になんらかの手法で件数を数える処理を記述する必要がありました。 件数を数えることは比較的ニーズの高

                                                                                    モバイル向けNoSQL「Firestore」で件数を数える「count()関数」、期限付きデータ「Time To Live」など新機能。Firebase Summit 2022