yue-fang-readfog

feeds.twtxt.net

No description provided.

Recent twts from yue-fang-readfog

LLM 基礎模型系列:Fine-Tuning 總覽
` 文|龐德公編輯|郭嘉由於對大型語言模型,人工智能從業者經常被問到這樣的問題:如何訓練自己的數據?回答這個問題遠非易事。生成式人工智能的最新進展是由具有許多參數的大規模模型驅動的,而訓練這樣的模型 LLM 需要昂貴的硬件(即許多具有大量內存的昂貴 GPU)和花哨的訓練技術(例如,完全分片的數據並行訓練)。幸運的是,這些模型通常分兩個階段進行訓練——預訓練和微調。其中前一個階段(要)昂貴得多。鑑於 ⌘ Read more`

⤋ Read More

大模型應用框架:LangChain 與 LlamaIndex 的對比選擇
開發基於大型模型的應用時,選擇合適的應用框架不僅能顯著提高開發效率,還能增強應用的質量屬性。這類似於在 Windows 上開發傳統軟件服務時從 MFC 過渡到. NET Framework,或在 Linux 服務器端使用 Java 語言時採用 Spring 及 Spring Boot 框架,以及在 Web 前端開發中選擇 VUE、React 或 Angular 等多樣的框架。面對基於大模型的應用開 ⌘ Read more

⤋ Read More

Terraform 工作流程:合併前應用 vs 合併後應用
如果您曾經管理過雲基礎設施, 您可能遇到過 Terraform, 這是該領域最流行的基礎設施即代碼工具。2023 年, Hashicorp 配置語言 (HCL) 再次成爲 GitHub 年度 Octoverse 報告

⤋ Read More

快停下,Redis 都要被你玩壞了
大家好,我是程序員魚皮。很多小夥伴都知道緩存的好處,從數據庫加載數據過慢時,直接上 Redis 緩存!的確,Redis 高性能 KV 存儲是後端開發提升性能的一大利器,但是有沒有想過,如果使用姿勢不對,使用 Redis 後,性能反而會更慢呢?今天就來盤下使用 Redis 性能變慢的幾個原因以及一些應對手段。1、網絡和通信導致的延遲————比如我們現在要往 Redis 裏面寫入多個 ⌘ Read more

⤋ Read More

eBPF Talk: 在設備層統計網絡包延遲
在 Linux 內核協議棧設備層,有 2 個 tracepoint 可以用來統計網絡包的延遲:net:netdevxmit:設備層發送 skb 的 tracepoint。 net:netifreceiveskb:設備層接收 skb 的 tracepoint。 因此,不管是向外發起請求、還是接收請求,都可以通過這 2 個 tracepoint 來統計網絡包的延遲。利用這 2 個 trac ⌘ Read more

⤋ Read More

構建更快的 Web 體驗 - 使用 postTask 調度器
介紹瞭如何利用 postTask 調度器來提高網頁的用戶體驗和響應速度,通過高效地調度任務和處理優先級來優化頁面性能。使用 postTask 可以拆分長任務、預加載資源和提高頁面交互性能,讓頁面更具響應性。同時,文章還介紹瞭如何在 React 中集成 postTask 調度器來執行不同模式或策略,以進一步優化網頁性能。今日前端早讀課文章由 @古茗科技翻譯分享。正文從這開始~~你有沒有經歷過打開一個 ⌘ Read more

⤋ Read More

在 Go 中如何使用 go:embed 指令嵌入靜態文件
有時候,將配置文件、模板甚至整個前端應用直接嵌入到 Go 二進制文件中,是一種提高應用部署效率和簡化操作的有效方法。自從 Go 1.16 版本起,Go 語言官方引入了 //go:embed 指令,這使得嵌入靜態資源變得異常簡單而直接。本文將詳細介紹如何在你的 Go 應用中使用這一強大的特性。什麼是 go:embed//go:embed 在 Go 1.16 版本中被加入,這也是我接觸 Go 語言的第 ⌘ Read more

⤋ Read More

