每天写bug是一种怎样的体验?_写bug呢-程序员宅基地

点击上方“程序员小灰”,选择“置顶公众号”

有趣有内涵的文章第一时间送达!


本文转载自公众号  小象


 | 小象      | 小象君

“哥们,又在写bug呢?”

据说

这是对程序员杀伤力最大的一句话

没有之一!

之所以如此,那是因为

这是句大实话啊!

程序员的人生

就是bug和debug交织在一起的悲歌

尽管每天都要和Bug打交道

可你是否知道

Bug这个叫法是怎么来的吗?

上图中那个黑乎乎的东西

就是史上第一个程序Bug——

一只烧糊的蛾子

1947年

哈佛大学的计算机Harvard Mark II

突然停止了工作

程序员们费尽周折

终于找到了问题的关键

就是这只死掉的蛾子

这就是Bug这种叫法的来由

那时

哈佛二代没有二极管和晶体管

是继电器计算机

靠无数个噼啪作响的电子元件运作

时常有电弧闪光出现

这只蛾子被闪光所吸引

毅然决然地扑了上去……

从此

从此永垂不朽

其实

Bug虽然人人能写

但也有高低之分

总体来说

水平越高的程序员

Bug写得越是牛逼…

不信?

我们来看看这些大神级的Bug

吊炸天的Google APP

前阵子

谷歌推出了一个好玩的App

Google Arts & Culture

用户可以上传自己的自拍照

系统会将照片与艺术画作进行对比

匹配出一张

和用户长得很像的

画作中的人物肖像

社交网络顿时沸腾了!

人们纷纷晒出自己的自拍匹配成果

有些效果确实不错

有些就比较尴尬了

画面太美不敢直视

不得不说

这哥们确实长得很屌…

出现这样的Bug

只能归咎于脸部识别技术尚不完全成熟了

希望Google能早点改掉这些bug

让他们重新做人…

Bumblebee惊天bug

如果不是Bumblebee开源项目

你会相信

一个空格也能导致系统瘫痪吗?

安装后,

usr/会被删掉

至于后果有多严重?

看下图…

怎么样?怕了吧?

500英里的Bug

来源:知乎用户郭智明

信用卡关联Bug

对这位仁兄的遭遇

小象君深表同情…

见怪不怪的微软Bug

敢问Outlook

你究竟干了什么伤天害理的事?

连亲妈都不认你了!

……

那些匪夷所思的Bug

有些Bug的出现让人百思不得其解

fix后除了无奈

更让人哭笑不得

我叫刘伟楠,凭啥屏蔽我?

这位刘伟楠童鞋

想以实名注册新浪微博

但他发现只要涉及“刘伟楠”三个字

甭管加怎样的前缀后缀

都会注册失败

即便以其他名称注册成功后

更改昵称为“刘伟楠”也同样无法实现

该童鞋万般无奈之下发了帖子

一时间响应者无数

最终在网友齐齐声讨下

新浪微博取消了该项屏蔽

不过至于为什么会出现这样的bug

新浪微博并没有给出解释……

飙高音造成笔记本死机

最终解决方案:

把固定硬盘的螺丝紧了紧

固有频率改变

硬盘就不共振了

X射线带来的Bug

Quora上有位程序员

讲述了这样一个经历

他为医院急救设计了一个相关程序

在实验室运行良好

但是每次在医院调试都出 bug

作者只好到医院去现场调试

经过漫长的测试终于发现

是由于医院使用的X射线

导致电脑内存总是丢失几个 bit 的信息

致使程序出问题!

最终的解决方案是

把电脑的内存用铅板隔起来!

硬盘分区搞死人

故事发生在工厂

工厂里有14条线

其中一条线的zebra打印机

在打印标签时

比其它线要多耗时3秒左右

即便打印的东西完全一样

因为产线一直在生产

所以没法在线debug

只能在线外模拟

但模拟结果一直都显示正常

问题始终无法解决

后来干脆换了电脑,fix了!

最后看了下硬盘的分区格式

服务器是NTFS

这台电脑的D盘是NTFS

而E盘居然是FAT32!!!

谁特么这么干的!

粗来!保证不打死你!

中文和英文符号的差异

请童鞋们看看

如上两段代码有什么不同?

一模一样是吧?

但实际上第二行可以运行

第一行却无法运行

至于原因

分享的童鞋最后说了

中文的-和英文的-外表没有不同

但编码就是不一样……

微信大小写坑爹

一位程序员自述

3月份负责公司微信公众号开发

当时的后台是技术领导写的,c#

公众号支付的预定单和加密全在后台

后来后台改版本

由c#改为Java

结果调了一晚上

显示签名错误

