博客 / 列表

oioihoii - 構建高併發AI服務網關:C++與gRPC的工程實踐

隨着AI服務在企業中的規模化部署,如何高效、可靠地將多個異構AI模型集成到統一的服務架構中,成為後端工程師面臨的重要挑戰。本文介紹基於C++與gRPC構建高併發AI服務網關的完整實踐方案,涵蓋架構設計、性能優化、容錯機制等關鍵環節。 1. 問題背景:AI服務部署的挑戰 1.1 現狀分析 典型的AI服務部署面臨以下痛點: 異構環境:PyTorch、TensorFlo

批處理 , 數據 , 服務部署 , aigc , llama

oioihoii - AI 技能工程入門:從獨立能力到協作生態

隨着大型語言模型(LLM)能力的飛速發展,如何讓它們穩定、高效地執行復雜任務,已成為AI工程化的核心挑戰。作為應對,“技能”(Skills) 作為一種新興的AI能力封裝範式應運而生,而由其引發的AI智能體間的互操作性問題,則催生了以模型上下文協議(MCP) 為代表的一系列通信協議。 本文將系統性地介紹技能的概念、開發方法,並深入探討其與MCP等協議的關係,為你構建下一代智能應用奠定基

外部工具 , 封裝 , aigc , llama , 複用

oioihoii - Agent 場景下的知識庫參數配置全棧指南——從召回、重排到生成,一次調對

在 Agent 工作流中,知識庫扮演的是“決策依據”而不僅僅是“問答庫”的角色: 語義解析:將用户輸入或特定信號映射到系統可執行的操作 工具選擇:讓 LLM 基於功能説明文檔來調用合適的工具 狀態判斷:根據規則庫確定下一步流程走向 一旦關鍵信息被過濾閾值卡掉,Agent 就會陷入“失憶”;如果引入過多無關信息,又會導致“幻覺”與決策偏差。本文旨在提供一套

顯式 , 錨點 , 全文檢索 , aigc , Copilot

oioihoii - 網道千年:從TCP到gRPC的通信演進史

通信技術的演進如同一棵大樹的生長,TCP/IP是深植於土壤的根系,為整個互聯網世界輸送着基礎的養分。這組誕生於1970年代的雙層協議構成了現代通信的底層骨骼——IP協議在網絡層編織起全球尋址的路由網絡,而TCP則在傳輸層確保了數據流動的可靠有序。它們的精妙之處在於將複雜的通信問題分層化解,就像建築的地基與框架,雖不直接可見,卻支撐着上層所有應用協議的運轉。當數據包在互聯網中穿梭時,TCP

tcp , HTTP , c++ , 後端開發 , rpc , c

oioihoii - C++數據競爭與無鎖編程

在多核處理器成為標配的今天,併發編程從"錦上添花"變成了"必不可少"。然而,併發在帶來性能提升的同時,也引入了新的複雜性——數據競爭。傳統鎖機制雖然直觀,但在高併發場景下可能成為性能瓶頸。無鎖編程作為替代方案,提供了更高的併發度,但也帶來了前所未有的複雜性。 一、數據競爭的本質 1.1 什麼是數據競爭? 數據競爭發生在多個線程同時訪問同一內存位置,且至少有一個線程執行寫操作,

無鎖 , 數據 , c++ , 後端開發 , 無鎖編程 , c

oioihoii - C++虛函數表與多重繼承內存佈局深度剖析

在C++面向對象編程中,虛函數是實現運行時多態的關鍵機制。單繼承場景下的虛函數表(vtable)佈局相對直觀,但當涉及到多重繼承時,情況就變得複雜起來。本文將深入探討虛函數表的實現原理,並重點解析多重繼承下的內存佈局,幫助開發者更好地理解C++對象模型的底層機制。 第一部分:虛函數表基礎 1.1 什麼是虛函數表 虛函數表(vtable)是C++編譯器為每個包含虛函數的類生成的

虛繼承 , 多重繼承 , 虛函數 , c++ , 後端開發 , c

oioihoii - 淺談如何從C++開發者到架構師

對於C++開發者而言,從一名精通語法和算法的程序員,成長為一名駕馭系統全局、平衡多方約束的軟件架構師,是一條充滿挑戰與機遇的經典職業路徑。這並非簡單的職級晉升,而是一次思維模式、技能重心和職責範圍的系統性躍遷。本文將結合行業實踐與專業理論,為你勾勒出一條清晰的轉型路線圖。 一、認知重構:理解架構師的核心內涵 在踏上轉型之路前,首要任務是釐清“架構師”究竟意味着什麼。架構師的角色遠

架構設計 , c++ , 後端開發 , 開發者 , c , 架構師

oioihoii - VS Code 1.107 更新:多智能體協同與開發體驗升級

