说点 Rust 入门的感受吧 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mm163
V2EX    Rust

说点 Rust 入门的感受吧

  •  
  •   mm163 2022-04-27 09:39:40 +08:00 5008 次点击
    这是一个创建于 1267 天前主题,其中的信息可能已经有所发展或是发生改变。
    算是强行入门 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   4
    @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  
       2023-08-10 09:55:00 +08:00
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4159 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 04:11 PVG 12:11 LAX 21:11 JFK 00:11
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86