Supabase 環境構築でわかりにくかったところ

Supabase を触り始めたのだが、public スキーマを使わず api スキーマを使おうとしたらわかりにくかったところが複数あったのでメモを残す。
Zenn

Fluid Compute が無効でも関数インスタンスの再利用は起こる

この記事の内容 Vercel の Fluid Compute を有効にするとリクエスト間で関数インスタンスを共有することになります。 それによって、たとえばグローバル変数が共有されるようになるので、今まで起こり得なかった漏洩が起こるようになるのではないか? という説を耳にしました。 そこで、そもそも従来のサーバーレス関数ならグローバル変数は共有されないのか? という点を検証しました。 実際に試したこと 環境 Next.js 15.3.3 デプロイ先は Vercel の Hobby Plan 実装 下記のような Route Handler を作りました。 src/ap...
Zenn

【Astro】コミュニティ製の便利かもしれないツール紹介(Astro Open Graph, @studiocms/cfetch)

Astro 公式ブログではコミュニティ製の便利なツールが紹介されています。 https://astro.build/blog/whats-new-april-2025/#tips--tools その中から Astro Open Graph(morinokami/astro-og)と @studiocms/cfetch を紹介します。 Astro Open Graph https://github.com/morinokami/astro-og Astro の Dev toolbar で Open Graph の見た目を確認できるようにする integration です。 インストール...
Zenn

Cloudflare Pages にデプロイした静的アセットは消してもすぐには消えない

結論 Cloudflare Pages にデプロイした静的アセットは、消した後も最大一週間は消えない仕様がある。 実際にあったこと プライベートで Astro 製の静的サイトを Cloudflare Pages にデプロイしている。 先日あるページを削除したのだが、そのページの URL を直接開くと普通に表示されていることに気づいた。 キャッシュを疑ってキャッシュをすべてパージしてみたのだが、それでも消えない。 問い合わせてみたところ、下記ページを示され仕様であるとの回答を得た。 https://developers.cloudflare.com/pages/configurat...
Zenn

MDX 内の画像を Astro の Picture コンポーネントに自動変換する remark プラグインを作る

モチベーション Astro で Markdown に書いた ![alt](image-path) 形式のローカル画像は、自動で webp に変換される。 しかし私は特定のパスにある記事だけ画像に quality を指定した上で picture タグにしたかったので、今までは下記の記事を参考に、img タグを探して自力で picture タグへ変換する rehype プラグインを作成・使用していた。 https://zenn.dev/pompompudding/articles/1a8d8d54fe7823 しかし MDX の使用を前提とすれば、すべての img を Astro の P...
Zenn

Hugo で Tailwind CSS を使うための設定

まえがき かつて静的サイトジェネレータの Hugo で Tailwind CSS を使おうとするとうまくいかないことがありました。 たとえば hugo server で起動中、新しいクラスを付けてホットリロードしたのに見た目が反映されない……ということが、Hugo だと容易に起こります。 また、それを解決するための設定は一筋縄ではいきませんでした。 しかし最近改めて調べてみたら、去年 Tailwind CSS のためだけに新機能が実装されていました。 現在はそう複雑ではない設定で Tailwind CSS を快適に使うことができますので、今後 Hugo を使う方にご紹介したいと思いま...

Zenn の記事へのリンクを RSS から取得して表示する

Hugo で Zenn の記事へのリンクを RSS から取得し、通常の記事と混ぜてトップページに表示する。

VRM ビューワーを作った

@pixiv/three-vrm を使って VRM を個人サイトに表示し、VRMA でアニメーションもできるビューワーを作って公開した。

Next.js で revalidatePath するたびに別のページがローディング表示になる事象の原因

Next.js(App Router)で、どこかのページで revalidatePath するたびに別のページの Suspense で囲んでいる部分がローディング表示になる事象が起きたので、どうしてそうなるのか詳しく調べた。

React で lodash.throttle みたいなことをしたい

もう少し具体的に言うと、親コンポーネントから子コンポーネントに渡した関数を、子は自由に実行するのだが、実際にその関数が実行されるのは最大で 1 秒に 1 回にしたい。