自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

编码浪子的专栏

一个热爱编码,热爱生活的技术从业者

  • 博客(43)
  • 资源 (5)
  • 收藏
  • 关注

原创 构建一个rust生产应用读书笔记四(实战1)

这段代码通过表驱动测试的方法,验证了一个 HTTP API 在接收到缺少必要数据的请求时是否会正确返回 400 Bad Request 状态码。每个测试用例都包含一个无效的请求体和一个描述性的错误信息,以便在断言失败时提供详细的错误提示。虽然并没有覆盖到所有的测试用例,但是这种测试方法不仅提高了代码的可读性和可维护性,还确保了 API 的健壮性。假设数据是通过HTML表单收集的,并通过POST请求传递给后端API,表单数据的编码方式可以选择。这是最常见的表单数据编码方式,适用于大多数简单的表单提交场景。

2024-12-13 16:27:38 764

原创 GBT32960 协议编解码器的设计与实现

通过合理的架构设计和细致的实现,我们实现了一个既高效又可靠的 GBT32960 协议编解码器。严格遵循协议规范健壮的粘包处理完善的错误处理全面的测试覆盖这个实现不仅保证了协议的正确性,也为上层应用提供了一个稳定的基础。

2025-03-04 21:45:30 542

原创 基于 Rust 与 GBT32960 规范的编解码层

1. 完整的帧解析逻辑:- 起始符验证,根据接口协议验证是否0x23开头- 命令标识和应答标志解析- VIN码解析,vin码17个字节长度- 加密方式解析,读取加密方式,测试的时候可以先不使用,上生产环境后要打开- 数据单元长度解析,表示数据payload的总长度- 数据单元提取- 校验和验证2. 数据完整性检查:- 最小帧长度检查- 完整数据长度检查- 校验和验证3. 添加了单元测试:- 测试有效帧的解码- 测试校验和错误的情况。

2025-03-03 22:33:52 604

原创 基于 Rust 与 GBT32960 规范构建高并发、高可用、高扩展服务端程序

该服务端架构依托 Rust 语言搭建,严格遵循 GBT32960 规范,致力于为复杂应用场景提供优质的数据交互与命令处理服务。其功能架构分为数据解析层、命令处理层、并发控制层、故障应对层和扩展适配层。数据解析层凭借 Rust 的模式匹配与结构体定义,精准解析规范中的数据格式,对规范细节的准确把握及解析算法的优化是高效处理高并发数据的关键。命令处理层依据规范,借助函数映射或状态机,关联不同命令与处理逻辑,确保处理逻辑的正确完整以及妥善应对异常是核心要求。

2025-03-03 15:27:52 1285

原创 Transformer的linear和softmax

线性层:将解码器的高维输出简化为一个与词汇表大小相同的低维向量,每个位置上的值代表对应词汇的可能性得分。Softmax函数:将这些得分转换成概率值,使得我们可以明确知道每个词汇被选中的可能性。这样一来,模型不仅能确定最有可能的下一个词,还能理解其他候选词的选择概率,从而更加灵活和智能地生成文本。

2025-01-21 10:30:31 1027

原创 Transformer解码器工作流程

通过上述步骤,Transformer的解码器有效地利用编码器提供的信息来生成新的句子。词汇嵌入与位置编码:将每个单词转换为包含其意义和位置的向量。掩码多头自注意力机制:处理目标序列,确保模型不会提前看到未来的词。编码器-解码器注意力:结合编码器的记忆,理解源序列的信息。前馈神经网络:对信息进行进一步的数学处理,捕捉更复杂的模式。残差连接与层归一化:确保信息顺利流动,并保持稳定性和一致性。堆叠多个解码器层:逐步提炼出更高级别的特征表示,最终生成目标句子。

2025-01-21 10:12:17 942

原创 Transformer的编码机制

通过上述步骤,Transformer的编码器有效地捕捉了输入序列中的丰富信息。词汇嵌入与位置编码:将每个单词转换为包含其意义和位置的向量。多头自注意力机制:理解每个单词与其他单词之间的关系。前馈神经网络:对信息进行进一步的数学处理,捕捉更复杂的模式。残差连接与层归一化:确保信息顺利流动,并保持稳定性和一致性。堆叠多个编码器层:逐步提炼出更高级别的特征表示。这样,编码器不仅能理解每个单词的意义,还能捕捉它们之间的复杂关系,从而为后续的任务(如翻译、文本生成等)提供强有力的支持。

