為什麼做 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

安全工程啟蒙——從「不要 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