— Personal Journal
Epona's Tech & Life
Page 02 / 03
在重构一个从 Phoenix 迁移到 Rails 的项目时,我发现——很多混乱的代码并非写得不好,而是想得不够。与其边写边改,不如在动手前多想一步。正如《JOJO》的那句名言:绕远路,才是最短的捷径。
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.
Why I initially dismissed Tailwind CSS as inline styles revisited, and what changed my mind after using it in real-world Rails and Phoenix projects.
How to use Claude Code hooks to automatically run code formatting and linting commands (like mix format or prettier) whenever files are modified.
My experience using Claude Code with the Tidewave MCP server to refactor a Phoenix LiveView project to DaisyUI, and what worked well versus the real limitations.
How my personal tech stack evolved from Rails Hotwire to React, and eventually to Phoenix LiveView—and why AI coding tools like Tidewave made Phoenix click for solo projects.
Why I moved a personal Rails project from Hotwire to Vite and React: UI component libraries like shadcn/ui, real-time AI component previewing, and the inevitable deployment trade-offs.
How to implement Google OAuth login in Rails 8 using OmniAuth and the built-in authentication generator, without relying on Devise.
Learn how to configure Neovim to support VS Code-style navigation features for Ruby on Rails projects using Ruby LSP, including route definition lookups and view file navigation through Code Lens.