2025-01-21 09:34:38 1520

原创 Transformer中的分词embedding和位置编码embedding

分词嵌入是指将文本中的每个词汇转换为一个固定维度的向量表示。这个过程通过查找表(lookup table)完成,其中每个词汇对应于一个唯一的向量。这些向量通常是在训练过程中学习到的,因此能够捕捉词汇之间的语义关系。由于Transformer模型没有内置的顺序信息处理机制(如RNN中的时间步),位置编码用于为输入序列添加位置信息。位置编码使得模型能够理解词汇的相对或绝对位置,从而有助于处理序列任务。分词嵌入:将文本中的每个词汇转换为固定维度的向量表示,捕捉词汇的语义信息。位置编码。

2025-01-21 09:04:00 950

原创 构建一个rust生产应用读书笔记7-确认邮件4

关于的添加,确实不需要三个步骤。:首先,你可以创建一个新的迁移脚本,在这个脚本中定义表结构,并将其应用到数据库中。在这一阶段,当前的应用程序代码仍然不会使用这个新的表。这样做的好处是可以在不影响现有功能的情况下安全地更新数据库结构。:一旦数据库已经更新完毕,就可以部署一个新版本的应用程序,该版本会开始使用表来实现订阅确认邮件等功能。

2025-01-13 11:50:00 905

原创 进军AI大模型-Langchain程序部署

把ai部署后,使用api的方式调用

2025-01-03 07:19:28 494

原创 进军AI大模型-整合开发流程

如果只是简单的大语言模型,这几步确实够用了,但是想要把大语言模型做的优秀,还需要agent、rag等组件的支撑

2024-12-31 16:07:43 350

原创 构建一个rust生产应用读书笔记7-确认邮件3

在什么情况下触发邮件发送(如用户注册、密码重置等)。邮件的内容格式(包括主题、正文、签名等)。收件人的信息来源(从数据库中获取还是其他方式)。是否有特殊的业务逻辑需要考虑(如个性化内容、多语言支持等)。书中的第七章内容比较多,这周调代码好了好长时间,下一节就记录我代码重构的过程吧。

2024-12-31 15:13:03 1053

原创 进军AI大模型-环境配置

合法上网工具:这个T子试试,一直稳定。走我链接免费用5天:python版本: python3.12Langchain:v0.3 9月16日升级的版本pip3 设置成阿里云的源镜像(能够快速下载依赖包)langchain安装检查是否安装成功。

2024-12-28 21:46:28 612

原创 Springboot3国际化

Spring Boot 3 提供了强大的国际化支持,使得应用程序可以根据用户的语言和区域偏好适配不同的语言和地区需求。国际化资源文件通常放在可以通过在或或者在配置类中定义在代码中可以通过来获取国际化消息。例如,在控制器中根据请求参数确定语言环境并获取对应的消息。如果使用 Thymeleaf 作为模板引擎,可以在模板中直接使用国际化消息。需要确保在中启用了国际化支持,并且在模板中使用#{}表达式引用消息键。Spring Boot 提供了来自动检测和设置客户端的语言环境。可以使用或自定义的。

2024-12-26 23:14:32 748

原创 企业架构学习笔记-数字化转型

随着企业信息化进程的不断推进,IT部门的角色和面临的挑战也在发生显著变化。在信息化建设的初级阶段,确实存在IT部门需要积极引导和说服业务部门重视信息技术价值的情况。当时,通过展示成功案例、强调技术对效率提升的重要性等方式,IT部门努力让管理层和其他部门认识到其工作对企业整体发展的关键作用。然而,当大部分企业逐步进入信息化成熟期后,业务部门已经开始深刻体会到IT带来的便利与效率提升,不再需要过多地进行启蒙教育。

2024-12-26 20:42:27 996

原创 Springboot多线程优雅实践

Async在使用 SpringBoot 开发多线程应用程序时,遵循最佳实践可以确保应用的高效性、可维护性和稳定性。

2024-12-25 13:41:55 615

原创 企业架构导论

