# I am the Watcher. I am your guide through this vast new twtiverse.
# 
# Usage:
#     https://watcher.sour.is/api/plain/users              View list of users and latest twt date.
#     https://watcher.sour.is/api/plain/twt                View all twts.
#     https://watcher.sour.is/api/plain/mentions?uri=:uri  View all mentions for uri.
#     https://watcher.sour.is/api/plain/conv/:hash         View all twts for a conversation subject.
# 
# Options:
#     uri     Filter to show a specific users twts.
#     offset  Start index for quey.
#     limit   Count of items to return (going back in time).
# 
# twt range = 1 9210
# self = https://watcher.sour.is?uri=https://feeds.twtxt.net/yue-fang-readfog/twtxt.txt&offset=8510
# next = https://watcher.sour.is?uri=https://feeds.twtxt.net/yue-fang-readfog/twtxt.txt&offset=8610
# prev = https://watcher.sour.is?uri=https://feeds.twtxt.net/yue-fang-readfog/twtxt.txt&offset=8410
深入理解 Linux 內核:進程調度機制原理**
入探討 Linux 進程調度之前,讓我們先來認識一下這個在操作系統中起着關鍵作用的重要機制。進程調度就像是操作系統的指揮家,精心安排着各個進程對 CPU 資源的使用,確保系統高效、穩定地運行。在 Linux 系統中,進程調度更是其核心功能之一,它決定着衆多任務如何有序地執行,以及如何在不同的應用場景下實現資源的合理分配。今天,我們就一同走進 Linux 進程調度的神祕世界,去揭開它的面紗,瞭解它的 ⌘ Read more
【Rust 日報】用 Axum 替換 Nginx
用 Axum 替換 Nginx文章首先簡單介紹了 Axum 的基本用法, 如何創建路由、處理器等。然後展示瞭如何使用 Axum 託管一個簡單的靜態網站, 只需幾行代碼。接着, 文章闡述瞭如何使用 Axum 託管兩個不同子域名的靜態網站, 通過解析主機名來路由到不同的服務。代碼通過判斷是否提供 "--production" 參數來決定使用實際域名還是本地測試域名。最後, 作者將路由邏輯抽取到一個單獨 ⌘ Read more
Go 每日一題:併發下載與合併**
答案--實現思路:文件分割: 將目標文件分割成多個大小相等的塊(例如 10MB / 塊)。 併發下載: 爲每個文件塊創建一個 goroutine,每個 goroutine 負責下載對應塊的內容並保存到臨時文件中。 同步與合併: 使用 channel 來同步所有 goroutine 的下載進度,並在所有塊下載完成後,按順序合併所有臨時文件,最終得到完整的原始文件。 代碼示例:pac ⌘ Read more
一文掌握 Go 語言 I-O 操作中的 io-Reader 和 io-Writer
在 Go 語言中,io.Reader 和 io.Writer 是兩個至關重要的接口,它們爲處理輸入輸出操作提供了強大且靈活的抽象。本文將深入探討這兩個接口的機制、常見用例、潛在陷阱以及一些高級應用,幫助你更好地掌握 Go 語言的 I/O 操作。io.Reader 接口:數據讀取的基礎----------------------io.Reader 接口定義了讀取數據的通用方法:type Reader ⌘ Read more
探索頂級 Rust web 框架**
Web 框架使開發人員更容易進行 Web 開發和構建桌面應用程序,通過標準化構建過程和自動化常見的活動和任務,web 框架可以節省開發人員的時間,甚至可以促進代碼的重用以提高效率。在本文中,我們將探索 Rust 生態系統中用於前端和後端開發的各種 web 框架。如何選擇最好的 Rust web 框架無論你的項目需要什麼,web 框架都可以提供開發團隊需要的 web 服務、web 資源和 web a ⌘ Read more
一款高顏值的跨平臺文件管理神器,效率飆升!**
在如今這個注重效率的時代,我們每天都在與文件打交道。但是,你有沒有感覺到傳統的文件管理器總是讓人提不起勁?單調的外觀,有限的功能,彷彿是上個世紀的產物。一直以來,我都在尋找一款既顏值高又功能強大的文件瀏覽器,終於被我在 GitHub 找到了它。今天,就跟大家介紹 Xplorer,這款顏值與才華並存的文件管理工具。工具介紹Xplorer 是一款現代化、可定製的跨平臺文件瀏覽器。我第一次使用 Xplo ⌘ Read more
React 中的接口隔離原則**
本文爲翻譯 本文譯者爲 360 奇舞團前端開發工程師 原文標題:Interface Segregation Principle in React 原文作者:Alex Kondovt 原文地址:https://alexkondov.com/interface-segregation-principle-in-react/ React 中的接口隔離原則----- ⌘ Read more
使用 htmx 構建單頁應用**
人們談論 htmx 好像它正在拯救網絡免於單頁應用的困擾。React 讓開發人員陷入了複雜性的泥潭 (據說是這樣), 而 htmx 則提供了一個急需的救生索。htmx 的創建者 Carson Gross 以一種幽默的方式 這樣解釋 [1] 這種動態: 不, 這是一個黑格爾辯證法: 正題: 傳統的多頁應用 反題: 單頁應用 \* 合題 (更高形式): 具有交互性島嶼的超媒體驅動應用好吧 ⌘ Read more
*
GDB 底層實現機制:窺視 GDB 內部是如何控制和調試程序的**
GDB 通過 ptrace 系統調用技術控制和調試目標程序,並通過事件循環(Event Loop)機制循環處理來自用戶和目標程序的事件。ptrace 系統調用---------------ptrance 是 linux 系統提供調試進程的系統調用,ptrace 接口提供了豐富的參數讓我們能夠控制和調試目標進程。ptrace 接口如下:request:指定調試的指令,指令的類型很多,如:PTRACE ⌘ Read more
手把手教你分析 MySQL 死鎖問題**
幫一位朋友分析了一個死鎖問題,所以有了這篇圖文詳細的博文,非常詳細,建議收藏起來慢慢研究:發生死鎖了,如何排查和解決呢?本文將跟你一起探討這個問題準備好數據環境 模擬死鎖案發 分析死鎖日誌 分析死鎖結果 環境準備----數據庫隔離級別:mysql select @@txisolation;+-----------------+\| @@txisolation \|+---- ⌘ Read more
拒絕一直寫 CRUD!!!使用回調機制 Callback 和函數式編程碼出優雅結構化代碼**
概述-----回調(Callback)是一種編程模式,其中一個函數(或方法)在執行完成後通過調用另一個函數(或方法)來傳遞執行結果,或在特定事件發生時調用。這種模式常用於異步操作、事件驅動編程中,可以提升代碼的可擴展性、靈活性和模塊化。1.1 什麼是回調回調機制指的是將一個方法或函數作爲參數傳遞給另一個方法,待特定事件或操作完成時調用這個方法,處理結果或執行後續操作。可以理解爲一種 “通知” 機制 ⌘ Read more
圖解 Nestjs - 適合中國寶寶的入門指導**
筆者入門 Nest 的時候屬實是迷糊了一陣,本文將從初學者的視角出發,試圖爲大家解釋 Nestjs 到底是如何運作的。如有錯誤歡迎指出,謝謝~ 假設我們來做這樣一個服務:寶可夢大全提供四個接口:獲取完整的寶可夢列表 根據寶可夢編號獲取某一隻寶可夢的信息 獲取完整的技能列表 根據某個技能獲取可以學會該技能的寶可夢列表 Module = 模塊-----------Module, ⌘ Read more
=
萬字長文詳解 InfiniBan
GPU 在高性能計算和深度學習加速中扮演着非常重要的角色, GPU 的強大的並行計算能力,大大提升了運算性能。隨着運算數據量的不斷攀升,GPU 間需要大量的交換數據,因此,GPU 通信性能成爲了非常重要的指標。在 AI 集羣中進行分佈式訓練時,通信是必要環節,同時也是相比於單機訓練而言多出來的系統開銷。通信與計算的時間比例往往決定了分佈式機器學習系統加速比的上限。因此,分佈式機器學習的關鍵是設計通 ⌘ Read more
iptables 和 netfilter 學習筆記**
作者簡介:張銘軒,西安郵電大學計算機專業研二學生,導師陳莉君教授,熱衷於探索 linux 內核。iptables 和 netfilteriptables 是 Linux 上最常用的防火牆工具,iptables 與協議棧內有包過濾功能的 hook 交互來完成工作。這些內核 hook 構成了 netfilter 框架每個進入網絡系統的包(接收或發送)在經過協議棧時都會觸發這些 hook,程序可以通過註 ⌘ Read more
微服務如何相互協作?**
微服務如何相互協作和交互?有兩種方法:協調和編排。下圖說明了微服務之間的協作。01 編排和協調--------編排就像由編舞設定所有規則。然後,舞臺上的舞者(微服務)根據這些規則進行交互。服務編排描述了這種信息交換和微服務交互的規則。協調則不同。協調器充當權威中心。它負責調用和組合服務。它描述所有參與服務之間的交互。它就像音樂交響樂中領導樂手的指揮。協調模式還包括不同服務之間的事務管理。02 協調 ⌘ Read more
Go 中祕而不宣的數據結構 spmc- 10 倍性能於 channel
Go 標準庫和運行中中,有一些專門針對特定場景優化的數據結構,這些數據結構並沒有暴露出來,這個系列就是逐一介紹這些數據結構。這一次給大家介紹的就是一個 lock-free、高性能的單生產者多消費者的隊列:PoolDequeue 和 PoolChain。 到底是一個還是兩個呢? 主要是 PoolDequeue, 它是一個固定尺寸,使用 ringbuffer (環形隊列) 方式實現的隊列。PoolCh ⌘ Read more
Mitosis:跨框架的 UI 組件解決方案**
定義----Mitosis 是一個開源工具,可以將 JSX 組件轉換爲 Angular、React、Qwik、Vue、Svelte、Solid 和 React Native 等框架的功能齊全的組件。爲什麼要使用 Mitosis?---------------藉助 Mitosis,您可以簡化工作流程並減少冗餘,同時又不會損害設計系統的質量。無論您使用的是 React、Vue 還是任何其他框架,Mit ⌘ Read more
千萬級數據的全表 update 正確姿勢**
前言--有些時候在進行一些業務迭代時需要我們對 Mysql 表中數據進行全表 update,如果是在數據量比較小的情況下(萬級別),可以直接執行 sql 語句,但是如果數據量達到一個量級後,就會出現一些問題,比如主從架構部署的 Mysql,主從同步需要需要 binlog 來完成,而 binlog 格式如下,其中使用 statement 和 row 格式的主從同步之間 binlog 在 update ⌘ Read more
圖解 MoE 模型**
在查看最新發布的 LLMs 時,你可能會在標題中看到 “MoE” 這個詞。那麼,這個 “MoE” 到底代表什麼?爲什麼現在有這麼多 LLM 都在使用它呢?下面我們將通過 50 多個圖示來詳細探討這一重要組件:專家混合模型(MoE)!本指南將圍繞 MoE 的兩個主要組成部分——專家(Experts)和路由器(Router)——在典型的基於 LLM 架構中的應用展開討論。目錄--第一部分:什麼是專家混 ⌘ Read more
深入理解 Go 語言的棧**
本期深入研究 Go 堆棧的工作原理以及作爲程序員爲什麼要關心它。本篇內容是根據 2023 年 3 月份#288 A deep dive into Go's stack[1] 音頻錄製內容的整理與翻譯過程中爲符合中文慣用表達有適當刪改, 版權歸原作者所有. Mat Ryer: 大家好,歡迎收聽 Go Time。我是 Mat Ryer[2]。今天我們要討論的是 Go 的棧。究竟什麼是棧?它的作用 ⌘ Read more
如何將 Rust 日誌同時輸出到終端和文件中**
日誌記錄幾乎是每個應用程序的重要組成部分,它可以幫助我們有效地調試和跟蹤錯誤。在 Rust 中,我們可能會使用 log crate,它提供了一個日誌 facade,應用程序及其依賴項可以掛接到它。但是,log crate 不提供實際的日誌記錄實現,這意味着它不會自己將日誌寫入終端或文件。這就是 Ftail 的用武之地——它可以爲終端和文件提供簡單的、可配置的日誌記錄。設置它很簡單,只需幾行代碼就可 ⌘ Read more
溫故知新——Golang GMP 萬字洗髓經**
0 前言----我在 23 年初曾發佈過一篇——golang gmp 原理解析,當時剛開始接觸 go 底層源碼,視野廣度和理解深度都有所不足,對一些核心環節的思考和挖掘有所欠缺,對其中某些局部細節又過分拘泥,整體內容質量上還是有所不足.隨着近期嘗試接觸了 golang 以外的語言,通過橫向對比後,對於 golang 中 gmp 的精妙設計也產生了一些新的感悟. 於是就藉着這個契機開啓一個重置篇,對 ⌘ Read more
Rust 併發編程神器 rayon:6 招讓你的代碼速度飆升!**
今天我們要聊一聊 Rust 生態系統中的一顆璀璨明珠——rayon 庫。如果你正在爲如何輕鬆實現並行計算而煩惱,那麼 rayon 絕對是你不容錯過的利器!rayon:並行計算的魔法棒--------------rayon 是一個數據並行庫,它的目標是讓並行編程變得簡單而又強大。通過 rayon,你可以輕鬆地將串行代碼轉換爲並行代碼,充分利用多核處理器的性能,大幅提升程序的執行速度。rayon 的核 ⌘ Read more
深入理解 go unsafe
Go 是支持指針的語言,但是爲了保持簡潔、安全,Go 的指針有很多限制,但是一些場景又需要繞過這些安全限制,因此提供了 unsafe 包,unsafe 可以繞過:指針運算、不同的指針類型不能轉換、任意類型指針等限制,進而可以實現更高級的功能。下面通過對比可以更直觀的瞭解 unsafe 的特點:支持指針運算------Go 的指針是不支持指針運算的,指針運算在直接操作內存有很大作用,例如:通過指針運 ⌘ Read more
揭祕 Go 併發利器 WaitGroup
在 Go 語言的併發編程世界中,WaitGroup 是一個至關重要的工具,它爲開發者提供了一種簡單而有效的方式來管理和同步多個協程的執行。本文將深入揭祕 WaitGroup 的實現原理、注意事項、使用示例。什麼是 WaitGroup-------------WaitGroup 是 Go 標準庫中 sync 包提供的一種同步原語,用於等待一組(可能是併發的)操作完成。它的主要作用是讓主協程(即調用 ⌘ Read more
使用 Ollama 本地離線體驗 SimpleRAG(手把手教程)**
Ollama 介紹---------Ollama 是一個開源項目,專注於開發和部署大語言模型,特別是像 LLaMA 這樣的模型,用於生成高質量的文本和進行復雜的自然語言處理任務。Ollama 的目標是讓大語言模型的運行和使用變得更加容易和普及,而無需複雜的基礎設施或深度的機器學習知識。GitHub 地址:https://github.com/ollama/ollamaRAG 是什麼?------- ⌘ Read more
JS 加密秒殺方案——遠程方法調用 JSRPC-超詳細-**
在滲透測試或安全評估中,我們對前端 js 代碼的關注度是很高的,因爲 JS 代碼中會經常包含一些接口、前端路由、敏感信息和請求參數的加解密邏輯。爲防止攻擊者篡改數據包,開發者常在前端對請求數據進行加密 (比如登錄密碼、接口的參數 sign、signature、一些 cookie 等) 或者 對返回包信息解密,這使得我們的請求或者返回包的修改和查看變得困難,JS 逆向本就是一件費時間的事情,這時候小 ⌘ Read more
GDB 調試技巧:多線程案例分析(保姆級)**
在軟件開發的複雜世界裏,高效的調試工具是解決問題的關鍵利器。今天,我們將深入探討強大的調試工具 ——GDB(GNU Debugger)。GDB 爲開發者提供了一種深入程序內部運行機制、查找錯誤和優化性能的有效途徑。讓我們一同開啓 GDB 的調試之旅,解鎖代碼中的奧祕。一、GDB 調試器---------GDB(GNU 項目調試器)可以讓您瞭解程序在執行時 “內部” 究竟在幹些什麼,以及在程序發生崩 ⌘ Read more
7 個實用技巧幫助你更好地玩轉 Go Structs
在本文中,我們將探討使用結構體的 7 個技巧,掌握它們能夠幫助開發者寫出更高效、更可維護的 Go 代碼。Go 中的結構體是一種複合數據類型,它將變量集中在一個名稱下。它們是許多 Go 程序的支柱,是創建複雜數據結構和實現面向對象設計模式的基礎。但結構體的功能遠不止簡單的數據分組。1. EmbeddingEmbedding 是 Go 的一項強大功能,它允許將一個結構包含在另一個結構中,提供了一種合成 ⌘ Read more
golang 是如何防範 SQL 注入、CSRF、XSS 攻擊 的**
在 Go 語言的 Web 開發中,常見的安全問題包括 SQL 注入、CSRF(跨站請求僞造)、和 XSS(跨站腳本攻擊)。Go 提供了多種機制與工具庫來防範這些攻擊。以下是針對每種攻擊的防範措施:防範 SQL 注入------------SQL 注入 是一種通過修改 SQL 查詢的輸入,使攻擊者能夠執行未授權 SQL 語句的攻擊手段。防範 SQL 注入的關鍵是避免直接拼接 SQL 字符串,而是使用 ⌘ Read more
TCP 到底有什麼性能問題?**
概述\-\- TCP 的性能問題本質是公平與效率的取捨問題。TCP 實現可靠傳輸層的核心有三點:確認與重傳 (已經可以滿足 “可靠性”,但是可能存在性能問題) 滑動窗口 (也就是流量控制,爲了提高吞吐量,充分利用鏈路帶寬,避免發送方發的太慢) 擁塞控制 (防止網絡鏈路過載造成丟包,避免發送方發的太快) 滑動窗口主要關注發送方到接收方的流量控制 擁塞控制更多地關注整個網絡 ⌘ Read more
malloc 內存分配器是怎樣實現的?**
大家好,我是島主小風哥,今天聊聊 malloc 內存分配器是怎樣實現的。在此之前我們需要回答一個基本問題,那就是我們爲什麼要發明內存分配器這種東西。程序員經常使用的內存申請方式被稱爲動態內存分配,Dynamic Memory Allocation。我們爲什麼需要動態的去進行內存分配與釋放呢?答案很簡單,因爲我們不能提前知道程序到底需要使用多少內存。那我們什麼時候才能知道呢?答案是隻有當程序真的運行 ⌘ Read more
Go 語言中的 os-Stat-- 與 os-Lstat--
文件操作是系統編程中至關重要的一部分,而 Go 語言提供了通過其 os 包訪問文件元數據的直觀方法。兩個常用的函數,os.Stat() 和 os.Lstat(),允許您收集有關文件和符號鏈接的信息,但它們的作用不同。本文將解釋這兩個函數之間的關鍵區別,說明它們的實際應用,並深入探討一些高級注意事項,例如錯誤處理和性能。Go 中的文件信息---------Go 語言中的 os.FileInfo 接口 ⌘ Read more
實現 UDP 可靠性傳輸(KCP 介紹使用)**
1、TCP 協議介紹 TCP 協議是基於 IP 協議,面向連接,可靠基於字節流的傳輸層協議 1、基於 IP 協議:TCP 協議是基於 IP 協議之上傳輸的,TCP 協議報文中的源端口 + IP 協議報文中的源地址 + TCP 協議報文中的目標端口 + IP 協議報文中的目標地址,組合起來唯一確定一條 TCP 連接。 2、面向連接:與 UDP 不同,TCP 在傳輸數據之前,需要進行三次握手,建立一 ⌘ Read more
大模型 RAG:基於 PgSql 的向量檢索**
一 RAG 與向量檢索1.1 RAG 概念----------檢索增強生成(Retrieval-augmented Generation),簡稱 RAG。RAG 通常包括兩個階段:1、檢索上下文相關信息;2、使用檢索到的知識指導生成過程。簡單來說,就像開卷考試,我們可以攜帶參考材料用來查找相關信息來回答問題。1.2 RAG 意義----------目前對大模型的使用通常存在兩個主要挑戰:1、由於生 ⌘ Read more
數據庫表設計的 20 條黃金規則**
在數據庫表設計中,雖然沒有固定的 20 個規定,但可以根據廣泛接受的數據庫設計原則和最佳實踐來總結出一些關鍵規定。以下是對這些規定的詳細解釋,並附上正反面例子進行對比說明:1. 使用有意義的表名和列名解釋:表名和列名應該清晰地描述它們所代表的數據或概念,使其他開發者能夠輕鬆理解表的用途。正面例子: 表名:customer 列名:firstname, lastname, emailaddress ⌘ Read more
StampedLock,一種比讀寫鎖更快的鎖!**
01、背景介紹-------在上一篇文章中,我們講到了使用ReadWriteLock可以解決多線程同時讀,但只有一個線程能寫的問題。如果繼續深入的分析ReadWriteLock,從鎖的角度分析,會發現它有一個潛在的問題:如果有線程正在讀數據,寫線程準備修改數據的時候,需要等待讀線程釋放鎖後才能獲取寫鎖,簡單的說就是,讀的過程中不允許寫,這其實是一種悲觀的讀鎖。爲了進一步的提升程序併發執行效率,Ja ⌘ Read more
Seata-TCC 解決分佈式事務,真香!**
大家好,我是不才陳某~今天這篇文章介紹一下 Seata 如何實現 TCC 事務模式,文章目錄如下:什麼是 TCC 模式?-----------TCC(Try Confirm Cancel)方案是一種應用層面侵入業務的兩階段提交。是目前最火的一種柔性事務方案,其核心思想是:針對每個操作,都要註冊一個與其對應的確認和補償(撤銷)操作。TCC 分爲兩個階段,分別如下:第一階段:Try(嘗試),主要是對業 ⌘ Read more
一文搞懂大模型文件存儲格式新寵 GGUF
在日常 AI 模型訓練過程中,訓練好的模型權重通常需要以一種格式存儲在磁盤中。比如:目前最流行的 AI 框架 PyTorch 使用 pickle 格式存儲模型權重文件,還有 Huggingface 提出的 Safetensors 格式。之前在 一文詳解模型權重存儲新格式 Safetensors 中講述 Safetensors,本文大介紹大模型文件存儲格式新寵 GGUF,目前 Huggingface ⌘ Read more
在兩個大文件中找出相同的記錄,用 golang 如何寫?**
在 Go 語言中找出兩個大文件中相同的記錄,可以採用以下策略:思路讀文件:按行逐行讀取兩個文件中的記錄,假設每個文件的每一行代表一條記錄。 使用哈希集合(Set):因爲哈希集合能夠快速判斷某個記錄是否存在,所以我們可以將第一個文件中的記錄放入集合中,之後讀取第二個文件時逐行判斷該記錄是否也存在於集合中。如果存在則是相同的記錄。 性能優化: 如果文件非常大,避免一次性全部加載到內存 ⌘ Read more
系統設計中的消息隊列**
在一個電商平臺系統裏, 每當客戶下訂單時,你需要:處理支付。2\. 更新庫存。3. 發送確認郵件。在高峯期立即執行所有這些操作,可能會減慢客戶的體驗。在這種情況下,我們有大量的應用事件,而無法同時處理所有事件。消息隊列的基本架構消息隊列是一個持久化組件,存儲在內存中,支持異步通信。它充當緩衝區,並分發異步請求。消息隊列的基本架構很簡單。輸入服務稱爲生產者或發佈者,創建並將消息發佈到消息隊列。其他服務 ⌘ Read more
HTTP 將增加一個新的方法類型!**
大家好,我是 ConardLi。 在傳統的 HTTP 協議中,GET 和 POST 是最常用於請求數據的兩種方法。然而,它們各自有着一定的侷限性。特別是當請求數據量較大時,通過 GET 方法將參數嵌入 URL 中顯得不夠靈活。另一方面,儘管 POST 方法允許在請求體中傳遞大量數據,卻無法保證操作的冪等性和安全性。爲了彌補這些不足,HTTP 工作組提出了一種新的方法——QUERY,該方法既能承載 ⌘ Read more
深入理解 Linux 內核頁表映射分頁機制**
作者簡介:王柔柔,西安郵電大學研一在讀,導師爲性能工程實驗室舒新峯教授。操作系統和 Linux 內核愛好者,熱衷於探索 Linux 內核和 eBPF 技術。------------------------------------------------------------------------------前言--操作系統的核心任務是對系統資源的管理,而重中之重就是對 CPU 和內存的管理。爲 ⌘ Read more
什麼是 WebSocket?Go_WebSocket 編程來了!**
爲什麼要有 WebSocket?----------------已經有了 HTTP 了爲什麼還要有 WebSocket 呢?因爲,HTTP 的請求只能由客戶端發起,服務器接收。但是,現在想要讓服務器端也可以主動發起請求。那麼使用 HTTP 是無法滿足的。其次,還有一種就是,如果想要監聽服務端發送的請求。那麼,可以讓客戶端始終處於一種輪詢狀態。客戶端每隔一段就發起一個詢問,看一下服務端有沒有請求信息 ⌘ Read more
純前端怎麼實現檢測版本更新,請看這篇!**
背景--單頁應用(Single Page Application,簡稱 SPA)是一種現代 Web 應用程序架構,通過動態重載頁面中的部分內容來提供更流暢和更響應式的用戶體驗。由於 SPA 在客戶端(用戶的瀏覽器)運行大量的 JavaScript 代碼,並且與傳統的多頁應用不同,它不會每次操作都從服務器重新加載整個頁面內容,因此在性能和用戶體驗上有顯著優勢。然而這種應用也存在一定弊端,譬如當服務端 ⌘ Read more
小愛音箱改造篇(一)- 創意萌芽**
我家裏正好有一臺沒怎麼用的小愛音箱,最近我突然有了個新奇的想法 \\- 把它和 GPT 技術結合起來。既然決定了,那就開始行動。在接下來的時間裏,我會逐步記錄並分享我是如何一步步改造這臺小愛音箱的。創意萌芽----開始任何項目之前,我都有一個固定的習慣:先畫一張流程圖。這樣做可以幫助我清晰地梳理和規劃我想要實現的功能。這次的小愛音箱改造計劃,我打算讓它變得更加多功能和個性化。具體來說,我有幾個核心功能 ⌘ Read more
Go 異步編程小技巧**
我們通過一個簡單的例子看一下 Goroutine 的使用func main() {    go func() {        fmt.Println("Goroutine started")        // do some work        fmt.Println("Goroutine finished")    }()    // wait for Goroutine to fini ⌘ Read more
阿里巴巴 MySQL 規範,五千字版,這次全了(建議收藏)**
大家好,我是田螺。今天跟大家講講阿里巴巴 MySQL 規範。本文轉載來源公衆號:架構師之路。規範內容取自 “阿里巴巴 MySQL 規範”(黃山版),發佈時間爲 2022.2.3,開源。 第一部分:建表規範【強制】規範一:是否字段表達是否概念的字段,必須使用 isxxx 的形式命名;數據類型必須是 unsigned tinyint;1 表示是,0 表示否;舉例:是否刪除正確:使用 isdelete ⌘ Read more
文本嵌入能夠完美編碼文本信息嗎?**
作者:Jack Morris 編譯:ronghuaiyang 導讀文本嵌入是否可以還原文本信息?向量數據庫的興起近年來,隨着生成式 AI 的迅速發展,衆多企業紛紛尋求將 AI 融入其業務之中。其中最常見的做法之一是構建能夠回答有關文檔數據庫內信息的問題的 AI 系統。解決此類問題的大多數方案都基於一項關鍵技術:增強檢索生成(RAG)。RAG 系統的概覽這是現在許多人開始使用 AI 的一 ⌘ Read more
TCP 已經實現 KeepAlice- 爲什麼應用層還要實現一遍?**
TCP 心跳------TCP Keepalive 是一種用於檢測 TCP 連接是否活躍的機制,通過定期發送探測數據包來確定連接的狀態,主要用於檢測空閒 (殭屍) 連接、保持 NAT 映射 (NAT 設備、防火牆設備) 等。原理簡述要啓用 TCP Keepalive 自動檢測機制,需要通信雙方都開啓 Keepalive 選項 如果在一定時間(默認 2 小時)內沒有數據傳輸,TCP 會發送一個 ⌘ Read more
4 種集成 Rust 與 Node-js 的方法及其最佳實踐**
Node.js 是一個強大的 JavaScript 運行時,建立在 Chrome 的 V8 JavaScript 引擎。它允許開發人員使用 JavaScript 編寫服務器端腳本,在將頁面發送到用戶的 web 瀏覽器之前創建動態 web 內容。將 Rust 與 Node.js 集成可以顯著提高 Node.js 應用程序中某些任務的性能。有幾個令人信服的理由將 Rust 與 Node.js 集成:1 ⌘ Read more
CORS(跨域資源共享):原理與應用詳解**
引言 在現代 Web 開發中,CORS(Cross-Origin Resource Sharing,跨域資源共享)是一個不可忽視的重要概念。隨着 Web 應用的日益複雜,跨域請求變得越來越普遍。然而,由於同源策略的限制,瀏覽器默認不允許跨域請求。CORS 作爲一種機制,允許服務器顯式指定哪些外部網站可以訪問其資源,從而解決了這一問題。本文將深入解析 CORS 的原理、應用及其優缺點。CORS 原 ⌘ Read more
什麼是 LRU 緩存?LRUCache 原理詳解和 C-- 代碼實現**
什麼時候會用到緩存 (Cache)---------------------緩存(Cache)通常用於兩個速度不同的介質之間,以提高數據訪問的速度和效率。這裏有幾個典型的應用場景:處理器和內存之間:處理器(CPU)的運算速度遠快於從內存中讀取數據的速度。因此,在 CPU 和內存之間會有多級緩存(L1、L2、甚至 L3 緩存),用來臨時存儲即將被 CPU 使用的數據和指令。這樣做可以大幅減少 CPU ⌘ Read more
Linux 一鍵配置時鐘同步全攻略**
前言爲了確保 Oracle RAC 環境中的時間同步,通常會使用網絡時間協議 (NTP) 或 chrony 來同步各節點的系統時間。這可以確保所有節點都具有一致的時間,從而保證數據庫的正常運行和數據的一致性。首先要先了解下這兩種方式的區別以及優缺點,可參考紅帽官方文檔:使用 ntpd 配置 NTP:https://docs.redhat.com/zhhans/documentation/redhaRead more
使用 LLMs 來生成合成數據**
作者:Kritin Vongthongsri 編譯:ronghuaiyang 導讀如果我告訴你,現在有可能在幾分鐘內生成數千個高質量的測試案例,這些案例你過去可能要花費數週時間精心製作,你會怎麼想?構建大規模、全面的數據集來測試 LLM 輸出可能是一個耗時、昂貴且充滿挑戰的過程,尤其是從零開始。但如果我告訴你,現在有可能在幾分鐘內生成數千個高質量的測試案例,這些案例你過去可能要花費數週 ⌘ Read more
系統設計 - 數據同步(批量 - CDC)方案選型**
公衆號:TechLead 少個分號知乎:少個分號微信號:shaogefenhao網站:shaogefenhao.com數據同步的需求在日常工作中非常頻繁,幾乎每個公司或多或少會考慮調研數據同步的方案。不過在不同的場景下,需要考慮的問題有所不同,根據這些問題,我們可以制定相應的同步策略。01 同步策略-------下面是一些分析同步策略時需要考慮的問題:同步過程是全量的還是增量的? 是同一類數 ⌘ Read more
史上最全 Git 圖文教程,沒有之一**
Git 安裝------安裝先去官網下載這個軟件, 準備安裝到本電腦中 https://git-scm.com/根據自己電腦系統下載此軟件到本機 Windows 系統直接下載 .exe 文件即可,macOS 系統使用 Homebrew 命令行安裝,終端輸入 git --version 確認安裝默認選擇默認安裝路徑即可,如若想更改路徑,務必使用英文路徑對於 Windows 系統,查看安裝是否成功 ⌘ Read more
大語言模型中的提示隱私保護**
一、簡介:-----大語言模型(LLM) 擁有龐大的規模、預先訓練的知識和卓越的性能,被廣泛應用於各種任務。提示學習 (prompt learning) 和指令微調(instruction tuning) 是兩種重要的使得大模型能理解具體任務的技術手段。然而,這些 prompt 或 instruction 常常會包含隱私信息,使得難以直接共享。本文講解了兩篇大語言模型中的 prompt 和 ins ⌘ Read more
兼容 sentry 協議的輕量級監控: glitchtip
前言--上一篇文章說了重啓 sentry 的事因爲過程太折騰了,一度想過放棄 sentry 換成其他比較輕量級的開源監控系統這不就給我找到了另外倆個https://glitchtip.com/ https://www.highlight.io/ 這次就來試試這個 glitchtip用了之後才發現,這個也是用 Django 開發的,而且兼容 sentry 協議,連 SDK 都用的 sen ⌘ Read more
SQLITE 問題整理**
前言用過 sqlite 的朋友都知道,在數據庫目錄會有 xxx.db 文件,你可能看到過,其實數據庫不只有 xxx.db,有時候還會有 xxx.db-shm、xxx.db-wal、xxx.db-journal 等文件,你有想過這些文件的作用是什麼嗎?還有使用數據庫時,偶爾會報 SQLITEBUSY 或者 SQLITELOCKED 的錯誤,你知道是因爲什麼導致的嗎?請看正文。知識點db-shm、db ⌘ Read more
無需業務改造,一套數據庫滿足 OLTP 和 OLAP,GaiaDB 發佈並行查詢能力**
在企業中通常存在兩類數據處理場景,一類是在線事務處理場景(OLTP),例如交易系統,另一類是在線分析處理場景(OLAP),例如業務報表。OLTP 數據庫擅長處理數據的增、刪、改,以及小數據量的查詢,更側重數據的實時響應、高吞吐和事務性等要求。OLAP 則以大數據量的複雜查詢爲主,更側重數據容量的擴展性、複雜計算能力等要求。爲了滿足這兩類業務場景,企業通常會採用 OLTP + OLAP 的組合方案或 ⌘ Read more
優化 Oracle:最佳實踐與開發規範**
前言爲了提高開發效率、保證代碼質量、增強產品的可維護性,針對在 ORACLE 數據庫中使用 SQL 及 PL/SQL 開發時所涉及的工程活動進行標準化定義,其中包含過程規範、命名規範、設計規範、代碼格式規範和程序開發規範。使用統一的 ORACLE SQL 編程規範,使 ORACLE 數據庫編程風格標準化,以便於閱讀、理解、繼承和維護及項目組成員相互交流。SQL 開發規範大小寫風格-----1、所有 ⌘ Read more
etcd:增加 30- 的寫入性能**
本文最終的解決方式很簡單,就是將現有卷升級爲支持更高 IOPS 的卷,但解決問題的過程值得推薦。 譯自:etcd: getting 30% more write/s我們的團隊看管着大約 30 套自建的 Kubernetes 集羣,最近需要針對 etcd 集羣進行性能分析。每個 etcd 集羣有 5 個成員,實例型號爲 m6i.xlarge,最大支持 6000 IOPS。每個成員有 3 個卷:ro ⌘ Read more
Go 語言定時任務 time-Sleep 和 time-Tick 的優劣對比分析**
golang 寫循環執行的定時任務,常見的有以下三種實現方式 1、time.Sleep 方法:for {   time.Sleep(time.Second)   fmt.Println("我在定時執行任務")}2、time.Tick 函數:t1:=time.Tick(3time.Second)for {   select {   case <-t1:      fmt.Println("t1定時 ⌘ Read more
=
Golang - range 迭代器揭祕**
-------------------------------------------------------------------------------------------------------------------------------------------------------------簡介--我們正在使用 Go 語言編寫 Dolt\n ,這是世界上第一個版本控制的 S ⌘ Read more
使用 Go 語言創建你的第一個 2D 遊戲**
Pixel 是一個用 Go 語言編寫的 2D 遊戲開發庫, 它爲開發者提供了一套簡潔而強大的工具, 讓創建像素風格的遊戲變得輕而易舉。本文將深入探討 Pixel 庫的核心特性, 並通過豐富的示例來展示如何使用它來構建引人入勝的 2D 遊戲。Pixel 的誕生與理念------------Pixel 誕生於開發者對簡單而高效的 2D 遊戲開發工具的渴望。它的設計理念是 "手工打造", 這意味着庫的每 ⌘ Read more
Genkit:新一代基於 Go 的 AI 應用開發框架**
Google 推出了 Genkit for Go,這是一個開源框架,用來以 Go 語言原生構建 AI 應用與雲服務。該項目是 Google Firebase 和 Go 團隊聯手合作的最新成果。Genkit for Go 於 7 月 17 日正式推出,目前版本處於 alpha 階段。Gophers 能夠通過它將 Go 的性能和併發優勢與 Genkit 的庫和工具相結合,從而來構建生成式 AI 應用程 ⌘ Read more
紅隊對抗 LLM:完整的循序漸進的操作指南**
作者:Kritin Vongthongsri 編譯:ronghuaiyang 導讀LLM 紅隊測試是一種通過故意的對抗性提示來測試和評估 LLM 的方法,旨在幫助揭示任何潛在的不期望或有害的模型脆弱性。就在兩個月前,Gemini 在生成的圖像中過於努力地追求政治正確,將所有人臉都表現爲有色人種。儘管這可能對一些人(如果不是很多人的話)來說很滑稽,但很明顯,隨着大型語言模型(LLMs)能 ⌘ Read more
51 單片機中斷處理機制詳解**
單片機多用於物聯網、自動控制系統、智能家電等領域,要求單片機能夠實時響應外部觸發的事件,中斷機制是單片機響應外部事件的重要方法。單片機多用於物聯網、自動控制系統、智能家電等領域,要求單片機能夠實時響應外部觸發的事件。例如在智能家電領域,人們可以用手機中的 APP 就可以遠程控制家電的開啓或關閉,智能家電的核心部分就是單片機,智能家電只要通電,單片機就進入工作狀態,等待外部事件的觸發,當人們通過 ⌘ Read more
Golang 面試題:原子操作和鎖**
1、問題描述原子操作和鎖的區別是什麼?2、問題解答原子操作和鎖是併發編程中常用的兩種同步機制,它們的區別如下:1、作用範圍:原子操作(Atomic Operations):原子操作是一種基本的操作,可以在單個指令級別上執行,保證操作的原子性。原子操作通常用於對共享變量進行讀取、寫入或修改等操作,以確保操作的完整性。 鎖(Lock):鎖是一種更高級別的同步機制,用於保護臨界區(Critical ⌘ Read more
開源僅 1 天就斬獲近萬星!超越 RAG、讓大模型擁有超強記憶力的 Mem0 火了!**
整理 \\| Tina最近,拿到 OpenAI 370 萬美元投資的一款 AI 聊天應用在 App Store 上線了。國內外 AI 聊天工具層出不窮、屢見不鮮,爲什麼這款應用卻能受到 OpenAI 的青睞呢?這款名爲 Dot 的應用 ,由總部位於舊金山的創業公司 New Computer 打造,由前蘋果設計團隊的成員 Jason Yuan 設計,編碼工作則由 Sam Whitmore 等一小撥人完成 ⌘ Read more
rust 實現字典樹**
tabletbodytrtd width="557" valign="top" align="center" class=""section class=""br/sectionp class=""strong何爲字典樹?/strongbr/p/td/tr/tbody/table字典樹又名前綴樹,是一種多叉樹。常用於路由查找、相同前綴的單詞查詢等場景。如果使用包含 26 個英文字母組成的語料庫來構 ⌘ Read more
分享一次 Sharding JDBC 億級數據分表真實經驗**
前言--從入職以來寫了一年的業務代碼,突然接到來自領導的技術需求,說要給我們的借款、還款申請單分表。查看了一下借款表,只有幾千萬數據,再看還款表已經兩億多了,爲了提高數據查詢效率,降低數據庫的壓力。確實可以考慮分表了。另外...... 這是入職一年以來第一個非業務需求!設計方案----開始編碼實現之前我們需要先做系統設計,主要是以下幾塊內容要跟領導開會對齊顆粒度!分表數據庫基本信息分表數據庫使用新 ⌘ Read more
構建並運行 eBPF 應用 - Part 2
在上一篇文章中,我們用 C 語言創建了一個 eBPF 程序,以瞭解某個進程使用 CPU 的時間。這些數據隨後被存儲在 BPF HashMap 中。但這是一個不斷更新的短期存儲位置,數據的壽命很短...... 我們該如何利用這些數據呢?這就是用戶空間程序的用武之地。用戶空間程序不在內核空間運行,但可以附加到 eBPF 程序並訪問 BPF HashMap。現在讓我們來看看如何用 Golang 編寫用戶 ⌘ Read more
Linux Kernel:Page Fault 頁異常全面解析**
當程序訪問虛擬內存中的一個頁面時,如果該頁面當前不在物理內存中,就會觸發一個稱爲 "page fault"(頁異常)的異常。操作系統需要處理這個異常,並將所需頁面從磁盤加載到內存中。實現虛存管理的一個關鍵是 page fault 異常處理,其過程中主要涉及到函數 — dopgfault 的具體實現。比如,在程序的執行過程中由於某種原因(頁框不存在 / 寫只讀頁等)而使 CPU 無法最終訪問到相應的 ⌘ Read more
手動實現 Rust 中的 Channel,理解同步原語 CondVar
在今天的文章中,我們將通過手動實現 Rust 中的 Channel,來理解同步原語 CondVar、Arc 和 Mutex。我們使用 Rust 標準庫中的 VecDeque 隊列模擬 Rust Channel,VecDeque 是一個雙端隊列,作爲一個不斷增長的環形緩衝區。數據模型爲了使我們的解決方案更有條理,我們定義了 3 個結構體:TransmitterTransmitter 結構體 (tx) ⌘ Read more
構建 LLM 應用:高級 RAG(第十部分)**
作者:Vipra Singh 編譯:ronghuaiyang 導讀現在,請跟隨我們一起踏上另一段探索之旅,進入高級 RAG 技術的迷人世界。歡迎回到我們關於高級檢索增強生成(RAG)技術系列的最新篇章!在本系列的前九部分中,我們深入探討了 RAG,解析了檢索機制與生成模型之間的精妙互動。從掌握生成模型的基礎知識到通過大型語言模型(LLMs)探索前沿技術,我們覆蓋了廣闊的概念與方法領域。 ⌘ Read more
構建 LLM 應用:評估(第八部分)**
作者:Vipra Singh 編譯:ronghuaiyang 導讀我們在上一篇博客中成功構建了多個 RAG 應用。現在,讓我們來看看評估這些應用的過程。我們在上一篇博客中成功構建了多個 RAG 應用。現在,讓我們來看看評估這些應用的過程。我們將探究從我們的大型語言模型生成的結果有多可靠。首先,讓我們通過下表來理解傳統機器學習、深度學習和 LLMs 之間的區別。大型語言模型(LLMs)的 ⌘ Read more
構建 LLM 應用:構建 LLM 服務(第九部分)**
作者:Vipra Singh 編譯:ronghuaiyang 導讀LLM Serving 指的是部署和運行大型語言模型(LLMs)以處理用戶請求的過程。它涉及到將通常離線訓練的 LLM 設置爲實時響應查詢。LLM Serving 指的是部署和運行大型語言模型(LLMs)以處理用戶請求的過程。它涉及到將通常離線訓練的 LLM 設置爲實時響應查詢。以下是 LLM Serving 包含的主要 ⌘ Read more
構建 LLM 應用:開源聊天機器人(第七部分)**
作者:Vipra Singh 編譯:ronghuaiyang 導讀在這篇博客文章中,我們將使用 LangChain 創建一個基礎的 LLM 應用程序。介紹我們之前的博客文章深入探討了大型語言模型(LLMs),覆蓋了它們的發展歷程和廣泛的應用場景。現在,讓我們更近距離地聚焦這一旅程的核心:本地構建 LLM 應用程序。在這篇博客文章中,我們將使用 LangChain 創建一個基礎的 LLM ⌘ Read more
Go 語言的 Lodash 風格庫**
在 JavaScript 的世界裏,Lodash 是一個家喻戶曉的工具庫,它提供了豐富的函數,方便開發者操作數組、對象、字符串等等。Lodash 極大地提高了 JavaScript 開發者的效率,也讓代碼更加簡潔易讀。在 Go 語言 1.18 版本之前,由於缺乏泛型,我們很難實現像 Lodash 這樣功能強大且類型安全的工具庫。然而,隨着 Go 1.18 泛型的引入,這一切都發生了改變。sambe ⌘ Read more
Dockerfile 的工作原理說明**
什麼是 Dockerfile?Dockerfile 是一個文本文件,其中包含有關如何構建 Docker 鏡像的說明。每個指令都由一個命令組成,後跟一個或多個參數。按照慣例,命令以大寫形式編寫,以區分它們與參數,並使 Dockerfile 更具可讀性。以下是 Node.js 應用程序的 Dockerfile 示例:FROM node:20.11.1WORKDIR /appCOPY package.j ⌘ Read more
JVM 是如何創建對象的?你瞭解嗎?**
JDK 版本:1.81、對象的創建的方式Java 語言中,對象創建的方式有六種:    1.1、new 關鍵字:    最常見的形式、Xxx 的靜態方法、XxxBuilder、XxxFactory 的靜態方法。    1.2、Class 類的 newInstance() 方法:    通過反射的方式創建對象,調用類的無參構造器進行對象的創建,且其訪問權限爲 public。    1.3、Const ⌘ Read more
網絡原理:史上最全 tcp-ip 協議詳解**
TCP/IP 協議包含了一系列的協議,也叫 TCP/IP 協議族(TCP/IP Protocol Suite,或 TCP/IP Protocols),簡稱 TCP/IP。TCP/IP 協議族提供了點對點的連結機制,並且將傳輸數據幀的封裝、尋址、傳輸、路由以及接收方式,都予以標準化。TCP/IP 協議的分層模型------------------在展開介紹 TCP/IP 協議之前,首先介紹一下七層 ⌘ Read more
敲黑板!吳恩達 LLM Agent 工作流 Prompt 精華全解析**
在詳解和實測吳恩達 4 種 Agentic 工作流之中,我測試了各種框架諸如反思、工具調用、規劃、多智能體,在學習了其中各種 Prompt 設計後,有了一些新的認識。 對於特定的任務來說,沒有萬能的 Prompt,只有一些通用的模式,要完成這個任務還需要這個任務特定的 Example。另外,你一定要 PUA 它,強烈的鼓勵它,使用類似 MUST、獎勵等字眼來 PUA 它,這樣能讓大模型更好的跟隨 ⌘ Read more
一文徹底搞懂 Transformer - 總體架構**
圖片\\*\\*\\*\\*\\*Transformer\\*\\*一、RNN 編碼器 - 解碼器架構\\_\\_\\*\\*\\*\\*\\*\\*序列到序列模型(Seq2Seq):Seq2Seq 模型的目標是將一個輸入序列轉換成另一個輸出序列,這在多種應用中都具有廣泛的實用價值,例如語言建模、機器翻譯、對話生成等。 圖片\\*\\*\\*\\*\\*\\*Seq2Seq\\*\\*\\*\\*\\*\\*RNN 編碼器 - 解碼器架構:\\*\\*Transformer 出來之前,主流的序列轉換模型都基於 ⌘ Read more
一文了解 AI Agent(智能體)**
\\*\\*\\*\\*\\*一、前言\\*\\*AI Agent(人工智能代理)是上半年一個火熱的話題。筆者最近對相關概念進行了學習與研究,期間也通過智能體開發平臺成功搭建了一些有趣的 Agent。所以計劃通過本篇文章,跟大家分享筆者對於 AI Agent 的些許理解。\\*\\*二、AI Agent 是什麼\\*\\*AI Agent,即人工智能體,是一種能夠感知環境、進行自主理解、決策和執行動作的智能實體。簡單理解,是一種基於大語言模 ⌘ Read more*
爲什麼需要向量化執行引擎**
前言--在一些前沿數據庫中,經常可以看到一個很火的詞彙——向量化執行引擎,比如 ClickHouse、DuckDB、Doris 等等,我對這個概念一直還停留在淺顯的理論層面,一直沒有機會深入,藉此機會,好好捋一捋這個高大尚的詞彙,什麼是向量化執行引擎。傳統數據庫執行器--------早期數據庫受限於硬件,內存和 CPU 等都十分昂貴,所以大多數數據庫執行器都採用傳統的火山模型,火山模型又稱 Vol ⌘ Read more
微服務系統架構設計**
隨着互聯網技術的發展,微服務架構逐漸成爲企業級應用系統設計的主流選擇。我將以一份詳細的微服務系統架構圖爲例,分享如何設計一個高效、穩定的微服務系統。一、系統整體架構在我的設計中,系統分爲外網和內網兩部分。外網主要處理客戶請求,通過 Nginx 進行負載均衡和流量轉發,而內網則負責實際業務邏輯和數據處理。二、外網部分客戶端:支持多終端接入,包括 PC、手機和平板等,爲用戶提供便捷的訪問方式。 ⌘ Read more
\nGraphRAG 技術棧及樣例全面解析**
The RAG Stack: Featuring Knowledge Graphs- Reducing Hallucinations To Make LLMs Production-Grade With Complex RAG企業對生成式人工智能的採用正加速進行中,CIO 們準備將應用案例推向生產階段,但在模型輸出準確性和幻覺方面仍存在障礙。爲此,企業越來越善於通過微調和 RAG 對大型模型進行定 ⌘ Read more
案例解析:RAG 的盡頭是 Agent
AI 進化論:從 RAG 到 Agent,智能體如何重塑未來世界© 作者 \\|Blaze來源 \\| 神州問學引言 隨着 ChatGPT、ChatGPT-4 等的發佈,我們徹底被大模型(LLM)的魅力所征服,越來越多的公司和企業開始聚焦大模型技術的研發和使用,爲我們的日常生活帶來了極大的便利。但是,大模型同樣面臨着時效性、準確性等各種問題,如何讓 LLM 變得更好?如何解決 LLM 所面臨的挑戰?如何 ⌘ Read more
Rust 異步編程指南:掌握 Futures-rs 從入門到實戰的詳細教程**
引言--Rust 語言以其高性能和內存安全性而聞名。而在現代應用程序開發中,異步編程已成爲一種必要技能。Futures-rs 是 Rust 提供的一套強大的異步編程工具集,可以幫助開發者輕鬆地編寫高效的異步代碼。本文將帶領你一步步地深入瞭解 Futures-rs,從基本概念到實戰應用,最終掌握這項強大的技能。什麼是 Futures-rs?---------------Futures-rs 是一個 ⌘ Read more
大白話!解析大模型原理!**
LLM 的工作原理對大多數人來說是個謎。雖然它們本質上在於 “預測下一個詞”,並需要大量文本進行訓練,但具體細節往往令人困惑。原因在於這些系統獨特的開發方式:基於數十億詞彙訓練的神經網絡,不同於傳統的人類編寫的軟件。儘管沒人完全理解其內部機制,但研究人員正努力探索。本文旨在以非技術、非數學的方式解釋 LLM 的工作原理,包括詞向量、Transformer 模型及其訓練方式,以及爲何需要海量數據來取 ⌘ Read more
Golang 實現坦克世界**
Golang 實現坦克世界項目地址: https://github.com/gofish2020/tankgame 歡迎 Fork && Star遊戲效果----本項目基於遊戲引擎 Ebitengine 開發,這裏有很多的實例 https://ebiten-zh.vercel.app/examples/ 便於邊學邊用程序下載到本地,直接 go run main.go即可看效果。開發使用的go1.2 ⌘ Read more
LLM 基礎模型系列:Fine-Tuning 總覽**
\\ 文|龐德公編輯|郭嘉由於對大型語言模型,人工智能從業者經常被問到這樣的問題:如何訓練自己的數據?回答這個問題遠非易事。生成式人工智能的最新進展是由具有許多參數的大規模模型驅動的,而訓練這樣的模型 LLM 需要昂貴的硬件(即許多具有大量內存的昂貴 GPU)和花哨的訓練技術(例如,完全分片的數據並行訓練)。幸運的是,這些模型通常分兩個階段進行訓練——預訓練和微調。其中前一個階段(要)昂貴得多。鑑於 ⌘ [Read more](https://www.readfog.com/a/1740892818141974528)
大模型應用框架:LangChain 與 LlamaIndex 的對比選擇**
開發基於大型模型的應用時,選擇合適的應用框架不僅能顯著提高開發效率,還能增強應用的質量屬性。這類似於在 Windows 上開發傳統軟件服務時從 MFC 過渡到. NET Framework,或在 Linux 服務器端使用 Java 語言時採用 Spring 及 Spring Boot 框架,以及在 Web 前端開發中選擇 VUE、React 或 Angular 等多樣的框架。面對基於大模型的應用開 ⌘ Read more
Terraform 工作流程:合併前應用 vs 合併後應用**
如果您曾經管理過雲基礎設施, 您可能遇到過 Terraform, 這是該領域最流行的基礎設施即代碼工具。2023 年, Hashicorp 配置語言 (HCL) 再次成爲 GitHub 年度 Octoverse 報告 \n 中增長最快的語言之一, 同比增長 36%。隨着採用率的提高, 團隊一次又一次地面臨同樣的問題:" 我們應該在將拉取請求合併回主分支後運行 terraform apply, 還 ⌘ Read more
快停下,Redis 都要被你玩壞了**
大家好,我是程序員魚皮。很多小夥伴都知道緩存的好處,從數據庫加載數據過慢時,直接上 Redis 緩存!的確,Redis 高性能 KV 存儲是後端開發提升性能的一大利器,但是有沒有想過,如果使用姿勢不對,使用 Redis 後,性能反而會更慢呢?今天就來盤下使用 Redis 性能變慢的幾個原因以及一些應對手段。1、網絡和通信導致的延遲------------比如我們現在要往 Redis 裏面寫入多個 ⌘ Read more
eBPF Talk: 在設備層統計網絡包延遲**
在 Linux 內核協議棧設備層,有 2 個 tracepoint 可以用來統計網絡包的延遲:net:netdevxmit:設備層發送 skb 的 tracepoint。 net:netifreceiveskb:設備層接收 skb 的 tracepoint。 因此,不管是向外發起請求、還是接收請求,都可以通過這 2 個 tracepoint 來統計網絡包的延遲。利用這 2 個 trac ⌘ Read more
構建更快的 Web 體驗 - 使用 postTask 調度器**
介紹瞭如何利用 postTask 調度器來提高網頁的用戶體驗和響應速度,通過高效地調度任務和處理優先級來優化頁面性能。使用 postTask 可以拆分長任務、預加載資源和提高頁面交互性能,讓頁面更具響應性。同時,文章還介紹瞭如何在 React 中集成 postTask 調度器來執行不同模式或策略,以進一步優化網頁性能。今日前端早讀課文章由 古茗科技翻譯分享。正文從這開始~~你有沒有經歷過打開一個 ⌘ Read more