理解並使用 Golang 的 “omitempty” 特性
在使用 Go (Golang) 並將數據編碼爲 JSON 時,您可能會遇到這樣的情況:如果某些字段的值爲空,則需要從編碼輸出中省略這些字段。這就是 Golang 的 omitempty 功能發揮作用的地方。struct 字段標記中的 omitempty 選項會告訴編碼器,如果字段爲空值,則跳過該字段。什麼是  “Empty Value”?在 Go 中,Empty Value 的定義是:布爾類型爲 ⌘ Read more

⤋ Read More

構建並運行 eBPF 應用 - Part 1
本文將介紹如何使用 C 和 Golang 編寫第一個 eBPF 程序。我們將在第一部分介紹實際的 eBPF 程序,在第二部分介紹用戶空間應用程序。準備工作本文開發所運行的操作系統是:OS: Ubuntu 22.04Linux Header Version: 6.5.0–14-generic還通過 apt 安裝了一些依賴項:sudo apt-get -y install libbpf bpfcc-t ⌘ Read more

⤋ Read More

構建 LLM 應用:大語言模型 LLM(第六部分)
作者:Vipra Singh 編譯:ronghuaiyang 導讀接下來,我們將轉向 RAG 應用的生成部分。在文本生成方面,我們將運用大型語言模型。到此爲止,我們已經瞭解到原始數據是如何被轉化並存入向量數據庫的,隨後再依據用戶的提示從數據庫中檢索出相關的數據片段。這標誌着應用程序檢索部分的工作已經完成。接下來,我們將轉向 RAG 應用的生成部分。在文本生成方面,我們將運用大型語言模型 ⌘ Read more

⤋ Read More

使用 Rayon 在 Rust 中構建一個線程競賽遊戲
Rust 中的並行性允許同時執行多個操作,充分利用多核處理器的優勢。Rayon crate 是一個功能強大的數據並行庫,能夠以最少的樣板代碼並行運行任務。我們將構建一個遊戲,其中多個線程競相完成一個任務,用戶可以打賭哪個線程將首先完成。這個遊戲將幫助你瞭解如何在 Rust 中使用 Rayon 庫管理和利用線程。使用以下命令創建一個 Rust 新項目:cargo new threadracegame ⌘ Read more

⤋ Read More

ptcpdump: 新一代抓包神器,可捕獲任何進程、容器或 Pod 的網絡流量
前言–tcpdump 是我們常用的一個網絡抓包工具,它的功能非常的強大。但是它還缺少一個大家反饋很久卻一直沒實現的一個特性, 那就是:在結果中包含 / 顯示發送網絡請求 / 流量的進程信息,以及支持抓取指定進程的網絡流量。當前針對 tcpdump 抓取的流量信息,如果要獲取對應的進程信息的話,常見的方法是:基於請求的連接信息,通過 ss 或 netstat 之內的工具反查進程信息。這個方法的缺點 ⌘ Read more

⤋ Read More

爲什麼寫 Python 項目時,模塊內一定要有這個東西?
各位 Python 愛好者,你是否曾經在某個深夜,被一個看似無辜的文件名嚇到過?它就是神祕的 init.py。你可能會想:“這個文件究竟有啥用?” 今天,我們要揭開它的面紗,帶你走進 Python 模塊的奇妙世界。 目錄        一、什麼是 init.py?        二、init.py 文件的高級用法        三、實際案例:創建一個實用工具包        四、爲什麼 init ⌘ Read more

⤋ Read More

通過實例理解 Go 訪問和操作數據庫的幾種方式
關係數據庫操作是 Go 應用開發中的重要一環,尤其是 Go Web 應用、微服務等。作爲 Gopher,我們需要了解幾種主流的數據庫訪問和操作方法,以便在項目中做出適當的選擇。我個人在日常開發中較少涉及 CRUD 類應用,因此使用 Go 訪問和操作數據庫的機會並不多,在這方面也算是有一些 “短板”。通過在這篇文章中對數據庫訪問方式進行全面的梳理,我也算是補全一下技能樹,同時也能爲讀者小夥伴提供一些 ⌘ Read more

