1.回家路上看一地摊,螺丝刀2元一把,买了一个

2.芒格说:“如果你的工具只有一把锤子,你会认为任何问题都是钉子 ”

 那么当我手里有了一把起子,我看啥都是螺丝钉子。

 出租屋里固定门锁的螺丝钉竟然都松了,必须要拧它。

 拧紧了,美滋滋~~

3.第二天早上出门掏钥匙锁门,

 咦???完全拧不动,锁不上也打不开,

 折腾了5分钟也没结果,

算了,晚上回来再说,

 只能赶紧去上班……

 晚上和楼下炒粉店的老板要了一点油,想润滑一下锁芯,

拧了半个小时,门上,手上都是油——竟然还是葱油

 没法子,手都起泡了,得换个路子,下楼买个梨吃,降降火,(ಥ﹏ಥ)

4.突然发现超市扔掉的打包带,想起了开锁师傅的塑料板,

 nice,试试能不能撬开,

 厚着脸皮和老板要了一卷

 

5.拿到门口傻了,门上有防盗胶条,门缝都密封好了,根本插不进去 ಠ╭╮ಠ

 这么来来回回竟然搞了将近两个小时,好累!

 没办法,只能在满墙的牛皮癣里找了一个开锁的师傅,

 师傅说只能换锁,报价150,其他特殊情况另算钱……

 150……我干脆把钥匙拧断算了,

 反正钥匙断了也是150,万一我拧开了岂不是省了150,

 于是我用手纸擦干了钥匙上的葱油,双手一较劲,

 咔的的一声……竟然拧动了,

 再用力一拧,门竟然开了……

6.折腾了两个半小时~~  终于回家了!

“我们可以遗忘,原谅,但必须知道事实的真相”

 我用螺丝刀把门锁的内锁和外锁都拆了,

 然后分别测试,竟然一点问题都没有,拧的都很轻松。

 怪了!

 但是只要再安装到门上就马上拧不动了……

 嗯,见鬼了……为啥呢?

7.思来想去找不到原因,

 突然灵光一闪,难道是因为我昨天拧紧了门锁上的螺丝导致的?

 不可能啊!我只是把螺丝钉拧好了而已……

 不管了,试一下,于是在固定内锁的时候,螺丝钉留了一小段不拧进去,

 果然,螺丝钉不拧紧,门锁就十分顺滑,但是,为啥呢?

8.于是又把门上的内外锁都拆下来,

 反复试验了几次,

 终于找到了原因:

  (1)这是把内锁拆下来后外锁杆的样子:

    

    

     

    钥匙拧动外锁时会带动金属杆转动,

    金属杆转动内锁拨片,就可以打开内锁了。

  (2)但是外锁的金属杆太长了,

      竟然顶在了内锁的凹槽上,

      但是如果内锁的螺丝不拧紧,金属杆就不会顶在内锁的凹槽上。

      我用了吃奶的力气把内锁的凹槽拧爆了,才开了门!

    

  (3)我又查看了出租屋的其他邻居的锁,也都是一样的,

      只要把锁上的螺丝拧紧了,就开不了门

9.这个经验告诉我们,

 代码的屎山为啥不能轻易的重构,

 因为你永远不知道屎山下面还有多少屎!!!!!!!!!

