すこし遅れましたが明けましておめでとうございます。本年も宜しくお願い申し上げます。 さて、昨年末Advent Calendar用に書いていた「Firebaseでチャットアプリを作る日記」ですが、今年もペースは落としつつ少しずつ進めていければと思っています。 本日は…
Firebase #2 Advent Calendar 2019 の 12/24にエントリして、それに向けてFirebaseでチャットアプリを作成してきました。 日中は本業があるので主に深夜〜早朝に作業しました。 進捗はかなり遅いですが毎日少しずつでも前に進めることを心がけました。 結局…
まず最初に述べておきますが本日の記事は、「想定していた機能が作れなかった」撃沈編となりますorz 最後まで読んでも検索機能は完成しませんのでご容赦下さい。 やりたかったこと メッセージを全文検索したい 自分の所属する複数ルームを跨いで検索可能 投…
メッセージの自動更新 昨日の記事 で、メッセージ一覧の取得を行いました。 一人で書き込んでる分には一見追加したメッセージが一覧に反映されていきますが、これだけでは他のユーザーが登録したメッセージが反映されません。 幸いCloud Firestore in Native…
本日はメッセージの登録と一覧取得を行います。 データ構造 親ドキュメント - rooms/{room} コレクション - messages id - 自動採番 プロパティ 型 説明 from string 投稿者 text string 内容 members array 参加者リスト createdAt date and time 投稿日時 …
モバイルやWEBのClient LibraryからFirestoreにアクセスする場合、ユーザーがどのデータを参照・更新可能か、セキュリティルールを設定しておく必要があります。 ちなみに現在はFirestore初期化時に「テストモード」を選択した為下記の様になっています。 ru…
本日はルームの一覧を取得して、Slackっぽくサイドバーに表示させたいと思います。 画面イメージ 方針 前日 で作成したroomドキュメントはmembersプロパティに参加者のarrayを保持しています。 このarrayにサインインしているユーザーが含まれているものを検…
本日よりいよいよチャット本体の作成にとりかかります。 まずはチャットルーム(SlackでいうところのChannel)の追加機能をつくります。 Cloud Firestore (Native mode) FirestoreのNative modeについて調べます。 firebase.google.com 眺めてざっくりと所感…
4日目になります。 昨日 明日以降はいよいよアプリ本体機能の作成に着手していきます などと言っていましたが諸事情により時間が確保できなかった為、サインアウト処理を追加してお茶を濁します いやー、サインアウトできないといろいろ問題ありますしね(^_…
今日は近所の美術館の粘土教室に子供を連れて行ってきました。 ほんとに陶芸で使う様な粘土を大量に使って好きに遊べるので、ものすごく楽しかったです。 子供そっちのけで親が夢中になってしました。 ってホントに日記になってしまってますね(^^;; 本日はあ…
今日はGDG DevFest Tokyoへ行ってきました。 目的はもちろんFirebaseです(それだけではないですが)。 Firebaseの有意義な話がたくさん聞けました。 今帰りの新幹線でこの記事を書いています(^_^; 本日より早速アプリを作っていこうと思います。 とりあえず…
早速Firebaseでアプリ作っていきます。 プロジェクト作成 Firebaseとは?どんな機能あるの? とか考える前にとりあえずプロジェクト作ってみます! 作りながら困ったら調べることにします(^_^; https://console.firebase.google.com/?hl=ja のページから「新…
代表のIkeda(@hogedigo)です。 ものすごく久しぶりの会社ブログ更新となってしまいました(反省) 最近Firebaseがすごく盛り上がっている様に見えます。実は個人的には殆ど触っていないので、勉強がてらアプリでも作って見ようかなー、と思い立ちました。 通…
注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m Google App Engine for GoでのGOPATH設定についていろいろ試行錯誤したのでメモしておきます。 ベストプラクティスかどうかは分かりません。 わるいGOPATH まず、今迄ずっとやっていて相当ス…
注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m ionicでAngularJSの$anchorScrollを使ってハマった だいぶお久しぶりになりますマツウラです。 今回はionic frameworkでAngularJSの$anchorScrollが期待通りに動作しなかったことについてで…
注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m どうもお久しぶりになります、マツウラです。 取り上げる内容は、Google App EngineのDatastoreにおけるAncestorクエリです。 今回Ancestorクエリについて調べたのは次の理由からです。 put…
注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m どうもこんにちわ。マツウラです。 今回はGAEアプリケーションのModulesやバージョンと、CronやTaskqueueの設定がどう関連しているのかをいろいろ試してみました。
注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m こんちわ!マツウラです。 前回に引き続きGAE/GoからBigQuery APIを使用してみます。 今回は、BigQueryにデータのリアルタイム挿入を行うStreaming Insertをやってみます。
注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m どうもこんにちわ!マツウラです。 今回はGAE/Goと、BigQueryの組み合わせです。 BigQueryにデータセットを用意して、クエリを実行するところまでやっていこうと思います。
Ikedaです。 Goのstringとruneについて曖昧な知識のまま使ってきたが、そろそろちゃんと理解しようと思って下記事を読みました。 Strings, bytes, runes and characters in Go - The Go Blog ざっくりと抜粋。 stringは実質read-onlyなbyteスライス。中身はU…
注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m 前回に引き続きこんにちわ!マツウラです。 今回はグラフからデータの一部を表示したいときに使うDataViewについてです。
注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m どうもこんにちわ!マツウラです。 今回はサイト上でデータの可視化を行う補助をしてくれるGoogle Chartの基本的な使い方についてです。
注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m どうもこんにちわ!マツウラです。 Push,Pullに続き今回はdelayパッケージについてです。 タスク毎に異なるハンドラを定義する手間を省くことが出来るのでちょっとしたタスク処理に便利そう…
注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m こんにちわ!マツウラです。 前回のPushキューに引き続き、今回はPullキューについてです。 公式ドキュメントを参考に見てゆこうと思います。
注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m どうもこんにちわ!マツウラです。 今回はデータストアを取り上げたことに続いてタスクキューについてです。 Go言語版のタスクキュードキュメントを参考に見てゆこうと思います。
注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m こんにちは、マツウラです! これまで2回連続して見てきましたGo言語版のDatastoreインターフェースの機能ですが、3回目の最後は構造化プロパティについてです。 エンティティのプロパティ…
注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m どうもこんにちわ!マツウラです。 前回はDatastoreインターフェースにおいてGo言語特有の機能であるPropertyLoadSaverについてでした。 今回はプロパティのタグ付け機能について見てゆきま…
注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m どうもこんにちわ!マツウラです。 今回はGo言語版のDatastoreインターフェースにおいて、 Java,Pythonとは異なる特徴的な機能を見てゆこうと思います。
注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m どうもこんにちわ!マツウラです。 今回はオペレーションを確実に実行するため用いるトランザクションについてです。 それではGo言語での使い方について見てゆきます。
注:古い記事の為、内容が最新ではない可能性がありますm(_ _)m こんにちわ!マツウラです。 前々回、前回と引き続きGo言語によるApp Engine Datastoreクエリについてです。 今回はエンティティ全体を取得する通常のクエリに対して、任意のプロパティ値の…