草庐IT

Rust - 简单使用 reqwest 发起 HTTP 请求

Rust-简单使用reqwest发起HTTP请求一、reqwest是什么二、使用reqwest发起请求1.在Cargo.tom添加依赖2.main.rs三、文章参考一、reqwest是什么reqwest是一个简单而强大的RUSTHTTP客户端,用于浏览器异步HTTP请求。支持xmlHttpRequest,JSONP,CORS,和CommonJS约束。二、使用reqwest发起请求1.在Cargo.tom添加依赖[dependencies]reqwest={version="0.11.11",features=["json","cookies"]}tokio={version="1",featu

Rust Web 全栈开发之 Web Service 中的错误处理

RustWeb全栈开发之WebService中的错误处理WebService中的统一错误处理ActixWebService自定义错误类型->自定义错误转为HTTPResponse数据库数据库错误串行化serde错误I/O操作I/O错误Actix-Web库Actix错误用户非法输入用户非法输入错误Actix-Web的错误处理编程语言常用的两种错误处理方式:异常返回值(Rust使用这种)Rust希望开发者显式的处理错误,因此,可能出错的函数返回Result枚举类型,其定义如下:enumResult{Ok(T), Err(E),}例子usestd::num::ParseIntError;fnmain

气走核心成员!Rust领导小组粗暴撤换主讲人!

51CTO读者成长计划社群招募,咨询小助手(微信号:CTOjishuzhan)编译|王瑞平、言征Rust内部人员之间的斗争从未停止。最近,Jntrnr辞去了Rust的工作,他曾于2021年加入RustCoreteam。关于发生此事的原因,大家有很多揣测,因此,他在博客上发布了文章,特意澄清了真实的原因。与此同时,他还在Twitter上就此事做出了简要的说明:“我已辞去Rust中的所有职务,立即生效。很多人问我这个问题,所以我写了一篇声明,说明我为什么辞去Rust的工作。”一、究竟发生了什么?我为什么离开?先从我的视角向大家汇报一下事情的来龙去脉:1.我们向临时领导小组发出了邀请,希望他们能成为

Rust 基础系列 #5: Rust 中的函数

就跟任何现代编程语言一样,Rust也有函数。你已经熟悉的函数是 main 函数。这个函数在程序启动时被调用。但是其他函数呢?在本文中,你将学习如何在Rust程序中使用函数。函数的基本语法你可能已经在我们声明 main 函数时知道了这一点,不管怎么样,还是让我们看一下声明函数的语法。//声明函数fnfunction_name(){;}//调用函数function_name();来让我们看一个简单的函数,它将字符串 "Hithere!" 打印到标准输出。fnmain(){greet();}fngreet(){println!("Hithere!");}📋与C不一样的是,不管你是否要在声明或定义之前

取代C++!3.6万行Rust代码改写Windows内核,这门语言最早竟用来修电梯

取代C++,Rust真的要重写万物了!在得到Linux、谷歌、亚马逊云等大厂青睐后,最近的爆炸消息——微软已经用3.6万行Rust代码改写了Windows内核。而且推进速度相当快,4月剧透消息,过了两周,Windows11内部预览版已经用上了。微软云AzureCTO在推特上激动喊话:如果你加入了Windows11InsiderPreview内测,你将首次体验到Rust支持的Windows内核!重写的内核中,主要包括DWriteCore以及Win32GDI两个项目,并通过了Windows开机所有测试。其中,Win32GDI写于上世纪80年代末90年代初,是工龄30多年的老代码了。如今之所以被Ru

Rust Web 全栈开发之自建TCP、HTTP Server

RustWeb全栈开发之自建TCP、HTTPServer课程简介预备知识Rust编程语言入门https://www.bilibili.com/video/BV1hp4y1k7SV课程主要内容WebService服务器端WebApp客户端WebApp(WebAssembly)Web框架:Actix数据库:PostgreSQL数据库连接:SQLx全部使用纯Rust编写!一、构建TCPServer本节内容编写TCPServer和Clientstd::net模块标准库的std::net模块,提供网络基本功能支持TCP和UDP通信TcpListener和TcpStream创建项目~/rustvia🅒ba

docker - 为什么 Heroku 每次都重建我的 Docker 容器?

我正在将一个带有Rocket.rs的Rust应用程序部署到Heroku的Docker容器中。每次我做一个小改动,我都必须插入整个容器。这需要重新下载所有rust组件(rustc、rust-std、cargo等),重新下载所有依赖项,并重新推送层。特别是,每次推送一个1.02GB的层,大约需要30分钟。每次。如何避免:每次都重新下载rustc、rust-std、cargo和rust-docs每次都重新下载相同的、未更改的依赖项每次重新推送1.02GB层这是我所有相关文件的要点:https://gist.github.com/vcapra1/0a857aac8f05277e65ea5d86

docker - 为什么 Heroku 每次都重建我的 Docker 容器?

我正在将一个带有Rocket.rs的Rust应用程序部署到Heroku的Docker容器中。每次我做一个小改动,我都必须插入整个容器。这需要重新下载所有rust组件(rustc、rust-std、cargo等),重新下载所有依赖项,并重新推送层。特别是,每次推送一个1.02GB的层,大约需要30分钟。每次。如何避免:每次都重新下载rustc、rust-std、cargo和rust-docs每次都重新下载相同的、未更改的依赖项每次重新推送1.02GB层这是我所有相关文件的要点:https://gist.github.com/vcapra1/0a857aac8f05277e65ea5d86

python - 从 Rust 函数返回字符串到 Python

我对Rust很陌生。如何从可在Python中使用的Rust函数返回String?这是我的Rust实现:usestd::ffi::CString;#[no_mangle]pubexternfnquery()->CString{lets=CString::new("Hello!").unwrap();returns;}以及调用它的Python代码:fromctypesimportcdll,c_char_plib=cdll.LoadLibrary("target/release/libtest.so")result=lib.query()print(c_char_p(result).valu

python - 从 Rust 函数返回字符串到 Python

我对Rust很陌生。如何从可在Python中使用的Rust函数返回String?这是我的Rust实现:usestd::ffi::CString;#[no_mangle]pubexternfnquery()->CString{lets=CString::new("Hello!").unwrap();returns;}以及调用它的Python代码:fromctypesimportcdll,c_char_plib=cdll.LoadLibrary("target/release/libtest.so")result=lib.query()print(c_char_p(result).valu