标签 Rust 下的文章

微软:IE11 之后再无 IE

1995 年 8 月 16 日,微软推出了第一代 Internet Explore 浏览器。2013 年 IE11 发布后,微软开发了浏览器 Edge。今年 1 月 15 日微软新版 Edge 浏览器正式发布,它基于 Chromium 内核。在微软官方 IE 和 Edge 生命周期问答文档中称:是的,IE11 是 Internet Explorer 浏览器的最后一个重大版本。

来源:快科技

拍一拍:那个糟糕的、曾经统治了浏览器市场的 IE 终于要退场了,但是我觉得也要感谢 IE 为互联网的发展做出的贡献。从另一个方面来看,新的浏览器巨头在制霸,谁是下一个打倒恶龙的勇士呢?

Zorin OS:新线索表明有更多 Windows 用户拥抱 Linux

自 9 个月前的 Zorin OS 15 大版本更新以来,其已迎来超过 90 万的下载量。其称,“值得一提的是,在每 3 个下载中、就有 2 个来自 Windows 和 macOS,表明最终用户对 Zorin OS 很是认可。”

来源:cnBeta.COM

拍一拍:Zorin,加油!

Rust 语言成立自己的基金会

Rust 语言项目宣布成立自己的基金会,基金会的第一项任务就是接管所有权。与 Rust、Cargo、crates.io 相关的商标和域名将转移到基金会名下,而基金会也将承担相应的财务责任。Rust 最初是 Mozilla 的一个研究项目,2015 年发布了 1.0 版本,此后它确立了项目方向,独立于 Mozilla 组织进行治理。

来源:solidot

拍一拍:在 Mozilla 裁员的背景之下,被业界热捧的 Rust 积极展开自救。Mozilla 大家庭的其它兄弟姐妹纷纷侧目。

苹果威胁将 Epic 及虚幻引擎驱除出 Mac 和 iOS

Epic 和苹果之间的法律战持续升温。Epic 在法庭文件中称,苹果表示将在 8 月 28 日终止 Epic 的开发者账号。苹果此举不仅威胁到《堡垒之夜》,还威胁到每一个使用虚幻引擎的游戏。Epic 称,到 8 月 28 日苹果将阻止 Epic 访问在苹果平台开发软件所需的必要工具——其中包括了提供给第三方开发者的虚幻引擎所需的开发工具,苹果从未声称虚幻引擎侵犯了它的任何政策。

来源:solidot

拍一拍:如果真的虚幻引擎被禁,很多非常受欢迎的游戏也将遭受池鱼之灾。

Rust 团队回应 Mozilla 裁员:Rust 项目没有危险

Rust 是 Mozilla 推出的编程语言,因为怕被裁员事件影响舆论,Rust Core 团队近日公开表示“Rust 项目没有危险”,并且在接下来的几周内,团队将在博客上对此事进行说明。

来源:开源中国

拍一拍:所以说,即便是由大公司主导的开源项目,也要尽量社区化。

FBI、NSA 发联合安全警告:俄罗斯黑客使用新型 Linux 恶意软件进行攻击

美国的 FBI 和 NSA 近日发出联合安全警报称,俄罗斯军事情报部门已经开发出了一款针对 Linux 系统的恶意软件,名为“Drovorub”。据介绍,Drovorub 是一个多组件系统,其中包括一个 implant、一个内核模块 rootkit、一个文件传输工具、一个 port-forwarding 模块以及一个命令和控制(C2)服务器。FBI 和 NSA 建议所有的 Linux系统都升级到 Linux Kernel 3.7 或更高版本,并采取预防措施以确保仅加载具有有效数字签名的模块。

来源:开源中国

拍一拍:国家黑客的力量。

Vim 编辑器是很好的 Rust 应用开发环境。

Rust 语言旨在以 C++ 开发人员熟悉的方式实现具有安全并发性和高内存性能的系统编程。它也是 Stack Overflow 的 2019 年开发人员调查中最受欢迎的编程语言之一。

文本编辑器和集成开发环境(IDE)工具使编写 Rust 代码更加轻松快捷。有很多编辑器可供选择,但是我相信 Vim 编辑器非常适合作为 Rust IDE。在本文中,我将说明如何为 Rust 应用开发设置 Vim。

安装 Vim

Vim 是 Linux 和 Unix 中最常用的命令行文本编辑器之一。最新版本(在编写本文时)是 8.2,它在使用方式上提供了前所未有的灵活性。

