Loading

上一页 1 2 3 4 5 6 7 8 9 ··· 85 下一页
摘要: 日常生活中,你會如何描述處理事情的效率? 「原來她五分鐘內可以吃掉一頭牛!」 「房間這麼小你還能擺一堆雜物?還不快收拾!」 這些描述方法,著重在處理事情的花費時間,或單位空間內的儲存量。描述演算法的效率也如此,就是「測量演算法的執行成本」,例如這個排序法花了 10 秒鐘跑完兩萬筆資料,或是這個模擬演 阅读全文
posted @ 2024-05-11 14:03 RioTian 阅读(67) 评论(0) 推荐(0)
摘要: 在这篇文章中,我们将讨论如何在 Rust 中实现 API 限速。当涉及到生产中的服务时,是为了确保不良行为者不会滥用 API——这就是 API 限速的作用所在。 我们将实现 “滑动窗口” 算法,通过动态周期来检查请求历史,并使用基本的内存 hashmap 来存储用户 IP 及其请求时间。我们还将研究 阅读全文
posted @ 2024-05-09 13:58 RioTian 阅读(340) 评论(0) 推荐(0)
摘要: In this article, we will conduct a performance comparison of three of the most popular Rust web frameworks: Axum, Actix, and Rocket. How we are going 阅读全文
posted @ 2024-04-27 11:56 RioTian 阅读(1396) 评论(0) 推荐(0)
摘要: 引言 作为程序员,我们常常需要统计项目中的代码行数,以了解项目规模和进度。市面上有很多代码统计工具,但不少工具存在统计不准、语言支持不全、性能不佳等问题。今天给大家介绍一个 Rust 生态中的代码统计利器:tokei。tokei 通过语法分析准确统计代码行数,目前已支持 200+ 种语言,而且性能卓 阅读全文
posted @ 2024-04-26 11:07 RioTian 阅读(645) 评论(0) 推荐(1)
摘要: 译者:RivTian 原文:Here 作为 Rust subreddit的主持人,我经常发布有关开发人员试图将其各自的语言范例转换为 Rust 的帖子,结果不一而足,取得了不同程度的成功。 在本指南中,我将描述开发人员在将其他语言范例转换为 Rust 时遇到的一些问题,并提出一些替代解决方案来帮助你 阅读全文
posted @ 2024-04-25 16:37 RioTian 阅读(183) 评论(0) 推荐(0)
摘要: 错误地使用可变和不可变借用 let mut data = vec![1, 2, 3]; let x = &data[0]; data.push(4); println!("{}", x); 不能在有不可变引用时修改数据。 忘记处理 Option fn main() { let some_number 阅读全文
posted @ 2024-04-19 09:13 RioTian 阅读(218) 评论(0) 推荐(0)
摘要: 初学 Rust 时,即便是一个简单的 “Hello World” 程序中的打印语句也让我非常困扰。 新手在编写各种演示程序时肯定希望能够将变量打印出来以便观察。然而,总是对以下几点感到迷惑: 为什么 println! 后面会跟一个感叹号?格式化语法应当如何使用?问号运算符又是什么意思?为什么 Rus 阅读全文
posted @ 2024-04-19 08:44 RioTian 阅读(1603) 评论(0) 推荐(0)
摘要: Cargo 使用了缓存的方式提升构建效率,当构建时,Cargo 会将已下载的依赖包放在 CARGO_HOME 目录下,下面一起来看看。 Cargo Home 默认情况下,Cargo Home 所在的目录是 $HOME/.cargo/,例如在 macos ,对应的目录是: $ echo $HOME/. 阅读全文
posted @ 2024-04-16 16:04 RioTian 阅读(590) 评论(0) 推荐(0)
摘要: 在這篇文章中,我們將創建一個能執行的 Rust 腳本來測量 CPU 的性能。 爲了實現目標,我們將創建一些在循環中運行的虛擬計算,分佈在所有可用的 CPU 內核上。理想情況下,我們的計算需要 CPU 密集型任務,所以我們儘可能接近 100% 的 CPU 使用率。 創建一個 Rust 項目: carg 阅读全文
posted @ 2024-04-16 15:12 RioTian 阅读(130) 评论(0) 推荐(0)
摘要: 在這篇文章中,我們將使用 gRPC 創建一個基本的 Todo 應用程序。首先,我們將非常快速的概述一下 gRPC 和 Protocol Buffers。 什麼是 gRPC? gRPC 是一個現代的開源的高性能遠程過程調用 (RPC) 框架,可以在任何環境下運行。RPC 代表遠程過程調用(Remote 阅读全文
posted @ 2024-04-16 14:30 RioTian 阅读(641) 评论(0) 推荐(0)
摘要: 在开发程序的时候难免会需要在程序中引入外部的文件,为了方便管理我们也常会将这些文件放置在程序项目目录下。然而在代码撰写程序路径于运行阶段读取文件时,文件路径的正确性需要等到运行阶段的时候才会知道,就算写错了而找不到这个文件,程序项目也是能成功通过编译,这就会使得程序在运行阶段有出现问题的可能。 Ru 阅读全文
posted @ 2024-04-16 10:05 RioTian 阅读(384) 评论(0) 推荐(0)
摘要: 背景 我相信大多数人在学习 Rust 异步编程时都会被 Future trait 中的 Pin 指针感到困惑: pub trait Future { type Output; fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Se 阅读全文
posted @ 2024-04-15 09:11 RioTian 阅读(1779) 评论(0) 推荐(0)
摘要: keybinds.json // Place your key bindings in this file to override the defaultsauto[] [ // 以前配置的上下左右移动按键 { "key": "alt+j", "command": "cursorLeft", "wh 阅读全文
posted @ 2024-04-13 00:01 RioTian 阅读(394) 评论(1) 推荐(0)
摘要: 背景 Rust 宏编程是这门语言比较有趣但又难以掌握的知识点,而且在大多数项目中使用频度并不算高。本文尝试性地总结 Rust 声明宏的原理和使用,目的是为了能更好地看懂一些项目中 macro_rules! 的逻辑。 所谓宏编程,我理解本质上就是元编程(据说最早源自 LISP 的「Code is Da 阅读全文
posted @ 2024-04-12 08:36 RioTian 阅读(463) 评论(0) 推荐(0)
摘要: 基本原理 Rust 提供了一个 [cfg] 的编译选项,允许你基于一个传递给编译器的标记编译代码,有两种形式: #[cfg(foo)] 如果 foo 设置了编译对应代码; #[cfg(bar = "baz")] 如果 bar = "baz" ,则编译对应代码; 比如: fn main() { #[c 阅读全文
posted @ 2024-04-11 15:28 RioTian 阅读(363) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 ··· 85 下一页