2025 年 12 月 10 日,微軟正式發佈了 VS Code 1.107 版本,這次更新堪稱年度最重磅!多智能體協同開發成為核心亮點,徹底重構了開發者與 AI 協作的模式。想象一下,你可以同時部署多個 AI 助手分工合作:一個負責代碼審查,一個處理單元測試,還有一個在後台默默重構 legacy 代碼——這不再是科幻場景! 多智能體協同:開發效率的革命性突破 Agent

code , 懸停 , c++ , 後端開發 , 開發者 , c

oioihoii - VSCode CMake Tools 功能解析、流程與最佳實踐介紹

CMake Tools 是由 Microsoft 開發的 VS Code 擴展,其核心定位是作為 CMake 與 IDE 界面之間的橋樑,通過自動化傳統命令行開發中的多步驟操作(如配置、生成、構建流程)來提升開發效率。該工具不僅提供基礎的項目管理功能,還包含詳細的文檔支持(如 FAQ 指南)以幫助用户解決使用過程中的疑問。 從用户需求適配角度,CMake Tools 實現了對不同技術

工具鏈 , cmake , c++ , 後端開發 , c , Json

oioihoii - VS Code終端從入門到精通完全指南

當前,Visual Studio Code的集成終端已成為開發者日常工作中不可或缺的工具。它不僅能運行 echo、 ls 和 git 等命令,還與編輯器深度集成,支持工作區文件鏈接和錯誤檢測等功能。無論你是使用Bash、Zsh還是PowerShell,VS Code終端都能滿足你的需求。 打開終端的三種方式: 快捷鍵: Ctrl+``(Windows/Linux)或Cmd

code , bash , c++ , 後端開發 , c , Json

oioihoii - C++對象生命週期與析構順序深度解析

一、全局/靜態對象的構造與析構時機 構造順序:跨編譯單元的挑戰 全局對象和靜態對象的構造順序在C++標準中沒有明確定義,特別是對於位於不同編譯單元中的對象。這可能導致危險的初始化依賴問題。 // file1.cpp extern int global_from_file2; int global1 = global_from_file2 + 1; // 危險!可能使用未初始

初始化 , c++ , 後端開發 , 解決方案 , 全局對象 , c

oioihoii - C++異常安全保證:從理論到實踐

