写作绅士,读作丧尸 X岛揭示板
顺猴者昌 逆猴者亡 首页版规 |用户系统 |移动客户端下载 | 丧尸路标 | | 常用图串及路标 | 请关注 公众号:【矛盾苇草】| 人,是会思考的芦苇
常用串:·豆知识·跑团板聊天室·公告汇总串·X岛路标

No.66424192 - 无标题 - 技术宅


回应模式
No.66424192
名 称
E-mail
标题
颜文字
正文
附加图片
•程序语言、压制投稿、视频制作以及各计算机领域的技术问题
•我觉得还是CSDN靠谱一点
•本版发文间隔为15秒。

无标题 无名氏 2025-06-25(三)22:31:00 ID:zloB12e [举报] [订阅] [只看PO] No.66424192 [回应] 管理
rust学习串。

大专毕业打螺丝中,对编程有兴趣,所以这是一个自学串。

为什么是rust呢,其实我筛选了一下,学完之后起点比较高、热度不至于太低的语言,就是cpp和rust。(用过一些java写的软件,太吃内存,所以没啥好感。c#和微软捆绑太深,而且也没打算做游戏。js,go,kotlin挺不错的,对应不同的应用领域,摸熟rust后会去试试的)

cpp对我而言太复杂啦,就决定是rust了。
它揉了很多现代化的设计,可以有一个比较全面的了解,而且tauri对我的吸引力还蛮高的(之前也粗略入门过vue3和tailwind css)。

其实到现在已经学了一个多月,学到第十七章(async和await),看的是官方文档的中文翻译和b站软件工艺师的视频。

目前感觉最困难的是第十章(泛型、trait、生命周期)和第十五章(智能指针),在这两章卡的最久。
无标题 无名氏 2025-07-08(二)21:19:12 ID:zloB12e (PO主) [举报] No.66521690 管理
《认知的错觉》这书,30字能清晰讲完的他能多水600字,还能再插入几个千字的无聊小故事。
每个段落之间的逻辑更是难以摸索。一段七八百字,有时候在段落中央才能找到这一段想说啥,有时候根本找不到。
不知道是翻译不行还是作者本来就废话连篇。。。几个小时下来愣是只看了十分之一的内容。
无标题 无名氏 2025-07-08(二)21:30:43 ID:zloB12e (PO主) [举报] No.66521855 管理
>>No.66521690
放弃通读整本了,就作为资料书和《思考,快与慢》相互印证吧。
《思考,快与慢》的内容结构非常清楚,里面的例子也比较有趣,而且讲的内容也更多。
无标题 无名氏 2025-07-22(二)20:59:49 ID:zloB12e (PO主) [举报] No.66643220 管理
我回来了。
这两周书没看多少,番剧倒是看了好多(つд⊂)
不过因为较往年更加特殊的特殊时期,所以网络不太行,非常影响我追番,我目前的解决方法是使用ani-rss自动下载到nas后观看。

另一个方法倒是和我之前想做的练手项目重复了,就是自己搓一个订阅转换的程序,目前已经开始动工,进度比新建文件夹要快一点吧。

设想里的完全体应该是用web界面操作的,鉴于我还没完成vue3的入门甚至还忘了很多,所以完全体还处于一个可望而不可即的状态。

幻肢的步子迈太大,导致用了两三天时间尝试入门axum和sea-orm,由于这两一个没有友好的文档,一个是数据库相关的顶层框架,进度?哪有进度,只有尸体。

考虑到axum的极简用法尚且满足开发所需,故保留web的梦想,但orm就换成rusqlite吧。
无标题 无名氏 2025-07-25(五)14:31:06 ID:zloB12e (PO主) [举报] No.66669308 管理
同步和异步放一起果然有问题,所以把rusqlite换成sqlx了。

用这些rs库实在有点难,要跟个侦探似的沿着线索寻找使用方法。不过这种推理的难度比某些傻逼解密游戏和傻逼推理小说好多了,不用跟作者的傻逼脑回路对电波,沿着字面意思的关键字去找就行了,这才是现实嘛。
无标题 无名氏 2025-08-05(二)16:41:05 ID:zloB12e (PO主) [举报] No.66748611 管理
axum跑起来了,数据库的表结构也设计好了,数据库操作函数也写好了,目前卡在登录接口和鉴权中间件。

虽然都准备用最简单的方法实现,全用axum现有的东西,但还是卡住了。本人没有经验基础是原因之一,更主要的是官方例程的代码看不太懂(还有那所谓的文档根本不适合我这种小白),目前只能借助AI一点点磨。

等这俩部分完事了,后续的应该就比较顺利了,后端完成后打算捡起vue3复习一下,糊一下前端。

汇报完毕。
无标题 无名氏 2025-08-09(六)19:26:22 ID:zloB12e (PO主) [举报] No.66776769 管理
把代码拆分了多个文件,但每个文件都要重复use或者被use很多次,人都傻了,是我的拆的方法不对吗。。
无标题 无名氏 2025-08-19(二)10:36:45 ID:zloB12e (PO主) [举报] No.66843823 管理
上周买了台二手ThinkPad x13 gen1,在折腾arch linux和hyprland,所以rust没有进度。昨天整了个kde,hyprland暂时搁置了,但突然又想整个电吉他玩玩。感觉自己像在逃避使用rust,说不定还真是这样 (´゚Д゚`)
不行,这几天一定把后端完成,到时候还想玩电吉他的话就整一个。
无标题 无名氏 2025-08-19(二)23:26:56 ID:zloB12e (PO主) [举报] No.66850683 管理
进度比想象的快,花一个多小时就把之前留下的一堆问题解决了,编译通过。
各种结构体,鉴权中间件,登录接口,数据库操作函数都有了,这一过程里踩的最多的坑依然是axum的。回顾了一下,这个项目不光用了rust,还在自己连rust入门都不知道算不算的基础上开始用文档极不友好的axum,不禁感慨自己处处踩大坑,处处走最弯的路,这一过程中偶尔想到golang时嘴角都是湿湿的。
不过接下来开始实现具体功能时大概会比之前顺利得多。
无标题 无名氏 2025-08-19(二)23:57:21 ID:zloB12e (PO主) [举报] No.66850957 管理
用apipost梳理了一下接口,对数据库也做了点变动,代码留着明天改。
下工,看一集番剧就该睡觉了。
无标题 无名氏 2025-08-20(三)12:55:05 ID:kQtCkaX [举报] No.66853894 管理
hyprland可以考虑用别人的dotfiles
美观配置的话要看要改的实在太多,比手动安装arch牢一万倍()

我用的是HyDE,唯一的缺点是很多功能是py脚本写的,所以会带一个py环境,可能跟某些应用冲突
无标题 无名氏 2025-08-20(三)20:18:33 ID:zloB12e (PO主) [举报] No.66857577 管理
>>No.66853894
感谢肥哥提醒,那我就不自己搞了。
别的我不懂,但Python环境如果是虚拟的那就可以放心用,不会污染系统的python。
无标题 无名氏 2025-08-21(四)00:58:09 ID:zloB12e (PO主) [举报] No.66859656 管理
在写正式的功能代码前又对数据库做了变动。改动有点大,对应的函数代码的修改量也挺大,好在deepseek一下子就圆满完成了任务,今天又可以睡个好觉了。

对了,我看了一些电吉他的演奏,发现它是顶替了歌曲中人声的部分,在我听起来有点哗众取宠的意思,失真的音色我也不太喜欢,到头来发现确实只是一时冲动。
今后考虑这种动辄好几年的大投入爱好必须慎重了。既然现在选择了敲代码作为爱好,而且可以确定这是我喜欢的,那就必须坚持再坚持,尽量不要让时间分流也是关键之一。
无标题 无名氏 2025-08-21(四)12:24:39 ID:YdWBvB8 [举报] No.66861573 管理
>>No.66850683
不是axum文档不友好,而是axum是在tower基础上构建的,axum里面一笔带过的(尤其是中间件部分)其实应该去看tower文档。
无标题 无名氏 2025-08-21(四)13:17:18 ID:zloB12e (PO主) [举报] No.66861841 管理
>>No.66861573
感谢肥哥回复。
我是小白,所以才会觉得官方的文档没啥用,多而杂。后来是找到一个中文博主发的零碎文档,虽然内容不多也没有写很多思路也不系统,但给我有用多了。
我是真第一次写后端,多而杂且不解释的文档真要命了(不只是axum,整个rs生态目前大部分都这样),不过有这次经验之后应该会好很多。
另一个buff是,这是第一次写rs代码,把理论转化为实践也同样要命,所以会觉得比较艰难。
tower的东西我没用上,因为被整怕了。而且以目前的情况来看,再学个框架这种事情怕是压垮骆驼的最后一根稻草,自己搓个简单的应付应付得了 ( ゚∀。)
无标题 无名氏 2025-08-21(四)13:34:17 ID:zloB12e (PO主) [举报] No.66861908 管理
对接口压测了一下,发现单线程压测错误率0%,但并发压测错误率飙升到99%,于是估摸着是连接池写寄了。
试着配置好最大会话数,遇锁等待和WAL模式,一下子就舒服了。这接口的操作都是读的,从测试结果来看(最高延迟和最低延迟相差16ms),起作用的应该是会话数和遇锁等待这两项。解决问题期间还出了个小乌龙,也是觉得自己挺好笑的。

晚上继续折腾。
无标题 无名氏 2025-08-21(四)22:59:35 ID:YdWBvB8 [举报] No.66865917 管理
>>No.66861841
这个确实,尤其是这种大型的库,文档用词过于严谨,还经常忽略或者一笔带过大家认为的“常识”。可能不但要求你有rust经验,还需要更多的通用编程概念和计算机基础知识...

另外rust库如果觉得文档太难绷的话(尤其是一些比较小的库作者可能根本懒得写文档),可以去找到项目对应的github仓库看源码,一般主要是看examples文件夹(只要是库一般都会用,没有的话说明这库代码质量也不咋的了),可以快速了解基本用法而不用关心内部实现和原理。如果没有examples还可以去看单元测试和集成测试的代码,虽然那个很难起到example的作用,不过起码能看看各种东西预期的使用场景。
无标题 无名氏 2025-08-22(五)20:01:55 ID:zloB12e (PO主) [举报] No.66872370 管理
>>No.66865917
谢谢肥哥建议。example尝试看过,但知其然,不知其所以然,云里雾里的对我现阶段没啥帮助。
目前找到的路径是让AI写一个开头,哪里报错或者看不懂就多想想,没头绪就看看文档或者继续问ai。自己往下写,有啥想法也会先问AI看能不能实现这样子。
无标题 无名氏 2025-08-25(一)17:01:09 ID:fkLhfx0 [举报] No.66892914 管理
肥宝你最近学得怎么样了?本肥也是对rust心动,想用rust撸一个web api(CURD仔的最终宿命就是用所有语言写一遍web api
无标题 无名氏 2025-08-25(一)18:08:19 ID:zloB12e (PO主) [举报] No.66893397 管理
>>No.66892914
这几天在了解http请求的知识,研究apipost咋用 (`・ω・)
其实axum和rs已经差不多用习惯了,之后大多都是照葫芦画瓢,有报错就改改,没思路就问ai。虽然写的代码挺不健全的,错误处理几乎不存在,但小肥我知足了。
数据库方面,sqlx可以直接执行sql语句,自由度很高。也可以用sea-orm,有相关经验都可以很快上手。

UP主: