The Round

合同会社ナイツオの開発ブログ

[PR] 5分から相談できるGCP™ 開発コンサル!→こちら

Firebaseでチャットアプリを作る日記(11日目)〜 メッセージの検索(復活編)

すこし遅れましたが明けましておめでとうございます。本年も宜しくお願い申し上げます。 さて、昨年末Advent Calendar用に書いていた「Firebaseでチャットアプリを作る日記」ですが、今年もペースは落としつつ少しずつ進めていければと思っています。 本日は…

Firebaseでチャットアプリを作る日記 〜 10日目までのまとめ

Firebase #2 Advent Calendar 2019 の 12/24にエントリして、それに向けてFirebaseでチャットアプリを作成してきました。 日中は本業があるので主に深夜〜早朝に作業しました。 進捗はかなり遅いですが毎日少しずつでも前に進めることを心がけました。 結局…

Firebaseでチャットアプリを作る日記(10日目)〜 メッセージの検索(撃沈編)

まず最初に述べておきますが本日の記事は、「想定していた機能が作れなかった」撃沈編となりますorz 最後まで読んでも検索機能は完成しませんのでご容赦下さい。 やりたかったこと メッセージを全文検索したい 自分の所属する複数ルームを跨いで検索可能 投…

Firebaseでチャットアプリを作る日記(9日目)〜 メッセージの自動更新

メッセージの自動更新 昨日の記事 で、メッセージ一覧の取得を行いました。 一人で書き込んでる分には一見追加したメッセージが一覧に反映されていきますが、これだけでは他のユーザーが登録したメッセージが反映されません。 幸いCloud Firestore in Native…

Firebaseでチャットアプリを作る日記(8日目)〜 メッセージの登録、一覧取得

本日はメッセージの登録と一覧取得を行います。 データ構造 親ドキュメント - rooms/{room} コレクション - messages id - 自動採番 プロパティ 型 説明 from string 投稿者 text string 内容 members array 参加者リスト createdAt date and time 投稿日時 …

Firebaseでチャットアプリを作る日記(7日目)〜 Firestore セキュリティルールを書く

モバイルやWEBのClient LibraryからFirestoreにアクセスする場合、ユーザーがどのデータを参照・更新可能か、セキュリティルールを設定しておく必要があります。 ちなみに現在はFirestore初期化時に「テストモード」を選択した為下記の様になっています。 ru…

Firebaseでチャットアプリを作る日記(6日目)〜 ルームの一覧を取得する

本日はルームの一覧を取得して、Slackっぽくサイドバーに表示させたいと思います。 画面イメージ 方針 前日 で作成したroomドキュメントはmembersプロパティに参加者のarrayを保持しています。 このarrayにサインインしているユーザーが含まれているものを検…

Firebaseでチャットアプリを作る日記(5日目)〜 ルームを作成する

本日よりいよいよチャット本体の作成にとりかかります。 まずはチャットルーム(SlackでいうところのChannel)の追加機能をつくります。 Cloud Firestore (Native mode) FirestoreのNative modeについて調べます。 firebase.google.com 眺めてざっくりと所感…

Firebaseでチャットアプリを作る日記(4日目)〜 サインアウト