我们做企业架构,会开展一系列的业务工程、应用工程、数据工程、平台工程,这些任务需要强管控。你不能跑偏,跑偏我就白规划了。因为我这个架构所代表能力规划,是实现能力优化价值最大化的一个最小的成本的策略。你要是随便跑偏了,那我这儿所追求能力建设、降本增效、提质转型这条道路那白扯了。所以我这是控得住。所以一个前提那一个前提准备阶段达成能力的选型。明白各位,然后是做评估、绘蓝图、强管控,四个阶段的基本路线,四个阶段基本都需要执行。

2024-12-25 11:06:07 1247

原创 SpringBoot状态机

Spring Boot 状态机(State Machine)是 Spring Framework 提供的一种用于实现复杂业务逻辑的状态管理工具。它基于有限状态机(Finite State Machine, FSM)的概念,允许开发者定义一组状态、事件以及它们之间的转换规则。这在处理具有多个步骤或条件的工作流时特别有用。

2024-12-24 15:29:17 1145

原创 构建一个rust生产应用读书笔记7-确认邮件2

当每个集成测试文件都是一个独立的可执行文件时,共享测试辅助函数的一种常见方法是创建一个单独的模块,该模块可以被所有测试文件导入和使用。这个模块通常包含所有测试需要共用的辅助函数、常量、配置和其他资源。

2024-12-24 14:49:39 1244

原创 Springboot高并发乐观锁

需要为 Spring Retry 配置适当的重试策略,包括最大重试次数、等待间隔等参数。同时,应该考虑何时停止重试,比如当达到最大重试次数或者超过某个时间限制时。

2024-12-23 22:38:49 1140

原创 构建一个rust生产应用读书笔记7-Mock编码浪子

编写单元测试是确保代码质量、稳定性和可维护性的关键步骤,尤其是在采用测试驱动开发(TDD)方法时。对于组件的测试,我们确实应该从小处着手,先保证组件本身的功能正确无误,然后再逐步集成到更大的系统中。这不仅可以提高我们的信心,还能简化调试和问题定位。

2024-12-23 10:48:14 1070

原创 Springboot3声明式客户端

Spring Framework 6 和 Spring Boot 3 引入了一些新的特性和改进,以简化 HTTP API 的消费。它允许开发者通过声明式接口来定义对外部 HTTP API 的调用。其中开发者只需要定义接口和方法签名,而具体的实现细节由框架自动生成。这个特性通常被称为 "声明式 REST 客户端" 或者 "Feign 客户端"(如果使用的是 Netflix Feign 库),在 Spring 生态中也得到了支持。

2024-12-23 09:44:14 907

原创 Springboo 和ORM整合

MyBatis 是一个持久层框架,它简化了 Java 应用程序与数据库之间的交互。通过 MyBatis,开发者可以专注于 SQL 语句的编写,而不需要处理繁琐的 JDBC 代码。

2024-12-20 11:40:03 929

原创 devops和ICCID简介

GitLab CI/CD 是一个强大且灵活的平台,它不仅简化了 CI/CD 流水线的设置,还促进了团队间的协作和项目的快速迭代。通过充分利用 GitLab CI/CD 的功能,团队可以显著提高软件开发和发布的效率,同时保证高质量的应用程序交付。

2024-12-19 20:45:11 406

原创 构建一个rust生产应用读书笔记7-确认邮件1

亲爱的读者们,在前一章中,我们介绍了对新订阅者的电子邮件地址的验证——它们必须符合电子邮件格式。现在我们拥有的电子邮件虽然在语法上是有效的,但我们仍然不确定这些邮箱是否真的存在:有人实际使用这些电子邮件地址吗?它们可以接收到邮件吗?我们无法确定,而唯一的方法就是发送一封真正的确认邮件。

2024-12-19 08:58:06 802

原创 构建一个rust生产应用读书笔记6-拒绝无效订阅者02

根据DDD的原则,定义清晰的边界上下文(Bounded Contexts)。每个上下文应该封装一个独立的业务领域,并且有明确的接口与其他上下文交互。这样可以帮助保持各部分的分离,减少耦合。确实,验证POST请求中路径下的有效负载(payload)中的电子邮件地址是否符合预期格式只是确保数据质量的第一步。如你所提到的,即使一个电子邮件地址在语法上是有效的,我们仍然无法确定该地址是否实际存在、被使用或可以接收邮件。为了进一步确认电子邮件地址的有效性和可达性,发送一封确认邮件是一种常见且有效的做法。

