yue-fang-readfog 

feeds.twtxt.net

No description provided.

基於 Kubernetes 事件驅動的自動縮放
KEDA 是一種基於事件驅動的自動伸縮工具,能夠解決 Kubernetes 原生 HPA 在靈活性和複雜性上的不足。KEDA 支持多種事件源(如 Prometheus、Kafka、RabbitMQ 等),可根據實際需求動態調整 Pod 副本數量,甚至將副本數縮減至 0,從而優化資源利用率並降低成本。通過 ScaledObject 對象,KEDA 能夠靈活配置伸縮策略,快速響應負載變化,實現高效擴展 ⌘ Read more

⤋ Read More

萬字總結 NIO 多路複用技術,深入解析 NIO 的實現原理!
什麼是 NIO NIO 是 Java 提供的一種基於 Channel 和 Buffer 的 IO 操作方式,即:利用內存映射文件方式處理輸入和輸出。NIO 具有更加強大和靈活的 IO 操作能力,提供了非阻塞 IO、多路複用等特性,特別適合需要處理大量連接的網絡編程場景在 JDK1.4 時提出了 NIO(New I/O),在 BIO 模型 (Blocking IO) 的基礎上,增加了 NIO 模型 ⌘ Read more

⤋ Read More

Go 項目開發中,遷移數據庫最佳方案
數據庫遷移是構建和維護 Go 應用的重要環節。它能保持數據庫模式與你的代碼庫同步,處理更新,並確保你的應用在演進過程中始終可靠。選擇合適的遷移工具可以節省時間、減少錯誤,並使部署更加順暢。本文將深入探討適用於 Go 的最佳數據庫遷移工具,通過示例、對比和實用見解,幫助你爲項目挑選合適方案。我曾經歷過手動遷移的繁瑣與模式不匹配的混亂,因此會以易於理解的方式剖析每款工具的優勢、特點和使用場景。讓我們一 ⌘ Read more

⤋ Read More

淺析 rust 大明星 Tokio
Tokio 可以說是 rust 中最熱門的庫,對於異步與併發進行了很好的支持。大多數基於 rust 的開源框架都使用到了 Tokio,因此在介紹這些實現開源框架時經常會被問到:底層的異步和併發是怎麼實現的?我只能回答:底層的異步和併發都是由 Tokio 控制的。這顯然不是一個令人滿意的回答。因此本文章將對於 Tokio 的基本方法和底層邏輯進行分析。概述一句話概括 Tokio 可以理解成一個 “ ⌘ Read more

⤋ Read More

使用 Zig 開發 Nodejs 原生模塊
Node-API[1](前身爲 N-API)是 Nodejs 提供的用於構建原生插件的 API。它獨立於底層 JavaScript 運行時(例如 V8),並作爲 Node.js 自身的一部分進行維護。該 API 在不同版本的 Node.js 中具有穩定的應用二進制接口 (ABI)。其目的是使附加組件不受底層 JavaScript 引擎變化的影響,並允許爲一個主要版本編譯的模塊在以後的主要 Node ⌘ Read more

⤋ Read More

攻克 Linux 內核 Oops:手把手教你從崩潰到破案!
作爲一名長期深耕 Linux 內核開發的博主,在這條探索之路上,我遭遇過無數的挑戰,而 Linux 內核 Oops 問題,絕對是其中讓人最爲頭疼的難題之一。還記得那是一個爲某項目開發定製 Linux 內核模塊的緊張時期,我滿心期待地將新編寫的驅動程序模塊加載到內核中,本以爲一切會順利進行,結果屏幕上突然跳出一大串密密麻麻的 Oops 錯誤信息,系統也陷入了不穩定的狀態。那一刻,我的心瞬間懸了起來, ⌘ Read more

⤋ Read More

如何理解高可用數據複製原理
一談到複製技術, 相信我們大部分都有一個認知, 那就是實現數據存儲的高可用, 其實進行數據複製也不僅僅是實現高可用, 同時也是邊緣加速以及提升讀性能的一個技術手段, 今天我就來講述下複製技術原理, 也是作爲學習過程中的一個筆記記錄. 共享存儲與無共享存儲架構 同樣我們關注一項技術還是需要先了解過往的背景, 現在我們可以先思考下爲什麼數據庫數據需要分佈在多臺機器上呢?首先我們先來看單機的共享內存 ⌘ Read more

