• 2024-06-20rust 爬取笔趣阁生成epub文件
    简单研究一下epub,毕竟txt总是看着不爽,后面在优化epub样式cargo.toml[package]name="bqg_epub"version="0.1.0"edition="2021"[dependencies]epub-builder="0.7.4"reqwest={version="0.12.5",features=["blocking
  • 2024-05-28Rust语言实现的去中心化AI网络节点
    一、概述去中心化和人工智能(AI)是两个极具潜力的发展方向。Gaia项目正是将这两者结合起来,创造了一个去中心化的AI网络节点。本文将深入探讨Gaia项目的技术细节,通过丰富的示例和详细描述,帮助读者全面理解并掌握该技术。二、什么是Gaia?Gaia是一个去中心化的人工智能网络,它旨
  • 2024-04-20rust程序中设置和访问环境变量
    在项目中,我们通常需要设置一些环境变量,用来保存一些凭证或其它数据,这时我们可以使用dotenv这个crate。1、添加crate依赖首先在项目中添加dotenv这个依赖:  2、添加.env文件在开发环境下,我们可以在项目根目录下创建和编辑.env这个文件: 在运行环境下,这个.env文件要
  • 2024-04-06Rust 的 termion 库控制终端光标的位置
    在控制台应用程序中,固定打印在屏幕的第一行通常涉及到控制终端光标的位置。Rust标准库本身并不提供直接控制终端光标位置的功能,但你可以使用第三方库如termion来实现这个需求。termion是一个用于处理终端的Rust库,它提供了很多有用的功能,包括控制光标位置、颜色和样式
  • 2024-02-27Rust 无畏并发
    本文在原文基础上有删减,原文链接无畏并发。目录使用线程同时运行代码使用spawn创建新线程使用join等待所有线程结束将move闭包与线程一同使用使用消息传递在线程间传送数据信道与所有权转移发送多个值并观察接收者的等待通过克隆发送者来创建多个生产者共享状态并发互斥器
  • 2024-02-19[Rust] parse().unwrap()
    Thislessonexplains TypeInference inRustandhowitallowsthecompilertofigureoutbyitself,whattypevariableshavewhentheygettheirvaluesassigned.Therearecaseswhenthecompilercannotinferavalue'stypethroughstaticanalysis.I
  • 2024-01-25无涯教程-Rust - 错误处理
    在Rust中,错误可以分为两大类,如下表所示。Name&描述UsageRecoverable可恢复的错误ResultenumUnRecoverable无法恢复的错误panicmacro与其他编程语言不同,Rust没有Exception异常,它返回可恢复错误的枚举Result<T,E>,如果程序遇到不可恢复的错误,则调用panic宏。Panic
  • 2024-01-25rust使用lazy_static对全局变量多线程并发读写示例
    首先需要在项目依赖Cargo.toml添加lazy_static依赖项[dependencies]lazy_static="1.4.0"示例代码如下:uselazy_static::lazy_static;usestd::sync::{RwLock,RwLockReadGuard,RwLockWriteGuard};usestd::thread;#[derive(Debug)]structSharedData{data:Vec<
  • 2024-01-13RUST web框架axum快速入门教程6之测试
    本文主要讨论axum的测试,axum对于测试的支持还是比较完善的,我们可以测试状态码,HTTP头信息,响应体等内容,因为框架实现的原因,其实axum很依赖tower。往期文章:https://youerning.top/post/axum/quickstart-1https://youerning.top/post/axum/quickstart-2https://youerning.top/pos
  • 2024-01-09利用Rust库从bing抓取各行业企业的官网信息
    不管是什么行业,做任何新项目前,都会拿同行数据做参考对比,但是想要收集全面的信息光靠人工是行不通的。因此,有大公司重金请我写一个通用模版,也就是抓取行业信息,我通过Rust库写的一个自动化爬虫程序,只要输入相关的关键词就能得到你想要的数据,适合各行各业,下面就来看看具体的编写流程吧
  • 2024-01-02Rust抓取抖音app达人数据并分析热度
    抖音作为最热门的短视频平台之一,人流量很大,而且内容相对丰富。最近有朋友公司想要我采集一些达人数据,厚着脸皮过来求我,我又推脱不掉,索性利用下班时间给他到了个自动爬虫程序,同时也标识一些注意点,让他自己随时修改。抖音APP达人数据抓取是一个复杂的过程,涉及到网络爬虫、数据解析、
  • 2023-12-20Rust全局变量
    Rust全局变量Rust全局变量的一种解决方案,由于mut问题,会导致unsafe代码块。usestd::{collections::HashMap,sync::OnceLock};///全局变量,模拟SESSION管理器pubstaticmutSESSION:OnceLock<HashMap<String,String>>=OnceLock::new();///初始化函数pubfninit()
  • 2023-11-30Result | Option | unwrap | ?
    原文链接1、Option-可空变量虽然Rust中有null的概念,但是使用null并不是Rust中常见的模式。假设我们要写一个函数,输入一种手机操作系统的名称,这个函数就会返回其应用商店的名称。如果传入字符串iOS,该函数将返回AppStore;如果传入字符串android,那么该函数将返回PlayStore。任何
  • 2023-11-14数字滤波器分析---相位响应
    数字滤波器分析---相位响应MATLAB®函数可用于提取滤波器的相位响应。在给定频率响应的情况下,函数 abs 返回幅值,angle 返回以弧度为单位的相位角。要使用 fvtool 查看巴特沃斯滤波器的幅值和相位,请使用:d=designfilt('lowpassiir','FilterOrder',9,...'HalfPowerFrequ
  • 2023-11-10如何使用select库采集携程
    今天给大家带来一个select库编写的简单爬虫程序,主要是对携程的采集,代码中有一些制定的字符串比较难以理解,我有针对性的做了中文解释,一起来学习一下吧。```rustfnmain(){//创建一个TcpListener,监听指定的端口letlistener=TcpListener::bind("0.0.0.0:8000").unwrap();//
  • 2023-11-10Rust和isahc库编写代码示例
    Rust和isahc库编写的图像爬虫程序的代码:useisahc::{Client,Response};fnmain(){letclient=Client::new().with_proxy("").finish();leturl="";letresponse=client.get(url).send().await
  • 2023-11-06利用Rust编程语言和tide库采集搜狗图片
    今天给大家带来一个用Rust编程语言和tide库编写一个爬虫程序,主要用于采集搜狗图片。一起来学习一下吧。```rust//导入所需的库usestd::io::{BufRead,BufReader};usestd::net::TcpStream;usestd::sync::mpsc;//定义一个消息通道来传递爬取的结果let(sender,receiver)
  • 2023-10-28rust 创建多线程web server
    创建一个httpserver,处理http请求。创建一个单线程的web服务webserver中主要的两个协议是http和tcp。tcp是底层协议,http是构建在tcp之上的。通过std::net库创建一个tcp连接的监听对象,监听地址为127.0.0.1:8080.usestd::net::TcpListener;fnmain(){l
  • 2023-09-09rust 多线程
    多线程之间的通信和内存共享常见方式usestd::sync::mpsc;usestd::thread;usestd::sync::{Arc,Mutex};structUser{name:String}fnmain(){//Arc通过共享内存在线程间通信数据不可修改(所以这里使用的不可变引用)letusr_raw=Arc::new(User{
  • 2023-08-28Rust 任务二传手
     usepostgres::{Client,NoTls};usestd::process::Command;usestd::fs::File;usestd::io::{BufRead,BufReader,Write};fnis_program_running(program:&str)->bool{letcmdstr=format!("IMAGENAMEeq{}",program);letoutput
  • 2023-08-28rust 从Result< T,T>获取值T
    问:我有一个函数:fnfoo<i32>(x:i32)->Result<i32,i32>{...}我想把结果的值提取到一个变量中,不管它是Ok还是Err。我可以这样做:letval=matchfoo(10){Ok(i)=>i,Err(i)=>i,}想知道是否有一个“更干净”或更“习惯”的方法来这样做,或者这是最
  • 2023-07-27用 Rust 生成 Ant-Design Table Columns
    经常开发表格,是不是已经被手写Ant-DesignTable的Columns整烦了?尤其是ToB项目,表格经常动不动就几十列。每次照着后端给的接口文档一个个配置,太头疼了,主要是有时还会粘错就尴尬了。那有没有办法能自动生成columns配置呢?当然可以。目前后端的接口文档一般是使用Swagger来生成的,S
  • 2023-06-03P1001 A+B Problem
    A+BProblem题目背景强烈推荐新用户必读帖。不熟悉算法竞赛的选手请看这里:算法竞赛中要求的输出格式中,不能有多余的内容,这也包括了“请输入整数$\bma$和$\bmb$”这一类的提示用户输入信息的内容。若包含了这些内容,将会被认为是WrongAnswer,即洛谷上的WA。在对比代码输
  • 2023-05-2420、Web服务示例
    如下是main.rs文件内容://src\main.rsusehello::ThreadPool;usestd::thread;usestd::time::Duration;usestd::fs;usestd::io::prelude::*;usestd::net::TcpStream;usestd::net::TcpListener;fnmain(){letlistener=TcpListener::bind("127.0.0.1:78
  • 2023-05-20【数论】Rust使用Miller-Rabin primality test判别素数
    题目地址https://ac.nowcoder.com/acm/contest/57677/A代码usestd::io::{self,BufRead,Write};fnis_prime_triival(n:i128)->bool{ifn<=1{returnfalse;}ifn==2{returntrue;}ifn%2==0{retur