惊天大bug,一把螺丝刀,竟让我有家难回!
1.回家路上看一地摊,螺丝刀2元一把,买了一个

2.芒格说:“如果你的工具只有一把锤子,你会认为任何问题都是钉子 ”
那么当我手里有了一把起子,我看啥都是螺丝钉子。
出租屋里固定门锁的螺丝钉竟然都松了,必须要拧它。
拧紧了,美滋滋~~


3.第二天早上出门掏钥匙锁门,
咦???完全拧不动,锁不上也打不开,
折腾了5分钟也没结果,
算了,晚上回来再说,
只能赶紧去上班……
晚上和楼下炒粉店的老板要了一点油,想润滑一下锁芯,
拧了半个小时,门上,手上都是油——竟然还是葱油
没法子,手都起泡了,得换个路子,下楼买个梨吃,降降火,(ಥ﹏ಥ)

4.突然发现超市扔掉的打包带,想起了开锁师傅的塑料板,
nice,试试能不能撬开,
厚着脸皮和老板要了一卷

5.拿到门口傻了,门上有防盗胶条,门缝都密封好了,根本插不进去 ಠ╭╮ಠ
这么来来回回竟然搞了将近两个小时,好累!
没办法,只能在满墙的牛皮癣里找了一个开锁的师傅,
师傅说只能换锁,报价150,其他特殊情况另算钱……
150……我干脆把钥匙拧断算了,
反正钥匙断了也是150,万一我拧开了岂不是省了150,
于是我用手纸擦干了钥匙上的葱油,双手一较劲,
咔的的一声……竟然拧动了,
再用力一拧,门竟然开了……
6.折腾了两个半小时~~ 终于回家了!
“我们可以遗忘,原谅,但必须知道事实的真相”
我用螺丝刀把门锁的内锁和外锁都拆了,
然后分别测试,竟然一点问题都没有,拧的都很轻松。
怪了!
但是只要再安装到门上就马上拧不动了……
嗯,见鬼了……为啥呢?
7.思来想去找不到原因,
突然灵光一闪,难道是因为我昨天拧紧了门锁上的螺丝导致的?
不可能啊!我只是把螺丝钉拧好了而已……
不管了,试一下,于是在固定内锁的时候,螺丝钉留了一小段不拧进去,
果然,螺丝钉不拧紧,门锁就十分顺滑,但是,为啥呢?
8.于是又把门上的内外锁都拆下来,
反复试验了几次,
终于找到了原因:
(1)这是把内锁拆下来后外锁杆的样子:



钥匙拧动外锁时会带动金属杆转动,
金属杆转动内锁拨片,就可以打开内锁了。
(2)但是外锁的金属杆太长了,
竟然顶在了内锁的凹槽上,
但是如果内锁的螺丝不拧紧,金属杆就不会顶在内锁的凹槽上。
我用了吃奶的力气把内锁的凹槽拧爆了,才开了门!

