小东西declarative macro rust

Rust中的for循环详细介绍

Rust中的for循环详细介绍 在Rust编程语言中,for循环是一种常用的控制流结构。它允许你重复执行一段代码,直到满足特定的条件。Rust中的for循环与其他编程语言中的类似结构略有不同,因为它更注重安全性和性能。 在Rust中,for循环通常用于遍历集合或序列,例如数组、向量、字符串等。它采用 ......
Rust for

Rust全局变量

Rust全局变量 Rust全局变量的一种解决方案,由于mut问题,会导致unsafe代码块。 use std::{collections::HashMap, sync::OnceLock}; /// 全局变量,模拟SESSION管理器 pub static mut SESSION: OnceLock ......
全局 变量 Rust

rust语言_学习笔记

rust语言_学习笔记 转载注明来源: 本文链接 来自osnosn的博客,写于 2023-12-10. 安装 rust 【安装_rustup_cargo_rustc_交叉编译测试】 cargo 的 config 设置 更换 ustc 源,使用代理。设置缺省registry。见【rust cargo ......
语言 笔记 rust

uniffi-rs rust 多语言bindings 生成工具

uniffi-rs 是基于webidl 描述定义,然后生成不同语言bindings 的工具,此工具是在学习pyo3的maturin 工具看到的,整理记录下 参考玩法 目前支持的语言 官方支持的包含了Kotlin,Swift,Python,Ruby 当然还有不少社区的实现,比如支持C#以及golang ......
uniffi-rs bindings 工具 uniffi rust

35. 干货系列从零用Rust编写负载均衡及代理,代理服务器的源码升级改造

代理在计算机网络很常见,比如服务器群组内部通常只会开一个口进行对外访问,就可以通过内网代理来进行处理,从而更好的保护内网服务器。代理让我们网络更安全,但是警惕非正规的代理可能会窃取您的数据。请用HTTPS内容访问更安全。 ......
干货 源码 服务器 Rust 35

maturin 方便发布基于rust 的python 包工具

maturin 是PyO3团队开发的,方便我们开发基于rust 的python 包,比如PyO3 的使用文档中就使用了此工具 安装&使用 安装(可选,可以基于venv 安装) 可以基于pip 以及pipx pipx install maturin 创建一个简单项目 python -m venv .v ......
maturin 工具 python rust

cargo-make rust 任务执行以及构建工具

再学习nakago 框架的时候发现其使用了cargo-make 这个工具,但是很方便,类似make 的构建模式 包含的特性 依赖管理,别名支持,支持workspace 简单使用 安装 cargo install --force cargo-make 参考使用 创建一个cargo 项目 cargo n ......
cargo-make 任务 工具 cargo make

nakago 轻量级rust 框架

nakago 轻量级rust 框架,还处于早期阶段 包含的特性 依赖注入 基于Axum 的http adapter 基于seaORM 的sql adapter 基于async_graphql 的graphql adapter 基于CQRS-ES 的CQRS adapter (即将实现) 说明 nak ......
轻量 轻量级 框架 nakago rust

34. 干货系列从零用Rust编写负载均衡及代理,异步测试在Rust中的实现

测试是编程中不可缺少的伙伴,他可以让我们更早的发现问题解决问题,编写测试用例可能看起来会慢一些,但是对后期可能潜在的Bug的排查会节省大量的时间。 ......
干货 Rust 34

为什么 Go 和 Rust 语言都舍弃了继承?

为什么go和rust语言都舍弃了继承? ❎ 舍弃了 Class ✅ 舍弃或弱化子类型 类的继承是一段儿弯路 OO 发明了继承,然后发现真正有意义的是 interface 的组合(更准确的说,是 Product type of interfaces or abstract classes),语义上相当 ......
语言 Rust Go

Win 10 Rust Installtion in D Disk with VSCode

(只记录了必须要内容,日后完善!) \1. rust的安装与环境变量: 要提前把下面两个环境变量配置好,这样是为了指定安装路径。否则会默认安装在 C 盘下。 CARGO_HOME: D:\Soft\Language\Rust\.cargo RUSTUP_HOME: D:\Soft\Language\ ......
Installtion VSCode Rust Disk with

通过match看rust

最常见的逻辑控制流比如if-else,switch,while等常用编程语言都支持,但恰巧rust语法中没有switch,取而代之的是更加强大适用的match匹配,我们就来看看rust的match有何奇特之处。看我们如何用match消除if-else嵌套使代码更清晰。 ......
match rust

经过两次封装的东西 真的有些不敢用啊

想下载一个绿化版的 看图王 这么难嘛~ 官网安装包 也好不到那里去; 欢迎关注公-众-号【TaonyDaily】、留言、评论,一起学习。 Don’t reinvent the wheel, library code is there to help. 文章来源:刘俊涛的博客 若有帮助到您,欢迎点赞、 ......
东西

cbindgen rust 代码生成c binding 的工具

rust 与c 以及c 与rust 的互调用还是比较常见的需求,很多时候自己写可能比较费事,但是使用一些工具就比较方便了 cbindgen 是一个对于rust 代码生成c binding 的工具 参考使用 基于cbindgen 将rust 的代码生成对应的c 头文件,之后基于cmake 构建项目 项 ......
代码生成 cbindgen binding 代码 工具

聊一聊Rust的enum

enum在实际编程中是非常常用的,从enum来看rust,跟其它语言的enum相比,rust的enum更能适应未来编程需求。 ......
Rust enum

关于Rust的简单总结(一)

