小东西declarative macro rust
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语言_学习笔记 转载注明来源: 本文链接 来自osnosn的博客,写于 2023-12-10. 安装 rust 【安装_rustup_cargo_rustc_交叉编译测试】 cargo 的 config 设置 更换 ustc 源,使用代理。设置缺省registry。见【rust cargo ......
uniffi-rs rust 多语言bindings 生成工具
uniffi-rs 是基于webidl 描述定义,然后生成不同语言bindings 的工具,此工具是在学习pyo3的maturin 工具看到的,整理记录下 参考玩法 目前支持的语言 官方支持的包含了Kotlin,Swift,Python,Ruby 当然还有不少社区的实现,比如支持C#以及golang ......
35. 干货系列从零用Rust编写负载均衡及代理,代理服务器的源码升级改造
代理在计算机网络很常见,比如服务器群组内部通常只会开一个口进行对外访问,就可以通过内网代理来进行处理,从而更好的保护内网服务器。代理让我们网络更安全,但是警惕非正规的代理可能会窃取您的数据。请用HTTPS内容访问更安全。 ......
maturin 方便发布基于rust 的python 包工具
maturin 是PyO3团队开发的,方便我们开发基于rust 的python 包,比如PyO3 的使用文档中就使用了此工具 安装&使用 安装(可选,可以基于venv 安装) 可以基于pip 以及pipx pipx install maturin 创建一个简单项目 python -m venv .v ......
cargo-make rust 任务执行以及构建工具
再学习nakago 框架的时候发现其使用了cargo-make 这个工具,但是很方便,类似make 的构建模式 包含的特性 依赖管理,别名支持,支持workspace 简单使用 安装 cargo install --force cargo-make 参考使用 创建一个cargo 项目 cargo n ......
nakago 轻量级rust 框架
nakago 轻量级rust 框架,还处于早期阶段 包含的特性 依赖注入 基于Axum 的http adapter 基于seaORM 的sql adapter 基于async_graphql 的graphql adapter 基于CQRS-ES 的CQRS adapter (即将实现) 说明 nak ......
34. 干货系列从零用Rust编写负载均衡及代理,异步测试在Rust中的实现
测试是编程中不可缺少的伙伴,他可以让我们更早的发现问题解决问题,编写测试用例可能看起来会慢一些,但是对后期可能潜在的Bug的排查会节省大量的时间。 ......
为什么 Go 和 Rust 语言都舍弃了继承?
为什么go和rust语言都舍弃了继承? ❎ 舍弃了 Class ✅ 舍弃或弱化子类型 类的继承是一段儿弯路 OO 发明了继承,然后发现真正有意义的是 interface 的组合(更准确的说,是 Product type of interfaces or abstract classes),语义上相当 ......
Win 10 Rust Installtion in D Disk with VSCode
(只记录了必须要内容,日后完善!) \1. rust的安装与环境变量: 要提前把下面两个环境变量配置好,这样是为了指定安装路径。否则会默认安装在 C 盘下。 CARGO_HOME: D:\Soft\Language\Rust\.cargo RUSTUP_HOME: D:\Soft\Language\ ......
通过match看rust
最常见的逻辑控制流比如if-else,switch,while等常用编程语言都支持,但恰巧rust语法中没有switch,取而代之的是更加强大适用的match匹配,我们就来看看rust的match有何奇特之处。看我们如何用match消除if-else嵌套使代码更清晰。 ......
经过两次封装的东西 真的有些不敢用啊
想下载一个绿化版的 看图王 这么难嘛~ 官网安装包 也好不到那里去; 欢迎关注公-众-号【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 构建项目 项 ......
关于Rust的简单总结(一)
0. 前言 这是一个关于Rust的简单总结。(待续) 资料 学习网址:学习 Rust - Rust 程序设计语言 (rust-lang.org) 官网:Rust 程序设计语言 (rust-lang.org) Rust介绍 [[Rust]] 程序设计语言的本质实际在于 赋能(empowerment): ......
Rust实现二叉树、字典树
二叉树 使用Option<Box<T>>实现。Box是智能指针,分配在堆上,专门用于这种“无限”大小的数据类型。LeetCode上采用Option<Rc<RefCell<T>>> 实现,非常臃肿。。 #[derive(PartialEq)] enum TreeDir{ LEFT, RIGHT } # ......
33. 干货系列从零用Rust编写正反向代理,关于HTTP客户端代理的源码实现
http代理中关于客户端是如何实现http代理的相关源码实现,详细说明了http/https/socks5代理的原理,及源码实现 ......
dioxus rust 构建跨平台应用的框架
dioxus rust 构建跨平台应用的框架 包含的特性 原生桌面 强大的状态管理 快速 异步以及协程支持 热更新支持 对于不同端支持不同的模式 比如桌面支持webassembly 的dom 处理,ssr等 说明 目前看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 ......
宗地从上到下从左到右西北角顺时针界址点编码、宗地界址点成果表、宗地四至情况说明、宗地四至(东西南北)提取、界址线走向说明
一、宗地界址点编码:从上到下从左到右每宗西北角顺时针编码,可根据界址点分类类型计算序号前面的字母。 二、界址点成果表:每一宗地生成一个界址点成果表.xls,西北角界址点开始顺时针填写界址点,首先填写宗地外环界址点,最后填写宗地内环。 三、宗地四至情况说明:西北角界址点开始顺时描述接着点及相邻宗地权利 ......
yew 基于rust 以及wasm 创建web 应用的框架
yew 基于rust 以及wasm 创建web 应用的框架,我们可以基于一些定好好的rust 宏,实现基于webassembly 的web 应用开发 包含的特性 基于组件 使用了类似rect 以及elm 的开发模式 html 宏 类似react jsx 的定义 ssr 支持服务端渲染,默认属于客户端 ......
Rust 命令行俄罗斯方块
Rust 命令行俄罗斯方块 先放一个 gif 在这里。 使用 crate: std rand terminal 。 代码地址 // todo ......
解决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_ ......
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- ......
rust webassembly 优化参考资料
这几天在学习webassembly,尤其是cerbos lite 对于webassembly 的支持,所以简单整理一些 chatgpt给的一些建议 WebAssembly(Wasm)的优化涉及多个方面,包括编译器优化、代码结构调整、资源管理和压缩等。以下是一些通用的 WebAssembly 优化策略 ......
分享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 ......