toolchain rust musl

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

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

rust webassembly 优化参考资料

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

探索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

【ToolChains】| CMake 技巧

判断 CMake 编译环境 编译类型 CMAKE_BUILD_TYPE 可取值为:Debug, Release, RelWithDebInfo, MinSizeRel 等预设值 if (CMAKE_BUILD_TYPE MATCHES Debug) #do some thing endif() 系统 ......
ToolChains 技巧 CMake

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

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

Xcode 15 and iOS 17 - Error: DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS, use TOOLCHAIN_DIR instead

热烈欢迎,请直接点击!!! 进入博主App Store主页,下载使用各个作品!!! 注:博主将坚持每月上线一个新app!! # post install post_install do |installer| # fix xcode 15 DT_TOOLCHAIN_DIR - remove afte ......

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

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

30. 干货系列从零用Rust编写正反向代理,HTTP的组装之旅(中间件)

wmproxy wmproxy已用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,四层TCP/UDP转发,七层负载均衡,内网穿透,后续将实现websocket代理等,会将实现过程分享出来,感兴趣的可以一起造个轮子 项目地址 国内: https://gitee. ......
干货 中间件 之旅 Rust HTTP

0 Rust Overview (Rust概览)

Reasons for Learning Rust Rust is depicted as a systems programming language possessing the speed and control features akin to C or C++, while also em ......
概览 Rust Overview

29. 干货系列从零用Rust编写正反向代理,异步回调(async trait)的使用

回调赋予我们很好的函数处理能力,那么异步回调则是在异步编程中的灵魂,这是不可缺少的存在,本章主要是关于Rust中的trait的说明,希望对你有所帮助 ......
干货 async trait Rust 29

29_rust_面向对象编程特性

面向对象编程特性 面向对象的特性 封装 rust默认情况下是私有的,使用pub关键字让方法和成员公开,访问也通过方法来实现。 继承 使对象可沿用另外一些对象的数据和行为。不过rust没有继承的概念,但rust通过默认trait方法来进行代码共享,也可使用同名方法覆盖原有实现。 多态 rust使用泛型 ......
特性 对象 rust 29

Rust错误案例:error[E0716]: temporary value dropped while borrowed

原因 出现error[E0716]: temporary value dropped while borrowed的情况往往是因为错误地将引用绑定在了临时变量上,在每行代码结尾的分号;处,临时变量释放导致引用的错误绑定。 由于临时变量多出现于函数编程中,因此该问题多发于连续调用函数。 简短案例 // ......
temporary borrowed 错误 案例 dropped

rust程序设计(6)枚举与模式匹配

rust中的枚举有什么用?枚举可以嵌入类型的好处是什么 你可以在同一个枚举中既有单个值,也有元组或结构体。 枚举的每个变体可以拥有不同数量和类型的关联数据。 这增加了类型的灵活性和表达力,使你能够更精确地建模你的数据。 我知道rust可以为枚举创建方法,那在哪种场景下枚举会比结构体会有优势 表示多个 ......
程序设计 模式 程序 rust

rust程序设计(5)结构体相关练习题| 附带解答

题目 基础结构体练习: 创建一个名为Person的结构体,包含name(字符串类型)和age(整数类型)两个字段。 写一个函数,接收一个Person实例作为参数,并打印出这个人的名字和年龄。 结构体方法练习: 为Person结构体添加一个方法birthday,当调用时,它将这个人的年龄增加1。 创建 ......
练习题 程序设计 结构 程序 rust

28_rust_无畏并发

无畏并发 Concurrent:程序不同部分之间独立执行; Parallel:程序不同部分同时运行。 rust无畏并发:允许编写没有细微Bug的代码。并在不引入新Bug的情况下易于重构。这里所说的“并发”泛指concurrent和parallel。 使用线程同时运行代码 1:1模型:实现线程的方式: ......
rust 28

rust程序设计(4)关于 trait | impl 相关的概念和疑问

trait是什么? Rust中的trait是一种定义可被多种类型实现的共享行为的方式。它类似于Java或C#中的接口。通过trait,你可以定义一组方法签名(有时包括默认实现),不同的类型可以实现这些方法。这有助于抽象通用功能并确保不同类型间一定程度的一致性。 当一个类型实现了一个trait,它承诺 ......
程序设计 疑问 概念 程序 trait