- 博客(92)
- 收藏
- 关注
原创 AI对测试行业的应用
AI已从“效率工具”跃升为软件质量的核心决策中枢,推动测试从被动验证转向主动预防。未来,随着多模态大模型与边缘智能的发展,AI测试将深度渗透元宇宙、脑机接口等前沿领域,重新定义质量保障的边界。企业需以生态视角布局AI测试能力,方能在数字化竞争中构建质量护城河。
2025-06-06 15:55:04
785
原创 探索智能仓颉:Cangjie Magic 重塑 Agent 开发新范式
当智能体开发仍深陷于“拼装式编程”的泥潭——在 Python 的胶水代码中挣扎、在通信协议的兼容性上妥协、在有限的规划能力中徘徊——构建的 LLM Agent 开发平台,它正以革命性的架构与极致的开发体验,开启智能体开发的全新纪元。:Python 主逻辑 + SQL 查询 + Shell 脚本,调试如走钢丝。:HTTP/WebSocket 通信需手动封装状态同步,代码冗余 40%将复杂 Agent 结构抽象为语义化模块,告别碎片化编码。:实时分析 10万+ 交易流水的 Agent 模板。
2025-06-06 15:41:39
695
原创 IDEA:让我的编程效率翻倍的秘密武器
在代码的海洋中,我曾被重复劳动、低效调试和复杂的协作流程所困扰——直到遇见IDEA。它不仅仅是编辑器,更像是一位全能助手,让我的开发效率实现了质的飞跃。IDEA正是通过将众多琐碎操作自动化、智能化,将开发者从重复劳动中解放出来,真正聚焦于创造价值。官方数据显示,熟练使用其智能工具的开发者在常见任务(如代码导航、重构)上。,成为我不可或缺的伙伴。它不仅加速了代码产出,更重塑了开发体验。在追求效率极致的道路上,IDEA以其。
2025-06-06 15:26:17
393
原创 如何做好一份技术文档?(下篇)
技术文档优化指南:从可用到愉悦 本文分享了技术文档体验优化的三大策略: 防错设计:通过示例代码校验和故障树可视化,主动预防常见错误 多模态学习:提供CLI交互引导和可操作示意图,满足不同学习偏好 数据驱动迭代:建立文档健康度监控看板,通过用户反馈持续改进 文末推荐了文档工程师的工具链,包括术语校验、示例验证和用户行为分析工具,帮助打造真正高效愉悦的技术文档体验。
2025-06-05 20:04:07
800
原创 如何做好一份技术文档?(上篇)
《技术文档体系化构建指南(上篇)》提出结构化文档设计方法,采用三层金字塔模型:顶层概念说明设计理念(Why),中层指南提供实践方法(How),底层参考层详述技术细节(What)。文章强调概念层应先于实现细节建立认知框架,参考层需规范参数说明模板。建议通过CI流水线实现文档-代码自动同步(如pydoc-markdown工具),并建立版本快照机制。该体系支持文档的可持续迭代,确保技术文档兼具可读性与精确性。(149字)
2025-06-05 20:03:37
643
原创 AI会取代IT从业者吗?
AI不会完全取代IT从业者,但会淘汰不善于利用AI的程序员。它作为高效助手能完成代码生成、调试辅助等任务,但缺乏抽象思维和创新能力,无法替代人类在系统设计、业务沟通等层面的作用。未来的竞争力取决于人机协作能力——善用AI处理重复工作,聚焦高价值决策。固守传统编码方式的人将面临淘汰,而掌握AI工具并深耕领域知识的开发者会成为稀缺人才。技术的进步始终在重塑职业,而非消灭职业,关键在于主动适应变革。
2025-06-04 16:17:12
716
原创 C盘清理技巧分享
本文分享了多种安全高效的C盘清理方法,包括使用系统自带工具(磁盘清理、存储感知)、手动清理临时文件和大文件、迁移非系统文件、卸载无用软件等操作步骤。还推荐了TreeSize Free、CCleaner等实用工具,并提醒注意事项。定期执行这些清理操作通常可释放5GB-50GB空间,有效缓解C盘空间不足问题,提升电脑运行速度。建议每月进行一次维护,但需避免删除系统关键文件。
2025-06-04 16:13:22
1127
原创 Vue2 和 Vue3 常见 CSS 样式归纳总结
本文总结了Vue2和Vue3中常用的CSS样式设置方法。主要内容包括:基础样式设置方式(内联、对象语法等);布局样式(Flex、Grid、定位);常用UI样式(盒模型、文字、背景);交互样式(悬停、动画);Vue特有样式特性(Scoped CSS、CSS Modules);以及响应式样式设计。文章建议使用Flex/Grid布局,合理应用CSS变量和动画效果,并推荐将组件样式与全局样式分离管理。这些样式方法能满足Vue项目中90%的开发需求。
2025-06-04 16:09:30
422
原创 各个布局的区别以及示例
常见的网页布局方式包括普通文档流、浮动、定位、Flexbox和Grid。普通文档流是默认布局,适合简单内容;浮动用于传统多栏设计;定位控制元素精确位置;Flexbox擅长一维布局和空间分配;Grid适合二维复杂网格。现代开发推荐使用Flexbox和Grid,它们提供更灵活的响应 Daredevil 布局能力,而浮动主要用于兼容旧浏览器。根据需求选择合适布局:Flexbox适合组件排列,Grid适合整体页面结构。
2025-06-04 16:08:26
1122
原创 前端错误:Proxy error: Could not proxy request /api-uaa/oauth/token from localhost:8080 to
这个错误的根本原因是前端代理无法解析 funeral_vue 这个主机名。你需要检查代理配置的目标地址是否正确,并确保该地址可以被解析和访问。
2025-06-04 14:27:10
408
原创 Vue 3 的 <script setup> 语法糖(持续更新)
defineProps 让组件能明确声明它期望从父组件接收的 props,并且能对这些 props 进行类型检查和设置默认值。这样能提高组件的可维护性和健壮性,让父组件和子组件之间的数据传递更加清晰和安全。
2025-05-28 20:02:52
419
原创 uni-app 提供的页面跳转方法详细解释及其区别
uni-app提供了多种页面跳转方法:navigateTo保留当前页并跳转新页,支持返回;redirectTo关闭当前页跳转,不支持返回;reLaunch关闭所有页跳转,清空页面栈;switchTab专用于tabBar页面跳转;navigateBack用于返回上级页面。这些方法分别适用于不同场景,如多级跳转、登录后跳转或tab切换等,开发者可根据需求选择合适的方法实现页面导航。
2025-05-28 15:06:33
453
原创 MySQL创建了一个索引表,如何来验证这个索引表是否使用了呢?
通过 EXPLAIN 分析执行计划、SHOW INDEX 查看统计信息、强制索引测试和慢查询日志监控,可以明确验证 MySQL 索引是否被使用。若索引未被使用,需结合优化策略(如更新统计信息、调整查询或重建索引)解决问题。
2025-05-12 19:19:45
757
原创 浅淡红黑树以及其在Java中的实际应用
红黑树是一种自平衡的二叉查找树(Binary Search Tree,简称 BST)。它的特点是通过对节点的颜色进行标记,确保树的高度尽量保持平衡,从而使得在最坏情况下,查找、插入和删除操作的时间复杂度都能保持在 O(log n)。红黑树的设计思想是通过严格的规则来控制树的高度,避免树的结构变得过于倾斜,从而提升操作效率。红黑树是一种自平衡的二叉查找树,它通过对节点进行颜色标记并遵守特定的规则,保证树的平衡性,确保查找、插入、删除操作的时间复杂度为 O(log n)。
2025-04-13 19:23:47
1015
原创 TreeMap和HashMap的区别
TreeMap 是有序的,底层使用红黑树,操作的时间复杂度是 O(log n),适用于需要有序键集合的场景。HashMap 是无序的,底层使用哈希表,操作的时间复杂度通常是 O(1),适用于需要快速查找和插入的场景。
2025-04-13 19:23:03
575
原创 在JAVA编程中什么是反射?
*反射(Reflection)**是 Java 编程语言中的一个强大功能,它允许程序在运行时查询和操作对象的类型信息以及动态调用方法、访问字段等。简单来说,反射使得 Java 程序能够在运行时获取和操作类的结构信息(如类、构造方法、方法、字段等)。反射的核心思想是:程序可以在运行时“知道”自己所处理的类的详细信息,而不仅仅是通过编译时类型的信息。反射是 Java 中一种强大的特性,能够在运行时动态地操作类、字段、方法等。然而,尽管反射提供了极大的灵活性,但它也带来了性能上的负担和潜在的安全风险。
2025-04-13 01:50:49
1026
原创 ArrayList和LinkedList的区别
ArrayList 适用于查找频繁、插入和删除不太频繁的场景。LinkedList 适用于插入和删除频繁的场景,尤其是在链表的头部或尾部进行操作时。选择哪一个主要取决于你的应用场景和性能要求。
2025-04-13 01:07:25
866
原创 Java中常见的设计模式
定义:抽象工厂模式提供一个接口,用来创建一系列相关或相互依赖的对象,而无需指定具体的类。应用场景:需要创建一系列相关的对象,而无需指定具体类。用于产品族的创建,确保一系列相关的对象符合某种约定。示例代码:// 1. 定义抽象产品接口:ProductA// 2. 具体产品A1// 3. 具体产品A2// 4. 定义抽象产品接口:ProductB// 5. 具体产品B1// 6. 具体产品B2// 7. 定义抽象工厂接口// 8. 具体工厂A1。
2025-04-11 23:01:51
1293
原创 Java中工厂模式和抽象工厂模式的区别
定义:抽象工厂模式提供一个接口,用于创建一系列相关或依赖的对象,而不需要指定具体的类。它比工厂模式更为复杂,通常用于创建一组相关的对象。特点:提供多个方法来创建一组相关产品。客户端通过抽象工厂来创建多个相关产品,而不关心具体的类。适用于创建多个产品系列的场景。工厂模式:用于创建一个单一对象。抽象工厂模式:用于创建一组相关或依赖的对象,通常是多个产品。在这个例子中,ChairFactory 和 SofaFactory 是单独的工厂,每个工厂负责创建一个具体的家具对象。
2025-04-11 19:58:22
525
原创 JVM调优
JVM 调优是一个综合性的问题,涉及多个方面,包括内存管理、垃圾回收、线程管理、JIT 编译等。调优时通常需要先通过监控工具了解瓶颈所在,然后有针对性地进行调整。调优时要根据应用的具体需求来设置不同的参数,比如对低延迟要求高的应用选择适合的垃圾回收器,或者根据硬件配置调整堆内存大小。
2025-04-08 21:58:16
915
原创 JVM内存模型
总结来说,JVM 内存模型通过合理的内存分配和回收机制,为 Java 程序提供高效的运行环境,并确保多线程并发执行时的内存一致性。
2025-04-08 21:57:47
757
原创 Kafka的简单介绍
Kafka 是一个分布式流处理平台,主要用于处理大规模、高吞吐量的消息流。最初由 LinkedIn 开发,并由 Apache 开源。Kafka 主要用于消息队列的管理和流数据的处理,支持分布式、可扩展、高容错的特性,广泛应用于日志收集、实时数据处理、流式处理等场景。Kafka 是一个高效、可靠的分布式流数据平台,广泛应用于高吞吐量的消息传递、日志收集、流式处理和事件驱动的架构。通过生产者发布消息,消费者订阅消费,可以实现系统间的解耦和异步处理,提供了一个强大的流数据处理基础设施。
2025-04-08 14:51:47
1199
原创 Kafka和RocketMQ相比有什么区别?那个更好用?
Kafka 更适合需要高吞吐量、低延迟的场景,如大数据流、日志处理、事件流处理等。如果你的应用主要关注性能和大规模分布式系统,Kafka 是不错的选择。RocketMQ 更适合需要保证消息顺序、事务性和高可靠性的场景,如金融系统、订单系统等。如果你的系统需要强大的事务支持和消息顺序控制,RocketMQ 更加适合。因此,没有绝对的“更好”,而是要根据实际的业务需求来选择最合适的消息队列系统。
2025-04-08 14:36:45
1008
原创 Java RPC 框架是什么
Java RPC 框架提供了一种便捷的方式来实现跨进程、跨服务器的远程服务调用。在微服务架构和分布式系统中,RPC 框架是服务间通信的重要工具,它隐藏了网络通信的复杂性,并提供了高效的服务治理机制,帮助开发者构建可靠的分布式应用。
2025-04-08 14:27:21
1017
原创 Dubbo的简单介绍
Dubbo 是一个高性能的 Java RPC 框架,最初由阿里巴巴开发,用于构建分布式服务。它主要用于提供服务间的通信,支持高效的远程调用和服务治理,常用于大规模分布式系统中。Dubbo 是一个成熟、可靠的分布式服务框架,特别适用于微服务架构中的服务间通信,能够帮助企业构建高性能、可扩展的分布式系统。
2025-04-08 14:25:49
577
原创 Spring的简单介绍
Spring 是一个开源的 Java 企业级应用开发框架,旨在简化企业应用的开发过程。它通过提供全面的基础设施支持,帮助开发人员构建可靠的、高效的、可扩展的企业级应用程序。Spring 提供了多种功能模块,支持开发不同类型的应用程序,包括 Web 应用、分布式系统、消息驱动应用等。Spring 是一个功能强大的框架,提供了广泛的功能和模块,适用于从小型 Web 应用到大型企业级系统的开发。通过依赖注入、面向切面编程、事务管理等核心特性,Spring 大大提高了开发效率,并促进了松耦合、高可维护性的代码结构。
2025-04-07 20:28:07
630
原创 Spring、Spring Boot和 Spring Cloud 的关系
Spring 提供了广泛的企业级应用功能。Spring Boot 让使用 Spring 更简单、快速,适合构建和启动 Spring 应用。Spring Cloud 提供了微服务架构的支持,帮助开发分布式系统。
2025-04-07 20:27:29
802
原创 SpringCloud的简单介绍
Spring Cloud 是一个为开发分布式系统和微服务架构提供支持的框架,它构建在 Spring Framework 和 Spring Boot 之上,提供了很多常用的分布式系统的解决方案。Spring Cloud 通过一系列的工具和组件,使得开发、部署和管理微服务架构变得更加容易和高效。Spring Cloud 是一个强大的微服务框架,提供了许多常见的功能和解决方案,使得开发和管理微服务应用变得更加简单。
2025-04-07 20:14:35
974
原创 SpringBoot的简单介绍
Spring Boot 是一个开源的 Java 框架,用于简化 Spring 应用程序的开发。它基于 Spring Framework,提供了许多开箱即用的功能,旨在帮助开发人员快速构建和部署应用程序,尤其是微服务架构中的应用程序。Spring Boot 是一个让 Java 开发变得更加轻松和高效的框架,尤其适用于微服务和现代 Web 应用的构建。通过自动配置、内嵌服务器、快速部署等功能,Spring Boot 提供了一种快速开发、简化配置的开发体验。
2025-04-07 20:08:49
1114
原创 SpringMVC的简单介绍
SpringMVC 是一个基于 Java 的 Web 框架,是 Spring Framework 中用于构建 Web 应用的一个核心模块。它采用了 模型-视图-控制器 (MVC) 设计模式,能够帮助开发者更加清晰地分离业务逻辑、用户界面和请求处理,从而提高应用的可维护性和扩展性。SpringMVC 是一个功能强大的 Web 开发框架,采用 MVC 设计模式,提供了灵活的请求处理和视图解析机制,可以帮助开发者更好地构建和维护 Web 应用。
2025-04-07 17:56:46
883
原创 依赖注入 (DI)\控制反转(IoC)和面向切面编程 (AOP)详解及通俗例子解释
依赖注入 (DI):通过将对象的依赖交给容器管理,降低了对象之间的耦合,提高了系统的可维护性和可测试性。控制反转 (IoC):控制反转是 DI 的基础,IoC 容器负责管理对象的生命周期和依赖关系,自动将依赖注入到对象中。面向切面编程 (AOP):通过引入切面,将横切关注点(如日志、事务)从核心业务逻辑中抽离出来,从而提高了代码的模块化、可读性和可维护性。通过 DI 和 AOP,Spring 提供了一种更高效、更灵活的开发方式,帮助开发人员减少复杂的代码和重复工作,提升开发效率和系统的可扩展性。
2025-04-07 17:43:20
1201
原创 如何给数据库表字段添加索引(索引添加建议)
经常用于 WHERE 子句中的字段。用作连接条件的字段(例如外键)。经常用于 ORDER BY 和 GROUP BY 操作的字段。用于范围查询的字段。主键和唯一约束字段。tips: 添加索引时要注意,索引会加速查询,但也会增加存储开销和写入操作的成本。不要为所有字段都添加索引,应根据查询模式和业务需求进行选择。
2025-04-07 15:08:01
600
原创 如何进行SQL调优
SQL 调优是一个复杂而系统的过程,涉及查询语句的优化、数据库设计、索引使用、数据库参数调整等方面。常见的优化策略包括:选择合适的索引、减少全表扫描、避免不必要的计算和 JOIN、分析执行计划等。通过这些优化措施,您可以提高数据库的查询性能,确保应用在高并发和大数据量环境下的响应速度。
2025-04-07 14:57:00
1079
原创 Token+JWT+Redis 实现鉴权机制
Token:通常是一个唯一的字符串,可以用来标识用户的身份。JWT (JSON Web Token):是一种自包含的、轻量级的认证方式。它由三个部分组成:Header:包含算法信息(如 HMAC SHA256 或 RSA)和 Token 类型。Payload:包含声明信息(如用户 ID、过期时间等)。Signature:用于验证 Token 是否被篡改。通过结合 Token、JWT 和 Redis,我们可以实现一个高效且可扩展的鉴权机制,支持无状态认证、Token 过期控制、强制登出等功能。
2025-04-07 14:45:39
936
原创 Powerdesigner(数据库建表的简单应用)
2、主键ID,需要自增不为空且唯一,一般使用bigint类型,mysql8.0后可以不用写长度bigint(0)这样,因为从8.0.17版本开始,TINYINT, SMALLINT, MEDIUMINT, INT, and BIGINT类型的显示宽度将失效。6、状态,需要与其他的表字段设置同步,大家都是0否1是,使用的类型是tinyint一般情况下布尔类型的值或者枚举类型的使用的都是这个类型用以节省空间。D:是否在模型中显示。4、图片、外链等,存储url链接的一般用varchar(255)就够用了。
2025-04-02 04:00:03
295
原创 简单记录一下在java的Mybatis-plus中用一个SQL语句查询一个嵌套的实体类(实体类中有List,List中还有List)
也就是KpCourseInfoClientDetailVO课程详情类中含有List courseChapterList章节列表,然后章节列表中含有List lessonList课时列表,通过一个SQL查询得到结果。因为是在实体类中List嵌套List,所以外部的List直接用collection 标签来写,然后再给其内部嵌套的List标签写个resultMap 来对应参数,最后通过接口调用就能拿到想要的参数结构了。然后在KpCourseInfoMapper.xml中实现。得到下列结果,说明SQL没有问题。
2024-07-15 15:48:46
691
1
原创 mq的使用方法
Value(“${mq.signup-topic:saas-signup}”)从nacos中取如果没有默认用saas-signup。注意:每个环境的名称最好不要一样不然会消费到其他环境中,
2023-10-26 17:31:35
200
原创 单点登录(SSO)
由于 OIDC 协议基于 OAuth 2.0 协议实现,两者很多支持的模式是互通的。而对于全总的接入中心,我们是采用了Oauth2.0中的授权码模式对外开放openApi来让各个地方服务平台进行接入;Authorization Code 模式,被授权方是用户,应用通过授权码模式,可获取三方系统身份信息,并以该身份进行登录。指用户仅需一次登录,即可访问全部应用的实现,在历史中根据应用变化,SSO 也有多种实现形态。打war包时 将自己外部的jar包打到war里面 注意:打jar使用上面注释掉的那些。
2023-03-30 15:21:45
610
原创 {dataSource-1} init error和Could not autowire.No beans of ‘xxx‘ type found
我在写代码时springBoot的自动扫描是扫描其当前包及其子包下自然是无法扫描到,因此在我写下代码和引用后就看到定义的属性报错:@Autowired:Could not autowire.No beans of ‘xxx‘ type found。在我纠结了好久后才想明白,其实只是因为我配的时候只配了我想要扫描的哪个文件,没有带上本来默认扫描的所以报错,在加上后就好了。看到这个自然我也就想着去启动类中加入扫描rescources下面的lib的配置,加上后定义的属性确实不飘红了。
2023-02-28 16:47:36
1049
Jasperreports小疑问
2025-06-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人