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
いわゆるサーバーレス。 TL;DR すべてのリクエストを Firebase Functions に流して next.js に食わせた結果を返すとSSRになる。最高。 概要 Firebase Hosting は index.html を上げたら動いてくれる静的サイトホスティングだと思っていたが、 全てのルーティングを Firebase functions に全て受けさせる。こともできた GCP知らない人向けに 一応解説しておくと Firebase Function = Google Cloud Function ≒ AWS Lambda そんでもって、React で SSR したいとき、スクラッチでもいいけど、一番簡単なのは next.js。next.js 公式にも exmaples があり、読んでみたら勉強になったので解説してみる。 Firebase Hosting の設定 { "func
お久しぶりです。 以前、Nuxt.jsとFirebaseでchocottoというTwitterでお菓子と一緒にメッセージを送れるサービスを作ったG4RDSです。 先週、二十歳を迎えて成人しました🎉 今は高専五年で、編入試験を受けている真っ只中です。 適度にお酒を入れて、今後も個人開発頑張っていこうと思います! さて、今回作ったWebサービスは「コツコツ忍者」というWebアプリです。 昔ばなしに、忍者は跳躍力向上のために毎日成長していく小さな木を飛び続けた、というお話があるのをご存知ですか? ある能力を向上させたいのであれば毎日継続してやり続けることが大事である、ということですね。 自分が好きなことは続けられますが、好きではないけど上達したいことは続かないからなかなか上達しません。 そんな「上達したいけど続けられない」ことがある人のために、毎日やったことを記録できるWebアプリを作りました
[2018年8月追記] 現在この機能はfirebase公式で提供されています。 このブログの実装方法もまだ使えますが、簡単なのでぜひ公式のをお使いください。 完全に使うあてもなく趣味で作った機能だったけど、 本体のSorceryにプルリク送ったらかなり歓迎されて、 あとはテストさえ書けば取り込んでもらえそうな状態です。 (じゃあ書けよっていう。。) https://github.com/Sorcery/sorcery/pull/8 しかし最近はFirebaseがマイブームなので、Firebase版のパスワードなしログインシステム「Magic Login」を実装してみました。 Firebaseには匿名認証の仕組みもあるので、ユーザー登録なしでも使えて、本登録するときは「MagicLogin」という組み合わせにすると、かなりいい感じになりましたよと。 環境Firebase: 3.5.0Riot
会社勤めをしながら個人開発をしているtakashiです。 本記事では、Flutter製アプリ「筋トレビフォーアフター」を元にプロダクト開発の解説をしていきます。 長文になりますが、重要な部分を絞り込み、コードも記事用のサンプルコードに書き換えているので記事を読み進めやすいと思います。 アプリはこちら。無料でダウンロードできます。 目次 1.Flutterを採用した理由 2.Flutterのキャッチアップ 3.設計 4.開発期間 5.アプリの規模感 6.初回起動時の画面説明 7.入力画面 8.入力ダイアログ 9.カレンダー管理 10.写真撮影とカメラライブラリ選択 11.データ登録完了時 12.ビフォーアフター比較画面 13.ビフォーアフターのロック 14.ビフォーアフターの履歴追加時 15.ビフォーアフターの履歴一覧画面 16.ビフォーアフターの履歴のシェア 17.写真管理画面 18.写真
Firebase Dynamic LinksをReact Nativeアプリに組み込むために調査したDeep Links(ディープリンク)の歴史を記事にしました。 はじめに こんにちは。KitchHikeインターンエンジニアのタクです。 スマートフォンでリンクをタップすると、アプリが起動してアプリ内のコンテンツへ遷移したことはありませんか? メールやWebサイトのリンクからアプリを起動させて画面遷移させる技術を Deep Linking (ディープリンキング) といい、実現するリンクのことを Deep Links (ディープリンク)といいます。アプリの普及と共にディープリンクは広く使われるようになりましたが、実装には煩雑な手順と設定が残っており、開発者にとって悩みの種になっているかもしれません。 Firebase Dynamic Linksを導入すると、ディープリンクを実現する上でのURL
「Offersエージェント」では、業界で活躍するプロフェッショナルがあなたの転職を徹底サポート。CxO経験者を含む現役エンジニア・デザイナー・プロダクトマネージャーが在籍し、職種に特化した専門的なアドバイスをご提供・非公開求人の紹介も可能です。 →【かんたん30秒】無料登録で転職相談する 開発スピードを向上させるFirebase ーー:早速ですが、まずは村本様とFirebaseの関わりについてお伺いしてよろしいでしょうか。 村本:もともと、いくつかの会社でアプリエンジニアとして働いており、現在は独立して複数の企業の技術顧問を勤めています。特にFirebaseのコンサルティングに力を入れていますね。 日本最大のコミュニティグループである Firebase Japan User Groupを立ち上げ、オーガナイザーとしても活動しています。 ーー:既存のプラットフォームで開発するのと比べて、Fi
Say hello to the helpful Firebase Emulator - a local first UI to boost your productivity Today we are extremely excited to introduce the Emulator UI to the Firebase community. The Emulator UI is a web app… 今まではエミュレーターの管理画面が無く、データの確認などがなかなかしにくい問題がありましたが、”Emulator UI”の提供によりそれが大きく改善されました。 最近までFirebaseエミュレーターはかなり致命的なバグもあり(今は解消されました)、どのくらい力を入れているのかやや疑っていましたが、今回の発表はそういう意味でもきちんと取り組まれている様子が伺えて良いなと思いました。 さ
サーバーエンジニアの下川です。 突然ですが、AWS AppSync触りましたか? 昨年から「AppSyncがあればサーバーの工数が下がるらしい」「Firestoreにとって変わるものがついにAWSから!」の様な噂を耳にすることが多くなって来ました。 Fammではオンデマンド商品をいくつかユーザーに提供していることからもサーバーサイドの処理は不可欠となっており、新規機能開発でサーバーの工数の方がクライアントに比べて高い事もしばしばです。 そこで、AppSyncを入れてサーバーの工数が下がるなら導入したいと考えましたが、クライアントエンジニアに使い心地を聞かずには導入までは決められません。 ということで早速私が信頼するiOSとAndroidエンジニアを連れてコワーキングスペースで1日合宿して来ました。 AppSyncとは ・マネージドのGraphQLサービス ・データストアをDynamoDB、
Firebase HostingがNext.jsのデプロイに対応した[1] と聞きつけ、Next.jsビルドツール好き[2] [3] なので様子を見てきました。 のリポジトリを中心に調べてみます。 Firebase CLI framework-awareness とは フレームワークサポートを付与するためのFirebase CLI のアドオン。 Firebaseプロジェクトの構成に応じて、Google Cloudのリソースを構築する。 現在Next, Nuxt2/3, AngularをサポートしていてCloud Functionsにこれからのフレームワーク機能をサポートするエンドポイントを自動でデプロイしてくれる。 内部アーキテクチャ next export で .next/ ディレクトリができる firebase-frameworks.build() がプロジェクト構造を解析してフレーム
#teppeis_sushiというイベントで、Faao - ドメイン駆動設計で作るGitHub Issue Client -という話をしました。 Electronやブラウザなどで動くfaaoというGitHubクライアントを書いていてそれの技術的な話です。 クライアントサイドでDDDを取り入れた設計になっていて、その設計や規約の作り方やそれを守る方法についての話をしました。 azu/faao: Faao is a GitHub issue/pull-request client on Electron. Living Documentation by design, with Domain-Driven Design by Cyrille Martraire [PDF/iPad/Kindle]という無料から買える書籍では、ドキュメントとコードを同じ速度で成長させていくためにはドキュメントに対
自己紹介 現在、株式会社MG-DXにて、Webフロントエンドエンジニアをやっている植木といいます。一つ前のプロジェクトはOPENRECでiOSエンジニア、その前は、ピグでUnityのエンジニアをしていました。ネイティブアプリを作るのが好きです。MG-DXでは薬急便というオンライン診療・服薬指導がWebだけで行えるサービスを提供しています。新たにアプリをインストールしなくても、SafariやChromeだけで気軽に使えます。 開発の経緯 薬急便は、患者向け、医療機関向けに展開しています。患者から予約が入った場合に、医療機関にはメールやFAXが通知されるようになっています。FAXでは、受信するまでの時間や画質の低下が気になり、コストもかかるので、代替手段で、Webから印刷機能を提供する話が出てきました。 キオスクモードでの印刷や常駐アプリとWebで連携して印刷する海外のアプリもありましたが一長
最初に この記事はVue.js アドベントカレンダー#4 25日目の記事です。 この一ヶ月でVue.jsについてのナレッジが100記事増えたことになります。やったね!! 2018/8/2 追記 現在では vue-cli の3.x.xがリリースされており、スキャフォールドからVueプロジェクト作成の工程が若干異なりますのでご留意ください。 この記事でやること バックエンドをFirebaseに丸投げしたユーザ登録 → サインイン → サインアウト までのチュートリアルです。 認証の実装は面倒 フロントエンドの技術を使ってちょっとしたアプリケーションを作った時、認証やユーザ管理を実装するのはそれなりに面倒かと思います。フレームワークの選定、DBは何使う?など決めなければならないこと、覚えなくてはならないことがたくさんありますね。 そこでBaaSを使います。 BaaSって? Backend as
* Firebase.yebisu #2 - connpass https://connpass.com/event/75511/ * star__hoshi - YouTube - YouTube https://www.youtube.com/channel/UCxkUH6lnXfpC35h0ApDz_yA * 1amageek/Pring: Cloud Firestore model framework for iOS - Google https://github.com/1amageek/Pring * 1amageek/pring.ts: Cloud Firestore model framework for TypeScript - Google https://github.com/1amageek/pring.ts * starhoshi/event-response:
この記事はNuxt.js Advent Calendar 2018の10日目です。 友人の結婚式の二次会向けのコンテンツとして、 「ニコ生」風に投稿された写真やコメントが流れるシステム を作りました。 動画だとわかりづらいかもなのですが、広いパーティー会場で、リアルタイムにプロジェクターで写しているような感じです。 ユーザーが写真投稿するページや、プロジェクターで写すためのニコ生風ページに Nuxt.js を使っていて、Firebase Hosting 上で SPA としてホスティングしています。デザインは @aixcheck が作ってくれました*1。 つまり、Nuxt と Firebase で作っている、完全にサーバーレスなご祝儀です*2。ちなみにご祝儀ドメインも取得しました。 こちらのシステムのソースコードは、一部を除いてオープンソースにしています。pages や components
大企業人が泣いて喜ぶであろう静的サイトジェネレーターを作る話です。 モチベーション 私は常々ポートフォリオサイトを作りたいと思っていまして、 最初は静的サイトジェネレーターで作ろうと思い、人気の GatsbyJS や Hugo のテンプレートを色々みてたわけですが、 例えば GatsbyJS のスターターだと gatsby-starter-cv とか Hugo のテーマだと Split とか など、クールな個人サイト用デザインがあったりしたわけですが、 大企業のしがないエンタープライザーである私にはちょっとクール過ぎるデザインだなと思ったので、 結局デザインを作ることにしまして、ただ Figma とかみたいなデザインツールは使えないですし、 普段よく使うツールでやろうということで Google スプレッドシート でデザインしました。 職業柄ちょっと設計書っぽいサイトデザインになってしまいま
2017年から個人で開発しているTrickleというサービスがある。最近、これのバックエンド構成を変えたり、新機能追加などをした。技術的に目新しいものや凄いものはないけど、頑張ったのでその時の話を残しておく。 バックエンド Express → Next.js Multer → BusBoy Web版 GAE → Cloud Run クライアントアプリ React Nativeのアップグレード react-native-image-crop-picker → react-native-image-picker ソーシャルログイン アイコン変更 バックエンド Express → Next.js これまではExpressでモバイルアプリ向けのWeb APIを作っていたが、今回Web版も作るにあたり、Next.jsに移行した。 まずはこれまでのモバイルアプリ向けAPIをNext.jsのAPI Ro
アプリ作ったのにRepro使ってないなんてもったいない!! Reproという「代えのきかない唯一のマーケティングプラットフォーム」を紹介したいと思います はじめに 相変わらず煽り記事しか書けないおかむーです。 この記事でわかること Reproというマーケティングツールについて知ることができます アプリを作るときに毎回苦労していたことがちょっと楽になります チョトだけハンズオンがあります これまで使っていたツール アクセス解析系ツールは入れていてもマーケティング系ツールはあまり馴染みが無いのではないでしょうか GA(GoogleAnalytics): アクセス解析 パフォーマンス計測 Fabric: クラッシュ+リアルタイムリテンションやNewUser FacebookAnalytics: GAとかと変わらないですが出せるグラフが少し違ったりする AppAnalytics: Appleさんが
We started using Firebase’s realtime database back in November of 2015. It was one of the biggest mistakes I’ve ever made building our product. Literally. At first, we loved it. We needed something to power the messages for “Codey”, the educational coding bot in our online IDE. Firebase was easy to integrate, the documentation was clear, and the pricing was reasonable. We had it up and running in
こんにちは。メディアプロダクト開発部の長田です。 この記事では、クッキングLIVEアプリcookpadTVのLIVE中のコメント配信について工夫したことを紹介したいと思います。 2018/3/28 (水)に開催されたCookpad Tech Kitchen #15の資料も合わせてご覧いただけると、分かりやすい部分もあるかと思います。 cookpadTV cookpadTVでは、料理家や料理上手な有名人による料理のLIVE配信を視聴することができます。iOS/Androidのアプリがリリースされおり、LIVE配信を通して、分かりづらい工程や代替の材料の質問などをコメント機能を使って質問することができます。また、他のLIVE配信アプリのようにハートを送ることでLIVEを盛り上げることができます。 以下では、LIVE中のコメント配信を実装するにあたって私が課題だと感じたものと、それらをどう解決し
これはなに? SPAのキャッシュコントロールは難しい問題だけど、ちゃんと仕組みを理解してただしい戦略を使えばそんなに難しくないよという話。 Disclaimer この記事は2019年10月くらいにおける筆者の経験と見解に基づくものです。だいたい間違ってないとは思いますが内容の正確性は保証しませんし、2ヶ月くらいするとFirebaseないしNuxt.jsの進歩によりココに書かれていることが嘘になる可能性はあります。また、特定の記事や個人を中傷する意図はありません。筆者の所属する組織やその類とは関係がありません。 なんで難しい(と思われている)の? そもそもの前提としてちゃんとやらないとアプリケーションのリリースがままならないというプレッシャーがあります。 そのうえで... (1) SPAの構成ファイルをキャッシュしようとする輩がたくさんいる Hostingサービス(ブラウザキャッシュ) CD
初めましてsatoshiです。 エンジニアとしては業務未経験のエンジニアの僕と非エンジニアであるCEOの二人三脚で開発したバックエンドオールFirebaseアプリの知見を残しておきたいと思い記事にします。 学生エンジニアが数ヶ月で一気にプロダクトを完成させる工程という観点でも参考になれば幸いです。 アプリ概要 「Wilico」というヘルスケアCtoCサービスを開発しました。 Wilicoはダイエットや食事管理が必要なタイミングに合わせて、ユーザーと管理栄養士さんをマッチングし、すぐにプロによる食事管理を受けることができるサービスです。 〜生きるために食べる時代から、(健康に)生きるために痩せる時代へ〜 飽食の時代と言われるようになり、好きなものを好きなだけ食べることができる現代ですが、その先に待っているのは生活習慣病です。 すなわち、健康に生きるためには、好きなものばかり食べるわけにはいか
公式ドキュメントに書いてあり、Firebaseからもメールなどで通知されていることではあるのですが、意外と見落としたままになっているかもしれない情報なので、啓蒙の意味も込めて記事にします。 結論 Firebase AuthのJavaScript SDKを使っている場合、今年6月までに以下のドキュメントに従った対応をしないとChrome/Edgeでリダイレクトログインが動かなくなります。 サードパーティのストレージ アクセスをブロックするブラウザで signInWithRedirect を使用する場合のベスト プラクティス 必要な対応 公式ドキュメントにある対応選択肢を、補足や注意点も含めた形で以下に焼き直してみます。 ポップアップ形式のログインでもいい場合 同一タブ内でリダイレクトしてログインする形式から、ポップアップウインドウを開いてログインする形式に切り替えましょう。 (公式ドキュメン
.app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads
はじめに 仕事で解決したいことがあり、Web Push と Service Worker(以下 SW)の利用を検討しようかなと思っています 調べると Firebase Cloud Messaging(以下 FCM)を使うと簡単に実装できそうだったので、サンプルアプリを作成してみようと思います 今回実装したコードは以下です https://github.com/kurosame/glossary FCM の設定(管理画面) 以下から初期設定を行う 管理画面上での設定は以上で、その後実装する上で必要な情報は「プロジェクトの設定」で確認できます Firebase の初期設定 以下の情報は「プロジェクトの設定」で見れます 隠してますけど、これらの情報は公開してもセキュアです ただし、Firestore などのリソースにアクセスできてしまうと思うので、使っている場合は適切なルールを設定しておく必要は
はじめにSlack は多くの連携アプリケーションがありますが、そのまま連携すると情報が溢れすぎてフィルタリングしたかったり、より効果的な通知をしたいなど、Slack 通知をカスタマイズしたくなるときがあります。そのような場合、サービス側の Web hooks と Google Cloud Functions を使って Slack 通知をカスタマイズするのがおすすめです。 今回その一例をご紹介します。 例: GitHub の特定のラベルが付いた issue 登録時に Slack 通知する今回は GitHub の特定のラベルが付いた issue の登録時だけ Slack に issue の内容を通知してみます。バグレポートのラベルがついている issue のみを Slack に通知するために作りました。Slack の GitHub 連携機能ではここまで細かいカスタマイズはできません。 手順以下
Firebase AuthenticationとCloud Runを使ってマイクロサービスっぽく認証機能を作り直してみた (1/2) 大城です。 今日は僕が大好きなFirebaseについて書いて見ようと思います。皆さんFirebaseも使っていますか? 一人のエンジニアとしては本当にお世話になっているサービスです。(しかもほぼタダで。。。) さて、アプリケーションを構築していれば当然認証と認可の機能は必要になってきます。しかし最近のモダンなアプリケーション開発における認証についてはとても複雑になって来たと思います。 古き良き時代もありました。一つのWebサービスがあって、ユーザのIDとPWはハッシュ化してデータベースにいれておけばよかったわけです。しかし今はユーザはログインする際にいろんなオプションを求める様になりました。 • SNSアカウント(Google, Facebookなど)でログ
謝罪 ごめんなさいごめんなさいごめんなさいごめんなさいごめんなさいごめんなさいごめんなさいごめんなさい。 本番環境のFirestoreをONにしてしまったのは僕です。 何が起こったのか アプリから利用されるサーバーをGAE/Goで開発していた GCPプロジェクトは、アプリ側とサーバー側が同一プロジェクトを使用していた Service Account使ったり、そっちのほうが都合が良かったから Datastoreを利用してデータを保存していた サーバーはGoogle App Engine / Go(1.9系)を使用していた データは goon ライブラリを通してDatastoreに保存していた Firestoreの扱い 開発当初から使用実績のあるDatastoreを使う予定で、必要な複数のGCPプロジェクトで Datastore を選択し、なおかつ Firestore / Datastore
Firebase provides realtime streams and async callbacks to do all sorts of awesome things in your app. Getting data from one realtime stream is easy enough, but what if you want to join it from another? Combining multiple async streams of data can get complex. At Firebase, we wanted to help simplify things, so we created a new JavaScript library: RxFire. Introducing RxFire RxJS is a popular JavaScr
.app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads
YouTubeにある動画をYouTubeAPIで取得、ブログ記事を1日1回RSSで取得し、Firebase Realtime Databaseを更新、iOSアプリからはRealtime Databaseを参照して動画フィードを作るという一連の実装をやった経験があります。 その実装をほぼ再現実装したCloud Functionsのサンプルコードを公開しているのですが、日本語記事を書いていなかったので、今更ですが紹介します。 流れ firebase cloud functionsにYouTube APIやRSSを叩いてRDBに入れるコードを書く App EngineでCronジョブを作る アプリからRDBを参照する こんな感じです。 YouTube APIでYoutube動画を取得 YouTube Data APIに登録してAPI KEYを取得します。(取得手順はドキュメントをみてみてください
こんにちは 今日は2/22の猫の日に合わせて個人開発したゲーム「ネコメザシアタック」の技術的なポイントを解説する記事です。去年のバージョンはこちら 作ったもの ソース: https://github.com/yuneco/mezashi2 アプリ: https://nekomzs2.web.app/ (PCでも遊べるけどスマホ推薦です) 使っている技術 そろそろリリース見込みのVue3を先取りした構成です Vue(Vue2 + CompositionAPI) TypeScript CSS Transition(ほとんどのアニメーション) SVG(画像 + 一部のアニメーション) Firebase (Hosting + FireStoreでランキング) おしながき(この記事の内容) 作ったもの全部を解説していくとキリがないので、主に去年からの差分を中心に面白いポイントだけ説明していきます。
.app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く