0. 前言 这是一个关于Rust的简单总结。(待续) 资料 学习网址:学习 Rust - Rust 程序设计语言 (rust-lang.org) 官网:Rust 程序设计语言 (rust-lang.org) Rust介绍 [[Rust]] 程序设计语言的本质实际在于 赋能(empowerment): ......
Rust

Rust实现二叉树、字典树

二叉树 使用Option<Box<T>>实现。Box是智能指针,分配在堆上,专门用于这种“无限”大小的数据类型。LeetCode上采用Option<Rc<RefCell<T>>> 实现,非常臃肿。。 #[derive(PartialEq)] enum TreeDir{ LEFT, RIGHT } # ......
字典 Rust

33. 干货系列从零用Rust编写正反向代理,关于HTTP客户端代理的源码实现

http代理中关于客户端是如何实现http代理的相关源码实现,详细说明了http/https/socks5代理的原理,及源码实现 ......
干货 源码 客户端 客户 Rust

dioxus rust 构建跨平台应用的框架

dioxus rust 构建跨平台应用的框架 包含的特性 原生桌面 强大的状态管理 快速 异步以及协程支持 热更新支持 对于不同端支持不同的模式 比如桌面支持webassembly 的dom 处理,ssr等 说明 目前看dioxus 对于开发桌面应用也是一个不错的选择,值得试试,rust 周边还是很 ......
框架 dioxus rust

rust 实现图像绕中心点旋转任意角度

use env_logger::Env; use image::RgbaImage; use log::{info, LevelFilter}; use nalgebra as na; use std::env; use std::fs::File; use std::path::Path; use ......
中心点 图像 角度 rust

宗地从上到下从左到右西北角顺时针界址点编码、宗地界址点成果表、宗地四至情况说明、宗地四至(东西南北)提取、界址线走向说明

一、宗地界址点编码:从上到下从左到右每宗西北角顺时针编码,可根据界址点分类类型计算序号前面的字母。 二、界址点成果表:每一宗地生成一个界址点成果表.xls,西北角界址点开始顺时针填写界址点,首先填写宗地外环界址点,最后填写宗地内环。 三、宗地四至情况说明:西北角界址点开始顺时描述接着点及相邻宗地权利 ......
界址 西北角 时针 南北 编码

yew 基于rust 以及wasm 创建web 应用的框架

yew 基于rust 以及wasm 创建web 应用的框架,我们可以基于一些定好好的rust 宏,实现基于webassembly 的web 应用开发 包含的特性 基于组件 使用了类似rect 以及elm 的开发模式 html 宏 类似react jsx 的定义 ssr 支持服务端渲染,默认属于客户端 ......
框架 rust wasm yew web

Rust 命令行俄罗斯方块

Rust 命令行俄罗斯方块 先放一个 gif 在这里。 使用 crate: std rand terminal 。 代码地址 // todo ......
方块 命令 Rust

解决MySQL的C++驱动报错:‘my_bool’ was not declared in this scope; did you mean ‘bool’?

解决MySQL的C++驱动报错:‘my_bool’ was not declared in this scope; did you mean ‘bool’? 问题描述 此问题仅影响 MySQL; MariaDB将继续支持。 尝试使用 MySQL 8.0.1 进行编译时发生以下构建错误,无法识别 m_ ......
bool declared my_bool MySQL scope

Qt小知识1.Q_DECLARE_METATYPE和qRegisterMetaType

1 了解Q_DECLARE_METATYPE Q_DECLARE_METATYPE 是一个Qt宏,用以通知Qt的反射系统关于自定义类型的存在。当使用此宏声明一个类型后,该类型可以在QVariant中使用。QVariant是Qt中用于存储可以包含任意类型的一个“通用”值容器。 Qt 元对象系统不知道非 ......

Rusty Tuesday :Rust 基金会一行来访 Databend Labs,共话技术创新!

在当今快速发展的技术浪潮中,Rust 作为一种新兴的编程语言,凭借其卓越的内存安全特性和高效的性能,吸引了全球开发者的广泛关注。2023 年 12 月 05 日,由 Databend Labs 主办的首届 Rusty Tuesday 活动正式在北京揭开序幕。 在本次活动中,我们非常荣幸地邀请到了多位 ......

rust cargo config一个方便的功能

cargo 除了默认的cargo.toml 文件之外,我们还可以进行一些额外的配置,可以用来干一些比较有意思的事情 比如.cargo/config.toml 文件就比较方便,当我们在基于rust 开发webassembly的时候是需要执行target的 为了兼容选择的是wasm32-unknown- ......
功能 config cargo rust

rust webassembly 优化参考资料

这几天在学习webassembly,尤其是cerbos lite 对于webassembly 的支持,所以简单整理一些 chatgpt给的一些建议 WebAssembly(Wasm)的优化涉及多个方面,包括编译器优化、代码结构调整、资源管理和压缩等。以下是一些通用的 WebAssembly 优化策略 ......
参考资料 webassembly 资料 rust

分享go的一些东西

使用值为nil的slice和map会发生什么? 在nil切片中添加元素成功。在nil的map中添加会panic,因为map没有分配实际内存。为空的切片底层数组的指针为nil,但是len,cap都是0,当append时,go会自动分配新的底 层数组。 2.访问map的key需要注意什么? 当访问map ......
东西

看看一个我怎么想都想不出来的简单东西 学生信息录入

class Student: def __init__(self, name, age, address): self.name = name self.age = age self.address = address# 创建一个空列表来存储学生对象students_list = []# 使用 fo ......
东西 学生 信息