shimotsu tech

Webフロントエンドエンジニア @ to-R inc.

2021-01-01から1年間の記事一覧

SupabaseのJavaScriptクライアントでテーブル結合を行う

Supabase の JavaScript クライアントでテーブル結合を行う方法をメモ。 www.npmjs.com テーブルが以下のようにあるとします。ユーザーに紐づく投稿画像があり、その画像に対してコメントが付くようなイメージです。 # ユーザー users: id: string fullname:…

Supabase の storage から getPublicUrl() した値が404になる問題

Supabase では storage にアップロードしたリソースのパブリックなURLを取得するメソッド getPublicUrl() が用意されているのですが、このメソッドを使って取得した値が 404 になるケースに遭遇しました。 export const removeBucketPath = (key: string, bu…

【TypeScript】Arrow Functions で Generics を使う方法

TypeScript でアロー関数(Arrow Functions)を書く際に、Generics を使おうとすると、素直に書いた場合うまくコンパイルされない場合があります。 例えば、以下のような T型 の値を引数に取り、そのまま引数を return する関数があるとします。 const ident…

【Firebase Auth】ソーシャルログインしたアカウントをすぐに削除しようとすると "auth/requires-recent-login" のエラーが出る

今作っているアプリケーションで、Firebase Authentication のソーシャルログインを活用しているものがある。そこで、ソーシャルログインしたのち(この時点でFirebase Authentication 上にユーザー情報が作られる)、場合によってすぐにユーザー情報を削除…

【Next】Firebase Authentication で取得したユーザ情報を整形してアプリケーション内で使う

Firebase Authentication を活用したアプリケーションにおいて、取得したユーザ情報を useContext などを使ってグローバルに保持するケースがあると思います。具体的には以下のような実装です。 import { FC, createContext, useEffect, useState } from 're…

Next.js でクライアントから環境変数が読み込めない

Next.js で今個人的に作っているアプリケーションにおいて、クライアント(ブラウザ)から環境変数(.env.*)が読めないという事象に遭遇したので、その原因と解決法をメモしておきます。やりたいことは、ページコンポーネント上で、アクセス時に毎回 Fireba…

Stripe で 開発者用モード(テストモード)に切り替えたい

【前提】Stripe のビジネスアカウントを持っていることが前提です。Stripe で開発者用モード(テストモード)に切り替えるには、ダッシュボード画面の左カラムにある「テストデータの表示中」のトグルをオンにすればOK。また、「開発者 > APIキー」のタブを…