⤋ Read More

Go 語言的 Web 開發利器:Templ - HTMX 打造交互式體驗
在 Web 開發領域,Go 語言以其簡潔、高效和強大的併發能力著稱。Templ 和 HTMX 則是與 Go 完美契合的工具,它們分別負責頁面的渲染和交互邏輯,共同打造出現代化的 Web 應用。本文將深入探討 Templ 和 HTMX 的核心概念、使用方法以及如何結合 Go 語言構建出色的 Web 應用。Templ:Go 語言的模板引擎—————-Templ 是 Go 語言自帶的 ⌘ Read more

⤋ Read More

設計實時聊天系統的架構
在當今數字化時代,實時聊天系統已成爲人們日常生活和工作中不可或缺的一部分。設計一個高效、穩定且可擴展的實時聊天系統架構對於提供優質的用戶體驗至關重要。本文將深入探討如何設計一個實時聊天系統的架構,以滿足現代用戶的需求。一、需求分析在設計實時聊天系統之前,我們首先要明確系統的需求。一個基本的實時聊天系統應支持以下功能:用戶註冊與登錄:允許用戶創建賬戶並登錄系統。 好友管理:用戶可以添加、刪除和 ⌘ Read more

⤋ Read More

Redis 高性能架構詳解 -圖文全面總結-
大家好,我是 mikechen。Redis 現在是大型架構的必備技能,也是大廠重點考察對象,下面我就全面來詳解 Redis 的高性能架構 @mikechenIO 多路複用技術Redis 的高性能,有功於其使用的 IO 多路複用技術(IO multiplexing)。IO 多路複用是一種 IO 模型,它使單個線程可以監視多個文件描述符(如:網絡套接字)。這種機制避免了爲每個連接創建一個線程或進程的開 ⌘ Read more

⤋ Read More

在 Go 項目中使用 Redis 的幾個實用建議
今天來聊一聊 Redis,主要是聊一些在 Go 項目中使用 go-redis 代碼上的一些建議。在上代碼之前我還是要廢話幾句,在大家開發需求用到 Redis 時一定要多想個兩分鐘 “我是不是把 Redis 當數據庫用了?” 因爲數據在數據庫和 Redis 裏存兩份就就得考慮它們的一致性怎麼維護,賊麻煩,而這個一致性不做上線後還經常會出 BUG,所以不是必要我一般不用 Redis。需要過期的數據肯定 ⌘ Read more

⤋ Read More

簡單就是美:Postgres 極簡架構,用 Postgres 取代一切
曾經流傳已久的簡單美的架構思想已經被到處卷的現代 IT 給拋棄了。系統變得越來越大,分系統越來越多,架構越來與複雜,出現問題排查越來越難。那麼迴歸簡單不好麼?關鍵是怎麼實現成了一個問題,今天我們就介紹一個以 Postgres 爲基礎的,簡化堆棧、減少移動部件、加快開發速度、降低風險並的方法,那就是 “用 Postgres 取代一切”!這種方法特別適合一些剛剛開始的初創公司和還在探索優化架構的那些組 ⌘ Read more

⤋ Read More

構建 LLM 應用:搜索 - 檢索(第五部分)
作者:Vipra Singh 編譯:ronghuaiyang 導讀在系列博客中,我們通過檢索增強生成(RAG)應用的視角來學習大規模語言模型(LLM)。 讓我們開始在 RAG 應用程序中探索尋找相關數據的旅程。當用戶輸入查詢時,過程包括對用戶查詢進行分詞,並使用與嵌入原始數據相同的模型進行嵌入。接着,根據與用戶查詢的相似度,從知識庫中提取相關的信息塊。本篇博客將全面深入地探討搜索過程 ⌘ Read more

⤋ Read More