⤋ Read More

Linux 內核內存管理:核心技術與優化策略
在 Linux 系統中,內存管理堪稱內核的核心功能之一,其運作機制複雜且精妙。Linux 採用虛擬內存技術,爲進程構建獨立的地址空間,借內存管理單元(MMU)將虛擬地址精準映射至物理地址,既保障進程間內存隔離,又防止相互干擾。物理內存管理上,Linux 以分頁機制爲基,將內存切爲固定大小頁(常見 4KB) ,由夥伴系統算法主導分配與回收。通過合併、分割內存頁,夥伴系統有效減少內存碎片,提升內存利用 ⌘ Read more

⤋ Read More

golang 每日一庫之 Zinx
Zinx 是一個用 Go 語言編寫的輕量級、併發 TCP 服務器框架,旨在幫助初學者深入理解 TCP 服務端開發的核心架構,同時具有生產級特性的模塊化設計 。倉庫地址https://github.com/aceld/zinx設計理念學習導向 :源碼精簡,框架和教程同步開發,分版本迭代,一步步構建功能,降低學習門檻 。 生產適用 :模塊化、擴展性強,已被用於遊戲服務 ⌘ Read more

⤋ Read More

上下文取消鏈:摧毀我們支付系統的 bug
一個看似無害的 Go 語言特性如何引發級聯故障,導致了 110,000 美元的交易損失。警報響起時,我們的支付處理系統已經癱瘓。信用卡交易失敗、訂閱無法續訂、客服聊天窗口被憤怒的消息淹沒。一次常規部署演變成了我們兩年內最嚴重的生產事故。罪魁禍首?對 Go 語言上下文取消的細微誤解,它引發了一連串我從未預料到的反應。背景:一次 “簡單” 的優化三週前,我接到了優化支付處理流程的任務。系統每分鐘處理數 ⌘ Read more

⤋ Read More

Go 定時任務筆記
Go Timer,Ticker,Sleep———————time.Timertime.Timer 是一個單次的定時器,在指定時間後觸發一次後就不再重複。雖然說觸發後不會再次觸發,但資源不會自己就釋放了,需要調用Stop()方法來釋放資源否則還在內存中。在 Timer 結束後可以用Reset()方法重置計時器 (要在 Stop() 之後或未觸發時使用)。基於這種特性 Ti ⌘ Read more

⤋ Read More

從零開始編寫 Mcp Server, 發佈上線,超簡單全網最細
MCP 簡單來說就是 AI 大模型的標準化工具箱。在我們之前的很多期視頻裏面,只是討論瞭如何使用別人已經編寫好的 MCP Server,對接到 AI 客戶端裏面,實現各種智能體與工作流。本期視頻我們轉換到開發者的角度,超簡單,幾分鐘之內編寫一個 MCP Server,並且把它發佈上線,提供給所有人去使用。本期視頻內容較多,並且十分硬核,可以幫助我們從開發者的角度更加深入理解 MCP 協議。在爬爬蝦 ⌘ Read more

⤋ Read More