Vim 的下载页面提供了多种二进制或软件包形式安装。例如,如果使用 macOS,那么可以安装 MacVim 项目,然后通过安装 Vim 插件 扩展 Vim 的功能。

要设置 Rust 进行开发,请下载 Rustup,这是一个方便的 Rust 安装器工具,并在你的终端上运行以下命令(如果你使用 macOS、Linux 或任何其他类 Unix 系统):

$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

在提示中选择安装选项。然后,你将看到如下输出:

stable installed - rustc 1.43.1 (8d69840ab 2020-05-04)

Rust is installed now. Great!

To get started you need Cargo's bin directory ($HOME/.cargo/bin) in your PATH
environment variable. Next time you log in this will be done
automatically.

To configure your current shell run source $HOME/.cargo/env

语法高亮

Vim 能让你通过 .vimrc 文件配置你的运行时环境。要启用语法高亮,请打开 .vimrc 文件(如果不存在就创建一个):

$ vim ~/.vimrc

在 .vimrc 中添加以下内容并保存:

filetype plugin indent on
syntax on

第一行同时打开检测、插件和缩进配置。第二行启用语法高亮。这些功能将帮助你在 Rust 中管理开发流程。在 Vim 的帮助文件中了解更多信息。

在 Vim 中创建一个 Rust 应用

要使用 Vim 创建一个新的 Rust HelloWorld 应用(hello.rs),请输入:

$ vim hello.rs

输入以下 Rust 代码在控制台中打印 Hello World!:

fn main() {
    println!("Hello World");
}

它看起来应该像这样:

 title=

没有语法高亮的样子如下:

 title=

你是否注意到 Vim 自动缩进和组织代码?那是因为你在 .vimrc 文件中输入了第一行。

很好!接下来,你将使用 Rust 的包管理器 Cargo 构建此应用。

Cargo 集成

Cargo 使创建应用更加容易。要查看操作方法,请创建一个基于 Cargo 的 HelloWorld 应用。如果你尚未在 Linux 或 macOS 系统上安装 Cargo,请输入:

$ curl https://sh.rustup.rs -sSf | sh

然后使用 Cargo 创建包:

$ cargo new my_hello_world

如果查看目录结构,你会看到 Cargo 自动生成一些源码和目录。如果你安装了 tree,请运行它查看目录结构:

$ tree my_hello_world
my_hello_world
├── Cargo.toml
└── src
    └── main.rs

1 directory, 2 files

在 Vim 中打开 main.rs 源码文件:

$ vim my_hello_world/src/main.rs

它与你在上面手动创建的 HelloWorld 示例中的代码相同。用 Rust with Vim 代替 World:

 fn main() {
      println!("Hello, Rust with Vim");
 }

使用 :wq 保存更改并退出 Vim。

编译你的应用

现在你可以使用 cargo build 编译你的第一个 Rust 应用:

$ cd my_hello_world
$ cargo build

你的终端输出将类似于以下内容:

   Compiling my_hello_world v0.1.0 (/Users/danieloh/cloud-native-app-dev/rust/my_hello_world)

    Finished dev [unoptimized + debuginfo] target(s) in 0.60s

你可能会看到一条警告消息,因为你重用了示例包名 my_hello_world,但现在可以忽略它。

运行应用:

$ target/debug/my_hello_world
Hello, Rust with Vim!

你也可以使用 cargo run 一次构建和运行应用:

$ cargo run
 
    Finished dev [unoptimized + debuginfo] target(s) in 0.00s
     Running `target/debug/my_hello_world`
Hello, Rust with Vim!!

恭喜!你在本地的 Vim 编辑器中设置了 Rust IDE,开发了第一个 Rust 应用,并使用 Cargo 包管理器工具构建、测试和运行了它。如果你想学习其他 Cargo 命令,请运行 cargo help。


via: https://opensource.com/article/20/7/vim-rust-ide

作者:Daniel Oh 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

尽管许多程序员长期以来一直将 Rust 用于业余爱好项目,但正如许多有关 Rust 的热门文章所解释的那样,该语言在 2019 年吸引了主要技术公司的支持。

一段时间以来, Rust 在诸如 Hacker News 之类的网站上引起了程序员大量的关注。尽管许多人一直喜欢在业余爱好项目中使用该语言,但直到 2019 年它才开始在业界流行,直到那会儿情况才真正开始有所转变。