1. 異常安全保證的三種級別 1.1 基本保證(Basic Guarantee) 定義:如果異常被拋出,程序保持有效狀態,不會發生資源泄漏,但對象的確切狀態可能是未指定的。 實踐示例: class BasicGuaranteeExample { int* data; size_t size; public: void modify(siz

拋出異常 , 構造函數 , c++ , 後端開發 , sqlite , c

oioihoii - 【精華】C++成員初始化列表完全指南:為什麼、何時以及如何正確使用

本文是我攢給自己的面試前必看文章之一,屬於私藏。 一個常見的誤解 許多C++初學者會有這樣的疑問:“為什麼我需要在構造函數後面加個冒號來初始化成員?在構造函數體內賦值不行嗎?”本文將通過深入分析C++對象構造機制,徹底解答這個問題。 一、初始化列表的基本語法 class Example { int a; std::string str; pu

初始化列表 , 初始化 , 構造函數 , c++ , 後端開發 , c

oioihoii - C++ 強制類型轉換:類型安全的多維工具

在C++中,類型轉換是將一種數據類型轉換為另一種數據類型的過程。與C語言簡單的(type)value強制轉換不同,C++提供了四種專門的強制類型轉換運算符,它們不僅執行轉換,還提供了編譯時檢查和更明確的語義。這體現了C++"類型安全"的設計哲學。 C++四種強制類型轉換運算符 1. static_cast - 靜態類型轉換 static_cast是最常用的轉換運算符,用於編譯

c++ , 後端開發 , 類型安全 , 多態 , 類型轉換 , c

oioihoii - C++智能指針避坑指南:90%人會犯的3個致命錯誤

你以為將new替換為make_shared就萬事大吉?真相是,智能指針的陷阱比手動管理更隱蔽、更危險。本文將深入剖析循環引用、性能陷阱、線程安全這三大「暗礁」,讓你從「自以為會」到「真正精通」。 一個經典的崩潰代碼 如下代碼展露了智能指針中的循環引用問題。 // 這就是那個導致崩潰的簡化版代碼 class UserProfile { std::share

循環引用 , 智能指針 , 引用計數 , c++ , 後端開發 , c

oioihoii - 從理論到實踐:構建你的AI語音桌面助手(Demo演示)

本文從“可運行”的實踐角度,探索利用Python與AI技術實現語音控制Windows操作系統的方案。核心觀點是:構建一個完整的語音控制助手,是將“能聽會説”的語音模型與“能操作”的系統執行器相結合的過程。本文將繞過複雜的底層理論,直接提供一條基於開源技術的實踐路徑,並通過一個可運行的代碼Demo,展示如何將自然語言指令轉化為具體的系統操作。 一、構建“口-腦-手”協同系統 一個完

windows , 服務器 , c++ , 後端開發 , c , Json

oioihoii - C++程序執行起點不是main:顛覆你認知的真相

你以為main函數是起點?C++的運行機制遠比這複雜! 在C++學習之路上,我們都被教導過一個“基本事實”:程序從main函數開始執行。但今天,我要帶你揭開這個廣為流傳的誤解背後的真相。 一個令人驚訝的實驗 讓我們通過一個簡單例子來觀察C++程序的實際啓動過程: #include iostream using namespace std; class Li

include , main函數 , 後端開發 , .net , 啓動過程

oioihoii - 阿里《靈光》生成的視頻下載不帶水印的極簡方法

新發現 最近靈光剛出來,我用它生成了視頻後下載發現是帶水印的,如下: 但是我發現用網頁瀏覽器的開發者模式F12,可以直接拿到視頻地址,這樣下載的視頻是沒有水印的。 拿到網址後複製到瀏覽器點擊下載 下載後沒有水印! 感興趣快去試試吧! 題外話:很多網站的視頻通過 F12(開發者工具)可以直接拿到。 主要是因為: 1. 視頻並非真正加密

服務器 , network , 加載 , 後端開發 , .net

oioihoii - WPF入門指南:解析默認項目結構

作為WPF的初學者,理解Visual Studio創建的默認項目結構非常重要。這篇博客將詳細解析每個文件的作用,幫助你建立堅實的WPF基礎。 項目概覽 當你使用Visual Studio 2022創建基於.NET 8.0的WPF項目時,會生成以下幾個核心文件: App.xaml 和 App.xaml.cs - 應用程序入口點 MainWindow.x

xaml , wpf , xml , 後端開發 , .net

oioihoii - 【C++必知必會】字符串操作速記

幹了這麼多年C++,每次處理字符串還得查文檔,真是説不過去!今天我決定把這些常用的字符串操作函數背下來,整理成這份速記指南。 在C++中,字符串操作主要依賴於 string 頭文件。掌握字符串處理是C++編程中的核心技能之一。 必須掌握的頭文件 #include string // 主要頭文件 #include iostream // 用於輸入輸出

字符串 , include , 後端開發 , 字符串操作 , harmonyos

oioihoii - 【C++必知必會】讀取文件速記

幹了這麼多年C++開發,每次遇到文件讀取還得去問AI,真是慚愧!今天我決定把這些基礎的文件操作函數背下來,整理成這份速記指南。 在C++中,文件操作主要依賴於 fstream 頭文件中的類。掌握文件讀取是C++編程中的基礎技能之一。 必須掌握的類和頭文件 #include fstream // 主要頭文件 #include iostream // 用

include , 頭文件 , 後端開發 , 文件讀取 , harmonyos

oioihoii - 不懂彙編的後端不是一個好的開發

在高級語言甚至AI生成代碼橫行的時代,為何還要關注最底層的彙編? 作為一名後端開發者,我堅定地認為:不懂彙編的優化就是瞎子摸石頭過河,不理解系統底層機制的開發者在面對複雜問題時,就像在迷霧中摸索前行的盲人。 這個觀點或許聽起來有些極端,但請允許我用接下來的內容説服你。 為什麼我堅持彙編的重要性? 在我多年的後端開發經歷中,發現一個令人深思的現象:那些能夠深入

後端開發 , JAVA , 開發者 , harmonyos

oioihoii - C++語言演進之路:從“C with Classes”到現代編程基石

從貝爾實驗室的雛形到ISO標準,一門語言如何塑造了數字世界的底層根基。 C++語言的發展史是計算機軟件工程領域一部波瀾壯闊的史詩。從1979年誕生至今,它已從貝爾實驗室的一個實驗性項目,成長為支撐全球數字基礎設施的核心力量。 根據GitHub Octoverse 2025的數據,C++依然是構成全球近80%新項目的六大核心語言之一,是名副其實的“現代開發基石”。

jar , 後端開發 , 計算機科學 , harmonyos , 移動語義

oioihoii - 跨越語言的藩籬:論不同語言間調用的難點與實踐

在軟件開發的廣闊世界裏,沒有一種語言是“萬能”的。我們常常需要取各家之所長:用 Python 進行快速原型設計和數據分析,用 C++ 編寫高性能的計算核心,用 Java 構建穩健的企業級應用,用 JavaScript 打造動態的前端界面。當這些各有所長的模塊需要協同工作時,就產生了“語言間調用”的需求。 然而,讓説不同“母語”的模塊順暢交流,並非易事。這就像讓一個只懂中文的人和一個只

調用約定 , 運行環境 , 後端開發 , harmonyos , Python