match rust

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

[ARC169E] Avoid Boring Matches

题解链接 非常厉害的一道题。 考虑无解是什么情况? R 的个数超过 \(2^{n-1}\) 先考虑如何判定。从前往后考虑,如果遇到一个 B,那么如果后面有 R,就选最靠前的 R,否则选最靠后的一个 B.如果遇到 R,就选最靠后的一个 B。 但是这个判定很繁琐。我们考虑求出一个合法序列,使得他的 B ......
Matches Boring Avoid 169E ARC

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

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

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

记录issue:iptables (legacy): Couldn't load match `comment':No such file or directory\n\nTry `

用nerdctl起容器碰到如下issue: FATA[0001] failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error d ......
directory iptables comment Couldn legacy

Rust 命令行俄罗斯方块

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

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

【解决方案】adb server version (41) doesn't match this client (36);

【GiraKoo】adb server version (41) doesn't match this client (36); 环境 夜神模拟器无法与Android Studio连接。使用命令行连接时会提示adb server version (41) doesn't match this cli ......
解决方案 version 方案 server client

rust webassembly 优化参考资料

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

[LeetCode] 1688. Count of Matches in Tournament

You are given an integer n, the number of teams in a tournament that has strange rules: If the current number of teams is even, each team gets paired ......
Tournament LeetCode Matches Count 1688

探索Rust语言类型系统 - Part 1

理解Rust语言类型系统中的Ownership(所有权), Resource Management(资源管理), Aliasing(别名), Mutation(可变性), 和the Borrow Checker(借用检查器) 目录 Ownership and Move Semantics(所有权与移 ......
语言 类型 系统 Rust Part

给 Web 前端工程师看的用 Rust 开发 wasm 组件实战

本文先介绍了 wasm-pack 官方的教程,还有其他组件测试、发布等的流程先不在这里介绍了。以下用一个实际开发中的模块来说一下开发 wasm 组件过程中遇到的问题和解决方法。 ......
前端 实战 组件 工程师 工程

rust使用动态连接库实现两个数的求和

1.1 创建库项目 cargo new --lib plugin cd plugin 1.2 编写加法功能函数 vim src/lib.rs #[no_mangle] pub extern fn add(left: usize, right: usize) -> usize { left + rig ......
两个 动态 rust

rust的musl toolchain

rust项目常常会使用musl作为编译target,这个时候就会使用musl的工具链。musl toolchain安装在$HOME/.rustup/toolchain下面。通常可以用rustup 安装,比如: rustup install stable-unknown-linux-musl 也可以使 ......
toolchain rust musl

Rust std fs 比 Python 慢!真的吗!?

作者:Xuanwo Databend Labs 成员,数据库研发工程师 https://github.com/xuanwo 我即将分享一个冗长的故事,从 OpenDAL 的 op.read()开始,以一个意想不到的转折结束。这个过程对我来说非常有启发性,我希望你也能感受到。我会尽力重现这个经历,并附 ......
Python Rust std fs

31. 干货系列从零用Rust编写正反向代理,HTTP限流的实现(limit_req)

HTTP限流是在HTTP请求处理过程中,对请求进行限制的一种技术手段。本文讲述wmproxy中如何处理限流的原理及源码实现。 ......
干货 limit_req limit Rust HTTP

31_rust_高级特性

高级特性 不安全rust 高级Trait 高级类型 高级函数和闭包 宏 不安全rust 隐藏这第二个语言,其未强制内存安全保证:Unsafe rust(不安全的rust);其和普通rust一样,但提供了额外的“超能力”。 unsafe rust存在的原因: 静态分析是保守的,使用unsafe rus ......
特性 rust 31

正则表达式的几个函数,sub、match、search、findall、split的几个函数的使用

import repattern='\d\.\d+'s='I study 3.114 python every and 2.71 python I love you's2='python I love you'match= re.findall(pattern,s) #findall 函数获取匹配对 ......
函数 正则 表达式 findall search

正则表达式match函数的使用

#正则表达式的作用,例如:判断登录名是否几位数,是都由数字字母组成等等#元字符:具有特殊意义的专用字符,例如:‘^'和'$',分别表示匹配开始和结束。#限定符:用于限定匹配的次数#其他符#re模块在Python中使用正则表达式操作 # re函数的几种格式 #re.match(pattern,stri ......
正则 表达式 函数 match

30_rust_模式匹配

模式匹配 模式:是rust中的一种特殊语法,用于匹配复杂和简单类型的结构。 将模式与匹配表达式和其他结构结合使用,可更好控制程序控制流。 模式由以下元素(及组合)组成: 字面值 解构的数组、enum、struct和tuple 变量 通配符 占位符 模式匹配的场景 match的Arm(分支) 格式: ......
模式 rust 30

Rust Tauri系列: 项目创建

创建 Rust - Tauri ## 创建rust Tauri项目 pnpm create tauri-app ->项目名称 test-app ->选择 TypeScript / JavaScript (pnpm, yarn, npm, bun) ->选择包管理工具(熟悉那个就用那个) ->选择 v ......
项目 Tauri Rust

rust 运行windows cmd命令

use std::process::Command; fn callcmd(cmdstr: &str) { Command::new("cmd") .arg("/S") .arg("/c") .arg(cmdstr) .output() .expect("-1"); } fn main() { le ......
命令 windows rust cmd

7-1896C - Matching Arrays

题意: 两个数组\(a和b\),对\(b\)任意排序, 使得\(a[i]>b[i]的个数为x\),要求输出能满足的数列。 思路: 一个任意排序,相当于两个任意排序,都升序,发现规律,\(让排序后的b数组,循环右移x位置\) ,满足条件则输出,否则一定不满足。 代码: 点击查看代码 #include< ......
Matching Arrays 1896

Spin 基于rust 开发的开源运行基于webassembly serverless 工具

spin 是基于rust 开发的,可以用来开发以及运行基于webassembly serverless 服务的工具 包含的特性 提供了周边扩展 默认wasm 只提供了基本类型的支持,wasm 提供了不少扩展可以方便的支持不同语言的调用(比如网络,数据库访问) 提供了快速应该开发的cli 提供了服务部 ......
webassembly serverless 工具 Spin rust