在过去的一年中,包括微软、 Facebook 和 Intel 在内的许多大公司都出来支持 Rust,许多较小的公司也注意到了这一点。2016 年,作为欧洲最大的 Rust 大会 RustFest 的第一任主持人,除了 Mozilla,我没见到任何一个人在工作中使用 Rust。三年后,似乎我在 RustFest 2019 所交流的每个人都在不同的公司的日常工作中使用 Rust,无论是作为游戏开发人员、银行的后端工程师、开发者工具的创造者或是其他的一些岗位。

在 2019 年, Opensource.com 也通过报道 Rust 日益增长的受欢迎程度而发挥了作用。万一你错过了它们,这里是过去一年里 Opensource.com 上关于 Rust 的热门文章。

《使用 rust-vmm 构建未来的虚拟化堆栈》

Amazon 的 Firecracker 是支持 AWS Lambda 和 Fargate 的虚拟化技术,它是完全使用 Rust 编写的。这项技术的作者之一 Andreea Florescu 在 《使用 rust-vmm 构建未来的虚拟化堆栈》中对 Firecracker 及其相关技术进行了深入探讨。

Firecracker 最初是 Google CrosVM 的一个分支,但是很快由于两个项目的不同需求而分化。尽管如此,在这个项目与其他用 Rust 所编写的虚拟机管理器(VMM)之间仍有许多得到了很好共享的通用片段。考虑到这一点,rust-vmm 项目起初是以一种让 Amazon 和 Google、Intel 和 Red Hat 以及其余开源社区去相互共享通用 Rust “crates” (即程序包)的方式开始的。其中包括 KVM 接口(Linux 虚拟化 API)、Virtio 设备支持以及内核加载程序。

看到软件行业的一些巨头围绕用 Rust 编写的通用技术栈协同工作,实在是很神奇。鉴于这种和其他使用 Rust 编写的技术堆栈之间的伙伴关系,到了 2020 年,看到更多这样的情况我不会感到惊讶。

《为何选择 Rust 作为你的下一门编程语言》

采用一门新语言,尤其是在有着建立已久技术栈的大公司,并非易事。我很高兴写了《为何选择 Rust 作为你的下一门编程语言》,书中讲述了微软是如何在许多其他有趣的编程语言没有被考虑的情况下考虑采用 Rust 的。

选择编程语言涉及许多不同的标准——从技术上到组织上,甚至是情感上。其中一些标准比其他的更容易衡量。比方说,了解技术变更的成本(例如适应构建系统和构建新工具链)要比理解组织或情感问题(例如高效或快乐的开发人员将如何使用这种新语言)容易得多。此外,易于衡量的标准通常与成本相关,而难以衡量的标准通常以收益为导向。这通常会导致成本在决策过程中变得越来越重要,即使这不一定就是说成本要比收益更重要——只是成本更容易衡量。这使得公司不太可能采用新的语言。

然而,Rust 最大的好处之一是很容易衡量其编写安全且高性能系统软件的能力。鉴于微软 70% 的安全漏洞是由于内存安全问题导致的,而 Rust 正是旨在防止这些问题的,而且这些问题每年都使公司付出了几十亿美元的代价,所以很容易衡量并理解采用这门语言的好处。

是否会在微软全面采用 Rust 尚待观察,但是仅凭着相对于现有技术具有明显且可衡量的好处这一事实,Rust 的未来一片光明。

2020 年的 Rust

尽管要达到 C++ 等语言的流行度还有很长的路要走。Rust 实际上已经开始在业界引起关注。我希望更多公司在 2020 年开始采用 Rust。Rust 社区现在必须着眼于欢迎开发人员和公司加入社区,同时确保将推动该语言发展到现在的一切都保留下来。

Rust 不仅仅是一个编译器和一组库,而是一群想要使系统编程变得容易、安全而且有趣的人。即将到来的这一年,对于 Rust 从业余爱好语言到软件行业所使用的主要语言之一的转型至关重要。


via: https://opensource.com/article/20/1/rust-resources

作者:Ryan Levick 选题:lujun9972 译者:JonnieWayy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Windows DNS 服务器存在风险高达 10 分的 17 年之久的严重漏洞

微软警告称,该公司将一个存在了 17 年的 Windows DNS 服务器关键漏洞列为“可蠕虫”。这样的漏洞可能允许攻击者创建特殊的恶意软件,在 Windows 服务器上远程执行代码,并创建恶意的 DNS 查询,甚至最终可能导致企业和关键部门的基础设施被入侵。微软在通用漏洞评分系统(CVSS)上给出了 10 分的最高风险分,强调了问题的严重性。作为对比,WannaCry 攻击所使用的漏洞在 CVSS 上的评分为 8.5 分。

来源:cnBeta.COM

