Rust

聊一聊 Rust 的 stack overflow

早上看到了这篇文章 [智能指针有可能会让你的应用崩溃](https://mp.weixin.qq.com/s/HB3RHJBhrhKCp4mToPC2nw), 下面分析一下 会导致 stack overflow 的代码 ```rs struct Node { val: T, next: Option ......
overflow stack Rust

Rust语言 - 接口设计的建议之受约束(Constrained)

# Rust语言 - 接口设计的建议之受约束(Constrained) - [Rust API 指南 GitHub](https://github.com/rust-lang/api-guidelines):https://github.com/rust-lang/api-guidelines - ......
Constrained 接口 语言 建议 Rust

pgcat 基于rust 开发类似pgbouncer 的数据库链接池以及proxy 工具

pgcat 是postgresml 团队开源的,pg链接池以及proxy 工具,包含了不少特性 特性 事物pool,类似pgbouncer ,对于异常客户端以及遗弃事物处理做了提升 session pool 类似pgbouncer 多线程运行时 读查询负载均衡,对于primary 以及replica ......
pgbouncer 链接 数据库 工具 数据

rust进阶手册(1)

[TOC] ## 安装 不管OS是否带有rust,都应使用rustup来安装rust - linux/freebsd ```bash curl https://sh.rustup.rs -sSf | sh ``` - windows [https://www.rust-lang.org/tools/ ......
手册 rust

Rust语言 - 接口设计的建议之显而易见(Obvious)

# Rust语言 - 接口设计的建议之显而易见(Obvious) - [Rust API 指南 GitHub](https://github.com/rust-lang/api-guidelines): - [Rust API 指南 中文](https://rust-chinese-translat ......
显而易见 接口 Obvious 语言 建议

用于提速的一些Rust编译器的编译选项

# 在TIO中怎么用? Compiler flags中添加这么几行: - `-Copt-level=3`: -C opt-level=1, -C opt-level=2, -C opt-level=3: 这些标志用于控制代码优化级别。-C opt-level=1 表示较低的优化级别,而 -C opt ......
编译器 Rust

rust 使用第三方库构建mini命令行工具

这是上一篇 [rust 学习 - 构建 mini 命令行工具](https://juejin.cn/post/7242252283903459387)的续作,扩展增加一些 crate 库。这些基础库在以后的编程工作中会常用到,他们作为基架存在于项目中,解决项目中的某个问题。 项目示例还是以上一篇的工 ......
第三方 命令 工具 rust mini

用声明式宏解析 Rust 语法之 enum parser

上一篇[用声明式宏解析 Rust 语法](https://mp.weixin.qq.com/s/ruA8jOUdl0Fzo73FPHSLMw) 我们的 "`macro parser`" 解析了 `function` 和 `struct`, 这篇来尝试 parse 一下更复杂的 [`enum`](ht ......
语法 parser Rust enum

用声明式宏解析 Rust 语法

在上一篇 [Rust 声明式宏中的 Metavariables 有哪些](https://mp.weixin.qq.com/s/xIwW5h-T7PoKMyEVReIUUw) 的基础上, 今天尝试解析一下 Rust 中的几种 item。我们知道一个 crate 是由 item 组成的,每一个 `fn ......
语法 Rust

rust下载依赖报错 "send: no filter connected"

## 问题 最近可能有人在使用`cargo`下载依赖时报错如下 ```bash Failed initialization ([CONN-1-0] send: no filter connected) ``` ## 解决 解决办法和讨论详情见[GitHub issues](https://githu ......
quot connected filter rust send

Rust学习笔记——基于官网和Rust语言圣经

# 安装rust ## 安装 **1、官网** **2、运行后** ![](https://img2023.cnblogs.com/blog/2240937/202306/2240937-20230615162158693-1714998745.png) 选择1会下载Visual Stdio;选择2 ......
Rust 圣经 语言 笔记

Windows上安装Rust

# 1. 下载RUSTUP-INIT.EXE 下载地址:https://www.rust-lang.org/tools/install ![image](https://img2023.cnblogs.com/blog/2065202/202306/2065202-20230615130904110 ......
Windows Rust

Rust 声明式宏中的 Metavariables 有哪些

[Metavariables](https://doc.rust-lang.org/reference/macros-by-example.html#metavariables) 官方文档确实写得很好,但是缺少一些风味,容易催眠😵‍💫 还是直接看例子更爽一些,通常我们可以从示例代码中之间看出官方 ......
Metavariables Rust

rust rocket error: process didn't exit successfully: `target\debug\web.exe` (exit code: 0xc0000135, STATUS_DLL_NOT_FOUND)

vscode启动rocket项目报错: error: process didn't exit successfully: `target\debug\web.exe` (exit code: 0xc0000135, STATUS_DLL_NOT_FOUND) 用git bash 启动没问题,用wid ......

rust Dockerfile

Dockerfile: ARG BUILD_DIR=/rust/build FROM rust as build ARG BUILD_DIR WORKDIR ${BUILD_DIR} COPY src ./src COPY Rocket.toml . COPY Cargo.lock . COPY C ......
Dockerfile rust

Rust 什么是所有权

> 创建于 2023-5-2 15:34 > > 本笔记主要来自于 [Rust 程序设计语言 中文版](https://rustwiki.org/zh-CN/book/title-page.html#rust-程序设计语言) [4.1],旨在记录个人学习过程中的重点和心得体会。在记录过程中,笔者会对 ......
所有权 Rust

Hello Rust

> 创建于2023-03-28 09:26 > > 本笔记主要来自于 [Rust 程序设计语言 中文版](https://rustwiki.org/zh-CN/book/title-page.html#rust-程序设计语言) [1.2],旨在记录个人学习过程中的重点和心得体会。在记录过程中,笔者会 ......
Hello Rust

Windows下Rust toolchain的切换

在用运行命令`cargo install cargo-eval`的过程中,总是提示链接器错误。 因为原先使用的rust toolchain是GNU的,怀疑是GNU的链接器有问题,毕竟Windows下实际上还是MSVC最稳,所以尝试切换成MSVC,果然问题就解决了,`cargo-eval`成功安装。 ......
toolchain Windows Rust

Rust - 接口设计建议之灵活(flexible)

# Rust - 接口设计建议之灵活(flexible) ## 灵活(flexible) ### 代码的契约(Contract) - 你写的代码包含契约 - 契约: - 要求:代码使用的限制 - 承诺:代码使用的保证 - 设计接口时(经验法则): - 避免施加不必要的限制,只做能够兑现的承诺 - 增 ......
flexible 接口 建议 Rust

rust rocket读取自定义配置

Rocket.toml [default.app] meili_url = "http://host:port/" meili_master_key = "key" main.rs #[derive(Serialize, Deserialize, Clone)]#[serde(crate = "ro ......
rocket rust

从Rust想到C#

近几年,RUST语言越来越受大家的喜爱,排除去一些跟风者,大部分的人喜欢RUST的内存安全性和高效的性能。但编译速度始终是它的短板。 这几天,突然有一个想法,如果C#或者说.NET的编译器也做成RUST编译器那样,对每一行代码进行安全性检查,是否也可以像RUST一样安全呢? ......
Rust

atomic_enum rust 原子枚举类型

https://docs.rs/atomic_enum/latest/atomic_enum/ #[atomic_enum] #[derive(PartialEq)] enum CatState { Dead = 0, BothDeadAndAlive, Alive, } let state = A ......
原子 atomic_enum 类型 atomic enum

rust学习 - 构建mini 命令行工具

rust 的运行速度、安全性、单二进制文件输出和跨平台支持使其成为构建命令行程序的最佳选择。 实现一个命令行搜索工具`grep`,可以在指定文件中搜索指定的字符串。想实现这个功能呢,可以按照以下逻辑流程处理: 1. 获取输入文件路径、需要搜索的字符串 2. 读取文件; 3. 在文件内容中查找字符串所 ......
命令 工具 rust mini

Rust语言 - 接口设计的建议之不意外(unsurprising)

# Rust - 接口设计建议之不意外(unsurprising) 书:Rust for Rustaceans ## Rust接口设计的原则(建议) - 四个原则: - 不意外(unsurprising) - 灵活(flexible) - 显而易见(obvious) - 受约束(constraine ......
不意 unsurprising 接口 语言 建议

[记]Rust结构体转换为二进制数据

这个函数可以直接读取或者转化为二进制数据,适用于系统编程; ~~~rust use std::mem; struct Testdata{ ucc:u8, udd:u8, } fn main() { let ddd = Testdata{ucc:2,udd:9}; unsafe{ let uu16:u ......
二进制 结构 数据 Rust

rust实现weatherforecast的获取天气webapi

rust用来写webapi可能有点大材小用,但是作为入门学习应该说是不错的选择。 cargo new webapi创建一个webapi项目,在src下面新建handler文件夹和models文件夹。 在models文件夹下面建立一个mod.rs和weatherforecast.rs文件。 weath ......
weatherforecast 天气 webapi rust

文盘Rust -- tokio绑定cpu实践

tokio 是 rust 生态中流行的异步运行时框架。在实际生产中我们如果希望 tokio 应用程序与特定的 cpu core 绑定该怎么处理呢?这次我们来聊聊这个话题。 ......
tokio Rust cpu

Rust Web 全栈开发之发布

# Rust Web 全栈开发之发布 ## 发布 ### 第一种方法: WebAssembly不可以 ```bash cargo build --workspace ``` ### 第二种方法:分别对3个项目进行构建 #### 构建 webservice ```bash ws on  main v ......
Rust Web

Rust Web 全栈开发之编写 WebAssembly 应用

# Rust Web 全栈开发之编写 WebAssembly 应用 MDN Web Docs: 官网: ## 项目结构 和 功能 **Web App 教师注册 WebService WebAssembly App 课程管理** ## 什么是 WebAssembly - WebAssembly 是一种 ......
WebAssembly Rust Web

Rust Web 全栈开发之编写服务器端 Web 应用

# Rust Web 全栈开发之编写服务器端 Web 应用 ## 项目结构 和 功能 Web App 教师注册 Web Service ## 主要技术 - 模板引擎: Tera ### 创建项目 ```bash ws on  main via 🦀 1.67.1 via 🅒 base ➜ car ......
Web 服务器 Rust