V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mm163
V2EX  ›  Rust

说点 Rust 入门的感受吧

  •  
  •   mm163 · 2022-04-27 09:39:40 +08:00 · 4161 次点击
    这是一个创建于 701 天前的主题,其中的信息可能已经有所发展或是发生改变。
    算是强行入门 Rust 吧,大概四月初开始试着把 java 写的后端通信服务用 Rust 重写,每天思考着生命周期和各种异步操作,各种宏也摆弄的有声有色。一点一点地尝试和重构,系统的架构弄得 7788 了。
    但是从上周末开始被迫进行另一个项目( go+react )收尾的一些事情,到今天基本弄完了,再回到 Rust ,
    我的天,我写的都是什么,Rust 那些特性和要点、一点儿想不起来了。这学习曲线不仅上坡陡峭,下坡更陡。
    这还没怎么爬呢,目前掌握的都是最浅显的,Rust 社区和一些博客的文章对我来说都是天书,而且 Rust 语言特性变化快,标准库变化也快,都增加了学习难度。
    慢慢来吧,好像想起点来了:cargo run
    11 条回复    2023-08-10 09:55:00 +08:00
    DearMark
        1
    DearMark  
       2022-04-27 09:44:08 +08:00
    总结:天书
    hwdef
        2
    hwdef  
       2022-04-27 09:46:48 +08:00
    感觉没必要强行上 rust ,,还是找到最适合它的地方。
    Akitora
        3
    Akitora  
       2022-04-27 09:47:11 +08:00
    主要是资料少吧,用 actix_web 想简单配置个过滤请求的中间件,怎么返回 403 都查了老半天
    Kilerd
        4
    Kilerd  
       2022-04-27 10:08:16 +08:00   ❤️ 3
    @Akitora rust 目前很多时候需要你知道 how to do, 而不是 what I need.

    新手和老手最大的问题在于: 新手完全不会看 docs.rs ,而老手认为 docs.rs 给出的信息已经足够丰富了,很多情况下不需要单独写 document 了,直接看 API 就可以了。

    举个例子,我做了一个 DateTime 的扩展库,加了一个 to_timestamp 的方法。 那么在 docs.rs 里面,我都告诉你 impl MyTrait for DateTime { fn to_timestamp()} 了,这已经很明显很明显了。 应该一眼就能看出来。 但是新手往往会问你,这个库要怎么用。
    一是,新手完全不会看 docs.rs
    二是,大部分新手还没搞懂 其他语言 class 和 interface 与 Rust 的 trait 的区别。没能扭过「 rust 可以直接在结构体上追加特性」的特性


    怎么阅读 TRPL ,docs.rscrates.rslibs.rs 可能俨然成为新时代下 Rust 新手的必备但是没人教的技能之一。
    cmdOptionKana
        5
    cmdOptionKana  
       2022-04-27 10:14:35 +08:00
    @Kilerd 当作一种筛选也不错,水平不到位的新手强行学 rust ,对谁都没有好处,就让高手 /老手去用 rust ,也许才是最好的归宿。
    Akitora
        6
    Akitora  
       2022-04-27 10:41:31 +08:00
    @Kilerd 当时翻了几遍这个库的 docs.rs ,只有提到修改请求没有怎么在中间件中断请求,最后还是从官方的 Discord 群组翻到的解决方法,不少人在问类似的问题
    ihciah
        7
    ihciah  
       2022-04-27 11:38:25 +08:00
    对于文档不全的 crate ,比起各种找 example 或接口说明,直接翻代码看实现有时候更快(
    encro
        8
    encro  
       2022-05-11 18:58:27 +08:00
    @Akitora

    axum 中间件相当简单。例子很多。。。
    wangm23456
        9
    wangm23456  
       2022-06-17 23:11:31 +08:00
    写了两个星期了,确实累,ide 里的编译器提示太多了 233333
    IIInsomnia
        10
    IIInsomnia  
       2023-03-07 17:09:06 +08:00
    [api-tpl-rs]( https://github.com/shenghui0779/api-tpl-rs) 非常适合新手,基本功能都有了
    leisifung
        11
    leisifung  
       231 天前
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1139 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 18:33 · PVG 02:33 · LAX 11:33 · JFK 14:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.