拍一拍:虽然相信用 Windows 做 DNS 服务的不算多,但是鉴于 Windows 服务器数量并不算少,尤其是在企业环境中,因此,这个高分漏洞需要密切注意。

OpenCV 5 的开源协议将从 BSD 变更为 Apache 2

计算机视觉库 OpenCV 即将迎来 20 周年,其重要版本 OpenCV 5 也发布在即。OpenCV 官方宣布,随着此版本的推行,OpenCV 的开源许可协议将从三句版 BSD 变更为 Apache 2。BSD 协议已很难满足快速发展的计算机视觉领域,尤其因为该协议不涉及专利,而使用该协议的代码很有可能包含一些专利算法的实现。为了避免这个问题,OpenCV 选择不接收有专利的算法。这样做虽然保障了安全性,但也让一些优秀算法无法进入 OpenCV。

来源:开源中国

拍一拍:并没有一种可以适用于一切情况的开源许可证,适当选择符合发展需求的开源许可证有利于开源项目的发展。

Rust 语言承诺将支持 Linux 作为该语言开发的优先项目

作为一种现代系统级语言,Rust 比 C 或 C++ 更安全也更容易使用,Linux 内核主要是用 C 开发的,而 Rust 被很多人认为是 C 和 C++ 的最佳替代。Rust 语言团队承诺如果在内核中构建 Rust 接口需要某些新的特性,那么他们将努力引入这些需要的功能。对于如何逐渐引入 Rust,Rust 提议了一个配置选项。但由于 Rust 编译器频繁更新,稳定性可能存在问题,Torvalds 很快表示反对,指出编辑器 bug 是很难调试和发现的,内核对 rust 的支持必须是缓慢且深思熟虑的。

来源:solidot

拍一拍:虽然之前 Linus 表示了欢迎 Rust 语言的态度,但是具体要进入到内核当中,还有很多细节需要考虑。但是,总体看来,这是一件好事。

MIT “AI 种菜”项目失败,还因环保问题被罚 25125 美元

4 月 30 日消息,麻省理工 MIT 永久关停由原麻省理工媒体实验室首席研究科学家 Caleb Harper 牵头的“开放农业计划(OpenAg)”项目。同一天,Caleb Harper 从 MIT 正式离职。OpenAg 项目始于2015年,其核心产品形态类似迷你培育室,是一个四方的便携密闭箱,被称作个人食品计算机(PFC)。PFC 的硬件和软件全部开源,以便更多人做室内农业试验。这个“开源食物计算机”PFC 一大的技术特色,就是利用深度学习来种菜。项目会搜集来自世界各地的食物计算机数据,然后利用机器学习算法,给植物生长提供更适合其习性的环境“食谱”。Harper 还给这个产品规划了一个充满人情味的发展路线:从帮助叙利亚难民种菜开始,逐步延伸到对未来农业发展的探索,最后建造一个全球化的数字农场,让人们都能自由种植自己喜欢的植物。但 IEEE Spectrum 的一份调查结果显示,2017 至 2019 年期间,Harper 关于 PFC 在难民营的部署的言论被证明是在说谎。PFC 的产品功能也没得到实现。

来源:开源中国

硬核老王点评:理想是好的,现实是残酷的。

梅赛德斯奔驰 OLU 源代码在网上曝光

瑞士软件工程师 Till Kottmann 发现了一个属于戴姆勒公司的 Git 门户网站。Kottmann 在戴姆勒的代码托管门户上注册一个帐户然后下载 580 多个 Git 存储库,其中包含了戴姆勒的梅赛德斯奔驰货车上安装的车载逻辑单元(OLU)的源代码。OLU 是介于汽车硬件和软件之间的一个组件,它负责将车辆连接到云端。戴姆勒未能实施账户确认流程,而这使其能使用一个不存在的戴姆勒公司电子邮件在公司的官方 GitLab 服务器上注册一个账户。

来源:cnBeta.COM

硬核老王点评:GitLab 是好用,但是无防护的实例可能造成的信息泄漏可能更危险。

Rust 发布 5 周年

Rust 核心团队发布博客庆祝发行五周年,并反思了自 2015 年以来该语言经历的所有重大变化。自 2015 年发布 1.0 版以来,Rust 曾在 Stack Overflow 开发者调查中连续四年被评为“最受欢迎的”编程语言。微软也在 2019 年 7 月讨论了对 Rust 的探索,希望将其作为 C、C++ 和其他语言的替代方案,以此来改善应用程序的安全状况。

来源:开源中国

硬核老王点评:Rust 就是太难学了。