cci497
码龄3年
关注
提问 私信
  • 博客:95,891
    问答:1,364
    97,255
    总访问量
  • 91
    原创
  • 16,146
    排名
  • 843
    粉丝
  • 0
    铁粉
  • 学习成就

个人简介:Why? What? Where? When? Who? How?

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:宁夏
  • 毕业院校: 北方民族大学
  • 加入CSDN时间: 2021-10-10
博客简介:

weixin_62799021的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    4
    当前总分
    758
    当月
    114
个人成就
  • 获得1,242次点赞
  • 内容获得25次评论
  • 获得1,055次收藏
  • 代码片获得1,404次分享
创作历程
  • 88篇
    2024年
  • 2篇
    2023年
  • 1篇
    2022年
成就勋章
TA的专栏
  • 后端
    54篇
  • 前端
    6篇
  • Linux
    23篇
  • bug
    2篇
兴趣领域 设置
  • 编程语言
    rust
  • 后端
    分布式
  • 服务器
    linux
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

183人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

报错expected enum`Result<_, InfraError>` found enum `Result<_, anyhow::Error>`:已解决

InfraErrorthiserror实现了标准库的适合编写库crate适合需要明确错误的应用明确错误类型定义复杂传播复杂(可能需要match或map_err传播)可读性差开发简单Web应用适合使用anyhow,复杂Web应用适合thiserror开发库crate适合thiserror混合使用容易造成混乱(可以相信自己但不能相信猪队友)两者结合使用容易导致应用复杂的例子,例如基础设施层返回InfraError,领域层转换为要做一层转换,到应用层还要转换一次;如果使用anyhow。
原创
发布博客 13 小时前 ·
173 阅读 ·
4 点赞 ·
0 评论 ·
5 收藏

Rust 建造者模式

在DDD中,DTO(数据传输对象)->BO(业务对象)、BO(业务对象)->PO(持久化对象,有的叫DO,即和数据表映射的实体)等等情况要做转换,这里提供以下转换方式。
原创
发布博客 昨天 17:00 ·
344 阅读 ·
3 点赞 ·
0 评论 ·
4 收藏

Rust整合openapi、swagger-ui

前后端分离开发中,接口需要规范化、标准化、文档化,这里使用utoipa。
原创
发布博客 前天 09:45 ·
251 阅读 ·
12 点赞 ·
0 评论 ·
2 收藏

Docker部署Minio

Docker部署最新版minio
原创
发布博客 前天 07:30 ·
157 阅读 ·
4 点赞 ·
0 评论 ·
4 收藏

Rust使用lettre发送邮件

Rust使用smtp发送邮件,使用邮件进行注册登陆时可以生成的验证码往redis里写一份,key设置为邮件名,设置过期时间为60s,注册登陆时与redis中的验证码比较即可。这里使用SMTP发送邮件,所以要开启SMTP,由于outlook需要付费,这里使用qq邮箱。生成授权码,这个授权码就是邮件发送者的密码。
原创
发布博客 2024.11.10 ·
496 阅读 ·
9 点赞 ·
0 评论 ·
3 收藏

报错error: failure removing component ‘rustfmt-preview-x86_64-pc-windows-msvc‘:已解决

报错error: failure removing component 'rustfmt-preview-x86_64-pc-windows-msvc'
原创
发布博客 2024.11.10 ·
269 阅读 ·
7 点赞 ·
0 评论 ·
4 收藏

yarn报错`warning ..\..\package.json: No license field`:已解决

出现这个报错有两个原因。
原创
发布博客 2024.11.07 ·
398 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

详解Rust标准库:BinaryHeap

大根堆(任一节点大于其子节点的值),每次更改堆结构都会重新维护为大根堆BinaryHeap定义。
原创
发布博客 2024.11.07 ·
817 阅读 ·
25 点赞 ·
0 评论 ·
10 收藏

详解Rust标准库:BTreeSet

B树第一个元素最小,最后一个元素最大BTreeSet定义// 使用BTreeMap来实现BTreeSet// SetValZST是一个特殊的值类型,它实际上是一个空的结构体(ZST,Zero - Sized Type)// A是分配器类型,用于管理BTreeMap内部的内存分配。
原创
发布博客 2024.11.07 ·
725 阅读 ·
7 点赞 ·
0 评论 ·
16 收藏

详解Rust标准库:HashSet

HashSet是一种集合数据结构,它只存储唯一的元素。它主要用于检查元素是否存在于集合中,或者对元素进行去重操作,两个键相等,则它们的哈希值必须相等HashSet定义// 默认哈希器为RandomState// 负责管理哈希表的存储和操作。它包含了哈希表的具体实现细节,如存储桶(buckets)、哈希函数、冲突解决策略。
原创
发布博客 2024.11.06 ·
957 阅读 ·
14 点赞 ·
0 评论 ·
16 收藏

详解Rust标准库:BTreeMap

B树也称B-树,注意不是减号,是一棵多路平衡查找树;理论上,二叉搜索树 (BST) 是最佳的选择排序映射,但是每次查找时层数越多I/O次数越多,B 树使每个节点都包含连续数组中的 B-1 到 2B-1 元素,可以减少树的高度,减少I/O次数BTreeMap定义// B 树的根节点// B 树映射中存储的键值对的数量// 分配器// PhantomData是一个零大小的类型,用于向编译器提供类型信息,但在运行时不占用任何空间。
原创
发布博客 2024.11.06 ·
510 阅读 ·
5 点赞 ·
0 评论 ·
10 收藏

