草庐IT

tonic-Rust

全部标签

Rust Tauri & OpenCV 写一个桌面摄像头

在一些直播场景,或者屏幕录制场景,希望可以把自己的头像通过摄像头放在桌面显示,增加互动性。一些会议软件是支持这个能力的,但通常会把摄像头的内容放在一个方框里,显得不太好看,而且还得额外打开一个会议软件,会议软件的多余内容也会被录制进去。于是就用Tauri简单包装了下网页,实现了这个小功能。1.效果桌面置顶圆形显示,可任意拖拽位置支持镜像显示支持人头追踪3种尺寸设置支持简单磨皮美颜MacOS安装包5MB2.实现原理比较简单,如下。2.1摄像头获取这里直接调用的浏览器摄像头:navigator.mediaDevices.getUserMedia({video:videoConstraint,aud

算法leetcode|63. 不同路径 II(rust重拳出击)

文章目录63.不同路径II:样例1:样例2:提示:分析:题解:rust:go:c++:python:java:63.不同路径II:一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用1和0来表示。样例1:输入: obstacleGrid=[[0,0,0],[0,1,0],[0,0,0]] 输出: 2 解释: 3x3网格的正中间有一个障碍物。 从左上角到右下角一共有2条不同的路

sqlite - 可以在没有 "match"语句的情况下编写此 Rust 代码吗?

linuxfoodhascreatedbindingsforsqlite3,为此我很感激。我刚开始学习Rust(0.8),我正试图准确理解这段代码的作用:externmodsqlite;fndb(){letdatabase=matchsqlite::open("test.db"){Ok(db)=>db,Err(e)=>{println(fmt!("Erroropeningtest.db:%?",e));return;}};我基本上明白它在做什么。它正在尝试获取数据库连接并测试错误。我不明白它是怎么做到的。为了更好地理解它,我想在没有match语句的情况下重写它,但我没有这样做的知识。那

sqlite - 可以在没有 "match"语句的情况下编写此 Rust 代码吗?

linuxfoodhascreatedbindingsforsqlite3,为此我很感激。我刚开始学习Rust(0.8),我正试图准确理解这段代码的作用:externmodsqlite;fndb(){letdatabase=matchsqlite::open("test.db"){Ok(db)=>db,Err(e)=>{println(fmt!("Erroropeningtest.db:%?",e));return;}};我基本上明白它在做什么。它正在尝试获取数据库连接并测试错误。我不明白它是怎么做到的。为了更好地理解它,我想在没有match语句的情况下重写它,但我没有这样做的知识。那

Rust in Action笔记 第九章 时间管理

本章主要讲如何实现一个网络时间协议NTP(NetworkTimeProtocol)客户端,谷歌的世界时间同步误差大概在7毫秒,开源网站CockroachDB的延迟在数十毫秒,使用了NTP协议,在处理与时间敏感的数据时,chrono库成为了事实上的标准库;由于潮汐影响和地球转矩的问题,事实上每一秒的长度不是固定的,引出了两种时间机制,一种是TAI,用于世界的原子时钟,每秒长度固定;另一种是UTC,用于通常生活中,差不多每隔18个月会添加1个闰秒,到2016年,TAI和UTC的偏差已经达到了36秒;在计算机系统中通常跑着两种时钟(clocks),一种叫实时时钟(real-timeclock),根据

rust - 为什么没有为明确实现的类型实现特征?

我正在尝试使用Diesel查询MySQL数据库并使用带有Rocket的Handlebars模板显示结果.我在models.rs中有这个#[derive(Queryable,Serialize)]pubstructPost{pubid:i32,pubtitle:String,pubtext:String,pubpublished:bool,}cargorun输出如下:-->src/main.rs:69:5|69|Template::render("index",&results)|^^^^^^^^^^^^^^^^thetrait`serde::ser::Serialize`isnotim

rust - 为什么没有为明确实现的类型实现特征?

我正在尝试使用Diesel查询MySQL数据库并使用带有Rocket的Handlebars模板显示结果.我在models.rs中有这个#[derive(Queryable,Serialize)]pubstructPost{pubid:i32,pubtitle:String,pubtext:String,pubpublished:bool,}cargorun输出如下:-->src/main.rs:69:5|69|Template::render("index",&results)|^^^^^^^^^^^^^^^^thetrait`serde::ser::Serialize`isnotim

算法leetcode|62. 不同路径(rust重拳出击)

文章目录62.不同路径:样例1:样例2:样例3:样例4:提示:分析:题解:rust:go:c++:python:java:62.不同路径:一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?样例1:输入: m=3,n=7 输出: 28样例2:输入: m=3,n=2 输出: 3 解释: 从左上角开始,总共有3条路径可以到达右下角。 1.向右->向下->向下 2.向下->向下->向右 3.向下->向右->向下样例3:输入: m=7,n=3 输出: 2

Rust 数据类型 之 结构体(Struct)

目录结构体(Struct)定义与声明结构体定义结构体实例结构体分类单元结构体(UnitStruct)元组结构体(TupleStruct)具名结构体(NamedStruct)结构体嵌套结构体方法例1:结构体转换为字符串描述例2:矩形的周长和面积例3:结构体字段的更新与输出关联函数结构体方法与关联函数的区别参数传递方式的区别使用方式的区别结构体的trait#[derive(Debug)]例1:例2:自定义打印宏 1.implfmt::DebugforStudent2.implfmt::Display forStudent#[derive(PartialEq)]例1:例2:#[derive(Defa

【一起学Rust | 框架篇 | ws-rs框架】属于Rust的Websocket框架——ws-rs

文章目录前言一、创建项目1.创建服务端项目2.创建客户端项目二、编写测试代码1.服务端2.客户端三、运行效果总结完整代码服务端客户端前言ws-rs实现了MIO的WebSocketsRFC6455标准。它允许在单个线程上处理多个连接,甚至可以在同一线程上生成新的客户端连接。这使得WebSockets非常快速且资源高效。API设计抽象了WebSocket协议的底层部分,使开发者可以专注于应用程序代码,而不必担心协议的一致性。一、创建项目首先还是老规矩,先创建本期内容所需要的工程,由于本期是通信类的Websocket,因此需要准备两个工程,一个server,一个client。1.创建服务端项目car