开发Bug
北堂飘霜
如果不去争取,你想要的东西永远都不是你的!
展开
-
记录 - SpringBoot 自动配置的坑 isXXX失效
像赋值这种事,应该是在bean实例化的时候做的,所以点开注释使用者应该去找XXXPostProcessor类,果然我找到了ConfigurationPropertiesBindingPostProcessor类,点开。顿时一切都明白了,因为这个字段叫isSandbox ,他的方法也叫isSandbox ,如果想要它生效,把它换成大布尔类型,或者改名为setIsSandbox.]这大概的意思是有值就放没有就默认值的,我猜想这应该是 ${xxx} 这种赋值的。2023/12/21 - 记录。原创 2023-12-21 20:28:50 · 111 阅读 · 0 评论 -
windows的批量解锁
c#对windows适配性更好,但是非常折磨,生态也比java小很多,但是语言只是tools罢了。对我而言,语言并没有任何壁垒。场景是我从github上拉了一个c#项目启动的时候报错,我试了一下,我的c#桌面应用果然启动起来了,很nice.反复的折磨拷打chat之后,它告诉我一个方法。我有很多文件这样的话,一个个点太费劲了。这个很烦,我chat了一下,告诉我。原创 2023-10-17 21:38:19 · 406 阅读 · 0 评论 -
Linux OS源的问题记录
安装了一台Linux虚拟机充当服务器,准备搭建一个elk环境,我使用命令安装docker的时候,报错提示。使用命令到 /etc/yum.repos.d/CentOS-Base.repo下面,然后编辑。记录一下,以后如有需要,回来阅读。随后再次安装提示成功。原创 2023-10-15 20:07:05 · 386 阅读 · 0 评论 -
自动化测试-鉴权
当我用selenium进行测试的时候,发现了一个问题,原本不需要鉴权的网页突然需要鉴权了。果然问题解决,但是引入了新的问题:如果已经打开了浏览器,则会报错。我想浏览器的信息应该是共享的,然后使用配置。通过研究得知,是因为浏览器进程不准有残留。仅仅是一次问题的记录,以便于日后朔源。原创 2023-09-06 13:56:43 · 754 阅读 · 2 评论 -
VUE id回写name的问题
我们有部门,单位,传的是id,但是页面不管显示,还是回写,新增都要展示单位名/部门名。这个其实是前端的事情,但是我目前是前端也是我做,我们使用的是vue3,这个问题用List可能不好解决,但是用Map就解决了。在软件开发的道路上,遇到问题是很正常的事情。解决问题的过程中,充分发挥了作为全栈开发工程师的多面能力,不仅仅是前端技术,还有参数传递。作为一个全栈开发工程师,这个问题肯定是要解决的啦~OK,完美解决这个问题。原创 2023-08-23 23:45:18 · 564 阅读 · 0 评论 -
2023-08-23 Spring加载问题
一次Spring加载问题的解决原创 2023-08-23 22:46:40 · 223 阅读 · 0 评论 -
记一次 SQL刷数据脚本 和 SQL调优
但是对于SQL调优,我们可以直接丢给DBA,导致了我们缺乏SQL调优的机会,幸运的是,在新东家这里,我可以为所欲为的调试SQL,去观察SQL可以优化的点。我着手去修复这个sql,花了很长时间,我将嵌套查询拆开之后执行,发现SQL快了很多,随后又使用了内关联发现快了一点,不是很确定,又查了大概20遍,确实快了一点,我询问了我的代理,1s 300ms 我很满意,其实可以更快的,但是我没有再深入了,因为第一时间不允许,第二层次不够,必须要以后经常和SQL打交道,才能更大限度的吸取sql调优经验。原创 2023-03-27 22:07:11 · 644 阅读 · 4 评论 -
不恰当的使用引发问题的思考
我看到了有一个同事的代码,迅速定位问题就在这里。但是这个对象是存在于栈中的,且栈很浅,并且栈大小没有经过一个先大后小的过程,然后对象并没有逃逸的迹象。所以这个释放纯属多余,而且即使要释放一个对象,或者一个资源,至少他是公用的,释放对象的算法十分复杂(如:Netty中的ByteBuf的释放,需要经过自旋指针计算,确定没有引用。在很多时候,我们的能力或者知识储备并不充足的时候,可能原始方案就是最好的,只要能正确编写代码,Java的效率也好,内存也好。前两天,客户现场那边有个问题,开启了文件监控,但是无法扫描。原创 2023-03-06 11:45:17 · 69 阅读 · 0 评论 -
工作日志0214:执行慢而大保证数据不丢失策略
最近需要做一个db to db的东西,总数据量三千万左右,我们需要将一个或者多个库中的表导出为Sql或者将一个或者多个sql文件导入到任意库。那是必须要使用线程池的,但是执行一个sql文件或者导出如果耗时巨多,然后我们表又很多,会造成前面任务执行不完,后面任务有丢失的情况,所以我新定了一个策略,阻塞策略。意思就是如果有new Task ,那么线程池会等着处理完现在的任务再去处理他,再这过程中,不会有任务丢失。虽然这个策略暂时缓和了燃眉之急,但是似乎引发了内存问题(待解决和寻找根源)。原创 2023-02-14 15:48:10 · 59 阅读 · 0 评论 -
写一个正确的类
例如,大多数 Set 从 AbstractSet 继承了 equals 实现、List 从 AbstractList 继承了 equals 实现,Map 从 AbstractMap的 Map 继承了equals 实现。避免此问题的最简单方法是不覆盖 equals 方法,在这种情况下,类的每个实例只与自身等。很多时候我们去定义一个类,可能那个类里面有很多的熟悉,我们使用构造方法去构建,然后随意的重写一下方法,就完了。4.类是私有的或包级私有的,可以确定它的 equals 方法永远不会被调用。原创 2023-02-06 18:03:09 · 342 阅读 · 0 评论 -
应该尽可能的使用泛型
在开发中,我们有时候会使用Object来表示接受的参数可以是任意的参数,如果我们能够保证绝对安全,我们可以去使用,但是客户端的调用通常是不可预测的,一个糟糕的程序员通常重心不会放在重点上。所以在代码中经常可以看到强制转换可能会在运行时失败。但是很可惜,没有人看到这些,我没有任何攻击任何人的意思。只是借助这个失败的案例,警告自己。原创 2023-02-06 14:05:50 · 95 阅读 · 0 评论 -
2023-01-31问题记录(三个问题)
这其实是一个内存泄漏的事故,其实你可以去测试,越详细越好,都不会发现这个问题,因为这个现象很难复现,即使没有办法复现,他内存慢慢积累,然后我们的那个gc活动就会频繁,频繁了就会性能下降,因为gc太多了,时间被gc占了一大部分,是个灾难。当一个再优秀的程序员,有时也会难免犯这些低级的错误,有时不自觉也会犯错,犯错误容易,但是修的时候非常麻烦,所以要约束自己,不要肆意妄为,就算当时不爆炸,日后总有爆炸的一天,那时候会有种 被水淹没 不知所措的感觉!随后我思考解决方案,幸运的是,我找到了答案。原创 2023-01-31 12:13:38 · 435 阅读 · 0 评论 -
only_full_group_by
sql5.7 group by 规范引起的 'bug'原创 2021-12-26 17:34:13 · 645 阅读 · 0 评论 -
warning no match for this type name
场景启动项目时报错warning no match for this type name解决切面表达式错误 找到对应的切面表达式改一改即可 @PointCut("execution(* com.xxx.xxx.dao..*.*(..))")原创 2021-11-26 16:34:55 · 2520 阅读 · 0 评论 -
局部变量过大导致栈溢出问题解决方案
场景今天启动项目发现栈溢出错误,经过排查是Query参数中变量太多导致的。解决配上-XX:MaxDirectMemorySize=1024m默认应该是64m,增大到1024空间即可.原创 2021-11-26 16:30:53 · 781 阅读 · 0 评论 -
shiro整合mvc中自定义Realm中引入service是null
场景直接放代码package com.genset.stockmanage.realm;import com.genset.stockmanage.bean.User;import com.genset.stockmanage.brige.UserBrige;import com.genset.stockmanage.constant.SuperConstant;import com.genset.stockmanage.core.base.ShiroUser;import com.gens原创 2021-11-15 15:43:41 · 193 阅读 · 0 评论 -
ContextLoaderListener的坑
场景今天搭建项目的时候出现了这么个异常:说找不到依赖。是这样的,是一个ssm项目,我们把根据功能划分模块,web模块依赖服务模块的包,发现找不到,装载失败了。解决方案最后发现是ContextLoaderListener监听器没配导致的。ContextLoaderListener作用ContextLoaderListener的作用就是启动Web容器时,读取在contextConfigLocation中定义的xml文件,自动装配ApplicationContext的配置信息,并产生WebApplic原创 2021-11-02 22:24:57 · 402 阅读 · 2 评论 -
sync failed 错误 springboot
场景我在部署完新项目的时候,编译出现这个问题,sync failed,我的maven版本当时是3.5.5版本,我逐个排查,最后发现是lombok版本的问题,我把版本换成了1.18.20,问题顺利解决。特以日志的形式,谨防再犯,便于个人以及同事取用。解决、 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId>原创 2021-11-02 17:42:15 · 1282 阅读 · 0 评论 -
LINUX 【Mysql】Ignoring query to other database解决方法
场景在虚拟机上部署环境赋权时所报.解决登录mysql时带u参数原创 2021-09-29 23:21:41 · 98 阅读 · 0 评论 -
Warning: Class ‘com.xxx.xxx’ not found in module ‘xxxx’
场景今天开发springBoot项目的时候,启动类上面有红色叉叉,说Warning: Class ‘com.xxx.xxx’ not found in module ‘xxxx’,查阅资料得知删除“.iml”文件,从新导入pom文件,可以解决该问题解决打开 File ——> settings ——> Editor ——> File Types,在右侧 Ignore Files and Folders下删除掉 “*.iml” ,再点击 Apply ——> OK 退出,等待从新导入原创 2021-09-29 21:13:00 · 3410 阅读 · 0 评论 -
工作日志之 线程和定时器
场景我们要做数据库迁移,S库和T库,当S库表结构改变,程序并不能侦测,导致无法实时同步,此时就需要有个定时任务去刷新表结构,然后如果改变则刷新上下文配置。这里就涉及到选择定时任务还是开线程的问题分析定时器优点:使用简单,仅需设置一个时长和其OnTime事件即可使用。缺点:之前写定时器去刷银行接口,我一直任务是并行执行的,但是在一次失误中,导致整个定时任务堵塞卡死,导致了系统崩了,才知道定时器是串行的,而且占用的是主线程的资源,看似并行实际上是串行,所以窗体的消息队列一旦堵塞,就会造成系统假死或者运原创 2021-08-27 09:39:16 · 197 阅读 · 0 评论 -
连接数据库的坑
契机1.Unable to load authentication plugin ‘caching_sha2_password‘主要原因8.x版本的验证模块和之前版本不同:5.x版本是:default_authentication_plugin=mysql_native_password8.x版本就是:default_authentication_plugin=caching_sha2_password解决方案将依赖版本换成8.0.11即可2.The server time zone valu原创 2021-08-22 18:21:36 · 135 阅读 · 0 评论 -
IDEA和MAVEN的大坑
契机因为要对某开源项目进行二开,代码拉下来了,install总是报错,查看日志发现看不太懂,勉强看得出是版本的问题。idea是2019 maven是3.8.2.解决降低maven版本,个人使用3.5版本之后正常!!!坑坑坑!...原创 2021-08-22 13:05:47 · 181 阅读 · 0 评论 -
VUE 自适应
场景查询数据库中的一个字段,长的500多个长度,短的十几个,而且用户可能要复制或者阅读,如果说要用户拉着去读,体验肯定差.所以做一个高度自适应.解决方案一开始我想用计算长度来做的,但是发现不准确,而且伸缩性很长,最后索性用文本域,效果挺好的.<el-input type="textarea" autosize placeholder="请输入内容" v-model="textarea1"></el-input>这个出自element-ui地址在这里自适原创 2021-08-19 10:44:01 · 94 阅读 · 0 评论 -
vue如何动态改变颜色
场景昨天做了一个查询的,有时候查不到东西,确实可以以弹框的形式告知用户,但是弹框会使用户不能够进行其他操作.有时候会出现卡死的局面,可以以文字的形式告知,正常结果为正常颜色,查不到或者查询出现错误就会是红色.方案例如:<input v-model='xxx' :style="{'color':cerrorColor}">写一个computed: { cerrorColor () { if("xxx" === "xxx"){ return 'red' } else {原创 2021-08-19 10:02:58 · 3675 阅读 · 2 评论