技术领导看了好久也不知道怎么回事

c#的代码和Java的代码对了一遍

发现没问题

又把微信公众号配置也看了一遍

也没问题

各种百度、各种猜想

各种验证,都不对……

几乎把网上的说的问题都查了一遍

还是不对……

最后去微信官网看了开发者文档

发现上面预定单的appId的i是大写

但支付的时候是小写!

于是,fix了……

不是Bug的Bug

有些程序员习惯了bug与debug的节奏

遇到问题

往往第一时间进行debug处理

结果好不欢乐

下面我们来听听

他们和Bug的那些事

Bug是Wifi

刚进公司做iPad应用

公司给了两台测试机:

一台iPad4

一台iPad Air

应用里面有个资源下载功能

同一个资源用同一段代码

不过在iPad Air上下得飞快

在iPad4上面就慢如龟爬

一直搞不懂是什么问题

两边程序都是一模一样

但到底为什么会有这么大的差别呢?

曾天真的设想

是不是两台不同型号的设备内部

某个网络相关的硬件不一样

导致下载速度不一样呢?

然后不断Google、百度查资料

看帖看论坛看博客

希望找到看有没有前辈遇到这种怪问题

然而找了3天还是找不到……

到了最后……

特么发现

那台iPad4连的

是楼下咖啡店的WiFi……

图像为啥黑屏

直播伴侣

是给主播用的视频美颜的工具

眼下各大直播平台都普遍采用

有一次程序作了大的架构调整

结果发现图像黑屏了

就下断点一步一步查

先检查采集SDK给我的数据是否有问题

再看看GPU图像数据缓冲区

最后终于找到了问题

fix了

但第二天这个问题又出现了

摄像头又一次黑屏了

于是又开始设断点

检查采集的图像数据

检查GPU里的缓存数据

检查经过美颜

经过图像识别处理后的数据

但是反复检查

就是没有发现任何问题!

心急如焚之际

突然发现

摄像头的正面扣在地上

直挺挺的竖在那儿

于是把摄像头拿起

问题解决……

游戏Bug

作为程序员

每次玩游戏遇到Bug

总会设身处地地想

这哥们到底怎么搞的?

猎魔人

魔兽世界

质量效应

人物和画面出现问题

是游戏Bug基本的表现形式

不过这还算好的

起码情节没耽误

下面这种情况就让人无奈了:

我是团里里最厉害的大神

今天要打团战

突然我连人带马嵌到了鼓里

怎样也甩不掉 

想通过栅栏与鼓分离

结果栅栏也甩不掉了

没时间了,出城吧!

栅栏比城门宽,出不去

无法从城门走

那用轻功吧!

结果……

连人带马嵌入了城墙里

无奈只得联系客服

说人能下来,但——

打团战怎能没坐骑?

然后客服给了我——

生活中遇到的Bug

浸淫行业数年

练就了一双火眼金睛

对于各类Bug最是敏感

比如:

弱弱地问下

这趟是星际高铁吗…

受宠若惊!

您这是跨省来接我的吗……

……

每次遇到这种情况

小象君总会幻想

如果我中意的妹子遇到Bug

憋慌!

除了写Bug

我们更擅长Debug!


—————END—————




喜欢本文的朋友们,欢迎长按下图关注订阅号程序员小灰,收看更多精彩内容




版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/bjweimengshu/article/details/79308183

智能推荐

spring-boot-starter-validation常用注解_spring-boot-starter-validation使用文档-程序员宅基地

文章浏览阅读631次,点赞18次,收藏16次。通过使用分组校验,你可以为同一个对象的不同操作设置不同的验证规则,这在复杂应用中非常有用。这种方法提高了代码的灵活性和可维护性。_spring-boot-starter-validation使用文档

word中插入高分辨率图片,并且保存为PDF图片仍然高清的方法_word保存为高清晰的pdf-程序员宅基地

文章浏览阅读5.5k次。https://blog.csdn.net/cjbct/article/details/62446380_word保存为高清晰的pdf

hadoop集群搭建(基于docker-compose)_bde2020/hadoop-程序员宅基地

文章浏览阅读4k次,点赞3次,收藏13次。1,创建工作目录比如:/home/hadoop需要配置2个文件(data是挂载目录,会自动创建)2,hadoop.env内容不用改,基本是默认配置,后续修改配置在这修改就行了,配置详情自己百度下CORE_CONF_fs_defaultFS=hdfs://namenode:8020CORE_CONF_hadoop_http_staticuser_user=rootCORE_CONF_hadoop_proxyuser_hue_hosts=*CORE_CONF_hadoop_pro_bde2020/hadoop

