— Category
Tech
20 posts filed under this category
Astro · Cloudflare从Astro到Emdash踩坑记(三)从 Astro 迁移到 EmDash 之后,后台留下了两个发布时间字段,定时发布也一直不生效。这篇记录怎么删掉多余的 publication date,以及在 wrangler.jsonc 里配置 Cron Trigger、补上 scheduled handler,让定时发布真正跑起来。
Astro · Claude Code从Astro到Emdash踩坑记(二)承接上篇,当把独立域名绑定到 EmDash 后,我差点把自己搭建的后台锁死在门外——由于 WebAuthn 强绑定域名,原有的 Passkey直接失效,而后台又未配置任何邮件服务。本文记录这次惊险的“脱困”实录:如何利用 Claude Code 接入 Cloudflare Email Sending搭建逃生通道,排查 siteUrl 缺失导致的魔术链接错位,并彻底解决自定义域名的 Passkey 绑定难题。
Astro · Claude Code从Astro到Emdash踩坑记(一)断断续续写博客很多年,折腾过 WordPress、Jekyll、Ghost,最后在 Astro 上稳定了下来。直到 Cloudflare 推出了对标 WordPress 的 EmDash,在观望几个月后我终于决定迁移。2026 年的现在,我已经完全把迁移工作交给了 Claude Code——丢一个官方文档链接,AI 自动分析项目、安装 Connector、甚至顺手帮我建好了 D1 和 R2。本文记录这次平滑的初步部署流程,以及文末必须注意的两个关键要点。
Claude Code · DebuggingWhen Claude Code Can't Find Git (But Git Works Fine in Terminal)Claude Code's desktop app kept insisting I install Git, even though git ran perfectly in my terminal. The real culprit wasn't Xcode Command Line Tools or a broken PATH — it was a dead Homebrew symlink from 2022 sitting first in my resolution order. Here's the full debugging trail, including all the dead ends.
AI · Claude CodeBuilding Lexio with Two Claudes: A Workflow That Actually WorksHow I use Claude Projects for architecture decisions and Claude Code for implementation—keeping thinking and coding deliberately separate, with Lexio as a real-world example.
How 37signals' Fizzy structures multi-tenant authentication with an Identity → User → Account model, enabling users to belong to multiple organizations cleanly.
A few simple Raycast setups that have stuck in my daily workflow: smart text snippets, hyper key app toggles, quick terminal shortcuts, and clipboard history.
Notes on deploying a Rails app with Kamal for the first time: proxy conflicts with Caddy, Cloudflare forward_headers, and debugging Docker volume mounting errors.
A look at PostgreSQL 18's release from a Rails developer's perspective: ActiveRecord compatibility patches and built-in native uuidv7() support.
I recently switched from Claude to ChatGPT—here’s why, and what I’ve learned along the way.