大家好,我是程序员鱼皮。 好消息,好消息,我的 Bug 修复手册上线啦!...当然是免费的 ,放在了我的编程导航网站上:https://www.code-nav.cn/course/bug 下面简单介绍一下这个手册。 为什么要做 Bug 修复手册?...授人以鱼不如授人以渔,为提高 Bug 的解决效率、带大家掌握解决 Bug 的套路、提升自主解决问题的能力,鱼皮决定打造了这份《程序员 Bug 修复手册》。...比如解决 Bug 的流程和套路: 常见的请求错误码解释及解决方案: 2、经典 Bug 解决方案 根据大家过去向我发起的项目相关的提问,我整理了一些常见的、经典的 Bug,大家可以根据需要查找和阅读。...比如前端框架初始化错误、数据查询为空等等: 3、Bug 案例分享 收录了鱼皮本人和一些博主分享的真实 Bug 踩坑和排查过程,感兴趣的同学可以阅读长见识。看别人解决 Bug 还是很爽的哈哈!
最近小明的bug有点多,忙的连王者荣耀都顾不上玩了,导致现在不得不抽点时间研究一下作为当前大多Java程序员开发工具的IDEA DEBUG功能,以提高效率。...这天,沐芳老师如往常一样在上课前点名,当点到小明的时候,不争气的小明在偷偷看喜欢的妹子,没有注意听,当反应过来时,已经错过了答到!...tips:这个按钮之所以叫做Drop Frame,是因为JVM内部是以栈帧为单位来保存线程的运行状态,Drop Frame直译过来就是扔掉当前运行的栈帧,回到上一帧的位置,这样就实现了穿越。...现象就是你只管打断点,线程之间不乱跳算我输,程序举例如下: ? 老师提出问题后,四个同学开始抢答: ?
当看到这行错误的第一反应是我自己可能少了一个property的标签,于是我打开MyCat安装目录下conf文件下的sercer.xml进行检查;于是我对下面这个配置看了10分钟依然没看出什么问题。...于是我又下了一个1.6.7.1版本的MyCat进行测试,同样是配置了DML表级权限,发现并没有这个错误。这时候我想这可能是个MyCat的bug。 ? ?...1.debug源码 发现bug后,我找到MyCat的GitHub地址,然后fork了源码并且clone了下来。...当我看到第21行的时候这个东西很熟悉,我们控制台日志错误说的就是他。 ? 于是我去看了一下dtd的规则,究竟是什么意思时。我恍然大悟发现了出现bug的原因。...最后如果你想复现这个bug,需要使用Mycat的1.6-RELEASE版本,当然新的版本中早已经解决了这个bug。所以如果你在实际工作中使用时且需要配置DML表级权限,那么你可以选择换一个新的版本。
像我一样马虎没看出来的,基础薄弱或者没有把概念和实践结合起来的同学继续往下看 这段代码会导致应用无法启动 究其原因是犯了一个很经典的低级错误,没有理解spring对bean的初始化和加载 当UserServiceImpl这个类被初始化的时候...,会同时创建类中的对象userInfoMap 而userInfoMap是通过userCacheService这个对象获取的 那么问题来了,类还在初始化,还没有被spring注入进去,即userCacheService...还没有被实际赋值 所以userCacheService对象必定为空,我使用userCacheService.getUserInfoMap()获取对象必定会报nep异常,导致应用无法启动 那么要怎么修改呢
你好,我是zhenguo 这篇文章介绍Pandas中一个bug,昨天研究了此bug出现的原因,及修改措施。感兴趣的可以看一下,获取在日后能对你有一定帮助。...1 还原这个bug 导出含有层级关系的列头时,会多写出一个空行,此bug稳定出现。...很明显,实际应该是2 3 修复bug 找到原因后,进一步下钻到底层方法,经过调试,进一步锁定到self....4 修复bug后 修复后,经过测试级联列头、单列头,都正常,不再有多余的空行。 以上,此bug我已经提交到github的pandas中,希望帮助到更多的开发者。...我是zhenguo,最后希望点赞+转发~
随着一个接一个短信的到来,笔者再看了两眼,发现每次发送的消息中的份额部分不尽相同,一个念头冒了出来,这个基金一直以来是定投的,莫非是 每一次定投就发送一条短信!...OMG,我这定投已经2年多了,这得发多少条短信啊。。。 接下来的1分钟多钟里面,就看见笔者手机在不停地闪动着新消息提醒。...笔者只想说,这个是明细信息是个好用意,但是得考虑长期定投的客户的问题。不然这几十条短信就是对用户的DDOS攻击啊。 lu,因为这个bug我要取消定投!
我们在使用 java 中使用线程 Thread 的时候,在 run(){ } 里面的如果要传递参数给函数,一般,编译系统都会提示我们,要将这个参数尽可能地设置为 final,即常量,一旦定义就不能再被修改的...在还没有把 picIndex、bitmap 弄为 final之前,说下我遇到的情况,result 里面总是有2张以上的不同图片 bitmap 数据,按照道理,执行完上述代码,共开了两个+线程,上传了两张以上的不同的图片...但是,我在服务器里检测的时候,发现总是只上传了一张图片,就是说我把同一张图片,上传了几次!!...然后我就开始打印 log 了,分别打印 u、和 bitmap.toString(),发现,在进入 线程之前,都是正常的,即不同。按道理我传递的也是不同的才对。...想了下,我觉得是线程搞的鬼了,它在执行函数内的代码时,还来不及执行完, for 循环已经进行完毕,那么 对应的 参数也就跟着变了,但是等 函数内代码再去内存中取这个数的时候,就取到了 后面的。
记录下来,下次秒解 大家好,我是鱼皮,昨天解决了一个让我头疼了一周的 Bug,爽的不行!记录下来分享给大家,如果你们之后也遇到了这个 Bug,说不定就能轻松干掉它了。...查询数据 我还是第一次在我们的系统中遇到这样的 Bug,那就排查一下呗! 排查 让我们从前端开始查起,完整地追溯一个查询请求。...正好当时需求又比较多,于是我决定后面再解决这个 Bug,但它始终让我耿耿于怀。 真相 后来某一天,系统又出了其他 Bug,我就去看线上日志,结果这一看,好家伙,这都是啥啊?!...哦,中文乱码了,估计是部署这个项目的 Docker 容器缺少中文环境吧。 等等,我突然想到了什么! 在中文乱码下,我们很多有意义的中文内容都变成了枯燥的问号,导致无法分辨看到的信息有何不同。...排查 Bug 虽然头疼,但却能锻炼一个人思考问题的方法,帮他积累到更多经验。对我来说,这波属实不亏~
我是风筝,公众号「古时的风筝」,一个兼具深度与广度的程序员鼓励师,一个本打算写诗却写起了代码的田园码农!...讲点儿武德 这是由一个真实的 bug 引起的,bug 产生的原因就是忽略了 Spring Bean 的单例模式。来,先看一段简单的代码。...其实就是单例 有同学说,你过分了啊,这我能不知道为啥吗?...我让他用 redis 或数据库中的access_token去调一下服务号接口,看看是不是也有同样的过期问题。 结果一试,redis 中存的是没问题的,可以正常使用。...对应到实际的服务号场景中,在第一次调用这个接口时,从 redis 拿到 access_token拼接到具体的 URL中是没问题的,但是一旦这个access_token过期(1小时后),再次请求这个接口就会出现
第一个问题 第一个问题是这样的: 他的图片,指的是文章中的这个部分: 当时我也没有细看,所以我的回复是 timeout 是个配置项,我这里取出来都是 30000 的原因是因为我没有进行配置。...我也犯过好几次。 然后我叫这个读者可以去提一个 pr,以后出去吹牛的时候就可以说:我曾经给 apache 顶级开源项目贡献过源码。 但是这个读者可能比较低调,把这个机会让给我了。 于是......文章里面对于“随机选择两个”出来这个动作的代码实现,我感觉是有 BUG 的,所以提出了一个大胆的质疑: 但是秉着“又不是不能用”的核心思路,当时也没有细想。...当我前面的那个 pr 被 merge 的时候,我决定:要不好人做到底,把这个 BUG 也帮它们修复一下吧。 首先,我来详细解释一下,我为什么会认为这个地方有 BUG。...而在我的潜意识里面,第一次看代码的时候,我一直以为这个部分的代码就是 ==,所以我一直按照 == 进行的分析,从而觉得它有问题。 这波,我觉得得让潜意识来背锅。
上周,新泽西州州长发布了一份「紧急召集令」,急聘精通「上古语言」COBOL 的程序员,帮助修复已经使用了 40 多年的失业保险系统。...这个「上古语言」的称号,COBOL 当之无愧。对于 80 后程序员来说,你刚出生它就已经过时了。但由于存在稳定性好等优点,COBOL 一直是美国政府、商业和银行业务的支柱。...一位 60 多岁的 COBOL 程序员在 2012 年遭到解雇,被年轻程序员替代,但 2014 年原雇主又找到了他,去修复管理层没有预料的问题。...但一位网友指出,各州失业保险系统崩溃的修复关键,倒不在于会不会 COBOL 语言,而是工程实践问题。 ? 「缺少注释、变量命名问题、结构问题(缺少可读性等)之类的问题,才是关键所在呀。」
每日一皮:我靠,这个分枝真的merge回主干了! 皮到了就点个在看呗
cluster start") 但每次记录events前,都写这么一坨,显然是逼格很低的,况且纵观k8s源码,到处都是直接传pod、svc等内置类型(其实现了runtime.Object),随手一找就看到下面这个样子
最近一段时间,我们团队在生产环境出现了几次线上问题,有部分比较严重,直接影响用户功能的使用,惹得领导不高兴了,让我想办法提升代码质量,这时候项目工程代码质量检测神器——SonarQube,出现在我们的视线当中...postgreSQL JDK下载地址:https://www.oracle.com/java/technologies/javase-jdk11-downloads.html JDK的安装比较简单,我在这里就不过多介绍了...第一次访问这个地址比较会停留在这个页面一段时间,因为SonarQube会做一些初始化工作,包含往空数据库中jian'bi ? 初始化成功后运行的页面: ? 同时会生成20多张表: ?...此外,还有mybatis插件 gitee地址:https://gitee.com/mirrors/sonar-mybatis 我个人用过,觉得作用不大,不过可以基于这个代码扩展自己需要的功能。...报告里面包含:bug、漏洞、异味、安全热点、覆盖、重复率等,对有问题的代码能够快速定位。 点击某个bug可以查看具体有问题代码: 没有关闭输入流问题: ? 空指针问题: ? 错误的用法: ?
最近一段时间,我们团队在生产环境出现了几次线上问题,有部分比较严重,直接影响用户功能的使用,惹得领导不高兴了,让我想办法提升代码质量,这时候项目工程代码质量检测神器——SonarQube,出现在我们的视线当中...第一次访问这个地址比较会停留在这个页面一段时间,因为SonarQube会做一些初始化工作,包含往空数据库中建表 初始化成功后运行的页面: 同时会生成20多张表: 2.3 安装插件 根据个人需要,可以安装汉化插件...此外,还有mybatis插件 gitee地址:https://gitee.com/mirrors/sonar-mybatis 我个人用过,觉得作用不大,不过可以基于这个代码扩展自己需要的功能。...: mvn clean complie -U -Dmaven.test.skip=true sonar:sonar 看到这几句话,就表示检测成功了 然后在sonar后台查看检测报告 报告里面包含:bug...点击某个bug可以查看具体有问题代码: 没有关闭输入流问题: 空指针问题: 错误的用法: SimpleDateFormat不应该被定义成static的。
再加上这个BUG已于近期修复了,且只用了一行代码就修复了,那我就写一下解决方案,以及背后的原理。 即是对之前文章的一个补充,也是一个独立的知识点。...3.为什么一行代码就修复了这个BUG? 注:本文Dubbo源码2.7.4.1版本。如果阅读过《Dubbo一致性哈希负载均衡的源码和Bug,了解一下?》可以更好的理解这篇文章。...也就回答了为什么把上图中编号为①处的代码替换为标号为②的代码,这一行代码就能修复这个Bug,核心思想就是只关心List集合里面的元素变化,而不关心List集合容器是否发生变化。...最后说一句 最开始找到这个BUG的时候,我自己也是有一套解决方案的。思路也是只关心List里面的元素,而不关心List这个容器,但是实现方式比较复杂,改动点较多,还需要写一个工具类。...但是看到issue下面的这个评论, ? 我才一下回过神来,原来一行代码就能代替我写的工具类了啊。而对于这个知识点,我之前其实是知道的。 我反思了一下自己为什么没有想到这个方案。
充满好奇心的我,决定研究一下为什么 Vite.3.x 会有这么一个负优化,于是我仔细研究源码,最终发现了问题的根源,并给 Vite 提交了修复的代码图片大概测了一下,修复前的页面首屏时间为 1m06s,...这个问题只有在没有 Vite 缓存情况下出现。...经过考证,我从这个 pull request 中得知,Vite3.x 重构了 import.meta.glob 的转换,但却删除对 JS 代码中 glob 的转换,从而导致依赖扫描不全。...图片知道问题之后,我们只要将 glob 的转换逻辑加上即可如何修复,这个过程就不细说了,因为也不需要关心了,说多了反而让文章更难理解。...虽然是一个小小的 bug,但实际上过程是充满坎坷的,每一个小小的问题都能研究几天,但最后回顾起来,这个过程学到了很多收获还是非常大的。
然而,在捣鼓了两天后,我对 Tomcat 的多应用部署时共享公共包的能力产生了怀疑。...所以,决定从源头来搞明白这个类加载过程,在编译的 Tomcat 版本下断点跟踪一下到底是怎么回事儿。第一件事儿,先编译 Tomcat 源码。...【我是将纯第三方 jar ,无相关依赖的】 为什么只 WEB-INF/lib 下只保留某个应用自身的 jar 而且包含 SpringBoot 的 starter 依赖,还是报类异常?
[npm install报错: npm WARN tar ENOENT: no such file or directory] npm install npm ...
然而,在捣鼓了两天后,我对 Tomcat 的多应用部署时共享公共包的能力产生了怀疑。...所以,决定从源头来搞明白这个类加载过程,在编译的 Tomcat 版本下断点跟踪一下到底是怎么回事儿。第一件事儿,先编译 Tomcat 源码。...【我是将纯第三方 jar ,无相关依赖的】 为什么只 WEB-INF/lib 下只保留某个应用自身的 jar 而且包含 SpringBoot 的 starter 依赖,还是报类异常? ---- ?...你点的每个好看,我都认真当成了 ?
领取专属 10元无门槛券
手把手带您无忧上云