yue-fang-readfog

feeds.twtxt.net

No description provided.

Recent twts from yue-fang-readfog

Lura:基於 Gin 實現的下一代超高性能 API 網關,支持大量插件!
在快速發展的技術世界中,管理和分發服務變得愈發重要。API 網關作爲一種服務架構模式,爲微服務架構提供了一種高效的管理方式。近年來,Lura(以前稱爲 KrakenD)在開源社區嶄露頭角,以其輕量級和高性能稱爲熱議的焦點。Lura 項目不僅僅是一個 API 網關,它還提供了豐富的中間件,可以幫助開發者在 Linux 環境中更好地管理微服務。接下來我們將深入探討 Lura 的技術架構,以及如何使用其 ⌘ Read more

⤋ Read More

理解內存的 Rank、位寬以及內存顆粒內部結構
大家好,我是飛哥!在馮諾依曼體系結構裏,內存是除了 CPU 之外第二重要的設備。如果沒有內存,服務器將完全無法運行。在這一節中,我們來了解下內存的物理結構。如下圖的是一個 16 GB 的筆記本內存條實物的正面和反面圖。其中的每個黑色顆粒也叫一個 Chip。注意下,在正面有着一串字符串標識16 GB 2R\8 PC4-3200AA-SE1-11。在這段標識中,16 GB 很好理解,是內存的容量大小。 ⌘ Read more

⤋ Read More

一文搞懂 TypeScript 裝飾器
前段時間爲了開發 HarmonyOS 路由框架,學習了 TypeScript 裝飾器。在學習中發現無論是官方文檔還是線上資料,鮮有文章可以將裝飾器簡單通俗的表達清楚,故而萌生了撰寫此文的想法。當然,作爲一個前端門外漢、TS 初學者,寫這篇文字更主要的還是爲了加深自己對裝飾器的理解。新手上路,難免有不足之處,還請各位看官輕噴。一. 什麼是裝飾器?———-官方文檔上的解釋是: 裝飾器是一 ⌘ Read more

⤋ Read More

Go 如何編寫出可測試的代碼
之前寫了幾篇文章,介紹在 Go 中如何編寫測試代碼,以及如何解決被測試代碼中的外部依賴問題。但其實在編寫測試代碼之前,還有一個很重要的點,容易被忽略,就是什麼樣的代碼是可測試的代碼?爲了更方便的編寫測試,我們在編碼階段就應該要考慮到,自己寫出來的代碼是否能夠被測試。本文就來聊一聊在 Go 中如何寫出可測試的代碼。本文不講理論,只講我在實際開發過程中的經驗和思考,使用幾個實際的案例,來演示怎樣從根上 ⌘ Read more

⤋ Read More

js 如何控制一次只加載一張圖片,加載完成後再加載下一張
今天看到一個面試題,是關於 img 圖片加載方面的,有必要記錄一下。其實關於這個問題,只要知道圖片什麼時候加載完成就能解決了。通過 onload 事件判斷 Img 標籤加載完成————————-實現邏輯:新建一個 Image 對象實例,爲實例對象設置 src 屬性等,在 onload 事件中添加此實例對象到父元素中,然後將圖片地址數組中的第一個元素剔除,繼續調用此方 ⌘ Read more

⤋ Read More

監控 Kafka,這 10 個指標請考慮!
大家好,我是君哥。使用消息隊列可以幫助我們實現系統解耦、流量管控等功能。但使用過程中可能會遇到各種各樣的問題,比如系統資源使用率高、集羣節點宕機等,進而影響我們生產業務正常開展。爲了不讓消息隊列失控,增加監控是非常必要的。今天來聊一聊 Kafka 有哪些重要的監控指標。1 基礎指標——基礎指標是監控系統常見的監控指標,這裏介紹 4 個方面:CPU、內存、硬盤、網絡 I/O 等資源使用情況, ⌘ Read more

⤋ Read More

CTO 說:Service 層接口,就是多此一舉!
今天我們要探討的問題是:Service 層需要接口?現在結合我參與的項目以及閱讀的一些項目源碼來看。如果「項目中使用了像 Spring 這樣的依賴注入框架,那可以不用接口」!先來說說爲什麼使用了依賴注入框架以後,可以不使用接口!不需要接口的理由————我整理了支持 Service 層和 Dao 層需要加上接口的理由,總結下來就這麼三個:1、可以在尚未實現具體 Service 邏輯的 ⌘ Read more

⤋ Read More

