随笔分类 -  Rust

摘要:Rust 中的 HashMap 实战指南:理解与优化技巧Rust 中的 HashMap 实战指南:理解与优化技巧 在 Rust 编程中,HashMap 是一个强大的键值对数据结构,广泛应用于数据统计、信息存储等场景。在本文中,我们将通过三个实际的代码示例,详细讲解 HashMap 的基本用法以及如何在真实项目中充分利用它。此外,我们还将探讨 Rust 的 阅读全文
posted @ 2024-10-09 19:51 寻月隐君 阅读(804) 评论(0) 推荐(0)
摘要:Rust学习之Diesel setup报错解决Diesel setup报错解决 Diesel 是一个安全、可扩展的Rust ORM 和查询生成器。 Diesel 是 Rust 中与数据库交互最高效的方式,因为它对查询进行了安全且可组合的抽象。 1. 报错信息 diesel_demo on  master [?] via 🦀 1.75.0 v 阅读全文
posted @ 2024-01-28 17:16 寻月隐君 阅读(84) 评论(0) 推荐(0)
摘要:Rust 所有权和 Move 语义Rust 所有权和 Move 语义 所有权和生命周期是 Rust 和其它编程语言的主要区别,也是 Rust 其它知识点的基础。 动态数组因为大小在编译期无法确定,所以放在堆上,并且在栈上有一个包含了长度和容量的胖指针指向堆上的内存。 恰到好处的限制,反而会释放无穷的创意和生产力。 Rust 所有权规 阅读全文
posted @ 2024-01-20 14:54 寻月隐君 阅读(163) 评论(0) 推荐(0)
摘要:# RUST 和 GO 如何管理它们的内存 ## Go 中的内存管理 Go 中的内存不会在缓存键被驱逐时立即释放。 相反,垃圾收集器会经常运行以发现任何没有引用的内存并释放它。 换句话说,内存会一直挂起,直到垃圾收集器可以评估它是否真正不再使用,而不是在不再需要时立即释放。 Go 必须付出的努力来找 阅读全文
posted @ 2023-08-24 18:33 寻月隐君 阅读(179) 评论(0) 推荐(0)
摘要:# 《Rust编程之道》学习笔记一 ## 序 ### Rust语言的主要特点 - 系统级语言 - 无GC - 基于LLVM - 内存安全 - 强类型+静态类型 - 混合编程范式 - 零成本抽象 - 线程安全 ### 程序员的快乐 何谓快乐?真正的快乐不仅仅是写代码时的“酸爽”,更应该是代码部署到生产 阅读全文
posted @ 2023-08-12 16:34 寻月隐君 阅读(300) 评论(0) 推荐(0)
摘要:# Rust语言 - 接口设计的建议之受约束(Constrained) - [Rust API 指南 GitHub](https://github.com/rust-lang/api-guidelines):https://github.com/rust-lang/api-guidelines - 阅读全文
posted @ 2023-06-21 09:53 寻月隐君 阅读(157) 评论(0) 推荐(0)
摘要:# Rust语言 - 接口设计的建议之显而易见(Obvious) - [Rust API 指南 GitHub](https://github.com/rust-lang/api-guidelines): - [Rust API 指南 中文](https://rust-chinese-translat 阅读全文
posted @ 2023-06-19 18:36 寻月隐君 阅读(157) 评论(0) 推荐(0)
摘要:# Rust - 接口设计建议之灵活(flexible) ## 灵活(flexible) ### 代码的契约(Contract) - 你写的代码包含契约 - 契约: - 要求:代码使用的限制 - 承诺:代码使用的保证 - 设计接口时(经验法则): - 避免施加不必要的限制,只做能够兑现的承诺 - 增 阅读全文
posted @ 2023-06-09 23:10 寻月隐君 阅读(124) 评论(0) 推荐(0)
摘要:# Rust - 接口设计建议之不意外(unsurprising) 书:Rust for Rustaceans ## Rust接口设计的原则(建议) - 四个原则: - 不意外(unsurprising) - 灵活(flexible) - 显而易见(obvious) - 受约束(constraine 阅读全文
posted @ 2023-06-08 17:34 寻月隐君 阅读(167) 评论(0) 推荐(0)
摘要:# Rust Web 全栈开发之发布 ## 发布 ### 第一种方法: WebAssembly不可以 ```bash cargo build --workspace ``` ### 第二种方法:分别对3个项目进行构建 #### 构建 webservice ```bash ws on  main v 阅读全文
posted @ 2023-06-04 21:31 寻月隐君 阅读(179) 评论(0) 推荐(0)
摘要:# Rust Web 全栈开发之编写 WebAssembly 应用 MDN Web Docs: 官网: ## 项目结构 和 功能 **Web App 教师注册 WebService WebAssembly App 课程管理** ## 什么是 WebAssembly - WebAssembly 是一种 阅读全文
posted @ 2023-06-04 14:36 寻月隐君 阅读(1738) 评论(0) 推荐(0)
摘要:# Rust Web 全栈开发之编写服务器端 Web 应用 ## 项目结构 和 功能 Web App 教师注册 Web Service ## 主要技术 - 模板引擎: Tera ### 创建项目 ```bash ws on  main via 🦀 1.67.1 via 🅒 base ➜ car 阅读全文
posted @ 2023-06-03 13:34 寻月隐君 阅读(314) 评论(0) 推荐(0)
摘要:# Rust Web 全栈开发之增加教师管理功能 ## 增加教师管理功能 ### 目标 #### Actix HTTP Server #### Actix App - Routes - GET /teachers - GET / teachers /{teacher_id} - POST /teac 阅读全文
posted @ 2023-06-02 18:57 寻月隐君 阅读(118) 评论(0) 推荐(0)
摘要:# Rust Web 全栈开发之增加字段和重构 ## 增加字段和重构 ### 现状 ![](https://raw.githubusercontent.com/qiaopengjun5162/blogpicgo/master/img/202305311714093.png) ![](https:// 阅读全文
posted @ 2023-06-01 19:13 寻月隐君 阅读(71) 评论(0) 推荐(0)
摘要:# Rust Web 全栈开发之 Web Service 中的错误处理 ## Web Service 中的统一错误处理 ### Actix Web Service 自定义错误类型 -> 自定义错误转为 HTTP Response - 数据库 - 数据库错误 - 串行化 - serde 错误 - I/ 阅读全文
posted @ 2023-05-31 09:24 寻月隐君 阅读(263) 评论(0) 推荐(0)
摘要:# Rust Web 全栈开发之在 Web 项目中使用数据库 ### 目录 ```bash ws on  master [?] via 🦀 1.67.1 via 🅒 base ➜ tree -a -I target . ├── .git ├── .gitignore ├── Cargo.loc 阅读全文
posted @ 2023-05-29 23:56 寻月隐君 阅读(182) 评论(0) 推荐(0)
摘要:# Rust Web 全栈开发之连接数据库 ### 需要使用的 crate 和 数据库 - sqlx, v0.5.10 - PostgreSQL ### 创建项目 ```bash ~/rust via 🅒 base ➜ cargo new db Created binary (applicatio 阅读全文
posted @ 2023-05-28 22:55 寻月隐君 阅读(284) 评论(0) 推荐(0)
摘要:# Rust Web 全栈开发之 Actix 尝鲜并构建REST API ## 一、Actix 尝鲜 ### 需要使用的crate - actix-web v4.3.1 - actix-rt v2.8.0 ```bash ~ via 🅒 base ➜ cd rust ~/rust via 🅒 b 阅读全文
posted @ 2023-05-28 19:42 寻月隐君 阅读(1729) 评论(2) 推荐(0)
摘要:# Rust Web 全栈开发之自建TCP、HTTP Server ## 课程简介 ### 预备知识 - Rust 编程语言入门 - https://www.bilibili.com/video/BV1hp4y1k7SV ### 课程主要内容 - WebService - 服务器端Web App - 阅读全文
posted @ 2023-05-28 10:57 寻月隐君 阅读(1247) 评论(0) 推荐(2)
摘要:# Rust Tips 比较数值 ### 内容 - 比较与类型转换 - 浮点类型比较 ### 可以用这些运算符比较数值 `> = <=` ### 无法比较不同类型的值 ```rust fn main() { let a: i32 = 10; let b: u16 = 100; if a < b { 阅读全文
posted @ 2023-05-27 12:17 寻月隐君 阅读(234) 评论(0) 推荐(0)