这 BUG,绝了

上周只上了三天班,但我也丝毫不敢懈怠,BUG 更是一个也没少写。

看着满屏幕的 ERROR,我陷入沉思。为什么我写的代如此烂,无法像大牛们写的那般优雅?

越想越自卑,越想越抑郁。我觉得这样不行,一定得振作起来。

正如一位哲人曾经说过:

世间万事万物,都是有两面性的:有它光明的一面,也就有他阴暗的一面;有它积极的一面就有他消极的一面;有他好的一面也有它坏的一面。

我的代码虽然不够优雅,但写的 BUG 还能比别人差吗?

然后我在网上搜了一下,没错,BUG 也比别人差。

软件开发历史上有哪些著名的 BUG 呢?今天我们就来好好聊一聊,涨涨奇怪的知识点。

第一个 BUG

这 BUG,绝了

上图中有一只飞蛾被贴在了一张纸上,这可不是某个人的特殊爱好,而是计算机的第一个 bug。

它导致了哈佛 Mark II 计算机中的继电器短路。Grace Murray Hopper 找到了它,并把它放在了日志中。

如果没有这个 bug,我们可能对计算机中的错误就有不同的说法了。

这可能是最著名的计算机错误了。

500 英里外的邮件

一位国外做邮件服务的管理员,有用户向他抱怨说:他们不能发送超过 500 英里距离的电子邮件。

这不是扯淡吗?这可是互联网业务,怎么还跟实际距离有关了。

管理员一听也是一脸懵逼,根本不相信。根据程序员法则即可推理:原来还好好的呢。

这 BUG,绝了

有一位用户还特意做了一张邮件发送失败的地图。地图上显式,邮件的送达区域半径比 500 英里就多那么一点点:半径内的收件人,全收到了,之外的,全失败了。

看来是真的有这个问题,还是得排查啊。到底是怎么回事呢?

原来是一次软件升级导致远程服务器超时时间被设为 0。在一个具有典型负载的特定机器上,零超时意味着如果连接时间稍微超过 3 毫秒,服务器就会终止连接。

而以光速传播的电信号,在 3 毫秒的时间内所能到达的距离大约是:

0.003 * c (光速) = 558.84719 miles

星期三崩溃的系统

一家医院用来监控病人健康的数据库,每到周三,会自己崩溃。

我就不一样了,我是周一到周四都会崩溃。只有周五状态正常,因为马上就要修周末了。

说回这个系统,该系统记录日志是用 C 风格的代码编写的,把日志字符串记录到了一个固定长度的缓冲区中,其中日志时间一栏,格式例如「Monday, July 17, 1997, 10:38:47.123」。

看到这是不是有点灵感了,肯定是跟时间有关系,让我们把信息再明确一下:

星期 长度 Sunday 6 Monday 6 Tuesday 7 Wednesday 9 Thursday 8 Friday 6 Saturday 8

这样的话就清晰了,原因就是周三的字符串长度更长,在这一天,缓冲区恰好溢出了。

这 BUG,还真的就是这么巧妙。

《江南 Style》爆表

这个 BUG 可能很多同学都知道,也就是几年前的事情。

鸟叔的一首《江南 Style》火遍全球,顺便爆出了 YouTube 的一个 BUG。

原因就是 YouTube 的计数器之前使用的是 32 位整数。32 位整数确定了它可以计数的最大可能点击量为 2,147,483,647。

YouTube 的程序员可能都没想到,还能有一个视频的点击量能超过这个数?

《江南 Style》视频点击量超过了最大值,我们就得到了著名的《江南 Style》YouTube BUG。

现在,YouTube 的视频计数器改用 64 位整数,这意味着视频最大观看人数为 922 万万亿 。

YouTube 程序员:我看看还有谁?

看到这几个 BUG 之后,我的目标就改变了,不再是写出优雅的代码,而是写出巧妙的 BUG。

我要在系统中暗藏一些「奇思妙想」,给我的继任者留下一个又一个惊喜。加油~

以上就是本文的全部内容,如果觉得还不错的话欢迎 点赞转发关注,感谢支持。

推荐阅读:

  • 计算机经典必读书籍
  • 技术博客 硬核后端开发技术干货,内容包括 Python、Django、Docker、Go、Redis、ElasticSearch、Kafka、Linux 等。
  • Go 程序员 Go 学习路线图,包括基础专栏,进阶专栏,源码阅读,实战开发,面试刷题,必读书单等一系列资源。
  • 面试题汇总 包括 Python、Go、Redis、MySQL、Kafka、数据结构、算法、编程、网络等各种常考题。

