进一步理解 Rust 错误处理
本文 Rust 的初学者和对 Rust 感兴趣却还没能很好上手的朋友更加友好。阅读和理解大约需要15分钟,仅需一些基本的编程知识,你就能很好的理解本文。
在文章中,作者会介绍 Rust 中错误的基本知识,并分析为什么会这样处理,然后解释一些更高级的错误处理概念,同时分享一些实用的技巧。原文地址:https://www.halcyon.hr/posts/error-handling-in-rust/
reddit 上参与讨论:https://www.reddit.com/r/rust/comments/h12itt/error_handling_in_rust_a_beginners_guide/
rust-search-extension
v0.10 版本更新啦👏
社区大佬出品的超好用插件,赶紧来支持一个 o( ̄︶ ̄)o :https://github.com/huhu/rust-search-extension
TinyDB
TinyDB
是一个占用空间小,速度超快的数据库,旨在在内存中使用,并在需要保存时轻松地从文件中转储/检索。项目地址:https://github.com/scowez/tinydb
rarebears
- pandas
的 Rust 实现
目前该项目已经有一些完整的实现:https://github.com/drew-wallace/rarebears
postgrest-rs
postgrest-rs
库提供了 PostgREST 的 ORM 接口,项目地址:https://github.com/supabase/postgrest-rs
简单使用示例:
use postgrest::Postgrest;
let client = Postgrest::new("https://your.postgrest.endpoint");
let resp = client
.from("your_table")
.select("*")
.execute()
.await?;
let body = resp
.text()
.await?;
Rust PostgresSQL clients benchmark
diesel,elephantry,postgres,sqlx 这四个常见库的性能测试:https://github.com/elephantry/benchmark#rust-postgressql-clients-benchmark
最新补充,来自网友 biluohc 的评论回复,他指出原作者的 postgres benchmark 异步sqlx的结果是错误的。作为对比, biluohc 提供了他实现的示例:https://github.com/biluohc/actixweb-sqlx-jwt。更多内容欢迎大家到评论区查看详情,深入交流。
Svelte + TypeScript + Parcel + Rust
作者将一些常用的技术栈进行组合,制作了用于 Svelte + Rust + TypeScript 的热模块重装的简单模板,项目地址:https://github.com/HugoDaniel/svelte-template
详细一点的原文介绍:https://hugodaniel.pt/posts/browser-tech-stack-2020/
From 日报小组 @Jancd
社区学习交流平台订阅:
评论区
写评论这个图片问题我反馈一下 对以下内容的回复:
很赞👍 对以下内容的回复:
迫于这个运行和研究这个破测试花了我一些时间, 大家赞助点star吧, 最近用acix-web和sqlx做的项目模板actixweb-sqlx-jwt .
sqlx用起来感觉确实不错的, 灵活性, 安全性和性能都很好.
当然坑也是有的, 目前遇到的最大的是时区问题https://github.com/launchbadge/sqlx/issues/329, 应该只会会影响mysql和postgres, sqlx会设置为零时区, 用UTC就比较好, 也可以修改源码换成自己在的时区解决
评论里面不能发图吗? weiznich/benchmark/graph.png
最后发现也有人受不了, pr里面的修正版
https://github.com/weiznich/benchmark
全部block_on依次运行, 异步完全不能并发, 实际上做这种测试应该倒过来, 给同步的客户端做异步的兼容层
rust-postgressql-clients-benchmark 那个测试写得.., 按他的readme这么多提交就第一个可以运行, 而且异步完全用错了, 后果就是同步的客户端占了大便宜..