大象笔记 > 标签 > axum
2023-11-09 · 阅读 4028 · 字数 648
为何要尝试 axum 最近在看两本 Rust 的教程,一本在早上上厕所时看,一本在班车上看/睡觉前看。这两个作者确实经验丰富,文笔也非常有趣,比刷抖音愉快多了。是个很好的放松方式。 但是光看不练,学习效率就很低,所以决定一边看书,一边写点 Rust 代码巩固一下。 虽然我对于 Rust 还没有实现的项目用途,但可以写一点 web 小工具,毕竟每天实际工作中每天都会遇到一些繁琐的手动操作需要自动化。之前学习 golang 就是,练手写了一个微信小程序的后台,写完后感觉对 golang 就尽在掌握了。。。这个小程序至今已积累了 30 万用户,日活 2k,也非常有成就感。 axum 简介 axum ...
2023-11-09 · 阅读 3438 · 字数 962
要实现一个小的在线网页工具,最基本的功能就是能够返回一个 HTML form 表单, 让用户能填写数据,然后提交到 rust axum 后台,再将处理后的数据展示出来。 相对 PHP,Python,Go 的 web 框架,Rust 的 web 框架就晦涩很多,下面的示例如果换成其他语言, 在没有任何基础的情况下,估计一小时也能搞定,但是使用 rust axum 这个框架,我还是折腾了一晚上。 主要原因是: axum 的文档太简陋。如果不是 ChatGPT 帮助,我估计给我一天也搞不定。Google 也搜不到太多的资料。 rust 语法晦涩,需要具备大量的基础知识 下面示例实现了一些基本的使 ...
2023-12-20 · 阅读 7992 · 字数 331
一直想尝试一门不带 GC 的语言,无奈 C 和 C++ 对我来说实在没有应用场景,经典教程也偏远古,无法跟上最新的标准。而 Rust 看起来非常适合我上手,既有完善的包管理工具 Cargo,也有逐渐成熟的应用场景 (我能用到的),比如 GUI 和 Web Server。而且口碑极好。 于是我想从 Web 入手,边学边实现一些网页在线工具,在学习 Rust 的同时,也能解决一些自己的小痛点。对比了几个 Rust web 框架,最终选择了 axum,似乎用过的人都说好。 也许有人会说,写网页用 php,python,java, JS 就够了,为啥要用这么繁琐的 rust 语言。我非常认同 《Rus ...
2023-11-11 · 阅读 3260 · 字数 1273
askama 是什么 Askama implements a template rendering engine based on Jinja. It generates Rust code from your templates at compile time based on a user-defined struct to hold the template's context. askama 即一套模板系统,可以集成到 rust 项目中,并不局限于 axum 中,也不局限于 HTML,任何的模板使用场景都是可以的。 类似 golang 内置的模板系统,及 php laravel 中 ...
2023-12-02 · 阅读 2999 · 字数 589
这个周末不算忙,总算可以把一直没有上线的 Rust Axum 写的在线小工具发布了。 基本上跟 Golang Gin 的发布流程类似,本地编译好,scp 到服务器上。 然后配置好 systemd, nginx reload 就可以了。 比较省事的地方是 axum 默认会把模板文件打包到二进制文件中,不需要像 golang gin 一样增加额外配置代码。 第一个 Rust 小工具 Rust Axum 小工具: 中文标点替换成对应的英文标点符号 网页地址: https://www.sunzhongwei.com/tools3/replace-chinese-punctuation 编译优化 如果不 ...
2023-12-20 · 阅读 1755 · 字数 530
之前为了练手把所有的 Axum rust 代码都写在 main.rs 这一个主文件中。 随着功能的增多,发现几点不便: 代码行数过多,不方便查找指定功能的代码 不同功能的类似数据结构需要分别定义,为了避免重名,增加了功能名前缀,但是带来的影响是类型名过长,代码丑陋无比 新增功能时,复制/修改既有代码也不方便 目标 一个 Axum 项目中,有多个子功能,每个子功能在不同的文件中实现。 契机 正好在写枯燥无比的 Android 界面代码时,产生了一个小工具的需求, 即,将 Android 样式代码剥离出 styles.xml 文件,于是在写这个功能的时候, 就顺手将既有的 Axum 项目代码重 ...
生活 | 跑步 清单 足球 鲁班 探索 孤独的美食家 驾驶 电视剧 收纳 奶爸 健康 game 电影 周末 joke |
---|---|
Geek | 健身 Laravel Git Vim MySQL Linux UI Windows SVN 纪录片 管理 Shell 游记 工具 手机 BackboneJS 自建博客 Mac DNS Tornado CDN Django Python AngularJS 理财 前端 Nginx 爬虫 Redis Javascript Browser 浏览器 推广 OAuth CSS PHP Social Networks 安全 运维 创业 杂记 VueJS Android Image IDE Java ReactJS 数据分析 SQLite RESTful 读书笔记 家电 ecshop Vagrant wordpress docker SEO GTD magento mongodb nodejs weex 冷知识 ruby iOS 微信小程序 AI CMS 快应用 backpack 广告联盟 OA 短信 UWP Win CSharp Tampermonkey graphviz 钉钉 WPS 数据字典 微信公众号 Fuchsia Adobe XD SQL Server thinkphp 代码规范 商业模式 Flutter 头痛的问题 serverless 视频制作 国际化 golang 服务器 Kotlin 网站建设 5G 笔记本 图片 spark spring 物联网 InfluxDB 图像识别 postgre rust |
成长的烦恼 | 闲言碎语 待产 不睡觉 写作 程序员 孙心然语录 原则 大鸿语录 |
地球 | 植物 时间 中文 赚钱 国家地理 烟台 一生伏首拜阳明 emoji 弟子规 英文 国际贸易 |