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 サーバーは別に分離する構成を取るのは割と多いんじ…

Claude Code御一行様用 個人的設定

この記事は99%手書きです。 自分はClaude(Opus)を基本は使用しつつ、レビューにCodex(5.3)とGitHub Copilotを混ぜて使ってます。よくあるやつです。 最近はユーザー側であれこれ設定しなくてもそれなりに良い感じに動きます。とはいえ設定した方が効率よく進…

Gemini Live API + DeepgramでリアルタイムAI音声会話をする

GeminiのLive API は音声をそのまま受け取って会話できて便利なんですが、日本語で使っているとinputTranscription が長時間発話で不安定になる問題がありました。 ユーザー側のターンで発話での応答が遅延・欠落してしまう問題が。。。 inputTranscription…

Better AuthのEmail OTP + DrizzleでメールOTP認証

Better Authを利用したサービスでGoogleログイン後に Email OTP(6桁のワンタイムパスワード)でメールアドレスの所有確認を挟みたいな〜という場面があり、 Better Auth の emailOTP プラグインと Drizzle Adapter を組み合わせて、OAuth ログイン後のメー…

Vercel OIDCを利用してGoogle Cloudリソースへアクセスする

自分の昔の記憶(2022年頃)ではVercelから Google Cloudへの認証に Workload Identity Federation が使えず、Service Account の秘密鍵をVercelの環境変数に登録する必要があり微妙だなーと思っていました。 久しぶりに調べてみたところ Vercel OIDC がサポー…

Cloudflare WorkersでDiscord APIのRatelimitに立ち向かう

※この記事は個人開発の遊びの内容です。 サービスの前提 VTuberの配信情報を通知するDiscordBot 導入サーバー数: 約450サーバー(2026/1/28現在) 通知頻度: 1分ごとに配信情報を全Discordサーバーへと配信する(昔ながらのCron方式) 関連資料: speakerdeck.co…

Raw ChartでKustomize管理のマニフェストをそのままHelmfile管理にする

Raw Chartは、Helmfile から任意の Kubernetes マニフェストをデプロイするための汎用的な Helm Chart です。 bedag.github.io 既存の Kustomize 構成をとりあえず Helmfile 管理に移したい場合や、 諸事情により Helmfile の統合機能を素直に使えない場合(…

開発環境現状確認 2026

流行りに乗ってみた Terminal Emulator 元々Hyperを使っていたのですが、最近Ghosttyに乗り換えました。 ghostty.org (リモート側のホストで動かすtmuxセッションとのクリップボード共有のために、OSC 52のサポートが必要だったため...) github.com ちょっ…

ブログ移設

もっと周りを気にせずにカジュアルに色々なテーマでブログを書きたいな、、みたいな場面が増えたのではてなブログに移ってみることにした。 今までZennに投稿していた記事とかは一旦そのままにするけど、今後Publication以外はこっちに投稿していく予定。