4日目になります。 昨日 明日以降はいよいよアプリ本体機能の作成に着手していきます などと言っていましたが諸事情により時間が確保できなかった為、サインアウト処理を追加してお茶を濁します いやー、サインアウトできないといろいろ問題ありますしね(^_…

Firebaseでチャットアプリを作る日記(3日目)〜 メールアドレスのVerification

今日は近所の美術館の粘土教室に子供を連れて行ってきました。 ほんとに陶芸で使う様な粘土を大量に使って好きに遊べるので、ものすごく楽しかったです。 子供そっちのけで親が夢中になってしました。 ってホントに日記になってしまってますね(^^;; 本日はあ…

Firebaseでチャットアプリを作る日記(2日目)〜 メールアドレス/パスワード認証

今日はGDG DevFest Tokyoへ行ってきました。 目的はもちろんFirebaseです(それだけではないですが)。 Firebaseの有意義な話がたくさん聞けました。 今帰りの新幹線でこの記事を書いています(^_^; 本日より早速アプリを作っていこうと思います。 とりあえず…

Firebaseでチャットアプリを作る日記(1日目)〜 プロジェクト&アプリ作成

早速Firebaseでアプリ作っていきます。 プロジェクト作成 Firebaseとは?どんな機能あるの? とか考える前にとりあえずプロジェクト作ってみます! 作りながら困ったら調べることにします(^_^; https://console.firebase.google.com/?hl=ja のページから「新…

Firebaseでチャットアプリを作る日記(0日目)〜 決意表明

代表のIkeda(@hogedigo)です。 ものすごく久しぶりの会社ブログ更新となってしまいました(反省) 最近Firebaseがすごく盛り上がっている様に見えます。実は個人的には殆ど触っていないので、勉強がてらアプリでも作って見ようかなー、と思い立ちました。 通…

GAE/Go でのGOPATH設定

注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m Google App Engine for GoでのGOPATH設定についていろいろ試行錯誤したのでメモしておきます。 ベストプラクティスかどうかは分かりません。 わるいGOPATH まず、今迄ずっとやっていて相当ス…

ionicでAngularJSの$anchorScrollを使ってハマった

注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m ionicでAngularJSの$anchorScrollを使ってハマった だいぶお久しぶりになりますマツウラです。 今回はionic frameworkでAngularJSの$anchorScrollが期待通りに動作しなかったことについてで…

GAE/Go Ancestorクエリについて

注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m どうもお久しぶりになります、マツウラです。 取り上げる内容は、Google App EngineのDatastoreにおけるAncestorクエリです。 今回Ancestorクエリについて調べたのは次の理由からです。 put…

Google App EngineのModules・Versionsとqueueやcronの設定ファイルとの関連をいろいろ試してみた。

注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m どうもこんにちわ。マツウラです。 今回はGAEアプリケーションのModulesやバージョンと、CronやTaskqueueの設定がどう関連しているのかをいろいろ試してみました。

Google App Engine for GoからBigQueryへStreaming Insertしてみる

注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m こんちわ!マツウラです。 前回に引き続きGAE/GoからBigQuery APIを使用してみます。 今回は、BigQueryにデータのリアルタイム挿入を行うStreaming Insertをやってみます。

Google App Engine for GoからBigQuery APIを使ってみる

注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m どうもこんにちわ!マツウラです。 今回はGAE/Goと、BigQueryの組み合わせです。 BigQueryにデータセットを用意して、クエリを実行するところまでやっていこうと思います。

Go言語のstring, runeの正体とは? - golang

Go

Ikedaです。 Goのstringとruneについて曖昧な知識のまま使ってきたが、そろそろちゃんと理解しようと思って下記事を読みました。 Strings, bytes, runes and characters in Go - The Go Blog ざっくりと抜粋。 stringは実質read-onlyなbyteスライス。中身はU…

Google Chartでデータを可視化する その2〜基本のDataView〜

注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m 前回に引き続きこんにちわ!マツウラです。 今回はグラフからデータの一部を表示したいときに使うDataViewについてです。

Google Chartでデータを可視化する その1〜基本のDataTable〜

注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m どうもこんにちわ!マツウラです。 今回はサイト上でデータの可視化を行う補助をしてくれるGoogle Chartの基本的な使い方についてです。

GAE/Go TaskQueueについて その3~Delayパッケージ~

注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m どうもこんにちわ!マツウラです。 Push,Pullに続き今回はdelayパッケージについてです。 タスク毎に異なるハンドラを定義する手間を省くことが出来るのでちょっとしたタスク処理に便利そう…

GAE/Go TaskQueueについて その2~Pullキュー~

注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m こんにちわ!マツウラです。 前回のPushキューに引き続き、今回はPullキューについてです。 公式ドキュメントを参考に見てゆこうと思います。

GAE/Go TaskQueue その1~Pushキュー~

注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m どうもこんにちわ!マツウラです。 今回はデータストアを取り上げたことに続いてタスクキューについてです。 Go言語版のタスクキュードキュメントを参考に見てゆこうと思います。

GAE/Go Datastore特有の機能~構造化プロパティ~

注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m こんにちは、マツウラです! これまで2回連続して見てきましたGo言語版のDatastoreインターフェースの機能ですが、3回目の最後は構造化プロパティについてです。 エンティティのプロパティ…

GAE/Go Datastore特有の機能~プロパティのタグ付け~

注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m どうもこんにちわ!マツウラです。 前回はDatastoreインターフェースにおいてGo言語特有の機能であるPropertyLoadSaverについてでした。 今回はプロパティのタグ付け機能について見てゆきま…

GAE/Go Datastore特有の機能~PropertyLoadSaver~

注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m どうもこんにちわ!マツウラです。 今回はGo言語版のDatastoreインターフェースにおいて、 Java,Pythonとは異なる特徴的な機能を見てゆこうと思います。

GAE/Go トランザクション

注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m どうもこんにちわ!マツウラです。 今回はオペレーションを確実に実行するため用いるトランザクションについてです。 それではGo言語での使い方について見てゆきます。

GAE/Go プロジェクションクエリ

注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m こんにちわ!マツウラです。 前々回、前回と引き続きGo言語によるApp Engine Datastoreクエリについてです。 今回はエンティティ全体を取得する通常のクエリに対して、任意のプロパティ値の…