Cocos2d-x 窗口大小调整_cocos2dx设置窗口大小-程序员宅基地

文章浏览阅读4.2k次。打开src目录下的AppDelegate.cpp文件,若无修改则在第45行处找到全局声明的Size变量,修改`designResolutionSize`中的大小即可。_cocos2dx设置窗口大小

springboot接收枚举值的默认方式_springboot get请求怎么接收前端传递的枚举数字-程序员宅基地

文章浏览阅读1.6k次。测试代码:@PostMapping() public void test(@RequestBody Student student){ System.out.println(student.getLover().name()); }class Student{ private Lover lover; public Lover getLover() { return lover; } public void setLover_springboot get请求怎么接收前端传递的枚举数字

【数学建模笔记】【第七讲】多元线性回归分析(二):虚拟变量的设置以及交互项的解释,以及基于Stata的普通回归与标准化回归分析实例_stata两个虚拟变量的交互项-程序员宅基地

文章浏览阅读1.5w次,点赞24次,收藏120次。简单来说就是去量纲后的回归(因为你要比较不同变量之间的显著性的大小,那么带着量纲怎么比,所以先把量纲去掉,然后再比较)官话:为了更为精准的研究影响评价量的重要因素(去除量纲的影响),我们可考虑使用标准化回归系数。_stata两个虚拟变量的交互项

随便推点

一起学设计模式 - 一起开始设计模式的修炼之路_一起来学习设计模式-程序员宅基地

文章浏览阅读188次。文章目录一起学设计模式 - 一起开始设计模式的修炼之路1.为什么要学设计模式2.设计模式的六大原则2.1 单一职责原则(Single responsibility principle)2.2 开闭原则(Open Close Principle)2.3 里氏替换原则LSP(Liskov Substitution Principle)2.4 依赖倒转原则(Dependence Inversion Principle)2.5 接口隔离原则(Interface Segregation Principle)2.6 迪_一起来学习设计模式

第8课 商业需求文档(BRD)撰写方法与技巧-程序员宅基地

文章浏览阅读183次。课前提问:• BRD的内容结构有哪些?• BRD的写作内容与汇报对象有什么关系?应该有哪些注意的地方?• 不同的汇报对象,他们都关心什么样的内容?• BRD的核心重点在哪里? 8.1 BRD文档写作的目的 • BRD文档的目的– 发现• 现有产品改进的可能• 一个创新产品– 需要• 要权重• 要项目• 要资..._好的brd文档应该具备哪些特征

集成学习(Ensemble Learning)_小型数据集联合学习-程序员宅基地

文章浏览阅读4.4k次,点赞3次,收藏9次。集成学习(Ensemble Learning)  集成学习是机器学习中一个非常重要且热门的分支,是用多个弱分类器构成一个强分类器,其哲学思想是“三个臭皮匠赛过诸葛亮”。一般的弱分类器可以由决策树,神经网络,贝叶斯分类器,K-近邻等构成。这些算法可以是不同的算法,也可以是相同的算法。已经有学者理论上证明了集成学习的思想是可以提高分类器的性能的,比如说统计上的原因,计算上的原因以及表示上的原因。 ..._小型数据集联合学习

恭迎万亿级营销(圈人)潇洒的迈入毫秒时代 - 万亿user_tags级实时推荐系统数据库设计...-程序员宅基地

文章浏览阅读418次。标签PostgreSQL , 标签 , 推荐系统 , 实时圈人 , 数组 , gin , gist , 索引 , rum , tsvector , tsquery , 万亿 , user , tag , 淘宝背景我们仅用了PostgreSQL的两个小特性,却解决了业务困扰已久的大问题。推荐系统是广告营销平台的奶牛,其核心是精准、实时、..._实时圈人

软件测试风险追踪表_软件测试风险管理表格-程序员宅基地

文章浏览阅读430次。软件测试风险追踪表风险追踪表 项目名称: 填制人: 编号 风险描述 影响 风险等级 发生的可能性 应对策略 状态 责任人 备注 ..._软件测试风险管理表格

AAC ADTS封装实现-程序员宅基地

文章浏览阅读1.2k次。一、AAC音频格式种类有哪些AAC音频格式是一种由MPEG-4标准定义的有损音频压缩格式。AAC包含两种格式 ADIF(Audio Data Interchange Format音频数据交换格式)和ADTS(Audio Data transport Stream音频数据传输流)。ADIF特点:可以确定的找到音视频数据的开始,不需要进行在音视频数据流中间开始的解码,它的解码必须在明确的定义开始。应用场景:常用在磁盘文件中。ADTS特点:具有同步字的比特流,解码可以在这个流中任何位置开始。类似于mp_aac adts