Cloudflare ContainersでDrizzle Gatewayを動かす

Drizzle Gatewayを使うとDrizzle StudioをSelf Hostできます。 gateway.drizzle.team drizzle-kit studio をそのまま本番でセルフホストすれば良くね?と思っていましたが公式ドキュメントの Limitations に、ローカル開発向けであり、リモート(VPS など)…

個人で運用しているサービスをNeonからCloudflare D1へ移行した

個人で運用しているサービスでNeonを利用していたが、そこそこ値段が高くなってきたのでCloudflareのD1へ移行しました。 運用物の前提 Cloudflare Workers上で動く配信系のキュレーションサイト/管理画面/Discord Bot(500 Server~) 移行前のざっくり構成図は…

Claude Codeのトークン消費を頑張って下げるメモ

Claude Codeのトークン消費量が苦しいので、少しでも減らすための試行錯誤。 RTK でコマンド出力を圧縮する RTKは CLI コマンドの出力をフィルタする Rust 製のプロキシ。 github.com git commandとかの出力をAIに読ませるように最小限の情報だけtrimしてい…

PGliteとOPFSでブラウザ内DBを試すメモ

PGliteはPostgreSQLをWASMにコンパイルしてブラウザやNode.jsで動かせるライブラリ。永続化先にOPFSを使うとIndexedDBより速いんだけど、Safariでまともに動かない問題がある。このあたりのメモとして残す。 OPFS WHATWGのFile System Living Standardで標準…

Argo Workflowsで制御されているパイプラインをrunnでテストする

Argo Workflows で組んだバッチパイプラインのテスト、どうしてますか。 自分はrunnで再現してます。 runnはCLI ツールとしても使えるけど、Go ライブラリとしてテストに組み込めるので、runn.Load() でランブックを読み込んで go test の中からPod内で動か…

Goでアーキテクチャ違反とデッドコードを機械的に検出する

AIエージェント × knipで無駄コードを簡単に掃除等で紹介されているが、 TypeScriptであればknipのような便利ツールがある。Goだとdeadcodeがそれかなーと思いつつ、AI時代にデッドコードを削除したり、アーキテクチャの制約を機械的に検知したくなるのでメ…

Next.js on Cloudflare Workers からCloud Run Worker Pool(cloudflared)へのセキュアな接続を考える

2023年くらいからの Next.js(App Router)の流行りもあり、昨今当たり前のように使われるようになった RSC。ユースケースによりますが、セキュリティや可用性向上のため、RSC は BFF のレイヤーとしてAPI サーバーは別に分離する構成を取るのは割と多いんじ…