小东西declarative macro 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 组件过程中遇到的问题和解决方法。 ......
前端 实战 组件 工程师 工程

粉丝提问:岗位与描述不一致,小公司感觉学不到东西,工作内容就是调试,想辞职

0、粉丝问题: 大哥,我毕业已经工作两个月了,在一家小公司,岗位和描述的不一致,感觉就像调试一样,写代码的机会很少也没人带, 我想转嵌入式,您有什么建议的方向吗,或者是学习路线? 这个粉丝的问题应该是大多数粉丝都会遇到的问题,很有代表性, 针对这个粉丝所述问题, 简单分析一下, 希望对这个粉丝会有所 ......
工作内容 岗位 粉丝 东西 感觉

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

无线通信中补充的一些小东西

1、对数域与线性域 经常能看到各种各样的单位类似于dBm、dBW、W、mW、dB,其实可以理解为就是换了量纲。 dB其实是一个相对单位,比如说描述功率扩大了多少,或者缩小了多少,例如:功率原来为P0,现在把功率扩大100000000倍设为P1,用dB表示的话就是\(10\lg(\cfrac{P1}{ ......
无线通信 小东西 无线

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

网络音频模块是什么东西

网络音频模块是一种集成了网络连接功能的设备,用于处理和传输音频信号。这类模块通常包含音频处理芯片、网络接口(例如Wi-Fi或以太网)、控制电路和相关接口,使其能够通过网络连接实现音频数据的传输和处理。 以下是网络音频模块可能的功能和用途: 音频数据传输: 网络音频模块的主要功能之一是通过网络传输音频 ......
模块 音频 东西 网络

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

我如何跑到别人电脑上去下载想要的东西到我的电脑上?

浏览器是一个软件,用这个软件,我们的指令通过路由器,通过各种网路,来到别人的电脑,进入别人的电脑,别人电脑上的东西同样以磁化点的方式存在,接到有人要复制的指令以后,就来到内存上变成电化点,再交由CPU>>网卡>>路由器,直接我们的电脑,最终还是以磁化点的形式存储了下来 下载就是复制,从远处的一个硬盘 ......
电脑 东西

.NET 6 新东西 --PeriodicTimer

在.NET 6 中引入了新 Timer:System.Threading.PeriodicTimer,它和之前的 Timer 相比,最大的区别就是新的 PeriodicTimer 事件处理可以方便地使用异步,消除使用 callback 机制减少使用复杂度。讲解 PeriodicTimer 之前我们先 ......
PeriodicTimer 东西 NET

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

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

[Go] "Method Declaration" on a custom type

package data // new type type distance float64 type distanceKm float64 // add ToKm method to distance type func (miles distance) ToKm() distanceKm { / ......
quot Declaration Method custom type

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

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

29_rust_面向对象编程特性

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

一次线上JVM Young GC调优,搞懂了这么多东西!

先说一下基本情况,本次是对线上商品服务的JVM优化。商品服务的访问量非常高,单机QPS在3000左右,线上总共部署了15个商品服务节点。JVM堆内存大小是8G,其中给新生代分配了2G,老年代垃圾回收器采用CMS,新生代垃圾回收器是ParNew。 优化前的状况 首先我们使用 jstat 查看了 GC ......
东西 Young JVM

命令式编程(Imperative Programming)和声明式编程(Declarative Programming)的区别

命令式编程(Imperative Programming)和声明式编程(Declarative Programming)都是计算机编程的范式,它们有着不同的特点和适用场景。 首先,我们讨论命令式编程。在命令式编程中,程序员需要明确地告诉计算机需要执行哪些步骤来达到预期的结果。我们可以把这种范式比作烹 ......

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

Windows rustup update 速度慢,使用字节跳动Rust镜像加速

不设置镜像加速rustup 更新升级会非常慢 RsProxy 字节跳动的Rust 镜像 Windows想要使用这个镜像需要按照官方提示去设置两个系统变量 分别为 RUSTUP_DIST_SERVER RUSTUP_UPDATE_ROOT 之后来到当前用户文件夹下修改cargo的配置文件(没有就创建一 ......
字节 镜像 速度 Windows rustup