< 返回版块

苦瓜小仔 发表于 2025-08-02 09:29

Tags:日报

Rust 再次成为 2025 年 Stack Overflow 调查中最受推崇的语言

Axum 是第二受推崇的 Web 框架!

2025 SO Survey 结果:https://survey.stackoverflow.co/2025/technology/#admired-and-desired

Reddit:https://www.reddit.com/r/rust/comments/1mcjdc9/once_again_rust_is_the_most_admired_language_in/

文章《You Are The BIOS Now: Building A Hypervisor In Rust With KVM》

文章介绍了如何使用 Rust 和 KVM 构建一个 Type-II 虚拟机监控程序(hypervisor)。

作者通过直接操作 KVM 提供的接口,从用户态创建了一个虚拟 CPU(VCPU),并为其分配了内存。

接着,手动将 CPU 从实模式切换到长模式,设置了分页机制,初始化了通用寄存器,并编写了简单的机器代码作为虚拟机的启动代码。该代码通过 I/O 端口输出字符,实现了简单的“Hello, World!”功能。

整个过程涉及大量底层操作,包括内存映射、分页表设置、全局描述符表(GDT)配置等,展示了在 Rust 中进行系统编程的复杂性和挑战性。

Reddit | 阅读:https://www.reddit.com/r/rust/comments/1mcfao9/you_are_the_bios_now_building_a_hypervisor_in/

Rig:轻量级、可组合智能代理创建的代理型 AI 框架

通常我不会在这里发布 Rig 的版本更新,因为 Reddit 上对 AI 相关内容的接受度通常较低。然而,这次更新意义重大,因为它不仅标志着 rig-wasm(通过 WASM 和一些 TS 胶水代码实现的实验性 Rig JS 移植)的发布,还新增了几个我认为在该库的整个生命周期内都将保持稳定的比较重要的功能:

  • VectorSearchIndex 函数现在接受 VectorSearchRequest,而非查询和样本大小(即返回结果的数量),这意味着它未来将更具可扩展性。VectorSearchRequest 也提供了构建器。
  • 现在正式支持思考和推理功能。从响应中解析思考块还有很长的路要走,但对于模型提供者预先解析的结果,它们是受支持的。
  • 完成流现在将使用情况作为流项返回,而不仅仅是最终结果。
  • 每个模型提供者现在都有一个构建器了——特别感谢 Sytten 的慷慨贡献。
  • 我们还为 Extractor 添加了一些额外的追踪功能,如果内层的 Submit 工具从未被调用,它会告知你,并且如果你多次遇到该问题,它会提示你升级到一个能更可靠地调用工具的模型。

未来版本的计划内容:

  • 为向量搜索添加相似性搜索阈值
  • 提示钩子(例如在提示前后、工具调用等环节插入你自己的函数)
  • 总体可观测性升级,能够为代理命名
  • A2A(代理到代理通信)

仓库:https://github.com/0xPlaygrounds/rig

Hurl:发布 7.0.0

Hurl 是一个开源命令行工具,允许用户通过纯文本格式运行和测试 HTTP 请求。

它适用于获取数据或在 CI/CD 流水线中测试 HTTP API(包括 JSON、GraphQL 和 SOAP)。以下是 Hurl 7.0.0 版本的核心内容总结:

功能特点

  • 纯文本格式:使用简单的纯文本格式定义 HTTP 请求。
  • 请求链式调用:可以将多个请求链接起来,方便复杂场景的测试。
  • 捕获与断言:支持从响应中捕获值,并对响应头、状态码、正文内容等进行断言。
  • 支持多种 API:适用于 HTML、REST、SOAP、GraphQL 等多种 API。
  • 性能测试:可以测试 HTTP 端点的响应时间。
  • CI/CD 集成:支持生成多种格式的测试报告(如 JUnit、TAP、HTML)。

技术实现

  • 底层引擎:Hurl 使用了 Rust 编写的 curl-rust 绑定,基于强大的 curl 库。
  • 性能优势:继承了 curl 的高效性和对 HTTP/3 的支持。

新版本更新内容

  • 增强的重定向检查:新增更多方式来检查重定向的每个步骤。
  • 模板化请求和响应:新增过滤器,支持对 HTTP 请求和响应进行模板化。
  • 支持更多 curl 选项:新增对更多 curl 命令行选项的支持。

基本使用示例

GET https://example.org/api/tests/4567
HTTP 200
[Asserts]
jsonpath "$.status" == "RUNNING"    # 检查状态码
jsonpath "$.tests" count == 25      # 检查项目数量
jsonpath "$.id" matches /\d{4}/     # 检查 ID 格式
header "x-foo" contains "bar"       # 检查响应头
certificate "Expire-Date" daysAfterNow > 15  # 检查证书过期时间
ip == "2001:0db8:85a3:0000:0000:8a2e:0370:733"  # 检查 IP 地址

文档:https://hurl.dev

仓库:https://github.com/Orange-OpenSource/hurl

--

From 日报小组 苦瓜小仔

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页