(3)我又查看了出租屋的其他邻居的锁,也都是一样的,
只要把锁上的螺丝拧紧了,就开不了门
9.这个经验告诉我们,
代码的屎山为啥不能轻易的重构,
因为你永远不知道屎山下面还有多少屎!!!!!!!!!
惊天大bug,一把螺丝刀,竟让我有家难回!的更多相关文章
- 阿里聚安全·安全周刊】一种秘密窃取数据的新型 Android 木马|iOS 11相机惊现BUG
本周的七个关键词: 新型 Android 木马丨 TLS 1.3 丨 阿里安全图灵实验室 丨 漏洞感染 Linux 服务器 丨 CPU曝极危漏洞 丨 iOS 11相机BUG 丨R2D2技术 - ...
- 曹工改bug--这次,我遇到了一个难缠的栈溢出bug,还是日志相关的,真的难
前言 前几天,在linux上部署一个war包应用时,tomcat直接起不来,查看tomcat的日志,catalina.out里没啥特别的,但是查看localhost日志,发现栈溢出了. [root@l ...
- 2019-oo-第二单元总结
2019-OO-第二单元总结 多线程电梯调度问题 思路综述 第一次作业 第一次作业是非常简单的傻瓜电梯,不需要考虑容量,不需要考虑调度策略,运用了基本的生产者消费者模型,而且生产者消费者模型也一直贯穿 ...
- ofo容器pass架构分享
一.我们先要了解一下,为什么企业需要一个paas平台?或者可以说paas到底能做什么? 1.1 我们先来了解一下paas到底是什么? PaaS是Platform-as-a-Service的缩写,意思是 ...
- Kitex源码阅读——脚手架代码是如何通过命令行生成的(一)
前言 Kitex是字节跳动内部的Golang微服务RPC框架,先已开源. Kitex文档:https://www.cloudwego.io/zh/docs/kitex/getting-started/ ...
- 【Unity游戏开发】记一次解决 LuaFunction has been disposed 的bug的过程
一.引子 RT,本篇博客记录的是马三的一次解决 LuaFunction has been disposed 的bug的全过程,事情还要从马三的自研框架 ColaFrameWork 说起.最近,马三在业 ...
- 开发不改bug?给你支个招
在测试过程中,不免会遇到开发人员因为一些原因不想修改个别bug的情况.那一般遇到这种问题时,我们该如何去推进开发修改bug呢? 我们先来分析下到底会有哪些原因会导致开发不修改bug 1. 开发与测试对 ...
- 消灭Bug!18款最佳的问题跟踪管理应用程序
摘要:工欲善其事,必先利其器,对于开发者来说,处理Bug是一件比较头疼的事,那么如何高效地解决Bug,选择一款合适的Bug跟踪处理工具会让你事半功倍. 对于开发者来说,Bug往往是他们最头疼的问题.有 ...
- <转载>linux下内存泄露查找、BUG调试
先收藏着,抽空好好看看:http://www.ibm.com/developerworks/cn/linux/l-pow-debug/ 简介 调试程序有很多方法,例如向屏幕上打印消息,使用调试器,或者 ...
随机推荐
- [bzoj1677]求和
dp,用f[i]表示i划分的方案,直接枚举最后一个数是错误的,因为会导致c重复计数,然后正解十分神奇--当i为奇数,那么分解中一定有1,因此f[i]=f[i-1]当i为偶数若有1,同样转移到f[i-1 ...
- idea 的git代码回退回某个版本
intellij idea 的git代码回退回滚 找到Reset HEAD 填写提交码,注意这里要选择"hard" 使用命令行强制提交代码 git push -f
- java的String参数格式化
String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处.format()方法有两种重载形式. form ...
- git使用小技巧
1. 合并一个分支的某次提交到另一个分支上 例如 将dev的某次提交 asfdiwehfsalkdnva872383 合并到master # git checkout master # git che ...
- freeswitch APR库哈希表
概述 freeswitch的核心源代码是基于apr库开发的,在不同的系统上有很好的移植性. 哈希表在开发中应用的非常广泛,主要场景是对查询效率要求较高的逻辑,是典型的空间换时间的数据结构实现. 大多数 ...
- HDU 7066 - NJU emulator(构造题)
题面传送门 提供一种不同于官方题解.需要的操作次数比官方题解多(官方题解大概是 \(2\times 16\),我这大概是 \(3\times 16\)),但能通过此题的做法. 首先我们考虑一个暴力,我 ...
- P2336 [SCOI2012]喵星球上的点名(SA+莫队)
题面传送门 一道还算有点含金量的 SA 罢-- 首先按照套路我们把读入的所有字符串都粘在一起,中间用分隔符隔开并建出后缀数组出来. 我们考虑对于一个固定的字符串 \(s\),什么样的字符串 \(t\) ...
- 监听浏览器tab切换
监听浏览器切屏 为了完成验证用户在切换浏览器tab时进行登录再次认证需求需要监听浏览器切换窗口 if (document.hidden !== undefined) { document.addEve ...
- ss 显示socket状态
ss ===show socket用于显示socket状态 所有的TCP sockets 所有的UDP sockets 所有ssh/ftp/ttp/https持久连接 所有连接到Xserver的本地进 ...
- /etc/sudoers 文件
sudo的权限控制可以在/etc/sudoers文件中查看到 如果想要控制某个用户(或某个组用户)只能执行root权限中的一部分命令, 或者允许某些用户使用sudo时不需要输入密码 格式一般都是 ro ...