深入 Biome — 現代 Rust 前端工具鏈
Biome 簡介Biome 是一個基於 Rust 開發的前端工具鏈工具,它提供了完善的 Analyzer / Linter / Formatter 的能力支持。目前 Biome 提供了 JS、TS 、JSON/JSONC 以及 CSS 和 GriftQL 等語言的支持。在 Linter 方面,目前 Biome 內置支持了約 320 條以上規則支持 (參考: https://next.biomejsRead more

⤋ Read More

Golang 裏普通 map 不用鎖,咋解決協程安全?
在 Go 語言開發中,map 是常用的數據結構,但原生 map 在併發讀寫時會導致 panic。這是因爲 Go 的設計哲學是 “顯式優於隱式”,不自動處理併發安全問題,需要開發者根據場景選擇合適的併發控制策略。本文將深入探討三種主流解決方案,並分析它們的適用場景和性能特點。方案一:官方推薦的 sync.Map基本用法sync.Map是 Go 標準庫提供的線程安全 map 實現,適合讀多寫少的場景: ⌘ Read more

⤋ Read More

在 Go 中爲什麼推薦使用空結構體作爲 Context 的 key
使用 Context 進行傳值我們知道 Context 主要有兩種用法,控制鏈路和安全傳值。在此我來演示下如何使用 Context 進行安全傳值:package mainimport (    ”context”    ”fmt”)const requestIdKey = ”request-id”func main() {    ctx := context.Background()    // ⌘ Read more

⤋ Read More

重磅!Qwen3 Embedding 王炸登場,AI 文本理解邁入新紀元!
各位 AI 愛好者、開發者們,準備好了嗎?今天,一個能徹底顛覆你對 AI 文本理解認知的 “王炸” 產品——Qwen3 Embedding 系列模型——正式發佈了!它不僅僅是一個模型,更是一個將帶領我們進入 AI 文本處理新紀元的里程碑!🤯💥 爲什麼說它是 “王炸”?五大亮點讓你不得不服!Qwen3 Embedding 系列模型,作爲 Qwen 家族的最新力作,專爲文本嵌入和排序任務而生,它繼承了 ⌘ Read more

⤋ Read More

glibc 堆內存管理:原理、機制與實戰
在內存管理領域,glibc(GNU C Library)通過 brk 和 mmap 兩大系統調用,構建了一套高效的堆內存管理機制。這種設計大幅減少了系統調用的頻次,顯著提升內存利用率。在 glibc 的管理架構中,堆內存以層級化的方式組織,包含分配區(Arena)、堆(Heap)和內存塊(Chunk)。其中,主 Arena 依賴 brk 系統調用實現內存分配,而子 Arena 則通過 mmap 完 ⌘ Read more

⤋ Read More

使用 dig 查詢 dns 遞歸查詢過程
DNS 查詢過程中如果沒有命中緩存,查詢實際上是一個遞歸過程。DNS 解析工具 dig 提供了 trace 功能,可以展示遞歸查詢的整個過程。以查詢 www.baidu.com 爲例,查詢結果如下:root@ubuntu:~# dig +trace +nodnssec www.baidu.com;; communications error to 114.114.114.114#53: timed ⌘ Read more

⤋ Read More

什麼是 AI 智能體?如何一步步構建屬於你自己的智能體?
什麼是 AI 智能體?下一件大事?Gartner 認爲:AI 智能體(AI Agents)將是未來的關鍵技術。OpenAI、Nvidia 和 Microsoft 正在大力投入,甚至像 Salesforce 這樣在 AI 領域一向低調的公司,也已悄然下注。而毫無疑問,這項技術目前正迅猛崛起。那麼,這一趨勢背後真正的是什麼?理解智能體(Agents)的關鍵在於:自主性(Agency)。不同於傳統的生成 ⌘ Read more

⤋ Read More

Go 項目該擁抱 Monorepo 嗎?Google 經驗、etcd 模式及白盒交付場景下的深度剖析
大家好,我是 Tony Bai。在 Go 語言的生態系統中,我們絕大多數時候接觸到的項目都是遵循 “一個代碼倉庫(Repo),一個 Go 模塊(Module)” 的模式。這種清晰、獨立的組織方式,在很多場景下都運作良好。然而,當我們放眼業界,特別是觀察像 Google 這樣的技術巨頭,或者深入研究 etcd 這類成功的開源項目時,會發現另一種代碼組織策略——Monorepo(單一代碼倉庫)——也在 ⌘ Read more

⤋ Read More

Lucene 最全詳解 -萬字圖文總結-
Lucene 是一個高效的基於 Java 的全文檢索庫,理解 Lucene 原理更容易掌握好 Lucene 搜索,下面我全面來詳解 Lucene@mikechen全文檢索原理——Lucene 是一個高效的基於 Java 的全文檢索庫,所以在瞭解 Lucene 之前要費一番工夫瞭解一下全文檢索,這是 Lucene 原理的核心。全文檢索它的工作原理:就是是計算機索引程序通過掃描文章中的每一個詞 ⌘ Read more

⤋ Read More

一文講透 DMA,超級詳細!!!
嵌入式開發中,DMA 是個繞不開的話題。今天我們不講枯燥的配置步驟,畢竟每個處理器、每個外設的 DMA 實現都不盡相同。我們目標是帶大家搞懂 DMA 的本質、它爲什麼能讓系統更快。數據搬運工的煩惱——–想象一下,你在開發一個數據採集系統,比如一個工業監控設備。核心任務是從 ADC 採集數據,通過 SPI 存到 SD 卡,同時通過 USB 傳到上位機,UART 還得處理一些命令交互。這種場 ⌘ Read more

⤋ Read More

分佈式系統不可靠的網絡問題
在之前我們講述了分佈式系統會出現 partial failures 主要原因是部分組件或者服務發生故障 faults, 其實還存在另一個故障, 即網絡故障. 今天我們來聊下分佈式系統不可靠的網絡問題. 不可靠的網絡問題分類 在前面我們講述了分佈式系統模型, 其中已經對響應結果做出了分析, 這裏我藉助《設計數據密集系統》一張圖來說明下, 總結起來主要有三個方面:請求 / 響應丟失: 數據包可能因 ⌘ Read more

⤋ Read More

golang 每日一庫之 DDD 框架 freedo
Freedom:自由不是亂來,而是架構有道———————你是不是寫 Go 寫得挺開心的,直到有一天產品說: “這個業務流程以後會變、會拆、可能還會上天。”於是你開始發愁:怎麼寫纔不會三個月後改到哭? 怎麼解耦、怎麼擴展、怎麼不踩坑? 這時候,Freedom 躍馬而來,大喊一句: “用我!讓你寫得自由、改得瀟灑、跑得像風!”什麼是 Freedom—– ⌘ Read more

⤋ Read More

別被炒作迷惑!吳恩達告訴你 AI Agent 智能體的真相與誤區
在 AI 領域,炒作往往走在實踐的前面,今年熱議的 AI Agent(智能體)就是這樣一個充滿誤解與過度承諾的熱門概念。吳恩達(Andrew Ng)無疑是人工智能領域最具影響力的人物之一。作爲斯坦福大學教授、Coursera 聯合創始人、百度前首席科學家、AI Fund 創始人,他不僅推動了深度學習的普及,還培養了一代 AI 人才。另一邊,LangChain 作爲當前最流行的大語言模型應用開發框架 ⌘ Read more

⤋ Read More

Vue 團隊正式發佈!未來 Vue 也能寫後端啦!
前言–大家好,我是林三心,用最通俗易懂的話講最難的知識點是我的座右銘,基礎是進階的前提是我的初心~背景需求—-最近,我遇到了一個需求:有兩個頁面,每個頁面各自連接到一個獨立的WebSocket。這兩個頁面能夠通過WebSocket相互影響。爲了更好地理解需求,以下是兩個頁面的簡化版本:頁面 1 和頁面 2 的需求:頁面 1:當點擊更新按鈕時,頁面 1 的數值加 1,同時頁面 2 的數值變爲頁 ⌘ Read more

⤋ Read More

golang 每日一庫之 GoAdmin
你是不是曾經想用 Go 寫個後臺系統,結果一不小心就寫成了 Bug 系統?是不是寫到權限控制的時候,感覺自己變成了權限受害者?是不是本來想安安心心做個 CRUD 工人,結果被前端 UI 折磨到懷疑人生?別怕,GoAdmin 來拯救你了!什麼是 GoAdmin簡單說,GoAdmin 就是 Go 語言界的 “萬能後臺神器”。它能幫你:三分鐘起飛 :快速搭出一個後臺系統; 一行不寫也 ⌘ Read more

⤋ Read More

分佈式事務的解決方案—Seata TCC 模式
在分佈式事務解決方案中有 Seata AT 模式,但是 AT 模式要求是關係型數據庫(因爲 undolog 表需要和業務保持原子性),此時如果事務中存在非關係型數據庫(如 Redis、ES 等),那麼 AT 模式就無法滿足要求了,如下圖所示:    此時我們就需要 Seata TCC 模式來幫助我們解決這種場景下的分佈式事務問題。1、認識 Seata TCC 模式    TCC(Try-C ⌘ Read more

⤋ Read More

雲原生架構中幾種常用架構模式
基於服務化、彈性擴縮容、可觀測和自動化等設計原則的引入,傳統的應用架構由單體應用逐步向雲原生架構發展。雲原生技術架構迭代逐步演化爲服務化架構、服務網格 Mesh、Serverless 架構、EDA 事件驅動和可觀測等架構模式。本文對這幾種主要的架構模式進行簡要的介紹。1、雲原生架構模式1.1 服務化架構服務化架構的核心在於通過接口契約定義服務單元的功能,實現服務間的高效通信。例如,通過服務接口定義 ⌘ Read more

⤋ Read More

golang 每日一庫之工作流引擎 cadence
Cadence 是由 Uber 開發並開源的分佈式工作流編排引擎,旨在幫助開發者構建可擴展、可靠且具備容錯能力的分佈式應用程序。這個 Uber 當前給我發了好多打車券,還是很厚道的。特點–1. 容錯的有狀態工作流Cadence 的工作流是 “容錯的有狀態工作流”,即使在進程崩潰或服務重啓的情況下,工作流的狀態(包括局部變量、調用棧、定時器等)也能自動恢復,確保業務流程不中斷。2. 異步任務與自動 ⌘ Read more

⤋ Read More

用 Go 語言實現用戶一鍵登錄,有哪些可靠的方案
一鍵登錄是現代應用中提升用戶體驗的關鍵功能,本文將深入探討 Go 語言實現一鍵登錄的幾種可靠方案,並提供完整的代碼實現和對比分析。方案一:短信驗證碼登錄(最常用)實現原理用戶輸入手機號 服務器發送短信驗證碼 用戶輸入驗證碼完成登錄 完整代碼實現package mainimport(“crypto/rand”“fmt”“math/big”“net/http”“time”“githu ⌘ Read more

⤋ Read More

RabbitMQ 的架構設計
Kafka、RocketMq、ActiveMQ、RabbitMQ 和 Apache Pulsar 都是現在使用的比較多的主流 MQ,下面我們來介紹 RabbitMQ 的架構設計。    RabbitMQ 使用 Erlang 語言開發消息隊列系統,基於 AMQP 協議(高級消息隊列協議)實現的一個開源的消息中間件,它允許應用程序之間進行異步通信,並且 RabbitMQ 提供了一種高效、可擴展 ⌘ Read more

⤋ Read More

sglang 最佳實踐
自從 deepseek 研發團隊推薦使用 sglang 部署 R1,就開始慢慢的關注 sglang。大模型的推理框架很多,企業級中 vllm 已經成爲實際的工業標準,其他框架多多少少會參考 vllm;sglang 作爲同是伯克利大學出品也越來越凸顯出來,tensorRT-LLM 由於對於 gpu 的深度綁定,一般的廠商不會採用。ollama,llama.cpp 在整體性能上像是一個單機個人玩家,不 ⌘ Read more

⤋ Read More

理清 Mysql 的行鎖、意向鎖、記錄鎖、間隙鎖和臨鍵鎖
在日常開發工作中,Mysql 是常用的數據庫之一,突然某天 Mysql 數據庫告警提示出現了死鎖問題,爲了解決死鎖問題,我們就需要掌握一些關於 Mysql 的鎖的知識。1、行鎖    在 InnoDB 存儲引擎中行級鎖每次操作鎖住對應的行數據,鎖定粒度最小,發生鎖衝突的概率最低,併發度最高。InnoDB 的數據是基於索引組織的,行鎖是通過對索引上的索引項加鎖來實現的,而不是對記錄加的鎖。在 ⌘ Read more

⤋ Read More

分佈式事務解決方案—事務消息
普通消息難以保證生產者的事務操作與消息發送的原子性,所以可能會導致數據不一致;RocketMQ 提供了一種在普通消息基礎上支持二階段的提交能力事務消息,事務消息可以支持在分佈式場景下保障消息生產和本地事務的最終一致性。1、事務消息基本概念(1)半消息     生產者發送的消息首先作爲 “半消息” 存儲在 Broker 中,對消費者不可見。Broker 等待生產者確認消息狀態(提交或回滾), ⌘ Read more

⤋ Read More

分佈式事務的解決方案—Seata AT 模式
Seata 是一款開源的分佈式事務解決方案的框架,它致力於在微服務架構下提供高性能和簡單易用的分佈式事務服務,Seata 爲用戶提供了 AT、TCC、SAGA 和 XA 事務模式。其中 AT 模式(auto transaction)是一種無侵入的分佈式事務解決方案,AT 模式的核心思想是基於二階段提交實現的。1、二階段提交    兩階段提交協議 (Two-Phase Commit,2PC) ⌘ Read more

⤋ Read More

高併發場景下,Nginx 如何限流應對併發?
在很多大流量高併發的場景,如果用戶併發量很高就會出現宕機的局面,所以這個時候都會涉及到限流 @mikechen高併發限流限流是一種流量控制機制,用於限制客戶端對服務器的請求速率、或併發連接數。通過限流,可以保護服務器免受過多請求的影響,防止因請求過載而導致系統性能下降、或崩潰。限流能過濾掉惡意請求、和非正常流量,防止瞬時流量激增對後端應用或數據庫造成衝擊,確保系統整體穩定性。比如:防止拒絕服務攻擊 ⌘ Read more

⤋ Read More

RAG 技術全解析:從基礎原理到優化實戰
你瞭解 RAG 嗎?,下面這些問題你是否能回答上來呢?什麼是 RAG(RAG 的流程是什麼),爲什麼需要 RAG? 如何對文檔分塊(Chunking)?分塊大小如何選擇? 檢索時如何計算相似度?餘弦相似度有什麼缺點? 如何優化 RAG 流程? 什麼是 Re-rank?如何重排序? 什麼是 GraphRAG? 如何評估 RAG 系統的效果? RAG 有哪些缺 ⌘ Read more

⤋ Read More

golang 每日一庫之工作流引擎 Temporal
Temporal 是一個開源的分佈式工作流編排系統,旨在簡化構建和運行可靠、可擴展的長時間運行的後端應用程序。它最初是由 Uber 的 Cadence 系統演變而來,現在由 Temporal Technologies 公司主導開發。目前已被 Coinbase、Netflix、Box、Snap 等大規模應用。核心功能—-1. 分佈式工作流編排Temporal 支持在多臺機器上協調執行復雜的業務邏 ⌘ Read more

⤋ Read More

怎麼樣把 Image 圖片通過 MQTT 協議進行發送和接收?
MQTT 是一種輕量級發佈 / 訂閱消息的協議,通常用於具有小型的物聯網設備。消息中通常不會包含太多數據,只是傳感器值。但是大多數情況下,MQTT 消息負載是文本,可能是少量文本或 JSON 數據負載。不過,設備如何在 MQTT 消息中發送文件,例如 Image 圖片. jpg 格式文件呢?這期我們通過整理網上的資料,把具體的方式分享給大家!使用 MQTT 協議發佈圖像————– ⌘ Read more

⤋ Read More

分佈式系統不可靠時鐘問題
今天我同樣結合《設計數據密集系統》來聊分佈式系統另外一個話題, 即分佈式系統的不可靠時鐘問題. 同步網絡與異步網絡時鐘對比在前面我們講述了分佈式系統網絡不可靠的原因是由於我們數據中心服務通信採用的是異步網絡實現, 同樣地我們來看爲什麼同步與異步網絡在時鐘上也存在差異呢? 對此我們可以先看下面同步與異步網絡在時鐘控制上的差異:通過上述我們可以清晰地知道:同步網絡存在全局時鐘控制, 異步網絡中每個節 ⌘ Read more

⤋ Read More

MCP 安全檢查清單:AI ⼯具⽣態系統安全指南
背景本安全檢查清單由 @SlowMistTeam 編寫並維護。慢霧科技作爲全球領先的區塊鏈生態威脅情報公司,旨在幫助區塊鏈生態與 AI 生態相融合的過程中擁有更加深度的安全防護能力及保護用戶擁有更高的隱私性。 感謝 FENZ.AI 傾力相助。FENZ.AI 以未來科技重塑 AI 安全審計。從 MCP 攻擊檢測到 AI 忠誠度評估, Fenz 正在構建 AI 時代的基礎設施——“超級智能,始於 ⌘ Read more

⤋ Read More

nginx 代理 WebSocket
配置–HTTP/1.1 協議中 Upgrade 機制可以將 http 升級到 WebSocket,實現客戶端與服務端的雙向通訊。客戶端需要升級協議時在請求頭包含 Upgrade、Connection 字段。如果服務端同意升級連接,就會返回 101 狀態碼和一個 Upgrade 標頭字段,Upgrade 字段內容爲要切換到的協議。如果服務器不能升級連接,返回一個常規響應,如 200 ok。ngin ⌘ Read more

⤋ Read More

兩分鐘實現一個 chrome 插件
放在以前,2 分鐘寫一個 chrome 插件是想都不敢想,但是今天,通過 ai 賦能,我們可以很容易的就實現了。效果圖—用戶可以設置最大的標籤頁數量和超出數量的管理策略,來管理 chrome 當前窗口的標籤頁。需求場景—-在公司辦公的時候,一個 chrome 頁面,不斷的新開標籤頁,標籤頁越來越多,最後直接都找不到之前想要找到的標籤頁了。所以可以通過這種標籤頁管理插件來管理自己當前的瀏覽器 ⌘ Read more

⤋ Read More

Golang 字符串拼接 6 種方法性能對比與最佳實踐
在 Go 語言中,字符串 (string) 是不可變 (immutable) 的數據類型,這意味着每次字符串拼接操作實際上都會創建一個新的字符串對象。對於需要頻繁拼接字符串的場景,選擇合適的方法對性能有顯著影響。本文將全面分析 6 種常見的字符串拼接方式,並通過基準測試揭示它們的性能差異。6 種字符串拼接方法詳解1. 直接使用+運算符funcconcatOperator(s string, n i ⌘ Read more

⤋ Read More

Go 語言 fsm 源碼解讀,這一次讓你徹底學會有限狀態機
我在文章《在 Go 中如何使用有限狀態機優雅解決程序中狀態轉換問題》中講解了有限狀態機的概念,並介紹了 Go 中有限狀態機 fsm 包的使用。本篇文章,我將更進一步,直接通過解讀源碼的方式,讓你深刻理解 fsm 是如何實現的,這一次你將徹底掌握有限狀態機。源碼解讀廢話不多說,我們直接上代碼。結構體首先 fsm 包定義了一個結構體 FSM 用來表示狀態機。 https://github.com/lRead more

⤋ Read More

分佈式存儲技術最全詳解 -圖文全面總結-
大家好,我是 mikechen 睿哥。分佈式存儲技術是大型架構的基石,下面我重點詳解分佈式存儲技術 @mikechen分佈式文件存儲隨着互聯網、大數據、雲計算和人工智能等技術的發展,數據量呈爆炸式增長。傳統的文件存儲方式,難以滿足日益增長的存儲需求,它們通常面臨擴展性差、單點故障、性能瓶頸等問題。分佈式文件存儲應運而生,它通過將文件數據分割成小塊,並存儲在集羣中的多臺機器上。從而實現了海量數據的存 ⌘ Read more

⤋ Read More

golang 基礎之 errgroup
Golang 的擴展併發庫 golang.org/x/sync/errgroup 提供了對多協程任務進行管理和錯誤處理的便利功能。與基礎的 sync.WaitGroup 相比,errgroup.Group 在等待所有任務完成的同時,還會自動捕獲第一個非 nil 錯誤並返回。如果通過 WithContext 創建 Group,當任一子任務返回錯誤時,errgroup 會取消關聯的 Context,從 ⌘ Read more

⤋ Read More

負載均衡—會話保持技術詳解
一、會話保持的定義會話保持(Session Persistence)是一種負載均衡策略,其核心機制是確保來自同一客戶端的連續請求,在特定週期內被定向到同一臺後端服務器進行處理。這種機制通過記錄和識別客戶端的特定標識信息,打破負載均衡器隨機分配請求的常規邏輯,實現請求處理的持續性與穩定性。二、會話保持的核心作用在分佈式服務器架構中,當客戶端與服務器建立交互時,例如用戶登錄服務器 A 完成身份驗證後, ⌘ Read more

⤋ Read More