首页
学习
活动
专区
圈层
工具
发布

【Rust日报】 2019-10-10 Async 进入完善阶段

来自 Rust 官方 Blog 的博文更新:你可能已经听说过,最近 async-await 功能登陆了 Rust beta 分支。这是 Rust Async 可用性方面的重要里程的标志。...特别是,我们要针对奇怪的诊断,性能欠佳以及偶发性的类型检查失败的待办事项。这是一个转变:而以前,我们可以将注意力集中在真正阻碍稳定的事物上,但是现在我们有了一大堆错误,而且往往没有明确的优先级。...编写 WASI 模块的开发人员可以使用 WebAssembly.sh 在浏览器中调试和测试它们! 想找点乐子的人可以运行 Python rustpython,甚至输出彩色小猫咪图片,或者一头牛!...原文地址:https://medium.com/wasmer/webassembly-sh-408b010c14db reddit 点击了解更多 reqwest 的 alpha 版本发布 reqwest...将默认的客户端 API 更改为 async 的方式,将之前的同步 API 迁移到 reqwest::blocking。

63120

【Rust日报】2024-05-15 tunnet - 用 Rust 和Bevy写的游戏

该工具将利用 Serper.dev API 在 Google 上搜索你的查询结果,然后与 GPT-4o 结合,生成这些结果的摘要,并最终创作一篇文章。...安装所需的依赖项,包括 async-openai、reqwest、serde 和其他相关库。...在项目根目录创建一个 Secrets.toml 文件,填入 Serper 和 OpenAI 的 API 密钥。 错误处理: 定义了一个错误类型 ApiError,用于统一处理不同类型的错误。...研究员从 Google 搜索获取数据,然后使用 ChatGPT 进行摘要。 作者根据摘要创作文章。 总之,使用 Rust 和 GPT-4o 构建 AI 内容写作工具是一个令人兴奋的项目!.../making_a_3d_rust_shooter_in_3_months/ RustyTube - Rust实现的Youtube客户端 使用Tauri和Leptos实现。