详解Rust标准库:HashMap

哈希表又称散列表,是一种键 - 值()对的数据结构,也被称为关联数组或字典。它主要用于存储和快速检索基于特定键的数据这里使用:使用二次探测和 SIMD 查找实现的哈希映射HashMap定义// 指定hash器为RandomState// 实现了具体的哈希映射功能。
原创
发布博客 2024.11.05 ·
407 阅读 ·
8 点赞 ·
0 评论 ·
5 收藏

详解Rust标准库:LinkedList 链表

LinkedList节点定义// 下一个节点// 上一个节点// 当前节点值。
原创
发布博客 2024.11.05 ·
279 阅读 ·
16 点赞 ·
0 评论 ·
5 收藏

详解Rust标准库:VecDeque 队列

队列是遵循先入先出规则的线性数据结构,在内存中不一定连续VecDeque定义:可增长的环形缓冲区实现的双端队列// 队列头部在内部缓冲区中的索引位置// 当前队列中的元素数量// 管理内存分配和释放,确保有足够的空间来存储队列中的元素。
原创
发布博客 2024.11.04 ·
815 阅读 ·
12 点赞 ·
0 评论 ·
9 收藏

详解Rust标准库:Vec向量

Vec除了可以作为动态数组还可以模拟为一个栈,仅使用pushpop即可Vec默认分配在堆上,对于一个容量为4,有两个元素ab的向量内存布局如下vVec定义// 存储了动态数组的元素数据,并且根据需要可以动态地增长或收缩以容纳更多或更少的元素// 表示当前Vec中实际存储的元素数量RawVec:定义// 这是一个Unique类型的指针,指向分配的内存块中存储元素的起始位置。这个指针用于访问和操作存储在RawVec中的元素。
原创
发布博客 2024.11.04 ·
867 阅读 ·
23 点赞 ·
0 评论 ·
19 收藏

使用Debezium、Kafka实现Elasticsearch数据同步

能够监控各种数据库(如 MySQL、PostgreSQL、Oracle 等)的事务日志(如 MySQL 的 Binlog、PostgreSQL 的 WAL)。Debezium 将数据库中的数据更改事件(例如插入、更新、删除操作)转换为事件流消息,这些消息可以被发送到消息队列(通常是 Kafka)中。我们将所有pg.public.user的topic写入es中,貌似只能指定topic,不能用正则表达式,不过在使用过程中大概率只会将商品、日志等数据同步到es。
原创
发布博客 2024.10.29 ·
844 阅读 ·
24 点赞 ·
0 评论 ·
26 收藏

详解Rust标准库:迭代器

对迭代器中的元素进行累积计算,没有初始值(对于只有一个元素的迭代器将第一个元素作为初始值),依次应用一个函数,但可以在处理过程中返回错误。是迭代器中剩余元素数量的最大可能值。:映射,对迭代器中的每个元素映射一个函数,然后返回一个新的迭代器,新迭代器中的元素是原元素经过映射函数转换后的结果。:对迭代器中的每个元素映射一个函数,该映射函数返回一个迭代器,然后将这些迭代器的元素扁平化到一个新的迭代器中。:如果迭代器中的元素是元组,将其拆分为两个迭代器,一个包含元组的第一个元素,另一个包含元组的第二个元素。
原创
发布博客 2024.10.29 ·
1180 阅读 ·
19 点赞 ·
0 评论 ·
21 收藏

Rust整合Elasticsearch

同时指定先分词再根据词条过滤(如果不自定义分词器,默认将每个汉字单独分为拼音,所以先分词词条再进行拼音处理),其他设置见github仓库。如果搜索页数过深,或者结果集(from+size)越大,对内存和CPU的消耗越高,因此ES设定的查询上限是。docker部署一般用于开发,不要为难自己,使用token会有很多问题,生产环境再开,使用SSl需要证书。,默认true)、是否分词(参与搜索的字段,text分词,keyword、数据类型不分词)、分词器。
原创
发布博客 2024.10.28 ·
1635 阅读 ·
45 点赞 ·
0 评论 ·
41 收藏

Docker部署Kafka

为实现备份功能,保证某个节点发生故障时,该节点上的分区(Partition)数据不会丢失,且Kafka集群仍然能够继续工作。Kafka是一个开源的时间流处理平台,由Scala和Java编写,持久化本质是分布式事务日志架构的大规模发布订阅。ADVERTISED_LISTENERS必须设置外部连接Kafka broker的地址,本机开发设置为。Leader副本发生故障时,某个Follower副本会成为新的Leader副本,设置副本数量不能为0,也不能大于节点个数,否则不能创建Topic。
原创
发布博客 2024.10.28 ·
1317 阅读 ·
11 点赞 ·
0 评论 ·
9 收藏

Rust使用config加载Toml配置文件

前面提到用这里从配置文件中读取配置
原创
发布博客 2024.10.19 ·
621 阅读 ·
4 点赞 ·
0 评论 ·
5 收藏
加载更多