Debug Story

Debug Story

Ref:


這篇主要是想紀錄一下看了Ruddy 老師的文章後想做的事情,雖然通篇的重點不是在我想做的這件事,但因為Ruddy 老師的這篇文章讓我覺得以後在排除 Bug 的時候應該要做這件事才對。

以下的內容是擷取 Ruddy 老師的內容(部分修改)

  1. 記錄搜尋路徑與嘗試過的假設 => 我以為是 state 沒清,但發現是 effect 未執行
  2. 為錯誤進行分類,然後標註成概念 => 這是 mutable state 的副作用問題
  3. 寫一段描述該段程式的情境與原則 => Vibe Story

該段程式的情境與原則可以參考一下的要點撰寫:

  • 場景(Context):描述程式碼的背景與需求。
  • 目標(Goal):說明功能目的。
  • 挑戰與迭代(Challenges & Iterations):記錄試錯與調整歷程。
  • 視角(Perspectives):納入不同角色觀點。
  • 反思(Reflection):紀錄當時決策依據與未來優化方向。

例如:

  • 場景:每日交易量達十萬次,需支援高併發請求。
  • 目標:打造低延遲且穩定的支付 API。
  • 挑戰與迭代:初期使用資料庫鎖定,但效能不足;改用 Redis 快取解決問題。
  • 視角:使用者要求秒級響應,開發者偏好快取機制,測試人員確認資料一致性。
  • 反思:快取方案穩定有效,惟需加入記憶體溢位監控。

Read more

Claude Code Status line on Windows

Claude Code Status line on Windows

Claude Code 在大家軍備戰發布了 Status line 這個功能,讓使用者可以在 Claude Code 的輸入框下方自訂自己想要的訊息,官方提供幾個方式可以實現這功能(Bash, Node.js, Python),最後我選擇使用 Node.js。 趁著週末寫玩了一下,剛開始照著官方文件做,結果啥都沒顯示出來,接著叫 Claude Code 幫我做,他說成功了,結果還是啥都沒有...最後才發現可能是官方提供設定檔案的問題 { "statusLine": { "type": "command", "command": "~/.claude/statusline.sh", "padding": 0 // Optional:

By Mars
如何避免 .NET 產出不要的在地化語系檔案

如何避免 .NET 產出不要的在地化語系檔案

在使用第三方套件時,有時候會因為第三方套件有支援多語言,因此在建制時會多出很多在地化相關的檔案,如下圖: 想要避免產出這些檔案,可以在 project 設定檔中增加以下的設定 <PropertyGroup> <InvariantGlobalization>true</InvariantGlobalization> </PropertyGroup> 或者使用 <SatelliteResourceLanguages> 來產出特定所需的語言也可以: <PropertyGroup> <SatelliteResourceLanguages>en;jp;ko</SatelliteResourceLanguages> </PropertyGroup>

By Mars