调式 断点rust rust-gdb
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 ......
Vue 大文件上传和断点续传的实现
实现 Vue 大文件上传和断点续传需要掌握以下几个步骤: 分片:将大文件分割成若干个小块,便于上传。一般采用 Blob 对象或 ArrayBuffer 来实现。 上传:将分片文件上传到服务器。可以使用 XMLHttpRequest、Fetch 等工具进行上传。 断点续传:如果上传失败或上传过程中断开 ......
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嵌套使代码更清晰。 ......
Java 小文件上传、大文件分片上传、断点续传、秒传的开发原理
1、前言 文件上传在项目开发中再常见不过了,大多项目都会涉及到图片、音频、视频、文件的上传,通常简单的一个Form表单就可以上传小文件了,但是遇到大文件时比如1GB以上,或者用户网络比较慢时,简单的文件上传就不能适用了,用户辛苦传了好几十分钟,到最后发现上传失败,这样的系统用户体验是非常差的。 或者 ......
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 周边还是很 ......
SpringBoot+Vue.js实现大文件分片上传、断点续传与极速秒传
亲测好用,这里就直接上代码了,代码有详细的解释。 0. 建表语句SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0; -- Table structure for file_info-- DROP TABLE IF EXISTS `file_info`;CREA ......
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 ......
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 ......
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- ......
dom断点可定位react组件值修改
react组件的值修改,也可以使用dom断点来定位。 之前一直误区,认为react组件的修改,不能用dom断点来拦截,实际上在涉及到修改具体原生组件属性的时候,也可定位。 例如: react组件内部使用了input组件,react组件值变化导致input的value发生改变,使用dom断点就可定位。 ......
rust webassembly 优化参考资料
这几天在学习webassembly,尤其是cerbos lite 对于webassembly 的支持,所以简单整理一些 chatgpt给的一些建议 WebAssembly(Wasm)的优化涉及多个方面,包括编译器优化、代码结构调整、资源管理和压缩等。以下是一些通用的 WebAssembly 优化策略 ......
探索Rust语言类型系统 - Part 1
理解Rust语言类型系统中的Ownership(所有权), Resource Management(资源管理), Aliasing(别名), Mutation(可变性), 和the Borrow Checker(借用检查器) 目录 Ownership and Move Semantics(所有权与移 ......
给 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的musl toolchain
rust项目常常会使用musl作为编译target,这个时候就会使用musl的工具链。musl toolchain安装在$HOME/.rustup/toolchain下面。通常可以用rustup 安装,比如: rustup install stable-unknown-linux-musl 也可以使 ......