Cloudflare Zero TrustとService Workerの組み合わせで認証画面が出ない問題。原因はHTTPリダイレクトとSWの根本的な相性の悪さでした。
Papercalの開発チームが、技術的な知見や開発の裏側を共有するブログです。
Cloudflare Zero TrustとService Workerの組み合わせで認証画面が出ない問題。原因はHTTPリダイレクトとSWの根本的な相性の悪さでした。
iOS PWAでキーボードを表示した後、フッター下に操作できない余白が出現するバグに遭遇。原因特定までの試行錯誤と、意外なところにあった解決策の記録。
GitHub Actions公式ランナーからUbicloudに移行してCI時間を約4分から1分14秒に短縮した話。Turborepoのキャッシュと相性が良く、Transparent Cacheで自動的にキャッシュが4倍速くなる。
Supabase Auth の getUser が毎回80ms以上かかっていた問題を、getClaims に変更することで劇的に改善した実践記録。JWTのローカル検証で40倍速くなった計測結果を共有します。
vite-plugin-pwaを使ったPWAで、オフライン起動エラーと更新の遅延という2つの問題にハマった。Service Workerの仕組みを理解して解決した記録。
Webエンジニアが初めてCapacitorでiOS/Androidアプリを作ろうとして、OAuth認証で無限ループに陥った話。Universal Linksの罠、Apple Developer Programの壁、そしてSessionStorageでの解決まで。
AWSのLambdaの気分でCloud Runを使っていたら、ヘルスチェックの仕様の違いでハマった話。ECSとLambdaの中間のような存在だった。
SupabaseをバックエンドAPI経由で使っていても、RLSを有効化しないとanon keyで全データにアクセスできてしまう。ローカル検証で気づいた落とし穴と対策について。
satori + @resvg/resvg-jsでブログ記事のOGP画像を自動生成する方法。CIでのフォント管理、woff2非対応の回避策、並列化によるビルド高速化まで実装例付きで解説。
GitHub Actionsでmainブランチ→ステージング、タグ→本番のデプロイを1ワークフローで実現。SOPSでの環境別シークレット管理、Turborepoでの並列デプロイも解説。
Turborepo + pnpmモノレポで快適な開発体験を実現するまでの6つのバージョンと、それぞれで直面した問題と解決策を振り返る。
Zod + @hono/zod-openapiでOpenAPI仕様を生成し、Orvalで型付きTanStack Queryフックを自動生成する方法。APIクライアントのボイラープレートをゼロにする実装パターン。
Zodスキーマをドメイン層に置いてクリーンアーキテクチャを実現する方法。z.inferで型を自動生成し、API・DB・フロントエンドまで一貫した型安全性を確保する設計パターン。
TurborepoとpnpmでAPIとフロントエンドを1リポジトリ管理するモノレポ構成の作り方。pnpm workspaceの設定、turbo.jsonの依存関係定義、型共有のメリットを実例で解説。
家族向けカレンダーアプリPapercalの開発で得た知見を発信していくブログを開設しました。モノレポ構成、型安全設計、API自動生成など、実践的な技術記事を書いていきます。