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
こんなWebサービスをリリースしたので、技術的な話をまとめておこうと思います。 元々このサービスは、趣味の延長線のような感じで開発を始めました。競合にあたるnoteやはてなブログなどのサービスが確固たる地位を築いているということもあり、「お金にはならないだろうけど、自分の趣味を詰め込んだものにしよう」というゆるい気持ちで開発を続けています(楽しい)。 選定の方針 趣味と言っても文章投稿サービスなので、ユーザーが少数であったとしても長期間運営しなければなりません。そのため、ユーザー数が少なければランニングコストが数千円/月以下、ユーザー数が増えたときは段階的にコストが上がるように選定を行いました。 アプリケーション フルスタックNext.jsアプリケーションをCloud Runにデプロイしています。各APIエンドポイントはNext.jsのAPI Routesで生やしています。 Next.js
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がキーで名前と電話番号が関連付けられたデータのとき、名
指定した時間に関数が実行されるようにスケジュールを設定する場合は、onSchedule ハンドラを使用して、トピックに関するイベントを Cloud Scheduler を使用してトリガーする Pub/Sub トピックを作成します。 始める前に Firebase プロジェクトでこのソリューションを使用するには、プロジェクトに Blaze 料金プランを適用している必要があります。Blaze プランをまだ適用していない場合は、料金プランをアップグレードしてください。 有償にはなりますが、Cloud Scheduler の各ジョブのコストは月額 $0.10(USD)です。また、Google アカウントごとに 3 つのジョブを無料で使用できます。そのため、全体的なコストとしては比較的手頃な範囲に抑えることができます。Blaze の料金計算ツールを使用すると、予想使用量に基づく料金見積もりを作成できま
プロジェクトに Cloud Functions を統合すると、多くの独立した関数を収めるようにコードを拡張できます。ただし、1 つのファイルに収めるには関数が多すぎたり、さまざまなチームがさまざまな関数グループをデプロイすると、あるチームが別のチームの関数を上書きしたり、誤って削除したりするおそれがあります。関数の処理とメンテナンスが簡単になるように、Cloud Functions には、コードを整理するさまざまな方法が用意されています。 コードベースで関数を整理する firebase.json にある関数の構成オブジェクトの codebase プロパティを使用すると、単一リポジトリの monorepo 設定内で、複数のリポジトリまたはサブパッケージにまたがる、関数の大規模なコレクションを管理できます。 # firebase.json "functions": { "codebase":
フィードバックを送信 Cloud Functions で可能な処理 コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 Cloud Functions によって、デベロッパーは Firebase および Google Cloud イベントにアクセスでき、それらのイベントに対応してコードを実行するスケーラブルな処理能力を得ることができます。Firebase アプリでは、独自の要件を満たすために独自の方法で Cloud Functions を使用することが想定されますが、典型的な使用例は次の領域に分類されます。 関心事が発生したときにユーザーに通知します。 データベースのサニタイズとメンテナンスを実行します。 アプリではなくクラウドで集中的なタスクを実行します。 サードパーティのサービスおよび API と統合します。 興味のあるカテゴリの使用例とサンプルを確認して
先日、GAEとCloud Functionsでpuppeteerを動かすコードを紹介しているエントリが公開されました。 cloud.google.com puppeteer、というかChromeを動かすためには実は様々な依存ライブラリをインストールする必要があるのですが、Cloud Functionでは環境そのもののカスタマイズはできなかったので今まではpuppeteerを動かすことはできませんでした。 GAEとCloud Functionでnodejs 8が使えるようになったのと同時に、実行環境のベースのイメージが新しくなった(Ubuntu 18.04とのこと)のでpuppeteerが使えるようになったようです。 ちょっと試してみる分には、先程の記事のソースコードがgithubにアップされているので自分のGCPのプロジェクトにデプロイすることで動くことが確認できると思います。 ただFir
Cloud Functions for Firebase とは Cloud Functions のラップのようなもので Firebase の各機能との連携が取りやすくなっているらしい。 Firebase の各機能についてはこちらの記事が参考になる: わかる!Firebase ~全てのサービスをおつまみ紹介~ 後述する firebase-tools により、コマンドラインからコマンドひとつでボイラープレートの作成とデプロイが簡単にできるようになっている。 これは主観だけど、今までずっと使ってきた AWS Lambda なんかより格段にとっつきやすい感じがする。Firebase は Web の画面も UI が洗練されてるから使ってて気持ちいい。すぐできるから今すぐチャレンジ。 必要なもの Google アカウント Node 環境 (私は v8.11.2) 3分程度のやる気 追記1: 本記事公開
フィードバックを送信 はじめに: 最初の関数の記述、テスト、デプロイ コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 Cloud Functions を使用するにあたり、まずはチュートリアルを実践してください。このチュートリアルでは、必要な設定タスクから始め、次の 2 つの関連する関数を作成、テスト、デプロイします。 メッセージを追加する関数。テキスト値を受け取る URL を公開して Cloud Firestore に書き込みます。 テキストを大文字に変換する関数。Cloud Firestore の書き込みでトリガーされ、テキストを大文字に変換します。 このサンプルでは、Cloud Firestore と HTTP でトリガーされる JavaScript 関数を選択しました。その理由の 1 つとしては、これらのバックグラウンド トリガーは Firebase
作ったものフロント側は全く作ってないんですが、私が住んでいるバンクーバーのFront End Developerの平均給与をいくつかのサイトからスクレイピングしてFirebaseのデータベースへ格納するといったとてもシンプルなものを作りました。日本ではどれぐらいあるのかわからないんですが、こっちだとポジションの平均給与がユーザーからの自己申請で出てます。調べてて思ったんですが、サイトによってすごくばらつきがありました。 後々フロント側を作って公開しようと思います🚀 Firebase FunctionsFirebase Functionsっていつも個人的には読んでるんですが、正式にはCloud Functions for Firebaseです。Google Cloud Platformのサービスの一つCloud FunctionsをFirebaseと連携させる感じですね。基本的にはFire
cloud functions × puppeteer × Google Apps Scriptで定期実行されるクローラを作ってみます。 今回は毎週月曜に今週の金曜ロードショーをslackで通知させるようにしてみます。 cloud functionsはGCPで利用できるAWSのlumbdaのようなもので、サーバーやランタイム環境を管理することなく、簡単に単一目的のスタンドアロン関数を作成することができます。 実務でも使っていますが、サーバレスでのAPI提供がcloud functionsならすぐに、且つ、簡単にできるのでオススメです。 そのcloud functionsですが8月にpuppeteerのサポートが行われました。 cloud.google.com puppeteerはheadless chromeを操作するchrome公式のnodeライブラリです。 github.com クロー
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? こんにちは。もぐめっとです。 歳のせいか、おでこのシワが最近隠せません。 話は戻り、最近とうとうfirebase extensionsでstripeのextensionが発表されましたね! 🚨New Extensions alert! 🚨 We’re unveiling two brand new Extensions with @StripeDev that help you run subscription payments and send invoices in your web apps. Find them here →
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く