朝花夕拾,帮三年前的自己改bug】的更多相关文章

程序员的日常三件事:写Bug.改Bug.背锅.连程序员都自我调侃道,为什么每天都在加班?因为我的眼里常含Bug. 但是真的有这么多Bug要改吗?就不能一次改完吗? 程序员听这问题后要拍键盘了,还!真!不!能! 用户使用场景的不确定性 在日常生活中,即便每个物品都有使用说明书,可一千个用户就有一千种使用方式.例如用诺基亚手机砸核桃,用iPad当切菜板,所以说程序是确定的,但用户的使用场景是不确定性的. 各种不按套路出牌的操作会给系统带来挑战,例如网上有个段子说: 一个人走进一家酒吧,要了一杯啤酒一…
曹工改bug:cpu狂飙,old gc频繁,线程神秘死亡连环案件调查报告 前言 前两天,访问开发环境上一个java服务,发现一直转圈圈,因为我开着fiddler,可以看到的现象是,接口一直没返回:本来想着直接jenkins重新构建一下开发环境(即重启服务),突然觉得,还是看看到底啥情况吧. 排查过程 登录到开发环境上(8核16g,centos 7),来了一圈常规操作,结果执行top发现,cpu占用竟然高达400%,然后按照标准流程,那肯定就是查看该进程内占用cpu高的线程是哪个: top -H…
一直以来,我都不喜欢改bug,不管是自己的,还是别人的.因为我不相信自己的代码会出现问题,一旦出现问题我就会觉得很难堪,因为我觉得我的代码没什么问题.然后我就不知道该怎么来解决这些问题. 最近这一两次,我倒是改了一两个有意义的bug,一个是对象是引用,所以不能直接修改值,否则会对之后的数据产生影响,一个是多线程操作一个对象的时候要加锁,这是我改的比较有意义的两个bug.…
前言: 工作中,有使用过乐动ld06款激光雷达,此款雷达将常规雷达的转动的电机部分内置于自己的保护罩内,减少了雷达本身转动积灰等其他外界影响,探测半径是12m,是一款不错的雷达. 不过今天的主要内容不是介绍该雷达的性能,而是分享我在使用该雷达过程中,在进行项目开发中,发现一个在官方SDK中隐藏的问题,这个问题,在使用过程中,导致了进程的崩溃. terminate called after throwing an instance of 'std::bad_alloc' what(): std::…
android软件简约记账app开发day08-时间对话框的书写+改bug,改bug 绘制对话跨页面 在添加记账信息功能中,我提供了用户添加备注添加事件的功能,设计是点击时间会弹出一个时间对话框供用户选择时间,这里我们先绘制时间对话框,在layout中新建一个layout文件,命名为dialog_time,其中使用到了提供好了类DataPicker来展示日历效果,代码如下 <?xml version="1.0" encoding="utf-8"?><…
+(NSDictionary *)replacedKeyFromPropertyName { return  @{ @"doctorId": @"id" }; } [SVProgressHUD showErrorWithStatus:response.message.length > 0 ? response.message : ERROR_MSG_NONETWORK]; // 网络问题提示 thirdLabel.preferredMaxLayoutWidth…
1.了解面向对象的编程思想以及面向对象的特性: 对象: EveryThing is Object: 万物皆是对象,在程序中,我们可以将类.接口.方法.属性等都认为是对象: 面向对象: 是一种程序设计方法,它以对象作为基本的单元来构建系统,它利用对象将系统的复杂性隐藏在对象里(即封装),从而构建大型的工业级系统和大型系统. 面向对象包括三个过程: 面向对象分析(OOA).面向对象设计(OOD).面向对象编程(OOP). 面向对象的三个特性: 继承.封装.多态 面向对象和面向过程的区别? 面向过程就…
本来lightning-datatable这种标签,基本上任何的项目都会用到而且很精通,所以当时感觉没有太大的单独一篇写的必要,在Salesforce LWC学习(三十) lwc superbadge项目实现 中也有使用这个标签的demo,所以有类似需要的小伙伴参考一下也可以照猫画虎搞定需求.项目中遇见了两个datatable的问题,解决以后感觉有必要写一下,后期遇见这种坑的小伙伴可以快速对应.话不多说,先弄一个简单的分页效果的UI,UI很丑,旨在实现功能. AccountListControl…
当你接到一个修复一个代号101的bug的任务时,很自然地,你想创建一个分支issue-101来修复它,但是,等等,当前正在dev上进行的工作还没有提交: 并不是你不想提交,而是工作只进行到一半,还没法提交,预计完成还需1天时间.但是,必须在两个小时内修复该bug,怎么办? 幸好,Git还提供了一个stash功能,可以把当前工作现场"储藏"起来,等以后恢复现场后继续工作: $ git stash 现在,用git status查看工作区,就是干净的(除非有没有被Git管理的文件),因此可以…
一.介绍 最近一直在做有关JavaScriptCore的技术需求,上周发现一个问题,当在JavaScriptCore在垃圾回收时,项目会有一定几率发生崩溃.崩溃发生时调用堆栈如下: 图1 调用堆栈 先对上图中两个比较重要的堆栈过程做个说明: 图2 生成JSValue 1).toJSValueInContext:方法是通过JSObjectMake 再生成一个JSValue.如上图中,最终返回的是一个JSValue,并且这个JSValue对self(PHOValue类型)做了一次强引用. 图3 该J…