升职三个月,接手两个完全不熟悉的项目。没有高级方法论,只有参加例会、看 Jira、问人这些笨办法。关于在不确定中做优先级判断,以及为什么我不再焦虑"该多读管理书"这件事。
Epona's Tech & Life
Latest Posts
How 37signals' Fizzy solves multi-tenant authentication with a three-tier Identity→User→Account model, enabling one person to belong to multiple organizations.
2025 年在日本买房、切换技术栈、升职到 Engineering Manager、调整写作节奏。这一年做了很多选择,每个选择都意味着放弃某些东西。这是我的年终总结和对 2026 年的思考。
As a developer constantly switching contexts, these 5 Raycast setups have transformed my daily workflow. Here's exactly how I use them.
"下半年要不要试试做 Manager?" CTO 午饭后的一句话,开启了我新的职业篇章。上次做 Team Leader 被批评过,这次我能做得更好吗?这篇文章记录了转变前夕的准备、担忧和期待。
My first experience deploying a Rails app with Kamal—from hitting a wall with proxy conflicts to solving mysterious Docker volume errors. Here's what I learned along the way
在重构一个从 Phoenix 迁移到 Rails 的项目时,我发现——很多混乱的代码并非写得不好,而是想得不够。与其边写边改,不如在动手前多想一步。正如《JOJO》的那句名言:绕远路,才是最短的捷径。
I recently switched from Claude to ChatGPT—here’s why, and what I’ve learned along the way.
I used to roll my eyes whenever someone mentioned Tailwind CSS. The class names looked like gibberish, the approach felt backwards, and I was convinced it was just another fad. Three years later, here I am writing this in a Tailwind-powered project.
Discover how Claude Code Hooks can automate your development workflow with precision triggers. Learn to use PostToolUse, PreToolUse, and other hook types to automatically format code, run linting, and streamline your AI coding experience. A beginner-friendly guide with practical Elixir examples.
Through Claude Code and Tidewave.ai combination, over 95% of my project code was AI-generated. Here's my honest experience with this revolutionary tool combo, including significant efficiency gains, challenges encountered, and practical advice for developers.
My personal journey transitioning from Ruby on Rails to Phoenix Framework, driven by the rise of AI-powered development tools like Tidewave.ai. Discover how Phoenix's LiveView simplicity, built-in Tailwind+DaisyUI styling, and superior AI code generation capabilities are reshaping modern web development workflows.
A developer's personal journey migrating from Rails Hotwire to Vite and React. This article explores the practical benefits of React's rich component libraries like Shadcn UI, improved AI integration, and the trade-offs in deployment complexity and learning curve when transitioning between these tech stacks.
This guide demonstrates how to implement Google Login in a Rails application using OmniAuth, without relying on the Devise gem. We’ll utilize OmniAuth for authentication and connect it to a basic Rails authentication system.
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.
Customizing Hotwire Combobox with Prefixed IDs: A practical guide to integrating prefixed_ids gem with Hotwire Combobox in Rails, showing how to return custom ID formats instead of raw database IDs. Perfect for developers looking to enhance their form components with more user-friendly identifiers.
漫步京都三日,寻访游戏王国的起源。在任天堂博物馆重温童年记忆, 从百年前扑克牌到如今的游戏帝国;徜徉宇治川畔,品味抹茶老街的悠闲时光; 漫步清水寺,感受古都气息。 一场与游戏、美食、人文交织的京都之旅,带你看见不一样的关西风情。
Elegant Code Block Passing in Ruby: A deep dive into the & operator, from Symbol's to_proc to method objects. Learn how to transform verbose block syntax into concise, readable code through practical examples.
Rails 8 Arrives: Game-changing deployment with Kamal 2 + Thruster, database-backed Solid suite replacing Redis dependencies, and streamlined asset handling with Propshaft. Discover the major updates reshaping the Rails ecosystem for simpler, more efficient web development.