Original: https://www.cnblogs.com/alwaysbeta/p/16251408.html
Author: yongxinz
Title: 这 BUG,绝了

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/644553/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 支持MPI的hdf5库的编译

    作者:朱金灿 因为最近要研究并行I/O,据说hdf5文件格式可以支持并行I/O,深度学习框架Caffe用的是hdf格式,所以决定把hdf5库的源码编译一下。 首先得安装MPI的开发…

    技术杂谈 2023年5月31日
    0133
  • 编写一个kubernetes controller

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    技术杂谈 2023年7月25日
    0104
  • hdu2604(递推,矩阵快速幂)

    可以直接找规律,推出递推公式,也有另一种找递推公式的方法:(PS:在别的博客粘过来,暂时还不太理解。。。) 设f(n)为字符串长度为n时复合条件的字符串个数,以字符串最后一个字符为…

    技术杂谈 2023年6月1日
    0114
  • vscode安装与使用详解,解决频繁输入密码验证问题

    vscode下载链接 https://code.visualstudio.com/docs/?dv=win 一、ssh协议,密码方式连接linux 二、ssh协议,公钥方式连接li…

    技术杂谈 2023年5月31日
    0106
  • [学习笔记]Java正则表达式

    正则表达式 正则表达式定义了字符串的模式,可以用于搜索、编辑或处理文本; 正则表达式使用字符串描述规则,并用于匹配字符串; 一个正则表达式其实就是一个描述规则的字符串,被正则表达式…

    技术杂谈 2023年7月24日
    072
  • AWS产品目录

    Loading 计算 Amazon EC2:弹性虚拟机 AWS Batch:批处理计算 Amazon ECR:Docker容器管理 Amazon ECS:高度可扩展的快速容器管理服…

    技术杂谈 2023年5月30日
    093
  • Linux 的应用安装,升级和卸载和Linux下更换yum源的方法

    Linux 的应用安装,升级和卸载 yum [-y] install 软件包名 (1)yum…

    技术杂谈 2023年7月24日
    0108
  • 接口文档谁来维护的问题

    以下为转载正文: https://blog.csdn.net/jcmj123456/article/details/110366809 JApiDocs是一个无需额外注解、开箱即用…

    技术杂谈 2023年6月1日
    0108
  • NoteOfMySQL-08-视图

    视图是从一个表或多个表中导出的表,是一种虚拟存在的表,不占用存储空间。视图可以使用户的操作更方便,并且可以保障数据库系统安全性。 1. 视图概述 视图中保存的仅仅是一条select…

    技术杂谈 2023年7月11日
    085
  • XSS 和 CSRF简述及预防措施

    java;gutter:true; 在 Web 安全领域中,XSS 和 CSRF 是最常见的攻击方式。本文将会简单介绍 XSS 和 CSRF 的攻防问题。</p> &l…

    技术杂谈 2023年5月31日
    0101
  • [用户分享]CloudCanal助力万店掌MySQL同步ES构建宽表场景

    作者介绍 蒋鹏程,苏州万店掌软件技术有限公司 前言 CloudCanal 近期提供了自定义代码构建宽表能力,我们第一时间参与了该特性内测,并已落地生产稳定运行。开发流程详见官方文档…

    技术杂谈 2023年7月24日
    0106
  • YUV / RGB 格式及快速转换算法

    1 前言 自然界的颜色千变万化,为了给颜色一个量化的衡量标准,就需要建立色彩空间模型来描述各种各样的颜色,由于人对色彩的感知是一个复杂的生理和心理联合作用的过程,所以在不同的应用领…

    技术杂谈 2023年5月31日
    0108
  • 内部类

    内部类:将一个类的定义放在另一个类的定义内部。内部类机制可以把逻辑相关的类组织在一起,并控制位于内部的类的可视性。 内部类与组合是完全不同的概念。 内部类不仅是一种代码隐藏机制(将…

    技术杂谈 2023年7月23日
    0136
  • 校园网络时钟系统(标准化考场时钟同步)技术实施方案

    校园网络时钟系统(标准化考场时钟同步)技术实施方案 校园网络时钟系统(标准化考场时钟同步)技术实施方案 京准电子科技官微——ahjzsz 【 摘要】时钟系统是一个大型标准计时系统,…

    技术杂谈 2023年6月21日
    0123
  • 会话技术 cookie 和 Session(1)

    CookieCookie 属于客户端会话技术,它是服务器发送给浏览器的小段文本信息,存储在客户端浏览器的内存中或硬盘上。当浏览器保存了Cookie 后,每次访问服务器,都会在HTT…

    技术杂谈 2023年6月21日
    0157
  • 设计模式是什么,为什么要学习设计模式?

    在软件工程中, 设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。 这个术语是由埃里希·伽玛(Erich Gamma)等人在1…

    技术杂谈 2023年5月31日
    094
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球