skillup

技術ブログ

Database JavaScript

Firebaseについて

投稿日:

前回Lambdaに少し触れましたが、2019年6月現在、サーバーレスなアプリというものが活況(?)のようです。

大規模なアプリというと

Webサーバー+RDB+サーバーサイドプログラミング言語

が必須かと思いますが、モバイルなどのシングルページアプリケーションの開発の記事を見ますと

Firebase+Vue.js

の記事なんかをよく見ます。ちょっと興味もあり少しメモです。

  • いわゆるNoSQLでデータはJSON形式で保存。
  • (m)Bass(mobile backend as a Service)と言われるサービス
  • Realtime Database DBサーバーとクライアントがダイレクトに通信
  • モバイルなどの小規模(データ構造が複雑じゃない?)向けのものに適性あり?

私がついていけてるのはここまで・・(汗)

参考リンク(NoSQLのものも)

NoSQLとは?RDBMSと比較しながら分かりやすく解説

わかる!Firebase ~全てのサービスをおつまみ紹介~

最初はRedisとかの派生かとも思ったんですが、また違うもののようですね。

環境構築編

色々なサービスがありますが、今までのDBサーバの代替として一般的に使うのは「Database」というデータベースのサービスかと思われます。

データベースのサービスにも「Cloud Firestore」と「Realtime Database」の2種類があります。

Cloud FirestoreとFirebase Realtime Databaseの違い

まだ違いがよくわかっていないですが、今回Realtime Databaseを使ってみました。

FirebaseのRealtime Databaseをざっくり使ってみる ~導入から取得編(保存に関しては編集中)~

アプリから使用する場合、アカウント作成後、ログインした後には認証キーを使います。

プロジェクト設定→全般→マイアプリ→対象のアプリ選択「アプリ名」→ Firebase SDK snippet

CDNでもJSONでもよいですが、ここで吐かれている情報が必要になります。

なお、書き込み権限がディフォルトにはないらしいので、許可しておきましょう。

Database→RealtimeDatabase→ルール

下記のようにルール設定しておけばOKです。

ここまで設定すれば実際のアプリから書き込むことができます。

調査中なことなど

firebaseとfirebase-adminという二つのSDKがあるようですが、使い方がまだようわかっとりません・・・

ソースコード

https://github.com/umanari145/vue/tree/master/vuecompo_sample2

具体的なfirebaseのメソッドなど

Firebase RealTime DatabaseでCRUDを作成する方法

-Database, JavaScript
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

CakePHPでの数字カンマ区切り&PHP&MySQL曜日の出力

今回は主に時間やお金の表示など、出力に関するネタです。 Contents1 Cakeでのカンマ区切り1.1 単純なカンマ区切り 例1,0001.2 \をつけるケース 例 \1,0001.3 円をつける …

no image

SQL基礎 結合に関して

SQL実践入門を読んで勉強しておりますが、本日は結合に関して。 Contents1 クロス結合2 内部結合3 外部結合4 結合のアルゴリズムとパフォーマンス4.1 NestedLoops4.2 Has …

no image

JavaScriptのexport

JavaScriptのexportについて。 es6の大きなメリットとして、ライブラリをモジュール化して、外部から読み込むことができますが、読み込み方に少し癖があります。 気をつけるポイントとしては、 …

no image

外部結合について 行列変換

今回から外部結合について学習します。 これはCASE式でもやった集合の考え方が大事になってきます。 例えば下記のようなテーブルCoursesとがあるとします。 name | course &#8212 …

no image

HAVING句の活用 発展編

今回からはまたまたHAVING句です。 下記のようなテーブル(teams)があり、全員が待機状態のチーム(全員がそろっている)を求めます。 member | team_id | status &#82 …