使用 OpenTelemetry 實現 Golang 服務的可觀測系統
這篇文章中我們會討論可觀測性概念,並瞭解了有關 OpenTelemetry 的一些細節,然後會在 Golang 服務中對接 OpenTelemetry 實現分佈式系統可觀測性。Test Project我們將使用 Go 1.22 開發我們的測試服務。我們將構建一個 API,返回服務的名稱及其版本。我們將把我們的項目分成兩個簡單的文件(main.go 和 info.go)。// file: main. ⌘ Read more

⤋ Read More

B 站千萬級長連接實時消息系統的架構設計與實踐
一、引言—-在當今數字娛樂時代,彈幕已經成爲直播平臺上不可或缺的互動元素之一。 用戶通過發送彈幕、送禮等,可以實時在直播畫面上展現自己的想法、評論和互動內容,從而豐富了用戶觀看體驗。在這個過程中,實時向終端推送互動信息,就需要用到長連接。 長連接,顧名思義,是應用存活期間和服務端一直保持的網絡數據通道,能夠支持全雙工上下行數據傳輸。其和請求響應模式的短連接服務最大的差異,在 ⌘ Read more

⤋ Read More

論文解讀 - MemoryDB: 一種快速且持久的內存優先雲數據庫
最近在微信羣裏看到 @mwish 分享 Amazon 關於 MemoryDB 的論文: Amazon MemoryDB: A Fast and Durable Memory-First Cloud Database

⤋ Read More

單元測試中如何解決文件依賴問題
現如今的 Web 應用程序往往採用 RESTful API 接口形式對外提供服務,後端接口直接向前端返回 HTML 文件的情況越來越少,所以在程序中操作文件的場景也變少了。不過有些時候還是需要對文件進行操作,比如某個 API 接口需要返回應用程序的 ChangeLog,那麼這個接口就可以通過讀取項目的 CHANGELOG.md 文件內容,將其發送給前端。在編寫單元測試時,文件就成了被測試代碼的外部 ⌘ Read more

⤋ Read More