如何開發一款 JSSDK
本文作者系 360 奇舞團前端開發工程師JSSDK 的定義與分類什麼是 JSSDKSDK 是Software Development Kit(軟件開發工具包)的縮寫,JSSDK是爲了幫助前端實現特定需求,而向開發者暴露的一些JS-API的集合,開發者可以通過它在網頁中集成和使用某些特定的功能,例如社交分享、地圖服務、支付功能等. 它通常包括一下模塊:JavaScript庫:這是 JSSDK 的核心 ⌘ Read more

⤋ Read More

2024 年 Rust 加密生態系統概述
根據一項加密庫漏洞的實證研究,加密庫中 37.2% 的漏洞是內存安全問題,而只有 27.2% 是加密問題。現在是時候不再使用 C 作爲實現加密庫的實際語言了。由於 Rust 的高級特性與底層控制,沒有垃圾收集器,可移植性和易於嵌入,Rust 是我們取代當今最常用的加密庫的最佳選擇。OpenSSL, BoringSSL 和 libsodium,它們都是用 C 編寫的。2024 年,Rust 的加密生 ⌘ Read more

⤋ Read More

IoT 物聯網通信調試工具,智能防粘包,支持 ModbusRtu、MQTT 服務端、MQTT 客戶端
在現代工業自動化和物聯網 (IoT) 領域,通信協議的重要性不言而喻。Modbus 和 MQTT 作爲兩種主流的通信協議,廣泛應用於設備之間的數據交換。今天,亞倫給大家推薦一款集成了這兩種協議的通信調試工具——Wu.CommTool。Wu.CommTool 是一款專爲 Windows 系統設計的通信工具,它不僅支持 Modbus RTU 協議,還集成了 MQTT 服務器和客戶端的功能。這款工具 ⌘ Read more

⤋ Read More

圖解 RocketMQ 架構
寫在前面Kafka、RocketMQ 都是很出名的中間件,上次我們講解了 Kafka,這次我們來講講 RocketMQ 的原理。基本架構圖解析RocketMQ 總共可以分成四個模塊NameServer:提供服務發現和路由功能,管理各種元數據信息。 Broker:消息存儲和路由分發節點,負責存儲消息和將消息路由給消費者。 Producer:消息生產者,負責產生併發送消息到指定的 Topi ⌘ Read more

⤋ Read More

Kafka 一條消息的完整生命週期
1、引言    在大數據和實時流處理的領域,Apache Kafka 憑藉其高性能、高吞吐量和可擴展性,成爲了業界廣泛使用的分佈式消息隊列系統。然而,在諸多應用場景中,消息的順序性往往是一個至關重要的需求。無論是金融交易、日誌記錄還是其他需要精確時間線的業務場景,消息的順序消費都顯得尤爲關鍵。    Kafka 如何保證消息的順序消費,是許多開發者和架構師關心的問題。從根本上說,Kafka 通過其 ⌘ Read more

⤋ Read More

