首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我修复了Pandas包的一个bug

你好,我是zhenguo 这篇文章介绍Pandas中一个bug,昨天研究了此bug出现的原因,及修改措施。感兴趣的可以看一下,获取在日后能对你有一定帮助。...1 还原这个bug 导出含有层级关系的列头时,会多写出一个空行,此bug稳定出现。...2 定位问题 经过调试发现,锁定此bug出现的位置到excel.py模块,如下所示: 理一理excel.py模块封装的方法,经过调试发现,write方法中下面几行代码是关键逻辑:         formatted_cells...,其中第二处写入,也就是上面代码块的最后两行,是bug出现的原因。...4 修复bug后 修复后,经过测试级联列头、单列头,都正常,不再有多余的空行。 以上,此bug我已经提交到github的pandas中,希望帮助到更多的开发者。

40060

我是这样搞懂一个神奇的BUG

摘要: 通过分析用户的行为,才想得到为什么会出现这种情况! 前两天在BearyChat收到这样的一个报警消息: ? 409 ?Conflict ?...平时很少遇到这样的错误,貌似很严重的样子,吓得我赶紧查看到底发生了什么。 仔细查看错误详情发现是因为使用同一个邮箱账号多次注册导致后面的请求数据库直接报错。 ? 但是,不应该啊!我们是事先有做检查的。...于是,我打开了注册页面,输入邮箱和密码,然后以超快的手速点击创建团队N次。哈哈哈哈,不出所料,被我成功复现了!...只要能够成功复现,这个BUG基本上就算被解决了,接下来就是去分析如何优化代码防止出现这种情况了。有两个思路:1. 用户点击之后,设置被点击的按钮无效直到点击请求完全被处理;2....将验证邮箱是否存在的和创建团队两个异步事件想办法合并为一个原子操作。综合考虑,决定使用第一种方案。因为实现简单,对现有代码改动不大。

