9 个 Rust 成功案例

每个人都喜欢 Rust:Rust 如何在生产中使用

如果您还没有听说过,Rust 是目前最有前途和最受欢迎的编程语言之一。它最初是在 Mozilla 中创建的,后来被 Dropbox、微软、Facebook 等公司采用。Rust 的主要好处是它可以实现类似 C 的性能,同时仍然保持我们在使用 JavaScript 和 Python 等语言进行开发时所习惯的内存安全性。

在本文中,我将研究九家使用 Rust 的大公司,并深入探讨他们选择的原因。

9 个 Rust 成功案例

Redox OS

Redox 是一个用纯Rust编写的通用操作系统。目标是提供一个功能齐全[……]

继续阅读

Rust 的所有权和借用增强了内存安全性

如果我们不了解真正发生的事情,Rust 的所有权和借用可能会令人困惑。将先前学习的编程风格应用于新范式时尤其如此。我们称之为范式转变。所有权是一个新奇的想法,但起初很难理解,但我们越努力就越容易。

在深入了解 Rust 的所有权和借用之前,让我们首先了解什么是“内存安全”和“内存泄漏”以及编程语言如何处理它们。

什么是内存安全?

内存安全是指软件应用程序的状态,其中内存指针或引用始终指向有效内存。因为内存损坏是可能的,所以如果程序不是内存安全的,那么它的行为就很难保证。简而言之,如果一个程序不是真正的内存安全,那么它的功能几乎没有保证。在处理内存不安全的程序时,恶意方能够利用[……]

继续阅读

Rust use关键字引用模块

本课介绍了当您有不同级别的嵌套时,“use”关键字如何在模块方面有所帮助。

我们将介绍以下内容

  • 使用关键字
    • 例子
  • 全局运算符 ( * )
    • 例子
  • 测验

use关键字#

Rust 可以帮助您使用use关键字进行精确的模块调用。

为什么要使用use关键字?

最大的好处是,当需要在代码中一次又一次地引用同一模块中的项目时,现在,我们不必一遍又一遍地键入整个路径。

示例#

回忆 上一课的例子。以下示例显示了我们如何使用use 关键字编写精确的代码:

全局运算符 ( *) #

EnumName::varia[……]

继续阅读

Rust简介|安装|Hello World|Hello Cargo|语法基础

目录:
1、Rust简介
2、第一个rust程序
3、通用的编程概念
4、所有权

Rust简介

为什么要用Rust ?

  • Rust是一种令人兴奋的新编程语言,它可以让每个人编写可靠且高效的软件。
  • 它可以用来替换C/C++,Rust和它们具有同样的性能,但是很多常见的bug在编译时就可以被消灭。
  • Rust是一种通用的编程语言,但是它更善于以下场景:
    • 需要运行时的速度
    • 需要内存安全
    • 更好的利用多处理器

与其它语言比较

  • C/C++性能非常好,但类型系统和内存都不太安全。
  • .Java/C#,拥有GC,能保证内存安全,也有很多优秀特性,但是性能不行。
  • Rust:
    • 安全
    • 无需GC
    • 易于维护、调试,代码安全[……]

      继续阅读

使用 Go 和 Fiber 实现 Web 服务

Web 开发的原则对于所有 Web 框架都是相似的。让我们借助 Go 编程语言和 Fiber 框架学习 Web 开发的基础知识,编写最简单的 Web 服务。

框架存在的原因是什么?

每个流行的 Web 服务都基于客户端和服务器之间的交换。不断重复的请求处理和响应返回包括许多与大多数站点相似的元素。

我们不想为每个新网站开发类似的工具。我们希望为类似的逻辑创建可重用的工具,而不是每次都发明新的东西。框架就是为这些目的而设计的。它们包括标准 Web 开发问题的机制。多亏了框架,我们无法更快地解决业务任务,几乎可以跳过低级技术问题。

请求和响应

大多数现代 Web 框架[……]

继续阅读

如何在C++上实现 SMTP 客户端

介绍

简单邮件传输协议Simple Mail Transfer Protocol (SMTP) 是一种广泛使用的协议,用于在 TCP/IP 系统和用户之间传递电子邮件。

SMTP是电子邮件传输的重要组成部分,对于通信,我们始终需要协作和协商发送电子邮件的服务器和客户端。

什么是 SMTP 服务器?

SMTP服务器是一个应用程序,用于发送电子邮件并对来自接收服务器的响应代码做出反应,并且服务器将具有用于协商的IP地址或主机名。

SMTP 服务器必须与客户端通行此协议。现代 SMTP 服务器还必须考虑身份验证方法。对电子邮件进行身份验证是向接收服务器发出信号[……]

继续阅读

从头开始创建 QML 控件:滑块Slider

继续我们从头开始的 QML 控件系列,这次我们将实现一个 Slider。Slider 具有value、minimum和maximum公共属性。Slider 是用一个覆盖整个控件的MouseArea实现的,并利用拖动来处理用户左右滑动“药丸”(用户移动的部分)。

背景“托盘”(一条水平线,可以点击)被分成左右两部分,以便在启用时不会通过药丸显示设置为假(因为药丸在禁用状态下是部分透明的) . Slider 唯一棘手的部分是计算像素值和像素值的方程。

Slider.qml

 Test.qml[……]

继续阅读

分类: C++标签:

现代CSS 100天:第 5 天:max()函数

是时候让我跟上现代 CSS 的速度了。
CSS 中有很多新东西我知道的太少了。
为了改变这一点,我开始了#现代CSS100天。
为什么或多或少现代 CSS?
因为有些主题将是关于尖端功能的,而其他主题已经存在了很长一段时间,但我对此几乎没有经验。

该max()函数采用逗号分隔的表达式列表。将选择列表中的最大值。

这个例子没有多大意义,因为值总是400px.
max()当你使用相对单位时,它会显示出它的真正力量。

如果50vw小于 300px,则width匹配300px. 如果50vw大于 300px,则匹配50vw. 这基本上是一个较短的版本。[……]

继续阅读

现代CSS 100天:第 4 天:min() 函数

是时候让我跟上现代 CSS 的速度了。
CSS 中有很多新东西我知道的太少了。
为了改变这一点,我开始了#现代CSS100天。
为什么或多或少现代 CSS?
因为有些主题将是关于尖端功能的,而其他主题已经存在了很长一段时间,但我对此几乎没有经验。

该min()函数采用逗号分隔的表达式列表。将选择列表中的最小值。

这个例子没有多大意义,因为值总是200px.
min()当你使用相对单位时,它会显示出它的真正力量。

如果可用空间小于 800px,则匹配100%.如果大于 800px,则匹配800px. 这基本上是一个较短的版本。

参见 CodePen。[……]

继续阅读

React 超级教程,第 3 章:使用组件

总目录

在第 2 章中,你编写了第一个 React 组件。在本章中,您将更深入地研究 React,学习如何通过组合和重用组件(不仅是您自己的组件,还包括从第三方库导入的组件)来创建健壮的应用程序。

用户界面组件

为浏览器创建出色的用户界面并非易事。使用 CSS 为 HTML 元素设置样式需要大量的时间和耐心,而大多数人没有。

如您所料,存在大量提供漂亮用户界面原语的库和框架。在我写这篇文章的时候,React 有三个领先的用户界面库:

  • MUI (Material UI)
  • React-Bootstrap
  • Ant Design

我对它们进行了评估并决定在本书[……]

继续阅读