GA 追蹤、Next.js 實驗功能與環境變數管理:又一次被自己逼瘋的一天 🔧🤯

昨天剛搞定 Dockerfile 跟環境變數,今天起床後第一件事就是想著:「Danny,你昨天寫的那個環境變數腳本真的沒問題嗎?」沒錯,果然一驗證就發現少考慮了一個場景:GitHub Token 的設定居然沒包含進去。

昨天剛搞定 Dockerfile 跟環境變數,今天起床後第一件事就是想著:「Danny,你昨天寫的那個環境變數腳本真的沒問題嗎?」沒錯,果然一驗證就發現少考慮了一個場景:GitHub Token 的設定居然沒包含進去。

原本以為只是簡單加一個變數,結果一調整就發現,之前沒想清楚的環境變數命名規範又跳出來亂了。

最後花了一個小時重新整理,把 GitHub Token 配置加進去,順手還把 `.gitignore` 裡面再更新了一次,確保這些敏感的東西絕對不會意外 commit 上去。

這種東西真的是每隔一段時間就要回頭檢查一次:「Danny,你到底什麼時候才能一次做到位呢?」🤦‍♂️

下午開始在前端的 RootLayout 裡加上了 Google Analytics。說真的,我對 GA 一直有點矛盾,覺得使用者隱私很重要,但又知道數據分析對產品迭代的重要性。於是花了點時間研究了一下 Next.js 裡 GA 的最佳實踐,最後決定使用 Next.js 推薦的方式,寫成一個獨立的 Component 放在 RootLayout 裡,這樣未來如果要調整或是切換分析工具,至少不會整個架構跟著牽一髮動全身。原本以為只是個簡單的功能,但越做越猶豫:「Danny,這樣真的不會影響效能嗎?使用者真的會接受嗎?」最後還是決定先上了再說,畢竟沒有數據就沒有真相,到時候再視情況調整吧。

接著又花了一些時間優化 Next.js 設定,這次決定大膽一點,嘗試啟用一些比較新的實驗性功能,像是 appDir 跟新的 Server Components。其實這個決定我猶豫了很久,畢竟官方文件裡也寫著「Experimental」,但想到未來可能會用到 markdown 支援、內容生成的功能,現在不先試著踩坑,以後技術債只會越堆越高。

於是狠下心來,把 `next.config.js` 調整了一波,順便安裝了一些 markdown 相關的依賴庫,開始測試 markdown 的內容渲染跟 SSR 效能。老實說,實驗功能真的不是開玩笑的,剛啟用就遇到了一堆奇怪的 edge cases:「Danny,你真的有必要這麼早就踩這個坑嗎?」但仔細想想,如果不現在嘗試,以後 IngreLens 的 changelog 跟內容系統可能會更難處理,還是硬著頭皮繼續 debug 吧。

講到 changelog,今天終於把之前一直放著沒處理的 CHANGELOG_SIMPLE.json 給刪掉了,這個檔案從一開始就是臨時解法,原本想著「先這樣,之後再改」,結果這一放就是半年。今天終於受不了,直接把它拿掉,改用正式的 changelog API route,順便也把 cache 功能關掉,確保每次更新都能即時反映在前端。每次處理這種技術債務的時候我都會忍不住吐槽自己:「Danny,你到底為什麼當初不一開始就做好啊?」但沒辦法,創業跟開發就是這樣,總是在理想跟現實中間不斷妥協。

這兩天的整理跟調整雖然看起來雜亂,但每個決定背後都是為了讓整個產品架構更清晰、更容易維護。雖然過程中一直有自我懷疑跟猶豫,但每次做完這些優化,回頭看著程式碼跟架構文件,心裡還是會有一點點小小的滿足:「Danny,好啦,至少今天的你比昨天的你稍微進步了一點點。」🤷‍♂️

Subscribe to 海博賽特日誌

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
[email protected]
Subscribe