60120
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    我给MyCat修复了一个bug

    当看到这行错误的第一反应是我自己可能少了一个property的标签,于是我打开MyCat安装目录下conf文件下的sercer.xml进行检查;于是我对下面这个配置看了10分钟依然没看出什么问题。...于是我又下了一个1.6.7.1版本的MyCat进行测试,同样是配置了DML表级权限,发现并没有这个错误。这时候我想这可能是个MyCat的bug。 ? ?...找到了入口,我在server.xml中修改DML表级权限,然后再次启动发现报错如下图2,不同的是这次我可以定位到具体是哪一行代码抛出的异常。 ? ?...实际上最后抛出异常就是builder.parse所以可以肯定是解析xml的问题。但是回头我看了xml并没有什么大的问题,直到看到图2的这行代码,开启xml的校验规则。难道还有什么校验规则吗? ?...最后如果你想复现这个bug,需要使用Mycat的1.6-RELEASE版本,当然新的版本中早已经解决了这个bug。所以如果你在实际工作中使用时且需要配置DML表级权限,那么你可以选择换一个新的版本。

    72830

    我好像发现了一个Go的Bug?

    Benchmark 方法,n 就是传入到我们定义方法参数的 *testing.B 结构中的一个属性。...但这跟我们的执行失败毫无关系~ 但从一个侧面来说,Benchmark 执行的总时间一定是大于 -benchtime 设置的时间的。 真的是这样吗?...这就导致了 n 很难达到 1e9 的上限,而且总的执行耗时也很难达到设定的预期时间,所以测试程序会一直跑~直到超时! 这大概是一个Bug吧?...写这段 Benchamrk 逻辑的作者加入了这个 1e9 的执行次数上限,考虑了溢出,但没有考虑 n 在计算过程中的溢出情况。 我觉得这应该是一个 Bug,但不能完全确定。...网上没有找到相关的 Bug 报告,于是去给 Go 官方提了 issue 和相应的修复代码,由于 Go 的开发流程比较复杂和漫长,所以在本文发表时,官方并没有明确表明这是 Bug 还是其他。

    41861

    我发现了知乎的一个bug!

    前段时间,一位粉丝微信上给我发了一个图,图片是一个知乎文章的截图,内容显示乱码,怀疑是微信bug: 随后他把这个链接发给了我: https://www.zhihu.com/column/c_1663245806869291008...经过我反复尝试,发现这并不是一个偶发性的bug,只要是新的浏览器或者无痕模式下,都能稳定性复现这个问题。 既然如此,那服务器是如何决定什么时候返回正常的,什么时候返回乱码的呢?因为并不随机啊!...那问题只能出在客户端的请求上。 然后我又仔细对比两边的请求头有啥不一样,发现正常显示的这边,会有一堆的cookie值。 于是我决定用Python,写段代码自己来请求这个URL。...那这么多Cookie值,问题出在哪一个呢? 我尝试一个个排查,最终锁定了这个名叫__zse_ck的Cookie: 当存在这个Cookie的时候,就不会乱码了,这又是什么原因呢?...进一步我发现,这并不是这个URL的问题,而是知乎所有专栏都有的问题,比如我自己的专栏: 当采用无痕模式打开的时候: 而且只有这个页面乱码,点具体每一个文章进去都是正常的。

    95310

    一个困扰我一个多星期的Nebula3的BUG

    最近看了一些PhysX的东西, 本想写个demo练练手, 结果遇到一个非常诡异的问题 当我兴冲冲的用Wizard建了一个工程, 编译, 运行, 竟然一片黑?...太崩溃了~ 代码肯定没修改, 因为我本机是架设了SVN的, 一切修改都有记录 重新安装一个Arip2009, 结果仍然一样! 然后QQ询问同样研究Nebula的朋友, 他们的结果是对的!...然后我就理所当然的排除了代码错误的可能性 首先怀疑自己的软件环境是不是有冲突, 因为我习惯装一大堆软件........虽说身为一个软件开发人员, 用盗版是可耻的, 但为了解决眼下的问题, 我等不到Win7开始卖了 Xp->Win7, DX SDK March 2008->March 2009, VS2005->VS2008...但是在别人机器上运行正常让我排除了代码错误的可能性, 一直在找运行环境的问题 问了下那个同命相连的哥们, 他也插了个360的手柄玩MGS来着, 崩溃 最后解决办法, 把上面那两个变量的注释符去掉, 编译

    60830

    记录我发现的第一个关于 Google 的 Bug

    先贴上 Bug 链接: https://issuetracker.google.com/issues/68969655 Bug 本身是很简单的,就是 Google 的 Android 在线参考文档中,有一处示例代码...,有一个很严重的错误, 会引起整个章节的代码都无法有效执行..../nsd.html#discover 基于文章所谓代码,每次注册服务,都会失败,错误码是0.其实这里,还有另一处错误,就是服务类型的格式,必须是以点符号 (.)...,有大彩蛋,呼哈哈~~ 还有,就是提 Bug 时,我还顺便截了下 Google 的 Bug 自动提交系统的图,留作以后自己看: 最后我想说的是: 我还是觉得这种文档性质的东西,放到特定仓库里,直接 fork...修改发 PR 更方便,快捷.不管怎样, Google 的 Bug 系统,也沾染上我的痕迹了,比想象中要容易呀~~

    1.2K60

    震惊 | OpenCV的bug吗?我又发现了一个?

    大家好,最近我一直写东西,结果无意中我又有了新发现,这次主要是针对OpenCV中Mat对象的创建。...以前我经常写的代码是: // create Matlab风格 - 5 Mat m5 = Mat::ones(Size(4, 4), CV_8UC1); std::cout << "m5:\n" << m5...<< std::endl; 发现工作良好,全部初始化为1,那天我也不知道自己怎么想的,就想创建一个三通道全是1的: // create Matlab风格 - 5 Mat m5 = Mat::ones...三通道中只有1个通道被初始化为1,其它居然还是0,我觉得我要检查一下以前写的代码,我记得我写了很多这种创建方式。这个是不是OpenCV挖下的一个大坑啊!...最后,我是在OpenCV4.2版本上发现的,后来我又让别人也测试了一下,发现之前版本也是一样!我居然才发现!我晕!居然从来没有人写过这个,关注过这个!

    69420

    使用了这个神器,让我的代码bug少了一半

    最近一段时间,我们团队在生产环境出现了几次线上问题,有部分比较严重,直接影响用户功能的使用,惹得领导不高兴了,让我想办法提升代码质量,这时候项目工程代码质量检测神器——SonarQube,出现在我们的视线当中...笔者尝试过三个版本: 8.5:它是目前最新的版本,需要安装JDK11,并且只支持oracle、sqlserver和PostgreSQL数据库 7.9:它是一个长期支持的版本,非常文档,也需要安装JDK11...,我在这里就不过多介绍了,网上有很多教程。...此外,还有mybatis插件 gitee地址:https://gitee.com/mirrors/sonar-mybatis 我个人用过,觉得作用不大,不过可以基于这个代码扩展自己需要的功能。...报告里面包含:bug、漏洞、异味、安全热点、覆盖、重复率等,对有问题的代码能够快速定位。 点击某个bug可以查看具体有问题代码: 没有关闭输入流问题: ? 空指针问题: ? 错误的用法: ?

    2.1K40

    同事如此使用StringBuilder,我给他提了一个Bug

    字符串的拼接在项目中使用的非常频繁,但稍不留意往往又会造成一些性能问题。最近Review代码时发现同事写了如下的代码,于是给他提了一个bug。...IDE的提示 如果你使用的IDE安装了代码检查的插件,会很轻易的看到上面代码中的“+=”操作会有黄色的背景,这是插件在提示,此处使用有问题。...至此,想必大家已经明白为什么给那位同事提bug了吧。 方案改进 那么,针对上面的问题,代码该如何进行改进呢?...for循环内的场景 上面介绍的使用场景主要针对通过for循环来获得一个整字符串,但某些业务场景中可能拼接字符串本身只在for循环当中,并不会在for循环外部处理,比如: @Test public void...小结 通过IDE的一个提示信息,我们进行底层原理深挖及实现的验证,竟然发现这么多可提升的空间和隐藏知识点,是不是很有成就感?

    39810

    使用了这个神器,让我的代码bug少了一半

    最近一段时间,我们团队在生产环境出现了几次线上问题,有部分比较严重,直接影响用户功能的使用,惹得领导不高兴了,让我想办法提升代码质量,这时候项目工程代码质量检测神器——SonarQube,出现在我们的视线当中...笔者尝试过三个版本: 8.5:它是目前最新的版本,需要安装JDK11,并且只支持oracle、sqlserver和PostgreSQL数据库 7.9:它是一个长期支持的版本,非常文档,也需要安装JDK11...,我在这里就不过多介绍了,网上有很多教程。...此外,还有mybatis插件 gitee地址:https://gitee.com/mirrors/sonar-mybatis 我个人用过,觉得作用不大,不过可以基于这个代码扩展自己需要的功能。...点击某个bug可以查看具体有问题代码: 没有关闭输入流问题: 空指针问题: 错误的用法: SimpleDateFormat不应该被定义成static的。

    1.2K10

    记一个折磨了我一天半的 Bug

    ,一根烟,一个 Bug 一天根本改不完的情况。...最近遇见的这个 Bug 是在修改项目遗留的问题时偶然发现的,简而言之就是这样: 服务 A 在从外界接收到推送的一条数据后,将数据插入到库里,然后通过 MQ 推送一条消息给 服务 B,服务 B 会根据收到的消息进行一些处理...怀疑测试环境注册了多余的 服务 A 的节点,于是去 Dubbo Admin 里核对节点——数量正常,网段正常; 怀疑测试环境的部署的 服务 A 的某个节点部署有问题,于是请运维同事一个一个 telnet...带着这个疑惑我终于认真去看插库并发消息那块的代码了,于是就看到这样一段代码: @Override @Transactional(...) public boolean doSomething() {...虽然我对数据库了解不多,但对事务的特性还是有所了解——发送消息的时候,数据库里确实还没有刚刚插入的数据,事务提交后才会生效,也就是说,服务 B 收到消息后远程调用回 服务 A 想查找刚刚插入的数据,能否查到全凭运气

    61120

    记一个折磨了我一天半的 Bug

    ,一根烟,一个 Bug 一天根本改不完的情况。...最近遇见的这个 Bug 是在修改项目遗留的问题时偶然发现的,简而言之就是这样: 服务 A 在从外界接收到推送的一条数据后,将数据插入到库里,然后通过 MQ 推送一条消息给 服务 B,服务 B 会根据收到的消息进行一些处理...A 的节点,于是去 Dubbo Admin 里核对节点——数量正常,网段正常; 怀疑测试环境的部署的 服务 A 的某个节点部署有问题,于是请运维同事一个一个 telnet 上去手动执行远程调用——能正常取到数据...带着这个疑惑我终于认真去看插库并发消息那块的代码了,于是就看到这样一段代码: @Override @Transactional(...) public boolean doSomething() {...虽然我对数据库了解不多,但对事务的特性还是有所了解——发送消息的时候,数据库里确实还没有刚刚插入的数据,事务提交后才会生效,也就是说,服务 B 收到消息后远程调用回 服务 A 想查找刚刚插入的数据,能否查到全凭运气

    17510

    一个Bug,让我发现了Java界的.AJ(锥)!

    你的键盘里总是有很多被抓碎的头发! 但,哪怕是抓了这么头发,还是遇到了一个满脑子都是骚操作的小伙。傅哥,我的切面怎么拦截不到?...遇到问题 上周,谢飞机(化名)发过来了自己的手撸的中间件源码,说这代码都没有啥怎么就不能切面呢? 最开始我大意了,让谢飞机发了一些代码截图。...看截图的代码,这完全就和我写的中间件里的代码一毛一样,没啥问题呀,包路径也能扫描到,咋就不能切面了? 我说你打个断点调试下,看看怎么切不到了呢?嘿,调试了,直接通过,就是没切面到。...四、总结 你的代码越粗犷、越豪放、越骚气,几乎你遇到的问题也是越多的,可能就是因为没有遵守一定的研发执行规范,所以遇到的这些有点傻的问题,几乎会浪费掉你一个上午或者一天。...但有些时候如果你能认真对待你弄出来的bug,深入分析下它是如何产生的,并把它复现出来一点点深入研究下,可能也会得到意想不到的收获,也说不定。所以凡是认真,凡事没有坏事。

    42910

    一行代码就修复了我提的Dubbo的Bug。

    中写到了我发现了一个Dubbo一致性哈希负载均衡算法的Bug。...再加上这个BUG已于近期修复了,且只用了一行代码就修复了,那我就写一下解决方案,以及背后的原理。 即是对之前文章的一个补充,也是一个独立的知识点。...3.为什么一行代码就修复了这个BUG? 注:本文Dubbo源码2.7.4.1版本。如果阅读过《Dubbo一致性哈希负载均衡的源码和Bug,了解一下?》可以更好的理解这篇文章。...也就回答了为什么把上图中编号为①处的代码替换为标号为②的代码,这一行代码就能修复这个Bug,核心思想就是只关心List集合里面的元素变化,而不关心List集合容器是否发生变化。...最后说一句 最开始找到这个BUG的时候,我自己也是有一套解决方案的。思路也是只关心List里面的元素,而不关心List这个容器,但是实现方式比较复杂,改动点较多,还需要写一个工具类。

    56110

    一个有趣的BUG

    最近在协助团队完成ES数据的切换(业务数据迁移),过程中遇到一个比较好玩的BUG ,和大家分享并作为经验记录。...02 问题的根因是什么 只解决问题并不是我的风格,总得看看让我绕这么大圈才解决的问题根因是什么嘛。...于是查了相关资料(结合上面GIT上的对话),可以确认,是因为elasticdump中有部分功能是用JS写的,而Js遵循IEEE754规范,采用双精度存储,占用64位,从左到右的安排位第一问表示符号位,11...2038年问题:现在很多时候,我们在处理时间问题时,都喜欢用时间戳来记录,因为简单方便,不需要考虑时区问题(时区问题很让人头疼的,一不小出就容易出错)。但是这里面会有一个小BUG哟。什么是时间戳呢?...如果想阅读更多文章,请关注我的公众号。

    39740

    ​我修复了一个 Vite Bug,让我的项目首屏性能提高了 25%

    充满好奇心的我,决定研究一下为什么 Vite.3.x 会有这么一个负优化,于是我仔细研究源码,最终发现了问题的根源,并给 Vite 提交了修复的代码图片大概测了一下,修复前的页面首屏时间为 1m06s,...经过考证,我从这个 pull request 中得知,Vite3.x 重构了 import.meta.glob 的转换,但却删除对 JS 代码中 glob 的转换,从而导致依赖扫描不全。...第三次构建与第二次构建对比, echart/core 的模块文件已经被改变(原来自己所有代码都在一个模块,现在公共代码被抽离),原先浏览器拉取的 echart.core 代码已经是失效的代码,这时候只能刷新页面...总结文章就写到这了,第一次给 Vite 贡献代码,的确有点小激动。虽然是一个小小的 bug,但实际上过程是充满坎坷的,每一个小小的问题都能研究几天,但最后回顾起来,这个过程学到了很多收获还是非常大的。...如果这篇文章对您有所帮助,可以点赞加收藏,您的鼓励是我创作路上的最大的动力。

    1.4K31

    我以为发现了Android 14系统中的一个bug,然而...

    这段代码确实可以正常工作,但是大家有没有想过一个问题,假如现在你的手机上有另外一个App,它的AndroidManifest.xml里是这么写的: <activity android:name=...那么此时你还使用上述的代码来选择照片,启动的到底是谁的Activity? 这种情况下,系统也不知道你到底想要启动谁,所以就只能弹出一个对话框,让用户自己去选择。...百思不得其解的我只好开始尝试把锅往Google身上甩了,我在想着要么这就是Android 14系统中的一个bug,要么就是Android官方文档没写清楚,把BroadcastReceiver这种特殊情况漏写了...我跟guting说,我再花点时间研究一下,要是实在整不明白我就去给Google提bug。 结果这一研究,还真让我发现了真实的问题所在。...所以这里并不是因为代码的写法不够安全从而系统抛出了一个安全异常,而是纯粹地系统找不到一个Activity能够处理我们发起的这个Intent。

    88710
    领券