為什麼做 MaiNeu?一個 Android 工程師的 Side Project 起點

為什麼做 MaiNeu?一個 Android 工程師的 Side Project 起點 MaiNeu 開發旅程 第一篇 那頓飯的挫折 事情的起點是一頓普通的旅遊晚餐。 菜單是日文的。我打開 Google Translate 的相機功能,對著菜單掃,螢幕上出現一堆漂浮的中文字——「炭火燒烤特選和牛」、「季節野菜天婦羅」——但這些字是貼在原始日文上方的,版面混亂,根本沒辦法看清楚哪道菜是什麼價格,有沒有我不能吃的成分。 ...

2026年5月21日 · 4 min · 1726 words · a17

Compose 深坑錄——我在 Jetpack Compose 踩過的那些坑

Compose 深坑錄——我在 Jetpack Compose 踩過的那些坑 MaiNeu 開發旅程 第二篇 「我以為我會了」 Jetpack Compose 我在做 MaiNeu 之前就用過。幾個小型的 side project,感覺還行——聲明式 UI 很直覺,remember 和 State 的概念也不難懂。 ...

2026年5月21日 · 5 min · 2125 words · a17

後端從零開始——一個 Android 工程師如何讀懂 Cloudflare Workers

後端從零開始——一個 Android 工程師如何讀懂 Cloudflare Workers MaiNeu 開發旅程 第三篇 後端,那個「別人負責的東西」 在做 MaiNeu 之前,我對後端的理解大概是: 「有個 server 在某個地方,它會接收請求,然後回傳 JSON。」 這個理解對於一個純前端工程師來說已經夠了——你只需要知道怎麼呼叫 API,不需要知道 API 的背後發生了什麼。 ...

2026年5月21日 · 4 min · 1534 words · a17

安全工程啟蒙——從「不要 hardcode 密碼」到 5 層防禦架構

安全工程啟蒙——從「不要 hardcode 密碼」到 5 層防禦架構 MaiNeu 開發旅程 第四篇 我對安全的原始認知 做 MaiNeu 之前,我對安全工程的認知大概是: 不要 hardcode API Key 用 HTTPS 密碼要 hash 存儲 ……然後就沒了 做了 MaiNeu 之後,我跑了一次 OWASP 2025 安全審計,發現了 15 個問題。這個過程讓我對安全設計的理解從「幾條規則」變成了「系統性的防禦思維」。 ...

2026年5月21日 · 3 min · 1474 words · a17

一個人維護四個環境——GitHub Actions CI/CD 實戰

一個人維護四個環境——GitHub Actions CI/CD 實戰 MaiNeu 開發旅程 第五篇 從「知道 CI 是什麼」到「設計三層環境晉升體系」 在做 MaiNeu 之前,我對 CI/CD 的認知是:「有個系統在每次 push 之後自動跑測試,公司有人在管。」 ...

2026年5月21日 · 4 min · 1561 words · a17

Auth 的那些坑——JWT、Session 管理、OAuth Fusion 的血淚教訓

Auth 的那些坑——JWT、Session 管理、OAuth Fusion 的血淚教訓 MaiNeu 開發旅程 第六篇 Authentication:看起來簡單,實際上是地雷區 Authentication 是每個 App 都必須做的功能,理論上也是最成熟的——OAuth 2.0、JWT、Session 管理,業界有一大堆標準做法。 ...

2026年5月21日 · 4 min · 1789 words · a17

設計 AI 工作流——14 個 Agent 組成的虛擬開發團隊

設計 AI 工作流——14 個 Agent 組成的虛擬開發團隊 MaiNeu 開發旅程 第七篇 從「幫我寫代碼」到「設計工作軌道」 2026 年初開始做 MaiNeu 的時候,我使用 AI 的方式很初級: 「幫我寫一個 ViewModel,需要管理這些狀態。」 ...

2026年5月21日 · 4 min · 1825 words · a17

Phase 2 的故事——從 WebSocket 到「暫不做」的產品決策

Phase 2 的故事——從 WebSocket 到「暫不做」的產品決策 MaiNeu 開發旅程 第八篇(完結篇) Phase 2 的起點 MaiNeu Phase 1 的核心:一個人,掃描菜單,看到翻譯結果。 但我一直在想一個場景:一群朋友在餐廳,其中一個人掃了菜單,其他人怎麼一起看、一起點餐? ...

2026年5月21日 · 4 min · 1744 words · a17