- 博客(50)
- 资源 (5)
- 收藏
- 关注

原创 构建一个rust生产应用读书笔记四(实战1)
这段代码通过表驱动测试的方法,验证了一个 HTTP API 在接收到缺少必要数据的请求时是否会正确返回 400 Bad Request 状态码。每个测试用例都包含一个无效的请求体和一个描述性的错误信息,以便在断言失败时提供详细的错误提示。虽然并没有覆盖到所有的测试用例,但是这种测试方法不仅提高了代码的可读性和可维护性,还确保了 API 的健壮性。假设数据是通过HTML表单收集的,并通过POST请求传递给后端API,表单数据的编码方式可以选择。这是最常见的表单数据编码方式,适用于大多数简单的表单提交场景。
2024-12-13 16:27:38
797
原创 TOGAF指南1
TOGAF标准是企业架构的"操作手册",提供模块化框架帮助企业规划系统升级。其核心包括:1)迭代式规划方法(ADM),分阶段完善架构;2)复用已验证资源,降低开发成本;3)集成行业最佳实践。文档集分为三部分:基本内容(核心概念)、系列指南(具体实施方案)和库(创新实验区),形成"乐高式"工具箱。以医院数字化转型为例,可先用基础框架分析需求,参考指南设计数据架构,从库中获取区块链应用灵感。
2025-08-01 22:49:51
915
原创 TOGAF-7步图解法 -能&考
企业架构能力与TOGAF框架摘要 企业架构能力包含三大核心:设计能力(制定架构方案)、治理能力(确保合规实施)和决策能力(支持战略分析)。TOGAF Part VI详细阐述了架构能力建设方法,包括架构委员会设立、合规审查流程、治理框架及技能评估模型。关键图表展示了架构审核的"体检式"流程和分层参考模型,体现了从基础设施到业务应用的层级设计,与TOGAF的ADM阶段和企业连续体概念相呼应,形成完整的架构开发与治理闭环。
2025-07-31 10:14:01
707
原创 TOGAF-7步图解法-连
TOGAF企业连续统一体是一个管理架构资产的核心框架,采用分层方式从通用到特定逐步细化。其核心包括架构连续体和解决方案连续体:架构连续体从通用模板(如电商平台架构)到特定实施(如京东定制架构);解决方案连续体从通用方案(如用户管理系统)到特定实现(如腾讯的社交账号绑定功能)。架构资产分为基础层、通用系统层、行业层和组织特定层四个层级,通过架构存储库(需求、架构、设计和配置管理四个子库)进行分类管理。外部因素(行业标准、技术趋势等)影响架构设计,而成功部署的解决方案经验可提炼为新的通用资产。
2025-07-31 09:39:19
790
原创 TOGAF-7步图解法 -导&型
交付物是合同规定的正式工作产品,通常需要利益相关方的审查、同意和签署。它们是项目或阶段的最终成果,代表了架构工作的关键产出。构建块是业务、IT或架构能力的模块化单元,具有潜在的可重用性。它们通过组合形成完整的架构或解决方案。这种分类方法不仅统一了企业架构的术语和视图,还通过结构化的方式明确了各阶段的产出关系。它们是交付物的组成部分,也是架构存储库的核心内容。工件是描述架构细节的具体工作产品,通常被分类为。
2025-07-30 17:45:53
859
原创 TOGAF-7步图解法 - 念法技
的框架,将企业战略(左侧)转化为可执行的架构能力(右侧),每个TOGAF部分(Part 2-Part 7)在流程中依次发挥作用,确保架构开发的系统性和标准化。示例展示了零售企业如何通过这一框架实现业务目标。:18个月内,企业全渠道订单履约率提升至92%,客户投诉率下降25%,供应链成本降低18%。架构团队通过持续迭代,成功支撑了企业从传统零售向数字化生态的转型。,目标是整合线上商城、线下门店与移动端,提升客户体验并优化供应链效率。:举个例子,某跨国零售企业计划通过TOGAF框架实现。
2025-07-30 17:08:53
801
原创 LangChain 使用指南与原理
LangChain 是一个用于构建和部署语言模型应用的框架,通过模块化设计和链式操作简化开发流程。它支持多种预训练模型,提供统一的数据处理、模型评估和部署接口。LangChain 的自动流水线机制和抽象接口使开发者能够快速构建高效的AI应用,从简单的文本分类到复杂的问答系统都能轻松实现。
2025-05-11 16:40:27
742
原创 MCP (Model Context Protocol) 技术分析
MCP(Model Context Protocol)是一种通过本地运行的MCP服务器扩展系统能力的模型上下文协议。MCP服务器通过标准输入输出(stdio)与系统进行基于JSON的请求-响应通信,提供动态资源和工具处理能力。其架构包括Server类、Transport层、资源和工具处理器等组件,支持静态和动态资源管理,以及工具的动态调用和参数验证。MCP服务器可应用于获取天气信息、执行数据分析等场景,并通过错误处理机制确保通信的可靠性。创建MCP服务器需初始化项目、定义处理逻辑、编译运行并配置设置文件。
2025-05-11 10:54:09
1167
原创 GBT32960 协议编解码器的设计与实现
通过合理的架构设计和细致的实现,我们实现了一个既高效又可靠的 GBT32960 协议编解码器。严格遵循协议规范健壮的粘包处理完善的错误处理全面的测试覆盖这个实现不仅保证了协议的正确性,也为上层应用提供了一个稳定的基础。
2025-03-04 21:45:30
692
原创 基于 Rust 与 GBT32960 规范的编解码层
1. 完整的帧解析逻辑:- 起始符验证,根据接口协议验证是否0x23开头- 命令标识和应答标志解析- VIN码解析,vin码17个字节长度- 加密方式解析,读取加密方式,测试的时候可以先不使用,上生产环境后要打开- 数据单元长度解析,表示数据payload的总长度- 数据单元提取- 校验和验证2. 数据完整性检查:- 最小帧长度检查- 完整数据长度检查- 校验和验证3. 添加了单元测试:- 测试有效帧的解码- 测试校验和错误的情况。
2025-03-03 22:33:52
652
原创 基于 Rust 与 GBT32960 规范构建高并发、高可用、高扩展服务端程序
该服务端架构依托 Rust 语言搭建,严格遵循 GBT32960 规范,致力于为复杂应用场景提供优质的数据交互与命令处理服务。其功能架构分为数据解析层、命令处理层、并发控制层、故障应对层和扩展适配层。数据解析层凭借 Rust 的模式匹配与结构体定义,精准解析规范中的数据格式,对规范细节的准确把握及解析算法的优化是高效处理高并发数据的关键。命令处理层依据规范,借助函数映射或状态机,关联不同命令与处理逻辑,确保处理逻辑的正确完整以及妥善应对异常是核心要求。
2025-03-03 15:27:52
1365
原创 Transformer的linear和softmax
线性层:将解码器的高维输出简化为一个与词汇表大小相同的低维向量,每个位置上的值代表对应词汇的可能性得分。Softmax函数:将这些得分转换成概率值,使得我们可以明确知道每个词汇被选中的可能性。这样一来,模型不仅能确定最有可能的下一个词,还能理解其他候选词的选择概率,从而更加灵活和智能地生成文本。
2025-01-21 10:30:31
1158
原创 Transformer解码器工作流程
通过上述步骤,Transformer的解码器有效地利用编码器提供的信息来生成新的句子。词汇嵌入与位置编码:将每个单词转换为包含其意义和位置的向量。掩码多头自注意力机制:处理目标序列,确保模型不会提前看到未来的词。编码器-解码器注意力:结合编码器的记忆,理解源序列的信息。前馈神经网络:对信息进行进一步的数学处理,捕捉更复杂的模式。残差连接与层归一化:确保信息顺利流动,并保持稳定性和一致性。堆叠多个解码器层:逐步提炼出更高级别的特征表示,最终生成目标句子。
2025-01-21 10:12:17
1011
原创 Transformer的编码机制
通过上述步骤,Transformer的编码器有效地捕捉了输入序列中的丰富信息。词汇嵌入与位置编码:将每个单词转换为包含其意义和位置的向量。多头自注意力机制:理解每个单词与其他单词之间的关系。前馈神经网络:对信息进行进一步的数学处理,捕捉更复杂的模式。残差连接与层归一化:确保信息顺利流动,并保持稳定性和一致性。堆叠多个编码器层:逐步提炼出更高级别的特征表示。这样,编码器不仅能理解每个单词的意义,还能捕捉它们之间的复杂关系,从而为后续的任务(如翻译、文本生成等)提供强有力的支持。
2025-01-21 09:34:38
1575
原创 Transformer中的分词embedding和位置编码embedding
分词嵌入是指将文本中的每个词汇转换为一个固定维度的向量表示。这个过程通过查找表(lookup table)完成,其中每个词汇对应于一个唯一的向量。这些向量通常是在训练过程中学习到的,因此能够捕捉词汇之间的语义关系。由于Transformer模型没有内置的顺序信息处理机制(如RNN中的时间步),位置编码用于为输入序列添加位置信息。位置编码使得模型能够理解词汇的相对或绝对位置,从而有助于处理序列任务。分词嵌入:将文本中的每个词汇转换为固定维度的向量表示,捕捉词汇的语义信息。位置编码。
2025-01-21 09:04:00
1064
原创 构建一个rust生产应用读书笔记7-确认邮件4
关于的添加,确实不需要三个步骤。:首先,你可以创建一个新的迁移脚本,在这个脚本中定义表结构,并将其应用到数据库中。在这一阶段,当前的应用程序代码仍然不会使用这个新的表。这样做的好处是可以在不影响现有功能的情况下安全地更新数据库结构。:一旦数据库已经更新完毕,就可以部署一个新版本的应用程序,该版本会开始使用表来实现订阅确认邮件等功能。
2025-01-13 11:50:00
930
原创 构建一个rust生产应用读书笔记7-确认邮件3
在什么情况下触发邮件发送(如用户注册、密码重置等)。邮件的内容格式(包括主题、正文、签名等)。收件人的信息来源(从数据库中获取还是其他方式)。是否有特殊的业务逻辑需要考虑(如个性化内容、多语言支持等)。书中的第七章内容比较多,这周调代码好了好长时间,下一节就记录我代码重构的过程吧。
2024-12-31 15:13:03
1084
原创 进军AI大模型-环境配置
合法上网工具:这个T子试试,一直稳定。走我链接免费用5天:python版本: python3.12Langchain:v0.3 9月16日升级的版本pip3 设置成阿里云的源镜像(能够快速下载依赖包)langchain安装检查是否安装成功。
2024-12-28 21:46:28
699
原创 Springboot3国际化
Spring Boot 3 提供了强大的国际化支持,使得应用程序可以根据用户的语言和区域偏好适配不同的语言和地区需求。国际化资源文件通常放在可以通过在或或者在配置类中定义在代码中可以通过来获取国际化消息。例如,在控制器中根据请求参数确定语言环境并获取对应的消息。如果使用 Thymeleaf 作为模板引擎,可以在模板中直接使用国际化消息。需要确保在中启用了国际化支持,并且在模板中使用#{}表达式引用消息键。Spring Boot 提供了来自动检测和设置客户端的语言环境。可以使用或自定义的。
2024-12-26 23:14:32
832
原创 企业架构学习笔记-数字化转型
随着企业信息化进程的不断推进,IT部门的角色和面临的挑战也在发生显著变化。在信息化建设的初级阶段,确实存在IT部门需要积极引导和说服业务部门重视信息技术价值的情况。当时,通过展示成功案例、强调技术对效率提升的重要性等方式,IT部门努力让管理层和其他部门认识到其工作对企业整体发展的关键作用。然而,当大部分企业逐步进入信息化成熟期后,业务部门已经开始深刻体会到IT带来的便利与效率提升,不再需要过多地进行启蒙教育。
2024-12-26 20:42:27
1024
原创 Springboot多线程优雅实践
Async在使用 SpringBoot 开发多线程应用程序时,遵循最佳实践可以确保应用的高效性、可维护性和稳定性。
2024-12-25 13:41:55
698
原创 企业架构导论
我们做企业架构,会开展一系列的业务工程、应用工程、数据工程、平台工程,这些任务需要强管控。你不能跑偏,跑偏我就白规划了。因为我这个架构所代表能力规划,是实现能力优化价值最大化的一个最小的成本的策略。你要是随便跑偏了,那我这儿所追求能力建设、降本增效、提质转型这条道路那白扯了。所以我这是控得住。所以一个前提那一个前提准备阶段达成能力的选型。明白各位,然后是做评估、绘蓝图、强管控,四个阶段的基本路线,四个阶段基本都需要执行。
2024-12-25 11:06:07
1309
原创 SpringBoot状态机
Spring Boot 状态机(State Machine)是 Spring Framework 提供的一种用于实现复杂业务逻辑的状态管理工具。它基于有限状态机(Finite State Machine, FSM)的概念,允许开发者定义一组状态、事件以及它们之间的转换规则。这在处理具有多个步骤或条件的工作流时特别有用。
2024-12-24 15:29:17
1841
原创 构建一个rust生产应用读书笔记7-确认邮件2
当每个集成测试文件都是一个独立的可执行文件时,共享测试辅助函数的一种常见方法是创建一个单独的模块,该模块可以被所有测试文件导入和使用。这个模块通常包含所有测试需要共用的辅助函数、常量、配置和其他资源。
2024-12-24 14:49:39
1288
原创 Springboot高并发乐观锁
需要为 Spring Retry 配置适当的重试策略,包括最大重试次数、等待间隔等参数。同时,应该考虑何时停止重试,比如当达到最大重试次数或者超过某个时间限制时。
2024-12-23 22:38:49
1214
原创 构建一个rust生产应用读书笔记7-Mock编码浪子
编写单元测试是确保代码质量、稳定性和可维护性的关键步骤,尤其是在采用测试驱动开发(TDD)方法时。对于组件的测试,我们确实应该从小处着手,先保证组件本身的功能正确无误,然后再逐步集成到更大的系统中。这不仅可以提高我们的信心,还能简化调试和问题定位。
2024-12-23 10:48:14
1113
原创 Springboot3声明式客户端
Spring Framework 6 和 Spring Boot 3 引入了一些新的特性和改进,以简化 HTTP API 的消费。它允许开发者通过声明式接口来定义对外部 HTTP API 的调用。其中开发者只需要定义接口和方法签名,而具体的实现细节由框架自动生成。这个特性通常被称为 "声明式 REST 客户端" 或者 "Feign 客户端"(如果使用的是 Netflix Feign 库),在 Spring 生态中也得到了支持。
2024-12-23 09:44:14
972
原创 Springboo 和ORM整合
MyBatis 是一个持久层框架,它简化了 Java 应用程序与数据库之间的交互。通过 MyBatis,开发者可以专注于 SQL 语句的编写,而不需要处理繁琐的 JDBC 代码。
2024-12-20 11:40:03
955
原创 devops和ICCID简介
GitLab CI/CD 是一个强大且灵活的平台,它不仅简化了 CI/CD 流水线的设置,还促进了团队间的协作和项目的快速迭代。通过充分利用 GitLab CI/CD 的功能,团队可以显著提高软件开发和发布的效率,同时保证高质量的应用程序交付。
2024-12-19 20:45:11
459
原创 构建一个rust生产应用读书笔记7-确认邮件1
亲爱的读者们,在前一章中,我们介绍了对新订阅者的电子邮件地址的验证——它们必须符合电子邮件格式。现在我们拥有的电子邮件虽然在语法上是有效的,但我们仍然不确定这些邮箱是否真的存在:有人实际使用这些电子邮件地址吗?它们可以接收到邮件吗?我们无法确定,而唯一的方法就是发送一封真正的确认邮件。
2024-12-19 08:58:06
840
原创 构建一个rust生产应用读书笔记6-拒绝无效订阅者02
根据DDD的原则,定义清晰的边界上下文(Bounded Contexts)。每个上下文应该封装一个独立的业务领域,并且有明确的接口与其他上下文交互。这样可以帮助保持各部分的分离,减少耦合。确实,验证POST请求中路径下的有效负载(payload)中的电子邮件地址是否符合预期格式只是确保数据质量的第一步。如你所提到的,即使一个电子邮件地址在语法上是有效的,我们仍然无法确定该地址是否实际存在、被使用或可以接收邮件。为了进一步确认电子邮件地址的有效性和可达性,发送一封确认邮件是一种常见且有效的做法。
2024-12-18 08:56:05
1368
原创 构建一个rust生产应用读书笔记6-拒绝无效订阅者01
rust是一门不太容易掌握的语言,在实际学习过程中遇到了很多问题,很不可思议。不过大多数情况下都可以在网上找到答案,希望正在学习的朋友们不要放弃。
2024-12-17 09:04:48
1298
原创 Springboot3 mock和监控
spring官方的文档Spring Boot Actuator 的核心是其提供的多个端点,每个端点都专注于提供特定类型的信息或执行特定的操作。:此端点用于报告应用的健康状态。它可以配置以包含更多细节,如数据库连接状态等,有助于快速评估系统是否正常工作。:该端点返回有关应用程序的一般信息,这些信息可以由开发者自定义,例如应用版本、构建时间等,便于了解部署的应用版本等信息。:列出所有当前上下文中注册的 Spring Beans,包括它们的属性和依赖关系,对于调试和理解应用结构非常有用。
2024-12-16 16:48:47
981
原创 构建一个rust生产应用读书笔记四(实战6)
本节我们开始使用tracing来记录日志,实际上在生产环境中,更推荐使用tracing作为日志记录的首先,它提供了更丰富的上下文信息和结构化日志记录功能。tracing不仅可以记录日志信息,还可以跟踪函数调用、异步任务等,适用于复杂的分布式系统和。
2024-12-16 07:00:35
1359
原创 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
1651
原创 构建一个rust生产应用读书笔记四(实战5)
这一节比较简单,主要学习了日志的级别,和项目中如何使用,日志在整个项目的开发周期都起着至关重要的作用,同时也希望在学习和工作当中把重要的信息都记录到日志注:各位亲爱的小伙伴们,今年是我从事软件行业的第20年,通过博客记录的方式将我知道的、理解的、有帮助的都分享给大家。同时,也提供就业指导,专业简历优化服务。你们的支持是我最大的动力。
2024-12-15 09:05:58
855
原创 Springboot3.x 进阶-配置和序列化
Spring Boot 应用程序以其灵活和强大的配置机制而著称,其中配置文件扮演着不可或缺的角色。
2024-12-14 16:55:11
723
原创 构建一个rust生产应用读书笔记四(实战4)
上一节我们已经将数据的基本配置完成,这一节我们继续完成邮件订阅功能的开发,这两天按照书中的代码编写终于调试成功了,把这其中遇到的问题总结记录下来。
2024-12-14 16:34:34
780
车联网新能源汽车GBT32960协议和商务模式
2024-12-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人