惊天大bug,一把螺丝刀,竟让我有家难回!的更多相关文章

  1. 阿里聚安全·安全周刊】一种秘密窃取数据的新型 Android 木马|iOS 11相机惊现BUG

    本周的七个关键词:  新型 Android 木马丨 TLS 1.3 丨  阿里安全图灵实验室 丨 漏洞感染 Linux 服务器 丨 CPU曝极危漏洞 丨   iOS 11相机BUG 丨R2D2技术 - ...

  2. 曹工改bug--这次,我遇到了一个难缠的栈溢出bug,还是日志相关的,真的难

    前言 前几天,在linux上部署一个war包应用时,tomcat直接起不来,查看tomcat的日志,catalina.out里没啥特别的,但是查看localhost日志,发现栈溢出了. [root@l ...

  3. 2019-oo-第二单元总结

    2019-OO-第二单元总结 多线程电梯调度问题 思路综述 第一次作业 第一次作业是非常简单的傻瓜电梯,不需要考虑容量,不需要考虑调度策略,运用了基本的生产者消费者模型,而且生产者消费者模型也一直贯穿 ...

  4. ofo容器pass架构分享

    一.我们先要了解一下,为什么企业需要一个paas平台?或者可以说paas到底能做什么? 1.1 我们先来了解一下paas到底是什么? PaaS是Platform-as-a-Service的缩写,意思是 ...

  5. Kitex源码阅读——脚手架代码是如何通过命令行生成的(一)

    前言 Kitex是字节跳动内部的Golang微服务RPC框架,先已开源. Kitex文档:https://www.cloudwego.io/zh/docs/kitex/getting-started/ ...

  6. 【Unity游戏开发】记一次解决 LuaFunction has been disposed 的bug的过程

    一.引子 RT,本篇博客记录的是马三的一次解决 LuaFunction has been disposed 的bug的全过程,事情还要从马三的自研框架 ColaFrameWork 说起.最近,马三在业 ...

  7. 开发不改bug?给你支个招

    在测试过程中,不免会遇到开发人员因为一些原因不想修改个别bug的情况.那一般遇到这种问题时,我们该如何去推进开发修改bug呢? 我们先来分析下到底会有哪些原因会导致开发不修改bug 1. 开发与测试对 ...

  8. 消灭Bug!18款最佳的问题跟踪管理应用程序

    摘要:工欲善其事,必先利其器,对于开发者来说,处理Bug是一件比较头疼的事,那么如何高效地解决Bug,选择一款合适的Bug跟踪处理工具会让你事半功倍. 对于开发者来说,Bug往往是他们最头疼的问题.有 ...

  9. <转载>linux下内存泄露查找、BUG调试

    先收藏着,抽空好好看看:http://www.ibm.com/developerworks/cn/linux/l-pow-debug/ 简介 调试程序有很多方法,例如向屏幕上打印消息,使用调试器,或者 ...

随机推荐

  1. 学以致用 | Redis概念与简单实操

    Redis概念 Redis是一个由C语言编写.基于key-value存储结构的开源NoSQL数据库,其读写速度为10万次/秒,这个速度已经远远大于传统的关系型数据库. 使用场景 在高并发的情况下,可将 ...

  2. gitee+typro+picgo搭建博客图床

    gitee+typro+picgo搭建博客图床 前提环境 typro.picgo.nodejs 直接在官网下载即可 下载完成后,打开picgo 安装插件gitee-uploader 1.1-2即可显示 ...

  3. 爬虫进阶篇(一)scrapy

    1.本教程默认认为您已经像我一样是个半吊子爬虫程序员 2.学习爬虫首先要懂得request,json,bs4,re,xpath,pymysql,random,time,文件相关,理解网络编程基本原理, ...

  4. 联盛德 HLK-W806 (四): 软件SPI和硬件SPI驱动ST7735液晶LCD

    目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...

  5. python-django-数据查询条件

    查询用户的状态是2或者是4的情况 空值和空字符串是不一样的东西!!! 需要注意的是: 项目setting.py里面的时区采用的是美国的时区,我们不要使用这个时区 使用这个时区的,我们输入的日期会进行转 ...

  6. R语言与医学统计图形-【10】ggplot2图形映射

    ggplot2绘图系统--图形映射 颜色的映射. #aes中映射变量 ggplot()+geom_point(aes(x=carat,y=price,color='blue'),#color视为单一变 ...

  7. python 调用系统软件

    直接使用os模块的popen打开 import sys import os a=os.popen('/Soft/samtools-1.2/samtools flags '+sys.argv[1] ,' ...

  8. 也谈string.Join和StringBuilder的性能比较

    前几天在园子里面看到一篇讲StringBuilder性能的文章.文章里面给出了一个测试用例,比较StringBuilder.AppendJoin和String.Join的性能.根据该测试结果,&quo ...

  9. Docker的基本使用及DockerFile的编写

    前言: 最近在准备面试,在复习到Docker相关内容时,想写一些东西分享给大家然后加深一下自己的印象,有了这篇随笔. Docker的简介: docker从文件系统.网络互连到进程隔离等等,极大的简化了 ...

  10. 详解 Rainbond Ingress 泛解析域名机制

    Rainbond 作为一款云原生应用管理平台,天生带有引导南北向网络流量的分布式网关 rbd-gateway.区别于一般的 Ingress 配置中,用户需要自行定义域名的使用体验,Rainbond 的 ...