本本本添哥
奶爸的编程之路,也就一周冷个三天~
专门分享AI大模型/Java微服务/计算机软考/项目管理/个人成长/思维框架/效能工具等相关内容
欢迎关注我的公众号:本本本添哥
展开
-
【项目实战】OWASP(开放Web应用程序安全项目)是一个专注于提升软件安全性的全球性非营利组织,成立于2001年。
目标:OWASP致力于通过开放社区协作提供无偏见、实用的安全资源,帮助组织设计、开发、部署和维护可信赖的应用程序。非营利性:作为501©(3)慈善机构,其工具、文档、项目均免费开放,不受商业利益影响。原创 2025-02-19 23:02:31 · 427 阅读 · 0 评论 -
【项目实战】网络安全关乎国家安全(2024年9月在黎巴嫩发生的一系列通信设备爆炸事件)
黎巴嫩的信息化建设暴露了一些重要的问题2024年9月在黎巴嫩发生的一系列通信设备爆炸事件,这显然是一个非常严重的安全问题。从这些事件中可以看出,原创 2024-09-20 21:23:37 · 391 阅读 · 0 评论 -
【项目实战】Flutter开发框架介绍
Flutter 是 Google 推出的一款用于构建高质量原生界面的 UI 框架。Flutter 使用 Dart 语言编写,并支持 iOS 和 Android 平台。Flutter 是一个成熟的跨平台开发框架,不仅适用于移动应用开发,还支持 Web 和桌面应用。Flutter开发框架框架以其跨平台、节省开发成本和优秀的底层实现为特点,适合需要同时适配多个平台和设备的开发者。随着 Flutter 的不断发展和完善,越来越多的开发者选择使用 Flutter 来构建他们的应用。原创 2024-07-28 17:14:20 · 791 阅读 · 0 评论 -
【项目实战】SBOM,CVE漏洞入门介绍
CVE漏洞是一种公开披露的信息安全漏洞或已经暴露出来的弱点CVE漏洞中的每个漏洞都会被分配一个公共的名称。CVE的这些漏洞可以通过来获取。原创 2024-05-06 17:14:53 · 218 阅读 · 0 评论 -
【异常】AES加解密出现cn.hutool.crypto.CryptoException: IllegalBlockSizeException: data not block size aligned
这个错误cn.hutool.crypto.CryptoException: IllegalBlockSizeException: data not block size aligned是由于在使用Hutool的SymmetricCrypto进行解密时,输入的数据长度不是密钥长度的整数倍导致的。这个异常发生在尝试使用Hutool工具包进行对称加密解密操作时,通常表示提供给解密算法的数据块大小不符合预期的块大小。解决这个异常通常需要确保提供给解密函数的数据是正确格式的,即数据长度是块大小的整数倍。原创 2024-04-24 15:46:14 · 1304 阅读 · 0 评论 -
【异常】BindingException: attempted to return null from a method with a primitive return type (int).
具体来说,这个方法的预期返回类型是基本数据类型int,但是MyBatis在尝试执行这个方法时却得到了一个null值。在你的代码中,com.xxx.ScenarioCardMapper.selectMyCount方法试图返回一个null值,但是这个方法的返回类型是int,这是基本类型,不能接受null值。如果数据库查询可能返回null,你可能需要更改该方法的返回类型为Integer,或者在返回前进行null检查。在相应的服务层代码中,也需要对返回的Integer值进行检查,以确定是否需要处理null的情况。原创 2024-04-15 19:13:52 · 449 阅读 · 0 评论 -
【异常】JSON解析错误提示JSON parse error: Cannot deserialize value of type java.lang.String from Object value
如果你是在编写代码来处理JSON,请确保任何JSON序列化或反序列化的库(比如Jackson)都被正确地使用,并且对象的字段与JSON数据的结构相匹配。具体来说,在解析JSON数据到UpdateScenarioCardReq对象时,期望在bgImageUrl字段找到一个字符串(可能是一个图片的URL),但是实际上在JSON的相应位置却找到了一个对象(由JsonToken.START_OBJECT标记指示)。检查提供给解析器的JSON数据,确保bgImageUrl字段的值是一个字符串,而不是一个对象。原创 2024-04-15 18:11:42 · 4854 阅读 · 0 评论 -
【异常】FeignException$NotFound: [404 Not Found] during [POST] to [http://xxx-thirdparty-api/inside/
请求的方法(GET、POST等)与API定义不匹配。确保请求的方法与API定义一致,例如在这个例子中是POST方法。原创 2024-04-15 12:46:53 · 1290 阅读 · 0 评论 -
【异常】PGSQL提示异常PSQLException:ERROR: column “c.create_time“ must appear in the GROUP BY clause
这个错误是由于在PostgreSQL数据库中,当你使用聚合函数(如COUNT、SUM、AVG等)时,SELECT语句中的所有列都必须在GROUP BY子句中出现,或者被用在聚合函数中。在这个查询中,你使用了"ORDER BY c.create_time DESC",但是没有使用聚合函数,也没有在GROUP BY子句中包含"c.create_time"。要解决这个问题,你可以将"ORDER BY c.create_time DESC"移动到GROUP BY子句中,或者将其删除,如果你不需要对结果进行排序。原创 2024-04-14 15:07:30 · 1125 阅读 · 0 评论 -
【异常】MyBatis异常提示BuilderException: Error evaluating expression,NoSuchPropertyException
这个错误是由于在MyBatis的表达式中,找不到com.xxx.module.common.vo.scenario.QueryCustomDeleteReq.startTime属性。请检查QueryCustomDeleteReq类中是否存在startTime属性,以及是否使用了正确的getter方法。经过检查,QueryCustomDeleteReq类中确实不存在startTime/endTime属性,将其修改为startDate 和 endDate 即可。提出了,具体的异常SQL内容如下。原创 2024-04-14 14:41:22 · 1680 阅读 · 0 评论 -
【异常】记一次因处理Kafka消息时,没有消费记录,错误处理器抛出了ArrayIndexOutOfBoundsException异常,导致无法事件入库的问题
在某次开发过程中,开发人员遇到了一个棘手的问题:Kafka无法将消息传递给消费者,导致事件无法入库。开发人员对Kafka的配置和代码进行了仔细的检查,但仍然无法解决问题。车机上报的业务数据,无法在Web管理页面中查看到,即业务事件上报失败。原创 2024-04-12 22:32:21 · 186 阅读 · 1 评论 -
【异常】BatchUpdateException: Batch entry 0 ,PSQLException: ERROR: duplicate key value violates unique
解决这个问题,你可以采取以下几种方法之一,在解决这个问题时,你应该查看 ScenarioActionBindingMapper.insert 方法中的代码,确保在插入数据之前进行必要的检查,并正确处理任何可能发生的冲突。这通常意味着你尝试插入的记录中的 bind_id 字段的值与数据库中已有的记录中的 bind_id 值重复了。错误消息指出 bind_id 的值为 0 的记录已经存在,所以无法再插入一个具有相同 bind_id 的新记录。在数据库中,主键或唯一约束字段的值必须是唯一的,不能重复。原创 2024-04-12 22:21:01 · 1376 阅读 · 0 评论 -
【项目实战】使用JUC常用工具类java.util.concurrent.Semaphore实现接口限流实战
使用JUC常用工具类java.util.concurrent.Semaphore,来实现接口限流。原创 2024-04-10 23:25:13 · 217 阅读 · 0 评论 -
【项目实战】并发编程之使用线程池CompletableFuture + ThreadPoolTaskExecutor并行查询,提升接口响应速度
后端提供一个接口获取商品信息接口传入一个商品id,需要返回商品下面这些信息,这些信息都在不同的表中,通过商品id就可以查到。原创 2024-04-10 22:35:21 · 311 阅读 · 0 评论 -
【项目实战】为MySQL中update_time字段设置“ON UPDATE CURRENT_TIMESTAMP”的效果
如果在MySQL中为某个字段(例如update_date)设置了“ON UPDATE CURRENT_TIMESTAMP”,那么每当该行数据的任何字段被更新时(只要至少有一个字段的值发生了改变),update_date字段将自动更新为当前的时间戳。如果UPDATE语句没有导致任何字段值的改变,则update_date字段不会被更新。只有在记录内容确实发生变化的情况下,这个时间戳才会被刷新。原创 2024-04-10 22:25:27 · 528 阅读 · 0 评论 -
【项目实战】Mybatis Plus的主键策略
本文就是string类型 的 AUTO ,因此无法实现数据库ID的自动生成。原创 2024-04-10 22:10:22 · 202 阅读 · 0 评论 -
【异常】PGSQL提示异常PSQLException: No hstore extension installed.
运行以下 SQL 语句来安装 hstore 扩展,这个命令会检查是否已经安装了 hstore 扩展,如果没有,则安装它。安装完成后,你就可以在你的数据库中使用 hstore 数据类型了。需要确保使用的 PostgreSQL 版本支持 hstore 扩展,并且你的 JDBC 驱动和任何你使用的数据库框架(如 Hibernate 或 MyBatis)也支持它。这个异常通常发生在尝试在 PostgreSQL 数据库中使用 hstore 数据类型时,但是数据库中并没有安装 hstore 扩展。原创 2024-04-10 22:00:56 · 961 阅读 · 0 评论 -
【异常】车端调用云端接口返回JSON parse error: Cannot construct instance of no String-argument constructor/factory
问题具体在于Jackson库在尝试将接收到的JSON字符串转换为指定Java对象时,由于UploadMyCustomScenarioCardReq类没有可以接受String参数的构造方法或者工厂方法来从JSON字符串中反序列化数据,导致了MismatchedInputException异常。是jsonObject的锅,调用云端的接口,调用的方法不对。原始JSON数据包含了多个等字段,但Jackson在处理这些数据并试图将其映射到对应的Java对象属性时,由于缺少合适的构造函数或反序列化方法而失败。原创 2024-04-10 21:17:45 · 155 阅读 · 0 评论 -
【项目实战】性能测试之压力测试的系统性能指标基本(并发用户数 与 并发量)
并发:一段时间访问的大量用户的请求并行:同一时刻的大量用户的请求。原创 2024-04-07 09:22:41 · 440 阅读 · 0 评论 -
【项目实战】性能测试之压力测试的系统性能指标基本介绍(每秒事务数TPS和峰值TPS)
峰值TPS是指系统在特定高峰时段内能够处理的最大TPS。这个指标有助于了解系统在流量高峰期的表现。通常平均TPS是压力测试的重要指标之一,应与预期目标TPS值做对比。同时,取所采集到的请求的最小TPS和最大TPS作为测试结果。原创 2024-04-06 20:35:13 · 680 阅读 · 0 评论 -
【项目实战】Mybatis-Plus的乐观锁插件介绍
Mybatis-Plus是在Mybatis基础上的增强工具,提供了更多的便捷功能,而Mybatis则更注重灵活性和原生SQL操作。Mybatis-Plus更适合那些希望减少SQL编写量、提高开发效率的团队,而Mybatis则适合那些需要灵活处理SQL并且不介意手动编写SQL语句的团队。原创 2024-04-06 17:10:50 · 453 阅读 · 0 评论 -
【2.5 认证中心(Spring Security)】 Sa-Token和JWT,替换Spring Security 实现权限认证方
提供了一系列权限相关的注解,如登录校验、角色校验、权限校验等,支持多种条件组合,如AND、OR逻辑关系,以及复杂的表达式。支持整合Redis,实现前后端分离,提高系统的可维护性和扩展性。提供了零配置开箱即用的体验,简化了权限认证的集成和使用过程。是一种开放标准(RFC 7519),定义了一种紧凑且自包含的方式,用于在各方之间安全地传输信息作为JSON对象。JWT通常用于身份验证和信息交换,特别是在无状态的客户端-服务器通信中。原创 2024-04-06 16:58:10 · 1883 阅读 · 0 评论 -
【项目实战】Hutool 工具包hutool-crypto介绍
对称加密(symmetric),例如:AES、DES等非对称加密(asymmetric),例如:RSA、DSA等摘要加密(digest),例如:MD5、SHA-1、SHA-256、HMAC等hutool-crypto针对这三种加密类型分别封装,并提供常用的大部分加密算法。其中,针对常用到的算法,模块还提供SecureUtil工具类用于快速实现加密。对于非对称加密,实现了:对于对称加密,实现了:对于摘要算法实现了:原创 2024-04-06 16:54:57 · 875 阅读 · 0 评论 -
【项目实战】采用 Undertow 基于 XNIO 的高性能容器
NIO(Non-blocking I/O,非阻塞I/O)NIO是Java语言的一种I/O模型。NIO是Java语言的基础I/O模型。NIO采用同步非阻塞的I/O方式,是I/O多路复用的基础。在NIO中,所有的I/O操作都是面向缓冲区的,数据需要先读取到缓冲区中再进行处理,从而提高了I/O效率。NIO使用选择器(Selector)来实现非阻塞I/O操作,并引入了通道(Channel)的概念,通道是双向的,支持读写操作,并且可以异步地进行操作。原创 2024-04-06 16:25:02 · 886 阅读 · 1 评论 -
【JVM与性能调优】双亲委派模型(Parent Delegation Model)
此外,JVM还允许我们自定义类加载器,通过继承java.lang.ClassLoader类并重写findClass(String name)方法来实现。自定义的类加载器可以加载网络上的类、数据库中的类,或者其他来源的类。类加载器之间的这种层次关系,被称为双亲委派模型。原创 2024-04-06 13:07:58 · 129 阅读 · 0 评论 -
【2.5 认证中心(Spring Security)】如何在Spring Security中集成并使用BCrypt
在Spring Security中,BCrypt是一种常用的密码加密方式。Spring Security内置了对BCrypt的支持,因此可以很容易地在项目中集成它。在 Spring Security 中使用 BCrypt 进行密码加密是一种常见且推荐的做法。在Spring Security中使用BCrypt进行密码的哈希和验证是一种常见做法。原创 2024-04-06 11:50:54 · 187 阅读 · 0 评论 -
【异常】解决 IDEA Maven 项目中“Could not find artifact“ 问题的常见情况和解决方案
你可以查看 IDEA 的错误日志,或者运行 mvn dependency:tree 命令来查看项目的依赖关系,这可能会帮助你找到问题的根源。如果你的网络连接有问题,或者 Maven 仓库的服务器有问题,Maven 可能无法下载依赖项。你可以检查你的网络连接,或者尝试更换其他的 Maven 仓库(如阿里云的 Maven 仓库)。如果依赖项本身有问题,例如,它已经从 Maven 仓库中删除了,那么你可能需要寻找替代的依赖项,或者联系依赖项的维护者。确保你的 Maven 配置是正确的。原创 2024-04-01 21:16:57 · 5301 阅读 · 0 评论 -
【异常】使用MySQL时,142-DELETE command denied to user ‘xxx‘@‘xxx‘for table ‘app_scenarios_forbidden‘
这个错误消息表示在数据库(可能是MySQL)中,用户 ‘xxx’@‘xxx’ 试图执行一个 DELETE 命令,但是被拒绝了,因为它没有对表 ‘app_scenarios_forbidden’ 的删除权限。这通常发生在权限不足的情况:用户 ‘xxx‘@‘10.0.1.17’ 可能没有从 ‘app_scenarios_forbidden’ 表中删除数据的权限。原创 2024-04-01 21:14:21 · 744 阅读 · 0 评论 -
【项目实战】java根据两个整数,计算相除之后的百分比
根据两个整数,计算相除之后的百分比在Java中,想要根据两个整数计算相除之后的百分比。原创 2024-04-01 21:08:05 · 700 阅读 · 0 评论 -
【异常】Spring的依赖注入(DI)系统提示异常,因为漏了一个实现类导致了错误Parameter 0 of constructor in
这个错误消息表示你的Spring Boot应用程序在启动时失败了,因为它找不到一个类型为com.xx.admin.service.MaterialService的bean。这通常意味着Spring的依赖注入(DI)系统无法为你的MaterialController的构造函数注入所需的MaterialService bean。首先,你需要确保com.xx.admin.service.MaterialService这个类确实存在于你的项目中,并且没有被错误地删除或重命名。原创 2024-04-01 14:49:48 · 1827 阅读 · 0 评论 -
【异常】Node.js 抛出了一个MODULE_NOT_FOUND错误:Error: Cannot find module ‘@vue/cli-plugin-unit-jest‘
从给出的错误信息来看,项目依赖了一个名为@vue/cli-plugin-unit-jest的模块,但你的项目中并没有安装这个模块。因此,当vue-cli-service试图加载它时,Node.js 抛出了一个MODULE_NOT_FOUND错误。原创 2024-04-01 14:46:26 · 2107 阅读 · 0 评论 -
【异常】优雅的全局异常捕捉,拦截PSQLException: ERROR: duplicate key value violates unique constraint,转为提示数据库中已存在记录
从错误日志看,遇到的问题是在尝试向数据库插入一条新记录时,由于违反了唯一约束(unique constraint),导致了错误。确保在插入新记录之前,不会插入具有相同 id 的记录。你可能需要修改你的插入逻辑,使其生成唯一的 id。如果你的 id 是手动生成的,确保在插入新记录之前,数据库中不存在具有相同 id 的记录。如果你的 id 字段是自增的,那么你应该让数据库自动为你生成 id,而不是手动指定。具体来说,你试图插入一个 id 为 3 的新记录,但这个 id 在表中已经存在。那为什么会返回500呢?原创 2024-04-01 13:58:45 · 467 阅读 · 0 评论 -
【异常】Spring Boot框架提示Configuration property name ‘qqMusic‘ is not valid
这个错误信息表明你的应用程序在启动时遇到了问题,具体是因为配置属性名 ‘qqMusic’ 不符合规范。在Spring Boot等框架中,配置属性的命名通常遵循一定的规范,以确保它们能够正确解析和映射到相应的配置类(Bean)中。同时,在配置文件(如 application.properties 或 application.yml)中,你也需要确保属性的名称已经更改。确保你的 QQMusicConfig 类中对应的属性名称也与之匹配,通常通过注解(如 @Value)或配置文件映射来实现。原创 2024-04-01 13:23:36 · 253 阅读 · 0 评论 -
【异常】PGSQL提示异常PSQLException: ERROR: subquery in FROM must have an alias
错误信息 “PSQLException: ERROR: subquery in FROM must have an alias”原创 2024-04-01 09:29:23 · 1343 阅读 · 0 评论 -
【异常】Mockito 默认不支持模拟 final 类
请注意,使用 mock-maker-inline 可能会增加测试的运行时间,并且可能不适用于所有情况。这个错误信息表明在使用 Mockito 进行单元测试时,你尝试模拟(mock)了一个 final 类,而 Mockito 默认不支持模拟 final 类。Mockito 提供了一个名为 mock-maker-inline 的配置选项,它可以允许 Mockito 模拟 final 类。如果不想修改被测试的类,并且 mock-maker-inline 选项也不适用,可以考虑使用 Mockito 的间谍功能。原创 2024-03-27 22:25:57 · 1166 阅读 · 0 评论 -
【异常】SpringMVC提示ClassCastException: ResourceHttpRequestHandler cannot be cast to HandlerMethod
下面是一个修改后的preHandle方法示例,它添加了对handler类型的检查,在这个修改中,首先检查handler是否是HandlerMethod的实例。问题的根本原因是尝试将handler对象强制转换为HandlerMethod,而在某些情况下handler实际上是ResourceHttpRequestHandler的一个实例。如果handler是HandlerMethod的实例,则进行类型转换并继续你的逻辑;如果不是,则应该跳过需要HandlerMethod的逻辑,并允许请求继续处理。原创 2024-03-27 10:15:33 · 458 阅读 · 0 评论 -
【异常】单元测试框架Mockito提示MockitoException: Failed to release mocks This should not happen unless you are
要解决这个问题,你可以检查你的代码,确保正确使用Mockito框架和参数匹配器。确保你正确地创建了mock对象,并在需要的地方使用了正确的参数匹配器。如果你正在使用第三方的mock maker,请确保它与Mockito框架兼容,并按照其文档进行正确的配置和使用。具体来说,它指出在释放mock对象时出现了失败,并且给出了一个可能的原因是使用了第三方的mock maker。请注意,这只是一个示例,你需要根据你的具体情况进行适当的修改和调整。此外,它还提到了一个更具体的错误:无效的参数匹配器使用。原创 2024-03-26 12:33:39 · 1950 阅读 · 0 评论 -
【项目实战】一个高可靠性、高性能、面向列、可伸缩的分布式存储系统/数据库Apache HBase入门介绍
Apache HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,用于存储大量数据。原创 2024-03-20 21:14:33 · 130 阅读 · 0 评论 -
【异常】使用Phoenix api操作Hbase TableNotFoundException: ERROR 1012 (42M03): Table undefined. tableName=DUAL
这个错误表示在执行SQL查询时,找不到名为"DUAL"的表。原创 2024-03-19 23:01:24 · 255 阅读 · 0 评论 -
【2.4 微服务链路追踪(SkyWalking)】链路追踪组件SkyWalking整合Logback
Apache SkyWalking 是一个应用性能管理(APM)系统。原创 2024-03-19 10:38:35 · 508 阅读 · 0 评论