<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>技術版系列 on MaiNeu 開發紀實</title><link>https://blog.maineu.com/tech/</link><description>Recent content in 技術版系列 on MaiNeu 開發紀實</description><generator>Hugo</generator><language>zh-hant</language><lastBuildDate>Thu, 21 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.maineu.com/tech/index.xml" rel="self" type="application/rss+xml"/><item><title>為什麼做 MaiNeu？一個 Android 工程師的 Side Project 起點</title><link>https://blog.maineu.com/tech/01-why-maineu/</link><pubDate>Thu, 21 May 2026 00:00:00 +0000</pubDate><guid>https://blog.maineu.com/tech/01-why-maineu/</guid><description>從一頓挫折的旅遊晚餐，到決定自己做 App。第一個 prototype、後端選型、FCM 手動實作 JWT。</description></item><item><title>Compose 深坑錄——我在 Jetpack Compose 踩過的那些坑</title><link>https://blog.maineu.com/tech/02-compose-deep-dives/</link><pubDate>Thu, 21 May 2026 00:00:00 +0000</pubDate><guid>https://blog.maineu.com/tech/02-compose-deep-dives/</guid><description>LaunchedEffect key 語義、CancellationException 必須 rethrow、FlowRow+weight 版面炸裂——7 個真實踩過的 Compose/Coroutines 坑</description></item><item><title>後端從零開始——一個 Android 工程師如何讀懂 Cloudflare Workers</title><link>https://blog.maineu.com/tech/03-backend-from-scratch/</link><pubDate>Thu, 21 May 2026 00:00:00 +0000</pubDate><guid>https://blog.maineu.com/tech/03-backend-from-scratch/</guid><description>Cloudflare Workers Smart Placement 地區限制、D1 migration 失敗處理、Gemini KeyPool 設計、timing-safe 比較——Android 工程師自學後端的血淚記錄</description></item><item><title>安全工程啟蒙——從「不要 hardcode 密碼」到 5 層防禦架構</title><link>https://blog.maineu.com/tech/04-security-engineering/</link><pubDate>Thu, 21 May 2026 00:00:00 +0000</pubDate><guid>https://blog.maineu.com/tech/04-security-engineering/</guid><description>HMAC 請求簽名防 Replay Attack、email_verified 的 Google/Apple 型別差異、Auth Retry Storm 的 Mutex+Cooldown 解法、OWASP 2025 審計 15 個問題</description></item><item><title>一個人維護四個環境——GitHub Actions CI/CD 實戰</title><link>https://blog.maineu.com/tech/05-cicd-github-actions/</link><pubDate>Thu, 21 May 2026 00:00:00 +0000</pubDate><guid>https://blog.maineu.com/tech/05-cicd-github-actions/</guid><description>三層環境晉升體系、環境獨立 D1 database 設計、commit SHA 強制指定、PR 沒指定 base 的事故、AI 自動 PR Review 的 false positive</description></item><item><title>Auth 的那些坑——JWT、Session 管理、OAuth Fusion 的血淚教訓</title><link>https://blog.maineu.com/tech/06-auth-jwt-oauth/</link><pubDate>Thu, 21 May 2026 00:00:00 +0000</pubDate><guid>https://blog.maineu.com/tech/06-auth-jwt-oauth/</guid><description>AuthManager singleton state 未重置、navigateBasedOnAuthStatus 判斷順序錯誤、clearFusion 漏清 error state、applyCloudData 覆蓋本地設定——6 個 Auth 系統的真實血淚坑</description></item><item><title>設計 AI 工作流——14 個 Agent 組成的虛擬開發團隊</title><link>https://blog.maineu.com/tech/07-ai-workflow-harness/</link><pubDate>Thu, 21 May 2026 00:00:00 +0000</pubDate><guid>https://blog.maineu.com/tech/07-ai-workflow-harness/</guid><description>ExecPlan 跨 session 一致性、14 個角色分明的 Agent 體系、pre-tool-use-guard 的 60 條 deny pattern、Invariants 作為機械化驗證——Harness Engineering 的完整實踐</description></item><item><title>Phase 2 的故事——從 WebSocket 到「暫不做」的產品決策</title><link>https://blog.maineu.com/tech/08-phase2-story/</link><pubDate>Thu, 21 May 2026 00:00:00 +0000</pubDate><guid>https://blog.maineu.com/tech/08-phase2-story/</guid><description>分享連結 72 小時過期設計、Durable Objects OrderBroker、PollingOrderRepository 到 WebSocketOrderRepository 零 UI 改動替換架構、「暫不做」決定的理由</description></item></channel></rss>