zl程序教程

Rust 1

  • Rust 从入门到精通06-语句和表达式

    Rust 从入门到精通06-语句和表达式

    1、语句和表达式语句和表达式是 Rust 语言实现逻辑控制的基本单元。 在 Rust 程序里面,语句(Statement)是执行一些操作但不返回的指令,表达式(Expressions)计算并产生一个值。表达式可以是语句的一部分,反过来,语句也可以是表达式的一部分。1.1 语句不返回值fn main() { let x = (let y = 6); }复制这里面let y = 6 是一个语句

    日期 2023-06-12 10:48:40     
  • Rust语言尝鲜

    Rust语言尝鲜

    首先,还是要吹捧一下这个编程语言。语法很严谨,Rust语言号称只要编译通过就不会崩溃(内存安全)。不像C++那种,概念混乱,连Bjarne Stroustrup都曾开玩笑说自己已经搞不懂C++了。而且一个报错信息就一万多行,然后必须是大师级的程序员,精通 Intel规范的汇编语言的那种C++程序员,才能搞清楚什么地方出了问题。个人认为Rust对于程序员的综合素质要求,是低于C++的。所以笔者决定将

    日期 2023-06-12 10:48:40     
  • 如何理解Rust的核心特性(所有权、借用、生命周期)

    如何理解Rust的核心特性(所有权、借用、生命周期)

    上一篇文章,我简单讲解了一下,我作为一个前端是如何看待Rust的,里面稍微提及了一下Rust的所有权机制和内存安全,说着的,Rust的所有权机制以及后续带来的生命周期问题确实不好理解,我一边看了TRPL的讲解,另一边又找了好几篇博文,最终写了这篇文章,这篇文章的布局和写作顺序可能有与其他人的文章不同,包含了我完全个人的理解和知识框架,因此也难免会有疏漏,如有疏漏,也请大家可以谅解,共同讨论与学习。

    日期 2023-06-12 10:48:40     
  • 构建 Rust 异步 GraphQL 服务:基于 tide + async-graphql + mongodb(4)- 变更服务

    构建 Rust 异步 GraphQL 服务:基于 tide + async-graphql + mongodb(4)- 变更服务

    在构建 Rust 异步 GraphQL 服务:基于 tide + async-graphql + mongodb(3)- 第一次重构之后,因这段时间事情较多,所以一直未着手变更服务的开发示例。现在私事稍稍告一阶段,让我们一起进行变更服务的开发,以及第二次重构。一点意外首先要说,和笔者沟通使用 Tide 框架做 Rust Web 开发的朋友之多,让笔者感到意外。因为 Tide 框架的社区,目前并不活

    日期 2023-06-12 10:48:40     
  • Rust 生态中,最不知名的贡献者和轶事

    Rust 生态中,最不知名的贡献者和轶事

    大家五一假期愉快!昨晚睡前无意识网络闲逛,发现了 Brian Anderson 于 2021 年 5 月 2 日 撰写的文章 Rust’s Most Unrecognized Contributor。文章或许存在争议,但文笔很棒,我们也可以多看多思:作为成年人,我们都晓得,任何伟大的背后,无一例外都沉积着丰厚的、但举足轻重的不知名,或者说默默无闻。笔者不由得希望将此文分享,共同向诸多先行者致敬。以

    日期 2023-06-12 10:48:40     
  • Rust 1.52.0 稳定版预发布测试中,关键新特性一瞥

    Rust 1.52.0 稳定版预发布测试中,关键新特性一瞥

    2021 年 5 月 4 日,Rust 内部论坛,Pietro Albini 代表 Rust 发布团队宣布 1.52.0 pre-release testing。Rust 1.52.0 预发布版本已经为测试做好准备,预定的发布日程为 本周四(2021 年 5 月 6 日)。请查看发布说明,详细了解新版本的改进项。安装 Rust 1.52.0 稳定版因为还未正式发布,不能从 Rust 国内工具链镜像

    日期 2023-06-12 10:48:40     
  • Rust 1.52.0 已正式发布,及其新特性详述

    Rust 1.52.0 已正式发布,及其新特性详述

    2021 年 5 月 6 日,Rust 发布团队官宣 Rust 发布 1.52.0 稳定版:Announcing Rust 1.52.0。以下为官方公告原文——Rust 团队很高兴地宣布,Rust 语言有了新版本:1.52.0。Rust 是一门编程语言,它使每个人都能够构建安全、高效的软件。如果你已通过 rustup 安装了 Rust 的早期版本,那么更新到 Rust 1.52.0 相当容易:ru

    日期 2023-06-12 10:48:40     
  • Rust 和 Wasm 的融合,使用 yew 构建 WebAssembly 标准的 web 前端 - 起步及 crate 选择

    Rust 和 Wasm 的融合,使用 yew 构建 WebAssembly 标准的 web 前端 - 起步及 crate 选择

    在以前的构建 Rust 异步 GraphQL 服务系列中,分别采用 tide + async-graphql + mongodb 和 actix-web + async-graphql + rbatis + postgresql / mysql 开发了 GraphQL 服务后端。感兴趣的朋友可以参阅博文——构建 Rust 异步 GraphQL 服务:基于 tide + async-graphql

    日期 2023-06-12 10:48:40     
  • 使用 tide、handlebars、graphql 开发 Rust web 前端(2)- 获取并解析 GraphQL 数据

    使用 tide、handlebars、graphql 开发 Rust web 前端(2)- 获取并解析 GraphQL 数据

    上一篇文章《crate 选择及环境搭建》中,我们对 HTTP 服务器端框架、模板引擎库、GraphQL 客户端等 crate 进行了选型,以及对开发环境进行了搭建和测试。另外,还完成了最基本的 handlebars 模板开发,这是 Rust web 开发的骨架工作。本篇文章中,我们请求 GraphQL 服务器后端提供的 API,获取 GraphQL 数据并进行解析,然后将其通过 handle

    日期 2023-06-12 10:48:40     
  • 使用 rhai、handlebars、graphql 开发 Rust web 前端(3)- rhai 脚本、资源文件、环境变量等

    使用 rhai、handlebars、graphql 开发 Rust web 前端(3)- rhai 脚本、资源文件、环境变量等

    前 2 篇文章《crate 选择及环境搭建》和《获取并解析 GraphQL 数据》中,我们已经整合应用 tide、graphql-client、handlebars,以及 surf,从 GraphQL 服务后端 API 获取 GraphQL 数据并解析、渲染到 html 模板。这已经是一个完整的技术组合,其成熟度足以用于生产环境,构建自己的想法和应用了。handlebars 模板支持 Java

    日期 2023-06-12 10:48:40     
  • Rust 和 Wasm 的融合,使用 yew 构建 WebAssembly 博客应用的体验报告

    Rust 和 Wasm 的融合,使用 yew 构建 WebAssembly 博客应用的体验报告

    WebAssembly 相对其它 web 标准来说,稍显新颖。但 wasm 的应用范畴和方向,却十分广阔。关于其优势所在,本文不做赘述,网上有许多分析比较的文章。我们从 Rust 周报趋势来领会,可以发现 Rust 官方在 WebAssembly 上投入了不少精力。Rust 社区中,Rust + WebAssembly 的应用也比较热门,其文章和话题增长趋势显著。因此,笔者对 Rust 和

    日期 2023-06-12 10:48:40     
  • Rust 1.56.0 版本和 Rust 2021 版次发布,新特性一览,及项目的迁移、升级

    Rust 1.56.0 版本和 Rust 2021 版次发布,新特性一览,及项目的迁移、升级

    信息来源:Announcing Rust 1.56.0 and Rust 2021Transitioning an existing project to a new editionRust 20212021 年 10 月 22 日,Rust 1.56.0 新版本发布,同时发布了 Rust 2021 新版次。本次更新主要集中在:prelude 的补录、Cargo 新的默认解析特性 resolve

    日期 2023-06-12 10:48:40     
  • 34.Rust-变量绑定

    34.Rust-变量绑定

    变量绑定默认是不可变的(immutable),但加上 mut 修饰语后变量就可以改变。作用域和遮蔽变量绑定有一个作用域(scope),它被限定只在一个代码块(block)中生存(live)。 代码块是一个被 {} 包围的语句集合。另外也允许变量遮蔽(variable shadowing)。 // 此绑定生存于 main 函数中 let spend = 1; // 这是一个代码

    日期 2023-06-12 10:48:40     
  • Rust & Go,如何选择?

    Rust & Go,如何选择?

    如果 Go 的服务想用另一种语言重写,目前还是 Rust 语言和 C++ 可选性高一些。1.学习难度方面,Rust 语言和 C++ 学习难度比较高,而 Go 语言的学习难度比较低。2.性能方面,Rust 语言和 C++ 的性能比较高。3.安全性方面,C++ 的安全性比较低,Go 语言安全性中等,Rust 语言安全性比较高。4.协作方面,Rust 语言的协作能力比较高,Go 语言和 C++ 的协作等

    日期 2023-06-12 10:48:40     
  • 如何白嫖亚洲诚信TrustAsia通配符证书并部署到宝塔面板

    如何白嫖亚洲诚信TrustAsia通配符证书并部署到宝塔面板

    SSL 证书是用于在 Web 服务器与浏览器以及客户端之间建立加密链接的加密技术,通过配置和应用 SSL 证书来启用 HTTPS 协议,来保证互联网数据传输的安全,全球每天有数以亿计的网站都是通过 HTTPS 来确保数据安全,保护用户隐私。 通配符证书能保护下一级所有域名,使用起来十分方便。但现在市面上的收费通配符SSL证书动辄数千元,不适合个人站长使用。 https://freessl.cn/

    日期 2023-06-12 10:48:40     
  • TechEmpower 21轮Web框架 性能评测 -- C# 的性能 和 Rust、C++并驾齐驱

    TechEmpower 21轮Web框架 性能评测 -- C# 的性能 和 Rust、C++并驾齐驱

    自从2021年2月第20轮公布的测试以后,一年半后 的2022年7月19日 发布了 TechEmpower 21轮测试报告:Round 21 results - TechEmpower Framework Benchmarks。Techempower benchmark是包含范围最广泛的web框架性能测试,覆盖了比较典型的使用场景,其可参考性极强。另外,所有测试源代码和软硬件配置都开放,基本得到大

    日期 2023-06-12 10:48:40     
  • 【玩转  Cloud Studio】以 Rust 为例定制自己的开发环境

    【玩转 Cloud Studio】以 Rust 为例定制自己的开发环境

    前言Cloud Studio 目前提供了对 Java,Node,Go,Python,.Net 的环境支持,基本上满足了绝大多数的开发者的需求。如果开发者工作的语言和环境不在上述之列,没关系,Cloud Studio 照样能满足你。本文以 Rust 为例分享如何搭建出专属的开发环境。工作空间介绍Cloud Studio 的工作空间是 Ubuntu 系统,标准型提供了 2 核, 4 G 内存,8 GB

    日期 2023-06-12 10:48:40     
  • Rust 从入门到精通03-helloworld

    Rust 从入门到精通03-helloworld

    安装完成 Rust 之后,我们可以编写 Rust 的 Hello Word。这里介绍两种方式,一种是rust原生方式,一种是利用 cargo 工具(重要)1、rustc 方式1.1 创建项目目录rust 运行不关心代码存放的目录,我们可以任意选择一个合适的位置,创建一个目录。比如:我们创建一个目录名称为 rust_helloword mkdir rust_helloword 1.2 编写rust

    日期 2023-06-12 10:48:40     
  • Rust使用lazy_static来延迟全局变量的初始化

    Rust使用lazy_static来延迟全局变量的初始化

    场景在rust中,当我们生成全局static变量的时候,我们可以用以下的代码来声明:static REQUEST_RECV: AtomicUsize = AtomicUsize::new(0);复制Rust编译器的静态求解器会在编译期把这个static变量的值给算出来。但是,现实就是,Rust的静态求解器对于有多级的变量需要new的情况,也就是一个struct里面的另一个变量也需要new出来的情

    日期 2023-06-12 10:48:40     
  • Rust开发环境搭建

    Rust开发环境搭建

    安装Rust通常情况下,我们安装Rust是通过Rustup这个工具来进行的,它是一个 Rust 安装程序和版本管理工具。在类Unix操作系统下,下载Rustup并安装Rust,可以直接在终端中运行以下命令。curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh复制更新Rust现在的Rust更新非常频繁,可以通

    日期 2023-06-12 10:48:40     
  • 初识Rust

    初识Rust

    Rust - 面向未虽然Rust工作上不一定用到,目前很难靠这个吃饭。但因为下面几个原因,有必要了解下Rust:2016 年开始,截止到 2021年,Rust 连续五年成为 StackOverflow 语言榜上最受欢迎的语言。非常新的语言,没有历史包袱,融入了很多现代编程的思想,非常值得借鉴。从语言的生命周期说,Rust处于快速上升期,换成大白话就是Rust有更好的未来。现在的Rust生态的体量太

    日期 2023-06-12 10:48:40     
  • Rust生态的现状和未来

    Rust生态的现状和未来

    现状Rust是目前最有未来的一门语言,已在所有领域开花结果。操作系统英特尔已经开始致力于让Rust实现与C相同的功能,微软也或将加入其中。由于Rust缺少C的一些功能,该团队发现Rust将最适用于新近开发的Windows组件。假如微软将部分代码库迁移到Rust,我也不会感到吃惊。微软已经为Rust搭建了一个标准Windows库,它具备C++版本的所有功能;Linux也在考虑将一些内核迁移到Rust

    日期 2023-06-12 10:48:40     
  • [1160]ModuleNotFoundError: No module named setuptools_rust

    [1160]ModuleNotFoundError: No module named setuptools_rust

    报错信息Traceback (most recent call last): File “”, line 1, in File “/tmp/pip-build-my9sai1o/cryptography/setup.py”, line 14, in from setuptools_rust import RustExtension ModuleNotFoundError: No module

    日期 2023-06-12 10:48:40     
  • 《安富莱嵌入式周报》第283期:全开源逆向“爆破”硬件工具,Linux内核6.1将正式引入RUST语言,I3C培训教程,80款市场成熟的电感式位置传感器设计

    《安富莱嵌入式周报》第283期:全开源逆向“爆破”硬件工具,Linux内核6.1将正式引入RUST语言,I3C培训教程,80款市场成熟的电感式位置传感器设计

    往期周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104本周更新视频:BSP视频教程第23期:通过Modbus解析器,轻松掌握Modbus主从协议栈https://www.armbbs.cn/forum.php?mod=viewthread&tid

    日期 2023-06-12 10:48:40     
  • 基于Rust-vmm实现Kubernetes运行时[通俗易懂]

    基于Rust-vmm实现Kubernetes运行时[通俗易懂]

    大家好,又见面了,我是你们的朋友全栈君。 随着容器及K8s的广泛使用,越来越多的容器安全与隔离问题被暴露出来,如:容器逃逸、水平攻击、DDos攻击等严重威胁了办公和生产环境的安全与稳定,影响了业务的正常运行。安全容器技术孕育而生,产生了kata、gVisor、unikernel等多种安全容器方案。本文旨在介绍各种安全容器方案,分析各方案特点,结合腾讯在容器安全领域的实践,帮助读者选择适合自身

    日期 2023-06-12 10:48:40     
  • 《安富莱嵌入式周报》第285期:电子技术更新换代太快,我要躺平,Linux内核6.1已经并入RUST,一夜161个网站密码遭泄,Matlab精选课件,开源电子书

    《安富莱嵌入式周报》第285期:电子技术更新换代太快,我要躺平,Linux内核6.1已经并入RUST,一夜161个网站密码遭泄,Matlab精选课件,开源电子书

    往期周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104更新一期视频教程:BSP视频教程第24期:应用实战,设计一款属于自己的Modbus RTU主从协议栈(2022-10-03)https://www.armbbs.cn/forum.php?mod=vi

    日期 2023-06-12 10:48:40     
  • 【火绒安全周报】数字安全Entrust遭勒索攻击/推特账户数据遭泄露

    【火绒安全周报】数字安全Entrust遭勒索攻击/推特账户数据遭泄露

    01数字安全巨头Entrust遭到勒索攻击Entrust作为一家专注在线信任与身份管理的安全公司,其提供包括加密通信、数字安全支付、身份证明解决方案在内的广泛服务。然而这家数字安全巨头证实,其遭到了勒索软件团伙的网络攻击,该攻击导致了其网络被破坏以及内部系统的数据被窃取。相关链接:https://netsecurity.51cto.com/article/714620.html02540万用户的推

    日期 2023-06-12 10:48:40     
  • 智能合约开发语言 — Move 与 Rust 的对比(#1)

    智能合约开发语言 — Move 与 Rust 的对比(#1)

    本文作者:MoveMoon[1]翻译一篇 Move 与 Solana 上智能合约开发对比的文章, 原文[2] 非常长, 我计划很为两个部分,这篇包含前 4 节, 以下是原文翻译。Move 是一种用于智能合约开发的新颖编程语言,随着研究 Move 的深入,我与 Solana 上使用的基于 Rust 的开发的模型进行了一些比较。以下这个图,是我对他们的生动对比。1. 背景介绍最近几周和几个月,围绕 A

    日期 2023-06-12 10:48:40     
  • 推广TrustAI可信分析:通过提升数据质量来增强在ERNIE模型下性能

    推广TrustAI可信分析:通过提升数据质量来增强在ERNIE模型下性能

    项目链接:[https://aistudio.baidu.com/aistudio/projectdetail/4622139?contributionType=1](https://aistudio.baidu.com/aistudio/projectdetail/4622139?contributionType=1)fork一下,由于内容过多这里就不全部写出来了。# 前言TrustAI是集可信

    日期 2023-06-12 10:48:40     
  • 2022-11-12:以下rust语言代码中,结构体S实现了crate::T1::T2的方法,如何获取方法列表?以下代码应该返回[“m1“,“m2“,“m5“]

    2022-11-12:以下rust语言代码中,结构体S实现了crate::T1::T2的方法,如何获取方法列表?以下代码应该返回[“m1“,“m2“,“m5“]

    2022-11-12:以下rust语言代码中,结构体S实现了crate::T1::T2的方法,如何获取方法列表?以下代码应该返回"m1","m2","m5",顺序不限。m3是S的方法,但并不属于crate::T1::T2的。m4也是S的方法,但这是实现T3的,也不属于crate::T1::T2的。pub struct S; impl c

    日期 2023-06-12 10:48:40     
  • rust学习笔记:for循环的一些问题

    rust学习笔记:for循环的一些问题

    for循环迭代一个数组rust的for循环实际上是被编译器扩展成了对方法的调用。对于使用for循环来迭代一个数组,主要有3种方式。简化形式等价于访问级别for item in xfor item in x.into_iter()拥有所有权for item in &xfor item in x.iter()只读for item in &mut xfor item in x.iter_

    日期 2023-06-12 10:48:40