
日常经验
文章平均质量分 79
日常经验汇总
执键行天涯、
国企程序猿 5年工作经验
展开
-
RedisCommandExecutionException: NOPERM this user has no permissions to access one of the keys used
背景,使用redis在Java代码中执行lua脚本,提示没权限报错分析及解决办法:从你给出的错误信息可以看出,这是一个 Redis 操作权限不足的错误。下面为你详细分析可能的原因以及对应的解决办法。从你给出的错误信息可以看出,这是一个 Redis 操作权限不足的错误。下面为你详细分析可能的原因以及对应的解决办法。原创 2025-05-08 10:12:33 · 1066 阅读 · 0 评论 -
Apache Velocity代码生成简要介绍
Apache Velocity 是一个基于 Java 的模板引擎,它允许将 Java 代码与 HTML、XML 或其他文本格式分离,实现视图与数据的解耦。在 Web 开发中,Velocity 常用于生成动态网页内容;在其他场景下,也可用于生成配置文件、邮件模板等。通过 Java 代码将数据传递给 Velocity 模板引擎,模板文件中使用 Velocity 指令进行变量定义、对象属性访问、循环遍历和条件判断,最终生成动态的 HTML 文件。这种方式使得视图和数据分离,提高了代码的可维护性和可扩展性。原创 2025-05-06 16:33:25 · 631 阅读 · 0 评论 -
前端请求传参与后端匹配的接收方式&Content-Type类型
是HTTP请求头中的⼀个标头,⽤于指示请求或响应中包含的实体的媒体类型,可以出现在请求或响应标头中。它告诉服务器如何处理客户端传过来的数据(通知服务器客户端正在发送的数据类型)、客户端如何处理响应中的数据。get请求的 headers 中是没有 content-type 这个字段的。content-type 是⽤来指定消息体的格式的,get请求⼀般没有消息体,所以,get 请求⼀般不⽤设置 content-type。原创 2025-04-17 15:51:14 · 1568 阅读 · 0 评论 -
后端controller中请求是POST方式,而且请求的接收入参是一个实体User,这个写注解 @RequestBody 跟不写注解,前台传参有什么区别
入参处理这块不是很复杂,主要是要和前端的Header中的Content-Type对应,本次DEMO只讲了String类型的入参处理,后面会分享文件,数组等复杂类型的入参处理. 还有一种入参是@PathVariable的形式,这种在实际入开发中使用的少之又少,可以学习,不推荐实际开发中使。原始文章链接:https://cloud.tencent.com/developer/article/1546885。入参通常来说分两个情况,一种是Get, 一种是POST。转载 2025-04-17 10:35:22 · 48 阅读 · 0 评论 -
【经验】SrpingBoot项目分多个模块,某个模块使用了 spring-boot-starter-web,因此需要继承 spring-boot-starter-parent,为什么?
针对于 关于在 Spring Boot 项目里,当模块使用了后,通常建议继承。原创 2025-04-16 15:34:43 · 789 阅读 · 0 评论 -
VUE项目中的package.json中的启动脚本
vite build和都是 Vite 构建工具的内置功能,前者是默认的生产环境构建命令,后者则允许你通过指定环境模式,灵活地为不同环境进行针对性的构建。原创 2025-04-14 17:26:21 · 345 阅读 · 0 评论 -
【权限】v-hasPermi=“[‘monitor:job:add‘]“ 这个属性是怎么控制能不能看到这个按钮
el.parentNode && el.parentNode.removeChild(el) 这行代码的意思是,如果 el.parentNode 存在(即 el 有父节点),则从 DOM 中移除 el。这是因为在 Vue 中,使用 v-hasPermi 指令时,如果用户没有相应的权限,我们希望从 DOM 中移除这个元素,从而避免用户看到没有权限的按钮或链接。在这段代码中,el 是一个 DOM 元素,el.parentNode 是获取这个 DOM 元素的父节点。因此, 的父节点是 ,而 的父节点是 或。原创 2025-04-14 15:20:09 · 559 阅读 · 0 评论 -
切面变成@AfterReturning(pointcut=““,returning=“josnResult“) 中的参数解释
pointcut参数用于定义切入点,确定哪些方法会触发后置返回通知。returning参数用于指定一个参数名,该参数将接收目标方法的返回值,方便在通知方法中对返回值进行处理。execution匹配粒度execution的匹配粒度最细,它可以精确到具体的方法签名。within的匹配粒度较粗,它是基于类或包的范围进行匹配。的匹配粒度取决于注解的使用情况,它是基于方法上的注解进行匹配。应用场景execution适用于需要精确控制哪些方法被拦截的场景。within。原创 2025-03-26 10:26:10 · 864 阅读 · 0 评论 -
sa-token全局过滤器:写法一和写法二注册的Bean,一个是返回FilterRegistrationBean,一个是返回SaServletFilter ,两种写法都会过滤每一个请求吗 。有什么区别
Boot的文档,当注册一个Filter类型的Bean时,默认情况下,该过滤器会匹配所有的请求(即/*),并且顺序为最低优先级。例如,写法一可能通过FilterRegistrationBean的配置和SaServletFilter内部的配置共同决定拦截的路径,而写法二仅依赖SaServletFilter内部的配置。Boot的默认order值。此外,写法二中直接返回SaServletFilter作为@Bean,可能无法正确设置order,导致顺序不符合预期,从而影响过滤器的执行顺序,进而影响权限验证的逻辑。原创 2025-03-04 22:55:16 · 878 阅读 · 0 评论 -
sa-token全局过滤器之写法优化(包含设置Order属性)
背景:在手写登录的过程中需要继承sa-token框架,并使用sa-token的过滤器功能,那全局过滤器怎么写呢?我们一起来看看吧。根据sa-token的官方文档:如下图所示:下面是最简单的一种sa-token过滤器的实现方式,这种写法简单,但是会有一些问题。第二种,设置Order的写法:这种是先创建了FilterRegistrationBean对象,同时给这个对象set值的时候,new 了一个SaServletFilter对象,并同时设置上了相关属性逻辑。或者。原创 2025-03-04 22:48:29 · 902 阅读 · 0 评论 -
【日常经验】五种密码加密方式比较
加密类型目前主流的有三种:对称加密、非对称加密和摘要加密。原创 2025-02-15 17:52:46 · 2206 阅读 · 0 评论 -
IDEA 撤销 merge 操作(详解)
现在有两个本地分支dev 和 master, 将 dev 合并到 master 后如何撤销?(注意:以上操作还未 push 到远程分支)合并过程中未发生冲突合并过程中发生了冲突以上是我总结的部分方法,但是还有很多其他的方式可以解决,比如 revert命令,这个也可以将合并的代码去掉,不过它会生成新的提交记录,感兴趣的读者可以去了解下这个命令,希望以上内容能对你有帮助,如有错漏之处,望指正。原创 2025-01-04 14:32:29 · 5483 阅读 · 0 评论 -
Maven中管理SNAPSHOT版本含义及作用
在 Maven 中,-SNAPSHOT 后缀是用于标识项目版本为快照(Snapshot)版本的约定。反之,如果不是Snapshot后缀的包,例如v1.1.0,这说明它是一个相对稳定的版本了,这个版本一经发布,则不能覆盖这个版本,这也是考虑到公共包被多个项目使用,你在一个版本上反复的修改,覆盖,部署,有可能对多个系统产生影响。在Maven中管理SNAPSHOT版本需要使用pom.xml文件来定义版本号,使用Maven命令来发布和更新SNAPSHOT版本,并在项目中依赖这些版本。它们不适合发布到生产环境中。原创 2025-01-03 16:42:44 · 877 阅读 · 0 评论 -
【GIT】idea中冲突的解决,避免代码丢失,千万注意!
说这些的意义:其实是为了提醒乙同学,再合并冲突的时候,如果遇见了别人提交的独有代码逻辑和你的有了冲突,一定不能直接将别人的去掉,因为如果叉掉了,因为这部分叉掉的代码别人已经合并到test过了,别人即使在提交这部分代码也不会再次合并到test了,重点来了,乙同学应该把自己的代码逻辑留下的同时,也把甲同学中独有的逻辑也留下,如果在逻辑上留着甲同学的代码,测试的过程中会对乙同学的逻辑有影响,那就先注释掉甲同学独有的逻辑,等乙同学需求测试完了之后,再在test上放开甲同学的特有逻辑即可;解决冲突:未解决的截图。原创 2024-12-13 16:51:00 · 812 阅读 · 5 评论 -
【日常经验】修改大数据量的表字段类型,怎么修改更快
综上所述,修改大数据量的表字段类型需要谨慎操作,并采用高效的方法来提高修改速度。监控:在修改过程中,监控数据库的性能和资源使用情况,确保修改操作不会对数据库造成过大的压力。索引和约束:检查字段上是否存在索引和约束,修改字段类型可能需要重建索引或调整约束。字段类型兼容性:确保新的字段类型能够兼容原字段中的数据,避免数据丢失或格式错误。**重建索引:**如果修改字段类型后影响了索引,需要重建索引以提高查询性能。**优化查询:**根据新的字段类型优化相关查询语句,确保查询效率不受影响。原创 2024-11-21 17:22:11 · 889 阅读 · 11 评论 -
在不久的未来,AI大模型将会如何重塑软件开发流程,会对现在的工作产生什么样的冲击
对现有工作产生的冲击包括:原创 2024-11-11 10:03:07 · 964 阅读 · 1 评论 -
【日常经验】Spring Cloud Feign 是不是rpc框架调用?
⏰️创作时间:2024年11月06日15点00分。原创 2024-11-06 09:44:58 · 1188 阅读 · 0 评论 -
【日常经验】除了 dubbo 和 HttpRequest.post(),还有哪些常用的 RPC 框架?
⏰️创作时间:2024年10月15日10点23分。原创 2024-11-06 09:43:11 · 555 阅读 · 0 评论 -
【日常经验】RPC 调用的分类及示例
⏰️创作时间:2024年11月6日09点23分。原创 2024-11-06 09:30:43 · 1354 阅读 · 0 评论 -
【日常经验】为什么@Value能拿到的配置只能在当前模块的yml中,不能跨模块取值
然而,关于@Value注解能否跨模块获取配置的问题,实际上涉及到了Spring的配置加载机制、模块间的依赖关系以及配置文件的解析方式。如果一个模块依赖于另一个模块,那么它通常会引入该模块的依赖项,并能够在自己的配置文件中引用该模块提供的配置。如果配置文件是分模块管理的,并且每个模块都有自己的配置文件,那么@Value注解通常只能注入当前模块配置文件中的值。当使用@Value注解时,Spring会在当前加载的配置文件中查找对应的键值对,并将其值注入到注解所在的字段或方法中。原创 2024-11-05 18:44:38 · 565 阅读 · 1 评论 -
【工具使用】VSCode如何将本地项目关联到远程的仓库 (vscode本地新项目与远程仓库建立链接)
在日常练习的项目中,我每次都在vscdoe编写前台代码,但是对于编写的代码,如何将本地项目关联到远程的仓库;这里做一下记录。原创 2024-10-27 11:19:49 · 3007 阅读 · 5 评论 -
【远程调用】RPC调用是什么概念,代码体现
首先定义一个服务接口,在客户端和服务端之间共享。// Order.java (一个简单的订单类)// 构造函数、getter 和 setter 省略。原创 2024-10-23 13:05:32 · 1122 阅读 · 15 评论 -
【JAVA基础】lombok的@Data会生成什么?和无参构造器有关系吗
无参构造器:@Data注解本身不直接生成构造器。但是,由于Java类的默认行为,如果你没有显式地定义任何构造器,Java编译器会自动为你生成一个无参构造器。这个哈希码的计算方式可能依赖于字段的类型和值,但通常会尝试确保不同对象(即字段值不完全相同的对象)具有不同的哈希码,以减少哈希冲突的可能性。编译器默认生成无参构造器,但如果你自己写了有一个参数的构造器,那么编译器将不会再生成默认的无参构造器。编译器默认生成无参构造器,如果自己写了有一个参数的构造器,还会生成默认的无参构造器吗?原创 2024-09-26 10:34:59 · 1142 阅读 · 2 评论 -
【JAVA基础】JAVA类的拷贝使用示例
Apache Commons BeanUtils是一个用于操作JavaBean的工具类库,它提供了丰富的API来操作JavaBean的属性,包括属性拷贝。Spring框架自带的BeanUtils类也提供了属性拷贝的功能,通常与Spring框架一起使用。ModelMapper是一个智能的对象映射库,它可以自动将一种类型的对象转换为另一种类型的对象,包括Bean的属性拷贝。原创 2024-09-26 10:24:41 · 1772 阅读 · 2 评论 -
npm报错:request to https://registry.npm.taobao.org failed, reason certificate has expired
在 2021 年,淘宝就发文称,npm 淘宝镜像已经从 registry.npm.taobao.org 切换到了 registry.npmmirror.com。注意:此处修改的镜像用的是npm本身,一般国内用户还是建议使用淘宝镜像,所以推荐还是设置成用淘宝镜像,执行:npm config set registry https://registry.npmmirror.com 【推荐】4、再次运行: npm config list,查看 registry 已经被更改为默认的 npm 公共镜像地址。原创 2024-09-23 16:04:01 · 1207 阅读 · 0 评论 -
【经验帖】脏读和不可重复读的概念及影响
脏读和不可重复读是数据库事务并发执行时可能出现的两种数据一致性问题,它们对数据的一致性和完整性有着显著的影响。原创 2024-09-19 09:39:29 · 603 阅读 · 15 评论 -
【经验帖】JAVA中同方法,两次调用Mybatis,一次更新,一次查询,同一事务,第一次修改对第二次的可见性如何
在同一个事务中,当你先更新一个实体,然后立即查询这个实体(或基于相同条件查询),你通常会看到更新后的结果,这是因为Hibernate等ORM框架的缓存机制以及事务内部操作的原子性。API)的隔离级别通过定义事务之间的可见性和相互影响程度,直接影响了在同一个事务或不同事务中执行的查询操作的结果。在Java语言中,特别是当你在使用JPA(如Hibernate)或Spring Data JPA等ORM(对象关系映射)框架时,对于事务内的数据修改和查询的行为是高度依赖于事务的隔离级别以及数据库本身的实现细节的。原创 2024-09-19 09:00:36 · 1515 阅读 · 5 评论 -
【JAVA基础】StringUtils.isEmpty、StringUtils.isBlank()、Objects.isNull()三者区别
【代码】【JAVA基础】StringUtils.isEmpty、StringUtils.isBlank()、Objects.isNull()三者区别。原创 2024-09-06 18:07:08 · 531 阅读 · 4 评论 -
【Git】IDEA代码合并|merge into
当然我这里是dev和test分支之间没有冲突的情况下,合并很顺利,如果出现了冲突,我们就和另外冲突的开发人员的代码进行比较,相互讨论确定出哪些需要要,哪些不需要,在本地的test中解决冲突合并之后后再push到远程test即可。第四步:进入页面,可以看到我们刚刚合并后的分支,在这里选择到需要review的管理人员,还有测试人员,都完成之后,由相应的人员点击下面的审查通过 和测试通过按钮,之后再点击。提交到远程的dev分支之后,我现在需要合并到test分支,去和其他的需求合并起来并部署到test环境。原创 2024-09-03 11:08:39 · 3367 阅读 · 0 评论 -
日常开发中注意点总结(二)对于一个页面的两个更新方法,我们到底该写成一个通用的还是两个单独的?...
如果一个页面有两个更新方法的话,分别是通过不同的功能点点击过去的,比如分别更新一个页面的上半部分内容(业务实体A),一个是只是更新其中的发票信息的(发票实体B),虽然在一个页面,但是也不应该写成一个更新请求 这种的因为两个更新没什么关联的关系,而且更新的是实体不是一个,所以就可以整成两个不同的更新方式,进行更新操作了。 注意:有的时候,对于某个请求,是需要理解成更新方法还是新增方法,是取决于这...原创 2024-05-30 09:39:00 · 183 阅读 · 0 评论 -
日常开发中注意点总结(三)对于分页查询、详情查询总到底哪些字段该回传回来,数据库的回传查询sql该怎么写 ?...
还有个问题,对于分页查询、详情查询这些接口中,到底是哪些字段应该回传给前台,其实还是依赖于前台需要对哪些字段做展示,需要使用哪些字段。 一般对于resVo响应实体,都是包含哪些应该返回的字段(前端应该展示的字段),这种的再后面查询数据库的时候,直接查询该展示的字段,这是没有任何异议的, 但是对于resVo响应实体中,如果是实体A的所有字段,比如包含del_flag这些只作为数据标识的字段,...原创 2024-05-30 09:40:00 · 284 阅读 · 0 评论