调式 断点rust rust-gdb

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

Vue 大文件上传和断点续传的实现

实现 Vue 大文件上传和断点续传需要掌握以下几个步骤: 分片:将大文件分割成若干个小块,便于上传。一般采用 Blob 对象或 ArrayBuffer 来实现。 上传:将分片文件上传到服务器。可以使用 XMLHttpRequest、Fetch 等工具进行上传。 断点续传:如果上传失败或上传过程中断开 ......
断点 文件 Vue

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

Java 小文件上传、大文件分片上传、断点续传、秒传的开发原理

1、前言 文件上传在项目开发中再常见不过了,大多项目都会涉及到图片、音频、视频、文件的上传,通常简单的一个Form表单就可以上传小文件了,但是遇到大文件时比如1GB以上,或者用户网络比较慢时,简单的文件上传就不能适用了,用户辛苦传了好几十分钟,到最后发现上传失败,这样的系统用户体验是非常差的。 或者 ......
文件 断点 原理 Java

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

SpringBoot+Vue.js实现大文件分片上传、断点续传与极速秒传

亲测好用,这里就直接上代码了,代码有详细的解释。 0. 建表语句SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0; -- Table structure for file_info-- DROP TABLE IF EXISTS `file_info`;CREA ......
断点 SpringBoot 文件 Vue js

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

dom断点可定位react组件值修改

react组件的值修改,也可以使用dom断点来定位。 之前一直误区,认为react组件的修改,不能用dom断点来拦截,实际上在涉及到修改具体原生组件属性的时候,也可定位。 例如: react组件内部使用了input组件,react组件值变化导致input的value发生改变,使用dom断点就可定位。 ......
断点 组件 react dom

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

rust的musl toolchain

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