2024-12-18 08:56:05 1327

原创 构建一个rust生产应用读书笔记6-拒绝无效订阅者01

rust是一门不太容易掌握的语言,在实际学习过程中遇到了很多问题,很不可思议。不过大多数情况下都可以在网上找到答案,希望正在学习的朋友们不要放弃。

2024-12-17 09:04:48 1258

原创 Springboot3 mock和监控

spring官方的文档Spring Boot Actuator 的核心是其提供的多个端点,每个端点都专注于提供特定类型的信息或执行特定的操作。:此端点用于报告应用的健康状态。它可以配置以包含更多细节,如数据库连接状态等,有助于快速评估系统是否正常工作。:该端点返回有关应用程序的一般信息,这些信息可以由开发者自定义,例如应用版本、构建时间等,便于了解部署的应用版本等信息。:列出所有当前上下文中注册的 Spring Beans,包括它们的属性和依赖关系,对于调试和理解应用结构非常有用。

2024-12-16 16:48:47 927

原创 构建一个rust生产应用读书笔记四(实战6)

本节我们开始使用tracing来记录日志,实际上在生产环境中,更推荐使用tracing作为日志记录的首先,它提供了更丰富的上下文信息和结构化日志记录功能。tracing不仅可以记录日志信息,还可以跟踪函数调用、异步任务等,适用于复杂的分布式系统和。

2024-12-16 07:00:35 1318

原创 Springboot3.x配置类(Configuration)和单元测试

配置类在Spring Boot框架中扮演着关键角色,它使开发者能够利用Java代码定义Bean、设定属性及调整其他Spring相关设置,取代了早期版本中依赖的XML配置文件。解析配置文件下面的这个Bean映射到application.yml 中的app:config:xxx的配置UploadTools.javaAppConfiguration.java关键点解析 @Configuration:标记该类是一个配置类,其中的方法可以用 注解来定义Spring容器管理的bean

2024-12-15 18:47:05 1344

原创 构建一个rust生产应用读书笔记四(实战5)

这一节比较简单,主要学习了日志的级别,和项目中如何使用,日志在整个项目的开发周期都起着至关重要的作用,同时也希望在学习和工作当中把重要的信息都记录到日志注:各位亲爱的小伙伴们,今年是我从事软件行业的第20年,通过博客记录的方式将我知道的、理解的、有帮助的都分享给大家。同时,也提供就业指导,专业简历优化服务。你们的支持是我最大的动力。

2024-12-15 09:05:58 826

原创 Springboot3.x 进阶-配置和序列化

Spring Boot 应用程序以其灵活和强大的配置机制而著称,其中配置文件扮演着不可或缺的角色。

2024-12-14 16:55:11 657

原创 构建一个rust生产应用读书笔记四(实战4)

上一节我们已经将数据的基本配置完成,这一节我们继续完成邮件订阅功能的开发,这两天按照书中的代码编写终于调试成功了,把这其中遇到的问题总结记录下来。

2024-12-14 16:34:34 752

原创 Springboot3.x 进阶-拦截器

在Spring Boot 3中,拦截器(Interceptor)是框架内一个至关重要的组件,旨在请求处理的过程中提供一种机制来执行预处理和后处理逻辑。通过拦截器,开发人员可以在请求抵达控制器之前或之后插入特定的逻辑代码段,这使得它成为实现诸如用户认证、日志记录、性能分析等功能的理想选择。首先,你需要创建一个类来实现接口或继承(注意:从Spring Framework 5.3开始,已被标记为过时,并将在未来的版本中移除)。实现接口是推荐的方式。:此方法在控制器处理请求之前调用。

2024-12-14 08:57:00 1125

原创 构建一个rust生产应用读书笔记四(实战3)

从这一节开始,我们将继续完善邮件订阅生产级应用,根据作者的选型sqlx作为数据库操作的类库,它有如下优点:它旨在提供高效、安全且易于使用的数据库交互体验。 支持多种数据库,包括 PostgreSQL、MySQL 和 SQLite,并且通过异步 I/O 提供了高性能的数据访问能力。(如果实在不理解,就当做JDBC吧)sqlx 利用了 Rust 的异步/等待(async/await)特性,允许你编写非阻塞的数据库操作代码,这对于高并发的应用尤其有用。类型安全: 提供了编译时的类型检查,确保查询语句中的列名和表名

