0%

Hi all, 由於最近有再研究原生 terminal Vim 的關係,固有這邊文章,由於本人此次研究是以撰寫typescript 為出發點,以下設定皆為tyescript相關設定,但其他程式語言也可參考,由於本次文章是解說如何自定義 Code Action,一些基本的設定就不再多做贅述。

那這篇文章主要會解說如何自定義 Code Action。我自己是選用 NvChad 進行修改,因此主要的 vim 會是使用NeoVim, 且 Plugin Manager 會是 Lazy 為主(但其實背後與 Packer 差不多,因此Packer 玩家也可參考)

以下是我的設定環境:

  • OS: Mac Air (M2)
  • NeoVim: v0.10.2
  • Need nodeJs/npm
  • Lsp: ts_ls
閱讀全文 »

接續上一篇 系統高可靠性

系統有了 resource 的規劃,還是無法保證不會有過載的情況發生。這時候就需要透過限流與熔斷來保護系統。 如果沒有做過載保護,當系統遇到過載時,可能會導致系統崩潰,甚至是整個系統的故障。如果有做過載保護,當系統遇到過載時,可以捨棄部分用戶,確保能為絕大部分用戶提供可使用的服務。

閱讀全文 »

判斷指標有三個:

  • 吞吐量: 一個系統在單位時間內處理的請求數量
  • 回應時間: 一個系統處理請求所需的時間
  • 可併發數: 一個系統能夠同時處理的請求數量
閱讀全文 »

Hi all, 這是個深度學習小白想玩玩 Learning 的一個 Side Project,目標是預測股勢,告訴我什麼時候可以進/退場。

但在實作之前啊,必須補齊一下股票這方面的 Domain know how,不求精通只求夠用,這篇文章主要會用來記錄這些 domain knowledge。
註記: 這次的code 主體是由 Chat GPT 撰寫,小弟的部分只有提供想法,並基於回應再提出問題,最後將產出的code進行參數的調整

閱讀全文 »

Hi all, for this article, I will keep note of how to use router group in Gin.

What is Router Group

Router Group is a function to extract routers for each group.
For example, if there are 2 features of the API, we can use Router Group to separate routers to another file and split the routers by features.

閱讀全文 »

由於小弟近期工作遇到ㄧ些架構層面上的問題,其中我和 team 上的 member Bear 再定義 Dao 及 Repository 的路上有些許的討論。

我覺得蠻有意義的,故紀錄於此。

閱讀全文 »

現今許多開發團隊表面上採用分層架構,但實際上更接近六角架構,這是因為許多專案或多或少都會使用依賴注入的緣故。
採用依賴注入後,架構的開發自然而然地更傾向於這種 Port 對 Adapter 的設計風格。

img.png

閱讀全文 »

把領域模型與業務邏輯分開,然後拿掉對基礎設施、使用者介面、甚至那些應用程式中非業務邏輯的直接依賴。把一個複雜的城市切割為不同層,在每個層中僅根據該階層本身的特性以及該層以下的各層,去考慮該層應該採用的設計模型。
By Eric Evans

在軟體架構中主要會有幾層 layer 再做不同的事情:

  1. 應用程式層 \rightarrow API 請求接收端
  2. 領域層 \rightarrow 處理業務邏輯的地方
  3. 基礎設施層 \rightarrow 呼叫外部 API或是連線 DB的地方
閱讀全文 »