一文搞懂大模型、RAG、函數調用、Agent、知識庫、向量數據庫、知識圖譜、AGI 的區別和聯繫!!—
背景        當我們把 AI 大模型視作人的大腦時,調用 A 大模型就如同調用一個人的智慧。將 AI 大模型人格化,意味着它應該能夠理解人類的語言(懂人話)、用人類的語言進行表達(說人話),並直接給出結果。然而,重要的是要認識到,儘管 AI 大模型可以提供快速的答案,但這些結果並不總是完全準確。    在 AI 大模型的推理基礎上,我們採用了多種技術手段來實現真正的 AGI(通用人工智能 ⌘ Read more

⤋ Read More

全面掌握 Go 語言 errors 標準庫:使用指南與源碼深度解析
前言–在 Go 語言中,錯誤處理是一個重要的部分。Go 官方提供了一個輕量級的 errors 標準庫,用於創建和處理錯誤。本文將介紹如何使用 Go 的 errors 標準庫,並深入解析其源碼實現。準備好了嗎?準備一杯你最喜歡的咖啡或茶,隨着本文一探究竟吧。 Go 版本:1.22.0error 接口——–下面的內容會提到 error 接口,因此我們有必要先了解一下 error 接口的相 ⌘ Read more

⤋ Read More

Go 語言實現 Base64、Base58 編碼與解碼,很簡單
在 Go 語言中,實現 Base64 和 Base58 編碼與解碼是非常常見的任務。Go 標準庫中已經包含了 Base64 的編碼與解碼函數,而 Base58 需要使用第三方庫來實現。下面分別介紹 Base64 和 Base58 編碼與解碼的實現方法。Base64 編碼與解碼Go 標準庫的encoding/base64包提供了 Base64 編碼與解碼的功能。示例代碼package mainimp ⌘ Read more

⤋ Read More

構建 LLM 應用:向量數據庫(第四部分)
作者:Vipra Singh 編譯:ronghuaiyang 導讀在系列博客中,我們通過檢索增強生成(RAG)應用的視角來學習大規模語言模型(LLM)。引言在之前的博文中,我們已經討論到將原始數據嵌入爲向量的內容。爲了重複利用嵌入的信息,我們需要存儲這些嵌入,以便按需訪問。爲此,我們使用一種特殊的數據庫,即向量數據庫。對於使用檢索增強生成(RAG)的大規模應用來說,高效存儲和檢索向量的 ⌘ Read more

⤋ Read More

構建 LLM 應用:句子 Transformer(第三部分)
作者:Vipra Singh 編譯:ronghuaiyang 導讀通過檢索增強生成(RAG)應用的視角來學習大型語言模型(LLM)。在前幾篇博文中,我們學習了面向 RAG 的數據準備,這包括數據攝入、數據預處理及分塊。由於在執行 RAG 期間需要搜索相關的上下文分塊,我們必須將數據從文本格式轉換爲向量嵌入。因此,我們將探索使用 Sentence Transformers 來轉換文本的最 ⌘ Read more

⤋ Read More

都應該會的前端代碼規範 - 日誌打印規範
在前端開發中,隨着項目迭代升級,日誌打印逐漸風格不一,合理的日誌輸出是監控應用狀態、調試代碼和跟蹤用戶行爲的重要手段。一個好的日誌系統能夠幫助開發者快速定位問題,提高開發效率。本文將介紹如何在前端項目中制定日誌輸出規範。1. 日誌等級首先,我們需要定義不同的日誌等級,以便根據消息的重要性進行分類。通常,日誌等級從低到高可以分爲以下幾類:DEBUG: 詳細的開發時信息,用於調試應用。 INFO ⌘ Read more

⤋ Read More

Go 1-23 的 os-CopyFS:告別第三方庫,輕鬆複製目錄
在 Go 1.23 版本中,標準庫 os 包引入了一個名爲 CopyFS 的新函數,它提供了一種僅使用標準庫函數即可複製目錄的便捷方法。從此,開發者無需再依賴第三方庫來完成這項常見任務。本文將深入探討 os.CopyFS 函數的功能、用法以及其帶來的優勢。告別第三方庫——在 os.CopyFS 出現之前,Go 開發者通常需要藉助第三方庫(如 github.com/otiai10/copy) ⌘ Read more

⤋ Read More

內網 - 公網穿透 實現原理
概述–閱讀本文前,需要熟悉 NAT 實現原理,因爲內網穿透的核心原理之一,就是需要能夠穿透 NAT 網絡設備,如果讀者還不瞭解 NAT, 可以先閱讀 這篇文章

⤋ Read More

一文詳談 20 多種 RAG 優化方法
大規模語言模型(LLMs)已經成爲我們生活和工作的一部分,它們以驚人的多功能性和智能化改變了我們與信息的互動方式。然而,儘管它們的能力令人印象深刻,但它們並非無懈可擊。這些模型可能會產生誤導性的 “幻覺”,依賴的信息可能過時,處理特定知識時效率不高,缺乏專業領域的深度洞察,同時在推理能力上也有所欠缺。在現實世界的應用中,數據需要不斷更新以反映最新的發展,生成的內容必須是透明可追溯的,以便控制成本並 ⌘ Read more

⤋ Read More

吳恩達:機器學習的六個核心算法!
人工智能領域的權威吳恩達教授,在其創立的《The Batch》週報中發表了一篇博文,概述了機器學習領域六種基礎算法的歷史和重要性。他強調了在這一領域不斷學習和更新知識的必要性。這些算法包括線性迴歸、邏輯迴歸、梯度下降、神經網絡、決策樹和 k 均值聚類算法,它們是機器學習進步的基石。本文將進一步探討這些算法的背景、原理、優缺點及應用場景。線性迴歸背景:線性迴歸是最古老也是最簡單的迴歸算法之一,其歷史 ⌘ Read more

⤋ Read More

MQ 選型:一文詳解 Kafka 與 RocketMQ 區別
引言在做 MQ 技術選型的時候,Kafka 和 RocketMQ 是常用的兩個消息隊列中間件,今天就從架構設計、性能分析、使用場景來比較一下兩者的區別,到底該使用哪個 MQ?Kafka 最初由 LinkedIn 開發,後來成爲 Apache 的一個頂級項目,它設計之初就是爲處理大規模數據而生,特別擅長於高吞吐量的場景。Kafka 廣泛應用於日誌收集、流式處理、事件驅動架構等多種場景,被許多知名企業 ⌘ Read more

⤋ Read More

Apache BookKeeper 一致性協議解析
導語Apache Pulsar 是一個多租戶、高性能的服務間消息傳輸解決方案,支持多租戶、低延時、讀寫分離、跨地域複製(GEO replication)、快速擴容、靈活容錯等特性。Pulsar 存儲層依託於 BookKeeper 組件,所以本文簡單探討一下 BookKeeper(下文簡稱 BK) 的一致性協議是如何實現的。背景Pulsar 相對於 Kafka 根本的區別在於數據一致性協議,這也是爲 ⌘ Read more

⤋ Read More

「Go 開源」freeze:一個能將源代碼轉換成圖片的工具
大家好,我是漁夫子。今天給大家推薦的開源工具是 freeze,該工具可以將源代碼或終端中的輸出內容轉換成對應的圖片。如下圖效果:比如,我們想把一個 go 語言編寫的源代碼 main.go 轉換成圖片,則可以按如下方式操作:freeze main.go –output main.png生成的效果如下:你看,就把對應的代碼按照高亮的形式生成了圖片。實現原理那這個 freeze 的實現原理是什麼呢?通 ⌘ Read more

⤋ Read More

一款用於實時監控 PostgreSQL 數據變化的 Go 語言庫
在現代應用開發中,實時數據處理扮演着至關重要的角色。實時監控數據庫變化,並對這些變化做出迅速響應,是許多應用場景(如實時數據分析、緩存更新、事件驅動架構等)的核心需求。Flash 正是這樣一款應運而生的 Go 語言庫,它爲開發者提供了便捷高效的方式來管理 PostgreSQL 數據庫的實時變化。Flash 簡介——–Flash 是一款輕量級的 Go 語言庫,它利用事件管理機制,實現了對 ⌘ Read more

⤋ Read More

大模型的模型壓縮與有效推理綜述
1  介紹本文對大型語言模型的壓縮和效率推理進行了綜述。大型語言模型基於 Transformer 架構,具有強大的性能,但也帶來了巨大的內存和計算成本。本文從算法角度對大型語言模型的壓縮和效率推理方法進行了分類,包括量化、剪枝、知識蒸餾、緊湊架構設計和動態網絡。大型語言模型有兩個顯著特點:(1)大多數壓縮算法需要在壓縮後對模型進行微調和甚至重新訓練,而大型模型的微調和訓練成本非常高。因此,許多算法 ⌘ Read more

⤋ Read More

構建 LLM 應用:數據準備(第二部分)
作者:Vipra Singh 編譯:ronghuaiyang 導讀在系列博客中,我們通過檢索增強生成(RAG)應用的視角來學習大規模語言模型(LLM)。檢索增強生成(RAG)的數據準備工作流在上一篇文章中,我們深入探討了檢索增強生成(Retrieval Augmented Generation, RAG)的流程,全面理解了它的各個組成部分。任何機器學習應用的初始階段都涉及數據準備。這包 ⌘ Read more

⤋ Read More

3-4K Stars!爲 RAG 而生的數據工程神器!OmniParse
大模型 RAG 的難題是什麼?  RAG 或者 Fine-tuning 微調作爲大模型的增強技術,最核心的技術在於如何把企業的私有數據清洗轉換成知識,企業中能夠第一時間拿到的私有數據,往往是異構的、數據質量參差不齊,通過數據工程把數據變成知識就不是一件很容易的事兒。OmniParse 正是爲此而生的利器!它將任何非結構化數據轉換爲結構化知識。Github 地址:https://github.comRead more

⤋ Read More

數據倉庫:關於事實表的設計與實踐
一、前言—-事實表 作爲數據倉庫維度建模的核心,緊緊圍繞着 業務過程 來設計,通過獲取描述業務過程的度量來表達業務過程,包含了引用的維度和與業務過程有關的度量。事實表中一條記錄所表達的業務細節程度被稱爲 粒度。通常粒度可以通過兩種方式來表述:一種是維度屬性組合所表示的細節程度;一種是所表示的具體業務含義。基於某個業務過程,需要創建事務事實表,需要填寫的信息遵循如下規範建議:英文名:我們預設定了 ⌘ Read more

⤋ Read More

【SpringBoot】 如何做到無感刷新 token?
前言—–最近在搞一個鑑權認證服務器,其中有個問題就是 token 的無感刷新。Token 無感刷新是一種在用戶不感知的情況下自動更新訪問令牌(Token)的機制,以維持用戶的登錄狀態。一般是使用一個短期的 token 來做權限認證,而更長時間的refreshToken來做短 token 的刷新,而在實現的過程中就有各種問題出來比如:Q1: 是要在服務器端實現還是能在客戶端實現? Q2: ⌘ Read more

⤋ Read More

圖解 IO 多路複用之 Poll 的實現原理
IO 多路複用在 Linux 上還有一種 poll 的實現方案,其實 poll 和 select 一樣,它們都是函數,但是 poll 針對 select 的底層使用的 bit 數組的文件描述符列表做了優化,下面分析 poll 的原理。 1、認識 poll 函數poll 的原型函數如下所示: struct pollfd myfd

⤋ Read More

揭祕 Rust HTTP 生態系統
在這篇文章中,我們將看到 Web 開發的不同部分如何在 Rust HTTP 生態系統中組合在一起,這樣你就可以無所畏懼地在 Rust 中啓動你的下一個 (微)web 服務,並享受所有附帶的好處 (枚舉、一流的錯誤處理、無與倫比的可靠性、性能等等)。Actix-web vs AxumRust HTTP 框架有兩個主要框架:acitx-web 和 axum。兩者之間的主要區別在於,actix-web ⌘ Read more

⤋ Read More

如何選擇開源數據庫?
開源數據庫是現代軟件開發中的關鍵組成部分,提供了強大、可擴展和靈活的數據存儲和管理解決方案。以下是十個流行的開源數據庫的詳細概述,突出其主要特點和使用場景。01 MySQL——–特性:關係數據庫管理系統 (RDBMS):MySQL 使用結構化查詢語言 (SQL) 進行數據訪問和管理。 ACID 合規性:確保原子性、一致性、隔離性和持久性的可靠事務。 跨平臺支持:運行於多種操作 ⌘ Read more

⤋ Read More

Go 性能度量利器,完全替代 io-Reader 和 io-Writer!
在 Go 語言的世界裏,io.Reader 和 io.Writer 接口是數據流處理的基石。然而,標準庫並沒有提供一種便捷的方式來追蹤通過這些接口傳輸的字節數。metered-io 庫應運而生,它提供了 io.Reader 和 io.Writer 的替代品,並能夠方便地獲取傳輸的字節總數,爲性能度量和監控提供了強大的支持。metered-io 庫簡介————–metered-io ⌘ Read more

⤋ Read More