pping: 被動式 ping,計算網絡時延
pping  是一個 Linux/macOS/BSD 命令行工具,它通過對活躍連接的被動監測來測量網絡延遲。與  ping  不同,pping  不會注入流量 (主動發送探測包) 來確定 RTT(往返時間)——它報告的是正常應用流量所經歷的每個數據包的 RTT。與只能在發送端點測量 RTT 的傳輸狀態監控工具(如  ss)不同,pping  可以在發送方、接收方或連接路徑上的任何位置測量 RTT( ⌘ Read more

⤋ Read More

從使用 Rust 構建 SaaS 平臺中學到的東西
這篇文章分享 Meteroid 團隊使用 Rust 構建 SaaS 項目中學到的東西。Meteroid 是以產品爲主導的雲原生定價和計費的 SaaS 平臺,解決了傳統計費系統的複雜性和侷限性,簡化了複雜計費模型的創建、擴展和維護,自動生成發票,併爲實現 kpi 提供清晰、可操作的見解。它消除了客戶使用和計費之間的差距,確保了準確性和透明度。這篇文章旨在提供他們經驗的高層次概述。爲什麼用 Rust? ⌘ Read more

⤋ Read More

Go 項目中使用 Base64Captcha 快速實現網站的驗證碼功能,內置多種類型的驗證碼
在當今世界,網站的安全性變得越來越重要。驗證碼作爲一種簡單而有效的驗證手段,已經被廣泛應用於各種在線平臺。Base64Captcha 是一個開源的 Go 語言庫,它提供了一個簡單、靈活的方式來生成多種形式的驗證碼,包括數字、字母、數字字母組合、算術式、音頻等形式的驗證碼。本文將深入講解 Base64Captcha 庫的使用方法和特點,幫助你在自己的項目中實現驗證碼功能。Base64Captcha ⌘ Read more

⤋ Read More

build-zig-zon 中一個包的哈希值是怎麼算出來的
引言作者 Michał Sieroń 最近在思考 build.zig.zon 中的依賴項哈希值的問題。這些哈希值都有相同的前綴,而這對加密哈希函數來說極其不同尋常。習慣性使用 Conda 和 Yocto 對下載的壓縮包運行 sha256sum,但生成的摘要與 build.zig.zon 中的哈希值完全不同。.dependencies = .{    .machfreetype = .{ ⌘ Read more

⤋ Read More

Golang 實現異步隊列
源代碼已託管至 Github: https://github.com/gofish2020/easyqueue爲什麼需要異步隊列?———-在高併發系統中,如果同時有大量的請求 / 任務需要進行處理,由於系統的負載能力有限,一次性能夠同時處理的請求 / 任務是有限的。那麼這些任務就需要進行排隊,先來的先處理,後來的後處理。如果超過了整個隊列能夠容納的請求 / 任務,那麼後續的請求 / 任 ⌘ Read more

⤋ Read More

單元測試中如何解決 MySQL 存儲依賴問題
在編寫單元測試的過程中,如果被測試代碼有外部依賴,爲了便於測試,我們就要想辦法來解決這些外部依賴問題。在做 Web 開發時,MySQL 存儲就是一個非常常見的外部依賴,本文就來探討在 Go 語言中編寫單元測試時,如何解決 MySQL 存儲依賴。HTTP 服務程序示例假設我們有一個 HTTP 服務程序對外提供服務,代碼如下: main.gopackage mainimport ( ”encodin ⌘ Read more

⤋ Read More

單元測試中如何解決 Redis 存儲依賴問題
在編寫單元測試時,除了 MySQL 這個外部存儲依賴,Redis 應該是另一個最爲常見的外部存儲依賴了。我在《在 Go 語言單元測試中如何解決 MySQL 存儲依賴問題》一文中講解了如何解決 MySQL 外部依賴,本文就來講解下如何解決 Redis 外部依賴。登錄程序示例在 Web 開發中,登錄需求是一個較爲常見的功能。假設我們有一個 Login 函數,可以實現用戶登錄功能。它接收用戶手機號 + ⌘ Read more

⤋ Read More

分佈式鎖(Redisson)- 從零開始,深入理解與不斷優化
作者:大程子的技術成長路 鏈接:https://www.jianshu.com/p/bc4ff4694cf3分佈式鎖場景互聯網秒殺 搶優惠卷 接口冪等性校驗 案例 1如下代碼模擬了下單減庫存的場景,我們分析下在高併發場景下會存在什麼問題package com.wangcp.redisson;import org.springframework.beans.factory ⌘ Read more

⤋ Read More

WebSocket 協議 - 概念原理
Part1WebSocket 是什麼 WebSocket 是一種網絡傳輸協議,可以在單個 TCP 連接上進行全雙工通信,它位於 OSI 模型的應用層。WebSocket 與 HTTP 不是同一種協議,雖然兩者都位於 OSI 模型的應用層,並且都依賴底層的 TCP 協議。它們有着各自的協議格式,應用不同的場景。WebSocket 協議本身不依賴於 HTTP 協議,但是在 WebSocket 最初的 ⌘ Read more

⤋ Read More

批量執行 Redis 命令的 4 種方式!
前言在我們的印象中 Redis 命令好像都是一個個單條進行執行的,如果有人問你如何批量執行 Redis 命令,你能回答的上嗎,或者說能答出幾種方式呢?最容易想到的是 Redis 的一些批量命令,例如 MGET今天小許就這個問題給大家總結一下!Redis 命令執行過程在瞭解批量執行有哪些方式之前,我們簡單回顧下 Redis 命令執行的過程:爲什麼需要批量執行命令呢?在瞭解批量執行命令有哪些方式之前, ⌘ Read more

⤋ Read More

日常 Bug 排查 - 連接突然全部關閉
前言日常 Bug 排查系列都是一些簡單 Bug 的排查。筆者將在這裏介紹一些排查 Bug 的簡單技巧,同時順便積累素材。Bug 現場最近碰到一個問題,一臺機器上的連接數在達到一定連接數 (大概 4.5W) 連接數之後會突然急速下降到幾百。在應用上的表現就是大量的連接報錯,系統失去響應,如下圖所示: 思路思路 1: 第一步肯定是懷疑代碼寫錯了,筆者看了下,使用的是成熟的框架,不是自己操作的連接,那麼 ⌘ Read more

⤋ Read More

Rust 中的分佈式跟蹤:OpenTelemetry
在這篇文章中,我們先簡單介紹一下 OpenTelemetry,然後,再來編寫一個在 Rust 中使用 OpenTelemetry 的示例。OpenTelemetry,也被簡稱爲 OTel,是一個開源可觀察性框架,用於檢測、生成、收集和導出測量數據,如跟蹤、度量、日誌。OTEL 爲你提供了一套獨立的 api、sdk、集成和收集器服務。如圖:下面,讓我們來看一下 OpenTelemetry 的關鍵概念 ⌘ Read more

⤋ Read More

sqlx: 一個優秀的 rust 異步 SQL 庫
概覽–sqlx 是一個爲 Rust 語言提供的功能齊全的數據庫訪問和查詢構建器庫。它支持多種數據庫, 包括 PostgreSQL、MySQL、SQLite 等。sqlx 的設計目標是成爲 Rust 中最直觀、高效且類型安全的數據庫客戶端。真正的異步。從頭開始使用 async/await 構建,以實現最大的併發性。 編譯時檢查查詢(如果你需要的話)。請注意,sqlx 不是 ORM。 與 ⌘ Read more

⤋ Read More

Golang 高效處理集合 -Collection- 的庫
處理集合是構建任何應用程序的重要部分。通常,需要以下幾類操作:轉換:將某個函數應用於集合中的每個元素,以創建一個新類型的新集合; 過濾:選擇滿足特定條件的集合中的元素; 聚合:從集合中計算出單個結果,通常用於彙總; 排序 / 排序:根據某些標準重新排列集合的元素; 訪問:根據其屬性或位置檢索元素的操作; 實用程序:與集合一起工作的通用操作,但不一定完全適合上述分類。 ⌘ Read more

⤋ Read More

如何使用 Go 語言優雅地實現接口限流
在衆多 Web 開發中,爲了保障服務器的穩定性,我們常常需要對接口的調用頻率做出限制。而 Go 語言的強大併發性能使其在此領域有出色的表現。本文將向你詳細展示如何利用 Go 語言實現接口限流。限流原理—-接口限流的目標是防止接口被過度調用,保護系統資源,包括 CPU、內存和帶寬等。限流通常應用於以下幾種場景:防止 DDoS 攻擊 控制非法爬蟲 公平分配系統資源 限流的實現方式 ⌘ Read more

⤋ Read More

Redis Pipelining 底層原理分析及實踐
作者:vivo 互聯網服務器團隊 - Wang FeiRedis 是一種基於客戶端 - 服務端模型以及請求 / 響應的 TCP 服務。在遇到批處理命令執行時,Redis 提供了 Pipelining(管道) 來提升批處理性能。本文結合實踐分析了 Spring Boot 框架下 Redis 的 Lettuce 客戶端和 Redisson 客戶端對 Pipeline 特性的支持原理,並針對實踐過程中遇 ⌘ Read more

⤋ Read More

一致性緩存理論分析與技術實戰
0 前言工程實踐場景中,我們通常用數據庫完成數據的持久存儲,而數據存儲側的性能調優也是一個永恆經典的話題. 在一些請求量大、讀多寫少的場景中,一種性能優化方式是考慮在數據庫之上添加一層緩存組件,這樣一方面能減輕數據庫的訪問壓力,一方面也能提升查詢操作的性能.然而由於緩存(如 redis)和數據庫(如 mysql)是兩個獨立的存儲組件,在操作過程中無法在跨組件的基礎上保證 “事務” 的語義,因此不可 ⌘ Read more

⤋ Read More

關於 zustand 的一些最佳實踐
前言看過我文章的人,應該知道React狀態管理庫中我比較喜歡使用 Zustand 的,因爲使用起來非常簡單,沒有啥心智負擔。這篇文章給大家分享一下,我這段時間使用 zustand 的一些心得和個人認爲的最佳實踐。優化在 React 項目裏,最重要優化可能就是解決重複渲染的問題了。使用 zustand 的時候,如果不小心,也會導致一些沒用的渲染。舉個例子:創建一個存放主題和語言類型的 storeim ⌘ Read more

⤋ Read More

單元測試中如何解決 HTTP 網絡依賴問題
在開發 Web 應用程序時,確保 HTTP 功能的正確性是至關重要的。然而,由於 Web 應用程序通常涉及到與外部依賴的交互,編寫 HTTP 請求和響應的有效測試變得具有挑戰性。在進行單元測試時,我們必須思考如何解決被測程序的外部依賴問題。因此,在 Go 語言中,我們需要找到一種可靠的方法來測試 HTTP 請求和響應。本文將探討在 Go 中進行 HTTP 應用測試時,如何解決應用程序的依賴問題,以 ⌘ Read more

⤋ Read More

C 語言內存管理:堆區內存的申請、使用與釋放
編程時,如果開發者預先知道數組的大小,那麼定義數組時就比較容易。例如,一個存儲人名的字符數組,它最多容納 100 個字符,所以您可以定義數組,如下所示:char name

⤋ Read More

詳解 C– 高性能無鎖隊列的原理與實現
無鎖隊列原理————-1.1. 隊列操作模型隊列是一種非常重要的數據結構,其特性是先進先出(FIFO),符合流水線業務流程。在進程間通信、網絡通信間經常採用隊列做緩存,緩解數據處理壓力。根據操作隊列的場景分爲:單生產者——單消費者、多生產者——單消費者、單生產者——多消費者、多生產者——多消費者四大模型。根據隊列中數據分爲:隊列中的數據是定長的、隊列中的數據是變長的。(1)單生產者 ⌘ Read more

⤋ Read More

Golang 實現枚舉的多種方式及最佳實踐
枚舉提供了一種表示一組命名常量的方式。雖然 Go 語言沒有內置的枚舉類型,但開發者可以通過常量 / 自定義類型來模擬類似枚舉的行爲。枚舉在編程語言中扮演着至關重要的角色,提供了一種簡潔而富有表現力的方式來定義一組命名常量。雖然像 Java 或 C# 這樣的語言提供了對枚舉的內置支持,但 Go 採用了不同的方法。在 Go 中,枚舉並不是一種原生的語言特性,但開發者有幾種技術可供使用,以實現類似的功能 ⌘ Read more

⤋ Read More

玩轉 RxJS 中的同步、異步編程
RxJS 是響應式編程的一種實現,響應式編程是一種用於處理異步數據流的編程範式。這不代表 RxJS 只能處理異步數據流,它還能處理同步數據流,但是它的強項是處理更復雜的異步數據流。通常來講,處理異步數據流比處理同步數據流更難。在使用 RxJS 時,需要注意識別當前數據流是同步的還是異步的。若不加以區分,則有可能引入潛在的缺陷。因爲,處理同步或異步數據流可以對應到程序中的同步函數調用和異步函數調用, ⌘ Read more

⤋ Read More

【操作系統】內存管理概述
內存管理硬件結構——–常見的內存分配函數有 malloc,mmap 等,但大家有沒有想過,這些函數在內核中是怎麼實現的?換句話說,Linux 內核的內存管理是怎麼實現的?內存管理的目的是管理系統中的內存,俗稱內存橋,換成專業屬於叫 DDR。我們有必要先了解下計算機對內存管理的硬件結構。我們先看下關於地址的一些概念。早期內存的使用方法在計算機早期的發展階段,要運行一個程序,要把計算機程序, ⌘ Read more

⤋ Read More

萬字長文——在 Go 中如何編寫測試代碼
在程序開發過程中,測試是非常重要的一環,甚至有一種開發模式叫 TDD(測試驅動開發),先編寫測試,再編寫功能代碼,通過測試來推動整個開發的進行,可見測試在開發中的重要程度。爲此,Go 語言提供了 testing 框架來方便我們編寫測試,本文將向大家介紹在 Go 中如何編寫測試代碼。測試分類在 Go 中,編寫的測試用例可以分爲四類:單元測試:測試函數名稱以 Test 開頭,如 TestXxx、Tes ⌘ Read more

⤋ Read More

DDD 聚合和表的對應關係是什麼?
首先:說說什麼是聚合?———–“聚合”即 “高內聚,低耦合” 中的 “內聚” 之意;聚合是業務和邏輯緊密關聯的實體和值對象組合而成,聚合是數據修改和持久化的基本單元,一個聚合對應一個數據的持久化;聚合在 DDD 分層架構中屬於領域層,領域層包含了多個聚合,共同實現核心業務邏輯,聚合內的實體以充血模型實現個體業務能力,以及業務邏輯的高內聚; 跨多個實體的業務邏輯通過領域服務來實現,跨多 ⌘ Read more

⤋ Read More

MySQL 用 limit 爲什麼會影響性能?有什麼優化方案?
作者:Java 小陳 原文:https://www.toutiao.com/article/7279396210157371904Limit 是一種常用的分頁查詢語句,它可以指定返回記錄行的偏移量和最大數目。例如,下面的語句表示從 test 表中查詢 val 等於 4 的記錄,並返回第 300001 到第 300005 條記錄:select  from test where val=4 ⌘ Read more

⤋ Read More

Go FRP:快速反向代理助您穿越 NAT 或防火牆,輕鬆連接互聯網
在當前的互聯網架構中,NAT(網絡地址轉換)和防火牆是常見的網絡安全措施,它們爲內網提供了一層保護。然而,這同時也意味着在不進行特別配置的情況下,外部網絡無法直接訪問內網的服務。爲了解決這一問題,Go FRP(Fast Reverse Proxy)應運而生。它是一個快速的反向代理工具,可以幫助您將內網服務安全地暴露到外網,極大地簡化了穿越 NAT 或防火牆的過程。Go FRP 的工作原理—– ⌘ Read more

⤋ Read More

在 Go 語言中,這樣使用 Json 的
Encode將一個對象編碼成JSON數據,接受一個interface{}對象,返回[]byte和error:func Marshal(v interface{}) ([]byte, error)Marshal函數將會遞歸遍歷整個對象,依次按成員類型對這個對象進行編碼,類型轉換規則如下:bool類型 轉換爲JSON的Boolean 整數,浮點數等數值類型 轉換爲JSON的Number s ⌘ Read more

⤋ Read More

一幅動圖,搞定 Elasticsearch 核心基礎原理!
在大數據時代,實時高效地處理信息成爲了企業和開發者的必需。而在衆多工具中,Elasticsearch 無疑佔據了核心地位。它不僅以實時數據處理能力被高度重視,還因其在搜索與分析方面的強大功能而備受推崇。今天,我們通過一幅清晰的動圖,一起深入探討 Elasticsearch 的工作原理,讓基礎概念不再枯燥,而是動起來。1、Elasticsearch 簡介——————Elast ⌘ Read more

⤋ Read More

使用 Ollama 和 Go 基於文本嵌入模型實現文本向量化
基於 RAG + 大模型的應用已經成爲當前 AI 應用領域的一個熱門方向。RAG(Retrieval-Augmented Generation) 將檢索和生成兩個步驟相結合,利用外部知識庫來增強生成模型的能力 (如下圖來自網絡)。在 RAG 賦能的大模型應用中,關鍵的一步是將文本數據向量化後存儲在向量數據庫中 (如上圖的紅框),以實現快速的相似度搜索,從而檢索與輸入查詢相關的文本片段,再將檢索到的 ⌘ Read more

⤋ Read More

RabbitMQ 如何保證消息可靠性?
本篇文章不再介紹 RabbitMQ 具體實現原理,直接介紹如何保證消息的可靠性問題。所謂可靠性,指消息不重不漏。文章導讀—-生產者消費者模型——–  生產者 - 消費者模型用於描述兩類進程(生產者和消費者)之間的數據交互。可以被認爲是獨立的服務,生產者負責生成數據,消費者負責處理這些數據。在分佈式系統中,隊列在其中扮演了消息(數據)傳遞的功能。關於消息隊列的作用,一般解讀爲:解耦:生 ⌘ Read more

⤋ Read More

Golang 如何實現自定義 CDC 工具?
CDC變更數據捕獲(CDC)是一種跟蹤數據庫更改的技術,允許開發人員捕獲應用於行的插入、更新和刪除。它是數據集成和實時處理任務的重要組成部分。在本文中,我們將討論如何在 Golang 中爲 PostgreSQL、Oracle、MySQL、MongoDB 和 SQL Server 等多個數據庫開發自定義 CDC 工具。通常在 CDC 領域或者說大數據領域都是 java 的生態比較繁榮,比如 Flin ⌘ Read more

⤋ Read More

SpringBoot 快速實現 api 加密!
在項目中,爲了保證數據的安全,我們常常會對傳遞的數據進行加密。常用的加密算法包括對稱加密(AES)和非對稱加密(RSA),博主選取碼雲上最簡單的 API 加密項目進行下面的講解。 https://gitee.com/isuperag/rsa-encrypt-body-spring-boot項目介紹該項目使用 RSA 加密方式對 API 接口返回的數據加密,讓 API 數據更加安全。別人無法對提供 ⌘ Read more

⤋ Read More

介紹一個 Rust 的鍵值存儲庫:keyv
Keyv 是一個簡單的鍵值存儲庫,旨在簡化鍵值存儲並增加其靈活性,支持多個後端。它爲跨後端鍵值存儲提供了一致的接口。由於支持基於 ttl 的過期,它足夠通用,既可以充當緩存,也可以充當持久鍵值存儲,以適應你的需求。可以在哪裏使用 Keyv?假設你正在處理一個需要緩存用戶會話的高流量 web 服務。keyv 可以快速與 Redis 後端合作,爲你提供內存級的存取速度。或者,假設你正在構建一個需要持久 ⌘ Read more

⤋ Read More