0%

hi all, 小弟最近在讀本書,叫做原子習慣,那這本書主要在講如何透過建立習慣,來達到自己的目標,這篇文章主要會用來記錄這本書的內容,預防針打一下,不一定是每個知識點都會紀錄。

所有的筆記都會紀錄在這一篇,所以這是一篇連載筆記?

閱讀全文 »

到底怎麼切微服務這是個蠻好發起的問題,以下是我跟我的前同事 丁丁 再吃晚餐時隨口聊的,覺得蠻有趣的所以寫寫文章。

為什麼要切微服務

  • 當一個組織想做一些架構重構的時後,首先要想的並不是服務怎麼切,應該要想為什麼要切

對於一個對技術有相對熱忱的工程師來說,我知道遇到問題不去想解法是件很難的事情。但就我自己的再經歷的前公司的微服務後加上前前後後看到的一些架構後,回頭反思一下,得到了一個啟發:

閱讀全文 »

ECS Log Standard

ECS(Elastic Common Schema)是一個開放的標準,用於統一和簡化不同來源的日誌資料。以下是一些關於ECS log standard的重要資訊:

為什麼使用ECS?

ECS 提供了一個統一的結構,使得來自不同來源的日誌資料可以更容易地被解析和分析。這有助於提高日誌資料的可用性和可理解性。

ECS 的主要特點

  • 一致性:ECS 定義了一組標準欄位,使得不同來源的日誌資料可以使用相同的欄位名稱。
  • 擴展性:ECS 允許使用者根據需要擴展欄位。
  • 相容性:ECS 與多種日誌管理工具和函式庫相容。
閱讀全文 »

Hi all, 因為工作上的關係接觸到了所謂的 AOP 框架, 覺得挺有趣的故藉此文章分享。

Introduce

AOP(面向方面程式設計/Aspect-Oriented Programming), 他是一種寫程式的方法,簡單來說就是把一些常常要用到,但是跟主要業務邏輯無關的功能抽出來統一處理。
舉個例子, 假設我們在寫一個購物網站然後建立交易的流程如下:

閱讀全文 »

這是一個使用 ChatGpt 來教我怎麼認識及部屬 Kafka的筆記,在下對於kafka的認知程度大概是只知道這是啥但沒碰過,如果有跟我一樣程度的大大們也能參考這篇筆記。

Kafka 是一個由 Apache 開發的分散式事件流平台,廣泛用於即時資料流處理和高效能的資料傳輸。以下是 Kafka 的核心概念和特性:

  • 消息系統:Kafka 是一種分散式的消息系統,支持發布(publish)和訂閱(subscribe)消息,常用於數據的即時流處理。
  • 分區(Partition)和容錯性:消息被分成多個分區儲存,允許橫向擴展來處理大規模資料。分區複製增加了容錯性,即便某個節點失效,其他複製節點仍可提供資料。
  • 高效能:Kafka 使用順序寫入和磁碟存儲結構來提供高吞吐量,適合高頻交易和資料流的大數據處理。
  • 消費者群組(Consumer Group):多個消費者可以組成群組,共享讀取相同主題的不同分區的訊息,使得訊息能夠被平行處理,達到橫向擴展的效果。
  • 持久性:Kafka 可以將消息持久儲存在磁碟上,用戶可以配置消息的保留時間,因此即使消費者延遲也不會丟失消息。
  • 流處理(Stream Processing):Kafka 提供 Kafka Streams API,支持將數據流作為實時的可持久查詢的數據源,允許進行資料的過濾、聚合和轉換。
閱讀全文 »

Hi all, 在理解2PC 理論前,我們需要先知道這個理論她要解決的問題是甚麼。

多文件一致性問題

首先給個情境,今天有個服務它的運作流程是先更新cache 再更新 database,由於兩邊的更新都需要使用到網路進行訊息傳遞,我們也不能保證說兩次的網路使用都會沒問題,那我們該怎麼確保兩邊資料上都要確保一致呢?

閱讀全文 »

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進行參數的調整

閱讀全文 »