2024-12-14 08:45:52 868

原创 构建一个rust生产应用读书笔记四(实战2)

此门课程学习采用actix-web框架完成一个生产级别的rust应用,在actix-web中,Extractors是一个非常重要的概念,它们用于从传入的 HTTP 请求中提取特定的信息片段。actix-web提供了多种内置的提取器,以满足常见的使用场景。说白了,就是。

2024-12-13 22:15:20 1027

原创 Springboot3.0启航

此工程结构只是通用的展示方式,实际上的工程目录结构可以根据实际项目调整,并不是一蹴而就。此外,是Spring Boot应用程序的入口点,它包含注解,用于标记主配置类,并启用自动配置特性。 类声明与注解:这里定义了一个公共类,并用注解标记。这个注解实际上包含以下三个注解的功能: :将类标记为配置类,允许使用Java代码替代传统的XML配置文件来定义Bean。 :启用Spring Boot的自动配置机制,根据类路径中的依赖关系自动配置Spring应用程序。 :自动扫描并注册带有@Com

2024-12-13 11:33:00 1137

原创 从Jdk9到Jdk17

私有方法使用private修饰符声明,并且必须提供具体实现。// 默认方法// 调用私有方法// 静态方法// 调用私有静态方法// 私有方法// 私有静态方法。

2024-12-13 09:45:23 602

原创 构建一个rust生产应用读书笔记三(代码改进)

如果端口号未指定,可以选择一个随机可用的端口。这样可以避免端口冲突问题,确保测试的稳定性和。关键字应该去掉,接下来即将开始学习开发邮件接收的第一个迭代了,先休息一下吧。run函数里面传入TcpListener,里面使用listen监听。为了确保测试能够在随机可用的端口上运行,我们需要对。运行测试,OK,spawn_app 函数不需要使用。,从而实现更灵活的端口管理。来绑定一个随机可用的端口,然后将这个。函数进行一些修改,使其接受一个。

2024-12-13 08:55:53 338

原创 构建一个rust生产应用读书笔记三(代码改进)

函数进行一些修改,使其接受一个端口号作为参数。如果端口号未指定,可以选择一个随机可用的端口。这样可以避免端口冲突问题,确保测试的稳定性和并行性。关键字应该去掉,接下来即将开始学习开发邮件接收的第一个迭代了,先休息一下吧。运行测试,OK,spawn_app 函数不需要使用异步调用,因此,run函数里面传入TcpListener,里面使用listen监听。为了确保测试能够在随机可用的端口上运行,我们需要对。,从而实现更灵活的端口管理。来绑定一个随机可用的端口,然后将这个。

2024-12-13 07:06:05 251

Springboot多线程优雅实践

Springboot多线程优雅实践

2024-12-25

SpringBoot状态机

简单springboot状态机示例

2024-12-24

Springboot高并发乐观锁

springboot retry and watch

2024-12-23

Springboot3声明式客户端

Springboot3声明式客户端

2024-12-23

车联网新能源汽车GBT32960协议和商务模式

这是个人在车联网工作中总结的经验,其中包括了商务、技术和运营,通过GBT32960接口协议做数据分析。涉及从车机娱乐系统到TBOX和运营商接口的运行流程,以及列式数据库Canssandra的简单介绍。

2024-12-16

android调用手机通信录并拨打电话

实现手机通信录按照字母顺序排序,点击并拨打电话功能

2012-11-23

Struts2+velocity整合例子

Struts2+velocity整合例子,实现一个简单的购物车

2010-03-05

超详细的项目管理文档模板

项目管理模板、软件工程师必备,需求管理、测试、技术预研、整体项目的管理流程都有详细的环节。帮助开发人员、管理人员规划任务。

2009-11-17

jsonplugin-0.7.jar

Struts2 的json插件,该插件可以将返回值设置成json格式的文件,非常强大

2009-03-11

java邮件服务器

使用存java开发的简单邮件服务器,可以时间邮件收发功能

2008-08-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除