大家好,我是「柒八九」。一个「专注于前端开发技术/Rust及AI应用知识分享」的Coder
2021 年 3 月 25 日,Rust 版本团队官宣发布新版本:1.51.0。
Linux 内核模块在概念和原理层面与动态链接模块(DLL或so)类似。但对于 Linux 来说,内核模块可以在系统运行期间动态扩展系统功能,而无须重新启动系统,更无须重新编译新的系统内核镜像。所以,内核模块这个特性为内核开发者提供了极大的便利,因为对于号称世界上最大软件项目的Linux来说,重启或重新编译的时间耗费肯定是巨大的。
你是否存在这样的烦恼:制作了 NES 游戏,但是您的朋友中没有一个拥有 Nintendo Switch。
开发后端有很多的编程语言,目前比较流行的就是python ,c,cpp,java,js,php,rust,golang ..
rust-ftp的文档页面给出了使用的用例,从代码来看非常简单,下面我们通过实际使用来体验rust-ftp库。
WASM(Web Assembly)尽管是为了提高网页中性能敏感模块表现而提出的字节码标准, 但是WASM却不仅能用在浏览器(broswer)中, 也可以用在其他环境中. 在这些环境中, 我们则需要支持WASI(WebAssembly System Interface, WASM系统接口)的runtime来执行我们编译运行的wasm模块. 本文将介绍Mozilla下的一个组织CraneStation所开发的WASM运行时wasmtime, 该运行时对WASI支持比较高.
安装完成 Rust 之后,我们可以编写 Rust 的 Hello Word。这里介绍两种方式,一种是rust原生方式,一种是利用 cargo 工具(重要)
在上一篇Rust 开发命令行工具(上)中我们从项目配置/参数获取/解析文件内容/处理错误信息/信息输出处理等方面。一步一步写出来可以构建出在本地,兼容错误提示,并且有很好的输出形式的本地搜索工具。
How using hyper in curl can help make the internet safer
备受期待的 Deno 项目 终于发布了 1.0 版本!Deno 是由 Node.js 的创始人 Ryan Dahl 创建的,旨在解决他所说的“我为 Node.js 感到遗憾的十件事”。
在Rust源代码中,rust/library/std/src/sys_common/wtf8.rs这个文件的作用是实现了UTF-8编码和宽字符编码之间的转换,以及提供了一些处理和操作UTF-8编码的工具函数。
本节主要介绍 Rust 导出共享库时,如何通过指针在 Rust 和 C 之间传递结构体。上一节的示例是结构体的内存在 C 端分配,本节介绍内存在 Rust 这边分配,由 C 填充和使用。
作者 | Matt Butcher, Radu Matei 译者 | 马可薇 策划 | 丁晓昀 简称为 Wasm 的 WebAssembly 是一种二进制格式,包括 Rust、C、JavaScript、Python、Ruby、.NET 在内等诸多语言都可通过 Wasm 执行。此外,Wasm 也可运行在各种硬件和操作系统之上,其规范的设计快速且紧凑,以及重中之重的安全。 在 2022 年,最初仅为浏览器设计的 Wasm 已经在其他领域大放异彩,实践证明,Wasm 在嵌入式编程、插件、云、边缘计算等领
题图来自 Decoding Rust: Everything You Need to Know About the Programming Language[1]
作者 | Kornel 译者 | Sambodhi 策划 | 赵钰莹 本文最初发表于原作者个人博客,经原作者 Kornel 授权,InfoQ 中文站翻译并分享。 使用 Rust 语言编写的程序,其运行时速度和内存使用情况应该和用 C 语言编写的程序相差不大,但是,由于这些语言的整体编程风格不同,所以它们的速度很难一概而论。本文总结了 Rust 和 C 有何相同之处,以及什么情况 C 更快,什么情况 Rust 更快。 声明:本文并非一个客观的基准,只是揭示了这些语言无可争辩的事实。这两种语言理论上能够实现什么
目前主流编译平台有,GNU、MSVC、LLVM。因为rustc调用了llvm,因此我们以LLVM为例,我们从C语言的编译过程聊,再对比Rust,看它们的编译过程有何差异。
Krustlet: Running WebAssembly Workloads in Kubernetes (written in Rust)
题图来自 An In-Depth Comparison of Rust and C++[1]
不知不觉,Rust1.0发布已经四周年了。 Rust 1.0是2015年5月15号发布。所以,四年了,大家学会Rust了吗?
看到这样的输出,就表示已经成功运行了 Rust 项目,尽管还没写任何代码。接下来看看发生了什么。
Serverless的概念火了,业界已经不再讨论要不要用Serverless的问题了,而是高喊Serverless First的口号力求快速拥抱Serverless,无服务器并不是Serverless的本质,不需要关心服务器的情况就能高效工作,才是Serverless胜出的核心要义。互联网时代流量的大起大落,很多科技巨头在面对流量的冲击时也都败下阵来,针对前几个月B站的崩溃事件,笔者还曾写过《B站的前端崩了,后端的你别慌》来分析来龙去脉,而Serverless凭借快速伸缩的自动弹性特点,可以从容应对类似的冲击,这也让这种新技术出尽的风头。
大家好,我是「柒八九」。一个「专注于前端开发技术/Rust及AI应用知识分享」的Coder。
由于网络问题,执行失败的话,多执行几次总会成功。 安装选项选Proceed with installation (default)即可。
该文件(rust/compiler/rustc_target/src/spec/mips_unknown_linux_gnu.rs)是Rust编译器针对MIPS架构上的Linux系统的目标描述文件。它的作用是定义了在这个目标上编译时的一些配置和规则。
最近Nodejs作者Ryan Dahl发布了Deno 1.0正式版,圈子一下沸腾起来了。或许你早在两年前就听说了这个东西,但是也有人不知道这个东西是什么,干什么用的,所以今天我将为大家来简单的聊一下这个将来可能会推翻Node的新轮子。
两个典例 Hello, World 新建项目工程 使用 Shell 命令创建普通工程 mkdir hello_world cd h* code . 编写 Rust 程序 程序文件后缀名:rs 文件命名规范:hello_world.rs (例子) fn main() { println!("Hello,World!"); } 编译与运行 编译:rustc main.rs 运行: Windows:.\main.exe Linux/Mac:./main 运行结果如下: user@MacBook-Pro he
在Rust源代码的rust/compiler/rustc_target/src/asm/spirv.rs文件中,实现了对SPIR-V(Standard Portable Intermediate Representation for Vulkan)汇编语言的支持。
rust/compiler/rustc_target/src/spec/armv7_unknown_linux_musleabihf.rs 文件是 Rust 编译器源代码中的一个特定平台规范文件,用于指定目标平台为 armv7-unknown-linux-musleabihf 的情况下的编译规格和特性。
作者 | Strager 译者 | 马可薇 策划 | 褚杏娟 C++ 漫长的构建时间可谓臭名昭著,编程圈的“我的代码在编译”只是个段子,但 C++ 让这个段子长盛不衰。 谷歌 Chromium 规模的项目在新硬件上的构建时间长达一小时,而在老硬件上的构建时间更是达到了六个小时。虽然也有海量的调整方案能加速构建速度,还有不少削减构建内容但极易出错的捷径供人选择,再加上数千美元的云计算能力,Chromium 的构建时间仍是接近十分钟。这点我完全无法接受,人们每天都是怎么干活的啊? 有人说 Rus
RDMA是常用于高性能计算(HPC)领域的高速网络,在存储网络等专用场景也有广泛的用途。RDMA最大的特点是通过软硬件配合,在网络传输数据的时候,完全不需要CPU/内核参与,从而实现高性能的传输网络。最早RDMA要求使用InfiniBand (IB)网络,采用专门的IB网卡和IB交换机。现在RDMA也可以采用以太网交换机,但是还需要专用的IB网卡。虽然也有基于以太网卡用软件实现RDMA的方案,但是这种方案没有性能优势。
在Rust源代码中,rust/src/bootstrap/build.rs这个文件是一个构建脚本。构建脚本是一个在编译Rust编译器本身时运行的程序,它用于初始化和配置Rust编译器的构建过程。build.rs文件在Rust源代码的根目录下,这个特殊的文件名的用途是告诉构建系统它的存在。
在又经过六周的迭代开发,Rust 1.49.0 现在已经发布了!大家可以通过以下命令更新:
2018 年时,一篇 如何看待 ry 的项目 deno 的 issue 被中文刷屏的事件? 的文章成功引起了我对 Deno 的注意,cnode 有一篇文章严厉斥责这是中国开发者的耻辱,对此我不敢完全认同,毕竟 996 的大环境下,是很难孵化出国外这种创新精神的。但我并不否认学不学的动,全看个人。本人近期最敬佩的 蜗牛老湿_大圣坚持每日 5 点多起床,做到如此勤奋与持久,何愁学不动?
来源:https://mnt.io/2018/09/11/from-rust-to-beyond-the-c-galaxy/
作为一名程序员,应当具有挑战精神,才能写出“完美”的代码。挑战历史悠久的C语言版wc命令一向是件很有趣的事。今天,我们就来看一下如何用70行的Go代码打败C语言版wc命令。
Chris Penner最近发表的这篇文章——用80行Haskell代码击败C(https://chrispenner.ca/posts/wc),在互联网上引起了相当大的争议,从那以后,尝试用各种不同的编程语言来挑战历史悠久的C语言版wc命令(译者注:用于统计一个文件中的行数、字数、字节数或字符数的程序命令)就变成了一种大家趋之若鹜的游戏,可以用来挑战的编程语言列表如下:
在前端技术,如雨后春笋般破土而出的今天。其技术偏向性,不仅仅是搞一个新的技术框架,更多的是往高性能和底层技术发展。比方说,利用Rust特性所编写的SWC前端构建工具,目前核心功能相当于 Babel;还有就在2022年10月26日,Vercel 公司正式宣布推出新的打包工具 Turbopack,他们用基于 Rust 的 SWC 替换基于 JavaScript 的转译器 Babel,速度提升了 17 倍。他们还替换了 Terser,压缩的速度提高了 6 倍,从而减少了加载时间和带宽的使用;还有在一些原本只能在客户端运行的程序,现在也被移植到浏览器中运行,例如AutoCAD/Photoshop等,而这些都依赖近期比较热门的WebAssembly技术。
来源:https://mnt.io/2018/08/22/from-rust-to-beyond-the-webassembly-galaxy/
在Rust源代码中,rust/compiler/rustc_span/src/lib.rs文件定义了与Rust编译器源代码位置相关的数据结构和功能。
在上一篇致所有渴望学习Rust的人的信中我们介绍了Rust可以在命令行工具上也大有建树。
本文是《Rust in action》学习总结系列的第二部分,更多内容请看已发布文章:
Netlify 是一个开发和托管 Jamstack 应用的平台。实际上,Jamstack 是Netlify 的创始人 Mathias Biilmann 于 2015年造出来的一个词。Netlify 也是 JamstackConf 的主要组织者。
这个机器人其实蛮久前就做好了,现在才写了点分享出来。 最近企业微信不断地开放了机器人的接口,所以我想想拿来做一些开发工具集成也是挺不错的,顺便也是为了继续熟悉一下 Rust 的编程习惯。 那么这次就大量使用 futures 来实现这个机器人的接口服务,这也是即将到来的无栈协程语法糖 await 的基石。
Rust 作为一种开发语言已经确立让开发人员能够编写快速和安全的代码的声誉现在。像 Mozilla、Microsoft、Dropbox 和 Amazon(仅举几例)这样的大型组织都依赖 Rust 为他们的客户提供一流的性能,同时避免许多影响用 C 或 C++ 编写的程序的安全问题。性能是 Rust 成为大多数人选择语言的一个主要原因。然而,仅仅用 Rust 编写代码并不能保证高性能。Rust 是好的,但它不是魔法。它是一种工具,与任何工具一样,我们必须有效地使用它才能获得最佳结果。在这篇文章中,我们将研究 Rust 代码性能不佳的常见原因,即使是资深开发人员也可能会遇到这种情况。也就是说,默认情况下,不缓冲文件的读取和写入。
这几天假期,我学习了一下 Deno。它是 Node.js 的替代品。有了它,将来可能就不需要 Node.js 了。
PickleDB 是一个用 Rust 编写的轻量级且简单的键值存储,很大程度上受到 Python PickleDB 的启发。PickleDB 有趣且易于使用
在Rust源代码中,rust/library/std/src/sys/itron/time.rs文件是用于实现与ITRON操作系统相关的时间功能。ITRON是一种实时操作系统,被广泛用于嵌入式系统中。这个文件中定义了一些与时间相关的结构体和函数。
领取专属 10元无门槛券
手把手带您无忧上云