31010
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Rust 中调用 GitHub Web API - Rust Cookbook 中文版

    Rust 生态中的 reqwest 和 serde 两个 crate,对使用 Rust 语言进行各类开放 web API 调用提供了强力支持。...我们使用 Rust 语言及其相关 crate,对 github web api 进行调用,通过从查询 GitHub API、检查 API 资源是否存在、使用 GitHub API 创建和删除 Gist、...使用 RESTful API 分页 以将分页的 web API 方便地包裹在 Rust 迭代器中,当到达每一页的末尾时,迭代器会从远程服务器加载下一页结果。...crate_id); } Ok(()) } 查询 GitHub API 使用 reqwest::get 查询 点赞的用户 API v3,以获取某个 GitHub 项目的所有点赞用户的列表...由于 ClientBuilder::build 和 RequestBuilder::send 都返回错误类型 reqwest::Error,所以便捷的 reqwest::Result 类型被用于主函数的返回类型

    1.5K30

    我们为什么选择Rust开发顶尖实时通信产品?

    到那时,由你决定是否创建一个更高级别的 Rust 板条箱,以暴露一个安全的 API。...但是,创建更高级别的安全 API 很重要——bindgen 提供的 Rust API 不适合直接使用,因为它不安全且不太符合习惯。...幸运的是,一旦有了更高级别的 API,你最后就可以将 C 库换成你自己的 Rust 版本,而板条箱的消费者并不会察觉其中的变化。...这些特性使我们可以使用很多永远没有原生 Rust API,或者需要数月或数年才能重新实现的 API 和硬件。...不常见的项目往往会有少量的不安全代码,这恶化了学习曲线,带来了更多出现内存错误的机会。 Rust 要求你首先编写正确和明确的代码。如果弄错了,编译器不会漏掉它的。

    1.7K20

    Rust用起来真香,1Password工程副总裁这样说

    只要精心在应用程序逻辑中融合 Rust 的强类型规则,API 就很难被误用,代码也能得到简化,因为代码无需在运行时检查约束和不变项;Rust 的编译器可以在程序执行前确保其没有无效的运行时代码路径,让你的程序不会误入歧途...正如我上面提到的,使用 Rust 编写代码本身就可以让你对内存使用有更多信心,并且减少了向应用程序中意外引入与内存相关漏洞的几率。...还有一个完善的系统可以跟踪不时出现在 Rust 板条箱中的漏洞:RustSec 数据库,该数据库由其他 Rust 开发人员在社区提供,并经常更新一些可在 CI 审核扫描中使用的新信息。...问题 5:有哪些 Rust 库是你特别推荐的? 答:Tokio、Hyper/Reqwest、Ring 和 Neon 都在 1Password 中拥有一席之地,它们对于这个雄心勃勃的项目而言至关重要。...尽管有无数可用的板条箱,但我们确实需要推出自己的日志记录和跟踪工具,以确保它们在 1Password 中可以安全使用。此外,我们构建了一个实质上本地化的实现,以满足我们产品的需求。

    70230

    Rust写的爬虫代码抓取精美的图片

    Rust是一种系统级编程语言,它的设计目标是安全、并发和高效。Rust的爬虫库非常丰富,例如scraper、select、reqwest等等。...以下是一个使用reqwest和scraper库编写的简单爬虫示例,用于从网站上获取并解析HTML内容:extern crate reqwest; // 首先,我们需要使用reqwest库来发送HTTP请求...use reqwest::Error; // 此外,我们还需要使用Error类型来处理可能出现的错误use std::io::BufReader; // 我们需要使用BufReader来处理读取文件时可能出现的错误...我们使用extern crate reqwest来导入这个库。2、我们还需要使用Error类型来处理可能出现的错误。我们使用use reqwest::Error来导入这个错误类型。...3、我们需要使用BufReader来处理读取文件时可能出现的错误。我们使用use std::io::BufReader来导入这个类型。4、我们需要用Arc来处理共享内存。

    72720

    用 Rust 从零实现一个极简 HTTP 客户端命令行工具

    本文将详细介绍如何使用 Rust 语言实现一个类似 HTTPie 的命令行 HTTP 客户端工具。这个工具命名为 h,追求极简的使用体验,让 API 测试只需几个字符。...://api.example.com/users而使用我们今天要实现的 h 工具,同样的请求只需要:h p api.example.com/users name=test是不是简洁多了?...:Rust 生态中最流行的 HTTP 客户端库tokio:异步运行时,reqwest 需要它来执行异步请求clap:命令行参数解析库,支持 derive 宏简化代码colored:终端颜色输出库serde_json...使用示例让我们看看这个工具的实际使用效果:GET 请求# 最简形式h :8080/api/users# 带查询参数h api.example.com/users page==1 limit==10# 带自定义请求头...这个项目的代码量不大(约 1000 行),但涵盖了 Rust 开发的很多实践:模块化设计、错误处理、异步编程、命令行解析、属性测试等。希望这篇文章能对你有所帮助!

    2.4K10

    【Rust日报】2021-08-14 reqwest 增加中间件支持

    reqwest 增加中间件支持 TrueLayer 团队用支持中间件的客户端reqwest-middleware包装 reqwest,并暴露相同的简单 API,在满足弹性和可观察性要求下,使其建立可重复使用的组件...截至2021-08-12,这对简单的工作区或单速率工作区来说是完美的,所以请使用它:cargo install cargo-release。...安全地执行,所以默认情况下,它被解除了武装 指定一个或多个 crate,并自动检测哪些板块需要发布 处理依赖性循环,以增加整体成功的机会 当出现问题时,努力避免让工作区处于不一致的状态...crate 链接,https://crates.io/crates/cargo-smart-release 【书籍】Black Hat Rust 早期访问版 Black Hat Rust 是一本深入研究使用...这本书是一项正在进行的工作。它可以在早期访问计划的背景下使用,这意味着各章节将在写完后立即发送给你,我们非常感谢你的反馈。

    58430

    【Rust日报】2024-03-21 ​Rust 1.77.0 版本发布

    这对于编写与需要 null 终止字符串的外语接口互操作的代码非常方便,所有相关的错误检查(例如,内部 null 字节的缺失)都会在编译时进行。...; 支持异步函数递归: 在 1.77 版本中,异步函数现在可以递归调用自己,只要使用某种形式的间接方式来避免函数状态的无限大小。...Clippy 新增 incompatible_msrv 检查: 为了避免开发者在编写代码时不小心使用了比声明的最小支持 Rust 版本(MSRV)更新的 API,Clippy 新增了一个 incompatible_msrv...相关新闻链接: https://www.phoronix.com/news/Red-Hat-Nova-Rust-Abstractions reqwest v0.12 发布,带来新特性和改进 reqwest...相关新闻链接: https://seanmonstar.com/blog/reqwest-v012/ Rust 宏元变量表达式特性提案稳定化 Rust 语言的一个关键特性 macro_metavar_expr

    87010

    【Rust日报】2021-01-13 Open Source Security, Inc.宣布为Rust的GCC前端提供资金

    Open Source Security, Inc.宣布为Rust的GCC前端提供资金 开源安全公司(Open Source Security,Inc)自豪地宣布,它为Rust的GCC前端的全职和公共开发工作提供了资金...Rust作为运行时库的实现语言,并且希望使同一库可用于不同的编程语言。...JavaScript / TypeScript:因为它是一种非常流行的动态语言。 ? Rust库(也称为板条箱)分为两部分,共享实现板条箱和精简惯用的API条板箱。...对于JavaScript,我们使用Neon公开API。Neon使我们能够方便地编写JavaScript API和创建NPM包。 C ++部分更具挑战性。...它支持完整的W3C WebDriver规范。经过Chrome和Firefox的测试,尽管任何与W3C兼容的WebDriver都可以使用。

    80310

    Rust爬虫实战:用reqwest+select打造高效网页抓取工具

    相比Python的requests库,Rust凭借其内存安全性和并发优势,特别适合构建高稳定性的爬虫系统。...本文将以books.toscrape.com为例,演示如何使用reqwest发送HTTP请求、select解析HTML,并实现分页抓取与数据存储功能。...提供类似jQuery的CSS选择器语法anyhow实现链式错误传播二、基础爬虫实现:五步抓取图书数据2.1 发送HTTP请求use anyhow::{Context, Result};use select...+select的组合,我们实现了:完整的HTTP请求生命周期管理灵活的HTML解析与数据提取自动化的分页抓取机制健壮的错误处理与重试策略多样化的数据持久化方案对于更复杂的场景,可考虑:使用scraper...库处理JavaScript渲染页面结合scrapingbee等API应对高级反爬集成serde实现JSON数据序列化部署为云函数实现分布式爬取Rust的强类型系统和内存安全特性,使其成为构建企业级爬虫系统的理想选择

    58110

    使用reqwest+select实现简单网页爬虫

    这篇文章是一个简单的Rust爬虫示例,我将爬取该网站的图书信息,包括书名、价格和库存状态。使用reqwest库发送HTTP请求,select库解析HTML内容。...代码结构清晰,包含错误处理和基本的数据提取逻辑。适合Rust爬虫新手学习网络请求、HTML解析和数据提取的基本流程。通过这个示例,你可以了解如何构建一个完整的爬虫工作流。...;使用同步方式获取网页内容,适合简单爬虫2、错误处理 (anyhow):.with_context(|| "错误描述")?...;这个爬虫包含了爬虫的核心流程:请求 → 解析 → 提取 → 存储,使用成熟稳定的库实现,适合 Rust 新手学习。可根据需求扩展多线程、代理支持等高级功能。到此就爬取完成!...程序统计了找到的图书数量并显示结果。实际应用中,你可以添加CSV保存功能将数据存储到文件,或实现自动翻页爬取全站内容。注意在实际使用时添加请求延时,遵守robots.txt规则,并完善错误处理机制。

    24500

    币安被盗的7074.18枚比特币去哪了?

    尽管其创始人赵长鹏在多次AMA中披露了一些黑客盗币的细节,并承诺使用“SAFU基金”全额承担本次用户的损失,此后也出现了“回滚交易”的争议讨论,但这7074.18枚比特币究竟如何被盗?...5月8日下午1:30(世界协调时),Binance 删除所有现有 API 密钥。 这次盗窃和之前有何相似之处? 无论是最近、还是过去的攻击都涉及到 Binance 的 API 和网络钓鱼。...如果 API 密钥被用来操纵交易,交易量和货币价格将会出现异常峰值。 交易数据比较 我计算了黑客攻击前30天交易量和价格的每小时最大值,还计算了黑客攻击当天的交易量和价格的每小时最大值。...但如果没有 API 密钥被破坏,为什么 Binance 要重置 API 密钥? 攻击者仍然控制着许多 Binance 不知道的帐户 这是可能的。...10大交易所被盗事件 交易机器人是不可避免的 API 密钥和网络钓鱼是过去3次 Binance 黑客攻击的共同主题。警告用户不要让任何第三方服务提供商访问您的个人 API 密钥是完全不现实的。

    2K10

    Shopify为系统编程提供Rust

    Rust 还有一个强大的库生态系统(“板条箱”)和良好的 IDE 集成工具,当然还有非常好的编译器错误消息。...类型和宏系统的强大功能允许非常有表现力的 API 和语法,将开发人员的精力集中在表达他们的思想上,而不是在头脑中摆弄大量的状态和不变量。Go 在这方面也享有盛誉,C 和 C++ 就没那么好了。...随着我们越来越熟练地使用 Rust,我们将会找到更多的方法来使用 Rust 的类型系统和安全规则来保持系统中的不变量。...从我们最初的项目中,我们发现与我们评估的其他语言相比,Rust 会在编译时而不是运行时暴露出更多的错误。这促成了 Rust 开发人员经常表达的“有信心部署”情绪。...更具体地说,Rust 很好地支持了使用 bindgen 等工具与现有的 C 代码的集成,而像 rb-sys 和 magnus 这样的板条箱允许 Rust 安全地与 Ruby 互操作。

    87620

    【Rust日报】2024-05-04 Image库发布 v0.25: 性能改进,生产就绪的WebP

    PNG 格式 该 png 板条箱的性能有所提高,这在很大程度上要归功于在 Chromium 中将其用于 PNG 解码的持续努力。...为了避免引入 unsafe 代码,它是使用可移植 SIMD API 实现的。如果您需要最佳性能,请使用夜间编译器和 png 板条箱上的 unstable 功能。...,API 现在允许在动画 GIF 中并行解码和编码帧,让您将性能提升到一个全新的水平。...此版本还具有更低的内存使用率,删除了最后的 unsafe 代码,并通过在帧上 Decoder 实现 Iterator 以及其他增强功能使 API 更加友好。...您仍然可以使用 webp 板条箱对 image 板条箱加载的图像进行编码,请参阅此处。 image 现在还包括一个用于 WebP 的内存安全无损编码器。

    71210

    Rust高级爬虫:如何利用Rust抓取精美图片

    引言在当今信息爆炸的时代,互联网上的图片资源丰富多彩,而利用爬虫技术获取这些图片已成为许多开发者的关注焦点。本文将介绍如何利用Rust语言进行高级爬虫编程,从而掌握抓取精美图片的关键技术要点。...Rust爬虫框架介绍Rust语言生态中有许多优秀的爬虫框架,以下是其中一些常用的:reqwest:一个简单易用的HTTP客户端库,提供了方便的网络请求功能。...; let response = client.get("https://example.com/api/images").send().await?...优化爬虫性能为了提高爬虫程序的效率和性能,我们可以采用一些优化措施,例如:使用异步编程:利用tokio库进行异步编程,实现并发请求,加快爬取速度。...尊重版权和隐私:在抓取和使用图片数据时,需要遵守相关的版权和隐私法律法规。

    83210

    【Rust日报】2020-01-27 QIP:Rust中的量子计算模拟

    QIP:Rust中的量子计算模拟 量子计算库利用图形构建来构建有效的量子电路仿真。对于借口模型的量子计算,Rust是一种很棒的语言,因为借位检查器与无克隆定理非常相似。...您也可以指定简单的模式,例如子字符串。 然后,Trello-rs尝试使用此过程查找您请求的对象: 如果该工具无法找到一个或多个指定项的匹配项,则它将: 显示适当的错误。...ureq HTTP客户端库的未来 该库提供一个方便的具有最小的依赖关系树和明显的API的请求库。 ureq来自以用户需求为中心(或者也许是“人体工程学”?)库的想法。...SuperAgent是简单易用的API的一大灵感。这并不是说reqwest不容易使用,reqwest还是可以的。但是,面对简易API和高性能API之间的折衷,它又向“简易”迈进了多远呢?...Hyper是reqwest的主要支撑,其主要目标是“ 为Rust提供快速、正确的 HTTP 实现”。这有时会将重要信息“泄漏”给用户。 具有明确的“用户至上”理念的库可能仍然是一个好的出发点。

    78620

    【译文】Rust异步生态系统

    译者注:本译文已经合并进《Rust异步编程》中文翻译仓库huangjj27/async-book,号召大家也多多参与,期待与官方同步的中文完整版早日呈现。...Rust目前仅提供编写异步代码最基础的能力。重要的是,标准库尚未提供执行器,任务,反应器,组合器以及底层I/O futures和特质。同时,社区提供的异步生态系统填补了这些空白。...社区提供的异步板条箱 Futures板条箱 futures板条箱包含可用于编写异步代码的特质和功能。...一个常见的选择是将futures中的实用工具与另一个板条箱中的执行器一起使用。 主流的异步运行时 标准库中没有异步运行时,官方也没有建议这样做。下面列举的板条箱提供了主流的运行时。...暴露异步API的库不应依赖于特定的执行器或反应器,除非它们需要生成任务、定义自己的异步I/O或者计时器futures。理想情况下,仅二进制程序应负责计划和运行任务。

    1.3K30

    DeepSeek 引发 AI 大模型战火,编程语言群雄激战谁夺胜利权杖?

    4.2 使用 Java 调用 DeepSeek 示例: 我们可以使用 Java 调用 DeepSeek 的 API 来实现文本生成功能。...HttpURLConnection:用于建立 HTTP 连接,发送 GET 请求到 DeepSeek 的 API。 读取响应内容并输出结果,如果请求失败则输出错误信息。...6.2 使用 Rust 调用 DeepSeek 示例: use reqwest::blocking::Client; use serde_json::Value; fn main() -> Result...7.4 安全性: Rust 在安全性方面具有独特的优势,其所有权系统和借用检查器能够避免许多常见的内存错误。...Java 通过自动垃圾回收机制也能保证一定的内存安全,而 C++ 由于手动管理内存,容易出现内存错误。 八、本篇小结: 在 AI 大模型 DeepSeek 的开发与应用中,不同的编程语言各有优劣。

    49610
    领券