fbpx
  1. HOME
  2. ブログ
  3. IT技術
  4. 【第2回】Go言語(Golang)入門~Firestore導入編~

【第2回】Go言語(Golang)入門~Firestore導入編~

Go言語(Golang)を習得したい!~第2回~

(株)ライトコードの笹川(ささがわ)です。

前回に引き続き、今回もGo言語(Golang)の修得を目指していきたいと思います。

前回は、パッケージ管理ツールまで入れましたので環境は下記のようになっています。

端末Mac Book Pro
OSmacOS Mojave 10.14.6
Golang version1.13
パッケージ管理ツールdep
IDEVScode

前回の記事はこちら

Firestoreを利用してみる

これから何を書いていくか…?

迷ったのでTwitterでアンケートを取ってみました!

結果、「Fire Storeを使ったNoSQLの何か」が1位に!

今回は、Firestoreでなにかやってみようかと思います!

Firestoreとは?


FirebaseやGCPが提供しているサービスの1つで、いわゆるNoSQLのクラウドデータベースです

モバイルアプリケーションなどでは、各ローカルにデータベースを持ったりすることも多いですが、API側でデータを保存することも多いはずです。

本来ならば自分たちでデータベースを用意し、APIとしてのエンドポイントを用意しなければいけません。

しかし、Firestoreを利用するとGUIで設定をするだけで、その日から使えてしまう便利なサービスです。

もっと詳しく知りたい方は、Firestoreの公式ページをご覧ください!

関連記事

また、Firebaseのアカウント登録プロジェクト作成の方法は、以下ブログを参考にしてみて下さい。

笹川は、個人開発でFirebaseを利用している関係上、そのまま利用したいと思います。

データベースを作成してみよう

【公式ドキュメント】
https://firebase.google.com/docs/firestore/quickstart?hl=ja

上記の公式ドキュメントを参考に進めていきたいと思います。

多言語の説明が1ページに集まっていて、「いつもの言語だとこう書くのか」とチラ見しながら出来るので優しいドキュメントだと感じます。

データベースの新規作成

データベースの新規作成から行ってみたいと思います。

モードは、お試し導入なので「テストモード」にします。

ロケーションは、特に設定できなかったのでそのまま「完了」にします。

(どうやら以前に何かしたので変えられませんでした)

構築完了を待ちます。

無事、構築できたようです

データベースの構築が完了しました。

Firebase側の設定は、一旦ここで終わりとなります。

次からは、Go言語(Golang)側での導入になります。

Firestoreの導入をしてみよう

ドキュメントには、go getを利用したやり方が最初に出てきます。

しかし、笹川は前回、depを入れているのでここはスキップします。

importに書いて、dep ensureすれば、Firestoreを導入できるはずです。

goファイルのimportにfirebaseの記述を追記

dep コマンドを実行します。

エラーが出なければ成功です。

確認

念の為、導入できているか確認しましょう

問題ないようです!

初期化してみよう

無事に導入をしたので、実際に初期化をして疎通確認をします。

今回は、GCPではなく、ローカルで作業をしているので「各自のサーバーで初期化する」の方になります。

サービスアカウントの作成

サービスアカウントを利用する必要があるので、GCPのコンソールから「IAMと管理」「サービスアカウント」へ行きます。

サービスアカウントの作成方法は、以下のドキュメントを参考にします。

【インスタンスのサービス アカウントの作成と有効化】
https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-instances?hl=ja

練習用なので適当に作っていきたいと思います。

今回は、練習用なので「オーナー」にします。

一応、役割については、以下のドキュメントを参考にしてください。

【役割について】
https://cloud.google.com/iam/docs/understanding-roles?hl=ja

アクセス周りのオプションは、特に設定せず、鍵となるjsonを生成したいと思います。

1~2分で作成が完了します。

というわけで!

無事にサービスアカウントを作成し、ローカルにJsonファイルが保存されました。

Jsonファイルは、serviceAccount.jsonにリネームし、path/toに設置します。

ディレクトリがない場合は、作成が必要となります。

ファイル構造としては下記のようになるはずです。

ようやくFirestoreのドキュメントに戻ってきました。

main.go

main.goは、下記のように書きます。

実行

実行してみましょう!

エラーが出なければ初期化成功です!

お疲れさまでした!

これで、Firestoreの導入は終わりです。

さいごに

今回は、Firestoreの導入までです。

次回は、実際にデータ操作をしたり、モバイルアプリ(Flutter)などとデータ共有をしたりしたいと思います!

ちなみに、今回作成したgoファイルはこちらのリポジトリにて管理しています。

一緒に働いてくれる仲間を募集しております!

ライトコードでは、仲間を募集しております!

当社のモットーは「好きなことを仕事にするエンジニア集団」「エンジニアによるエンジニアのための会社」。エンジニアであるあなたの「やってみたいこと」を全力で応援する会社です。

また、ライトコードは現在、急成長中!だからこそ、あなたにお任せしたいやりがいのあるお仕事は沢山あります。「コアメンバー」として活躍してくれる、あなたからのご応募をお待ちしております!

なお、ご応募の前に、「話しだけ聞いてみたい」「社内の雰囲気を知りたい」という方はこちらをご覧ください。

ライトコードでは一緒に働いていただける方を募集しております!

採用情報はこちら

書いた人はこんな人

笹川 (社員)
笹川 (社員)
新潟生まれ新潟育ち本業はモバイルアプリエンジニア。
日々、猫(犬)エンジニアとして活躍中!

関連記事