专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

mysql 短路查询,程序出现bug是必然出现的情况_数据库

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/5 17:27:24       共计:3610 浏览
mysql 短路查询,程序出现bug是必然出现的情况?

虽然有很多低级的Bug是由于手误或者逻辑错误等人为问题导致的,但我们不能简单的认为Bug就是程序员的水平能力有限,最好的例子就是当年轰轰烈烈的“千年虫”事件。

众所周知,软件业开始兴起是上世纪五十年代左右,随着七八十年代小型机及个人电脑的流行更是蓬勃发展。那时候很多软硬件开发商在产品设计之初就没想过系统到底能用多久,所以在代表年份的字段上只用了两位十进制来表示,节省空间:67就代表1967年,99就代表1999年。问题来了,快到2000年(又被称为千禧年Millennium)的时候,业内突然发现一旦跨过千禧年,两位十进制的年份会出现错乱。因为系统默认这两位数XY代表的是19XY年,所以00年就被认作1900年而不是2000年,那么基于日期的所有计算都会出现错误的结果。这个问题被统一命名为“Millennium Bug”或者叫“千年虫”。

我记得1999年的时候,全球几乎所有涉及到信息系统的行业(包括政府、金融、保险、电信、电力、医药、交通等)都产生了巨大的恐慌,甚至有谣言说2000年的第一天将会是社会瘫痪的一天。好在经过紧急的防范和弥补,投入了巨大的财力和人力后,该测的测该打补丁的打补丁,2000年第一天结束后大多数人并没感觉到有什么异样。大规模的灾难性的瘫痪没有出现,事后只需要针对个别的千年虫进行修复和处理即可。这中间可苦了各种程序员,估计他们一边疯狂写代码打补丁一边心里在骂娘:当初干嘛省这两位数!

俗话说吃一堑长一智,于是现在我们在各种编程语言和数据库里看到的日期格式成了YYYY-MM-DD,即用四位十进制来表示年份了。呃,好像没有啥问题了是吧。可是人类历史可是以万年记的(虽然文明史只有几千年),未来保不准还能一直延续到公元10000年,离现在还有,7980年,也就是说现在YYYY的年份格式还可以用7979年。于是我们会想象到:在7979年后的某一天,一群程序员在疯狂的打补丁,一边心里在骂娘:当初干嘛省这一位数!

另外还有个例子,当年我在新加坡国立大学的时候,有幸听了一场Vinton Cerf(TCP/IP发明人之一,互联网先驱之一)的演讲。老先生当时谈到了 IPV4地址枯竭的问题,他很无奈的说不是他不想设计的更合理,而是美国国防部要的急,将当时还是“试验阶段”的TCP/IP连同IPv4都直接部署上线然后就一直用到了今天。一开始人们还比较乐观,毕竟IPv4的地址数量有256的四次方也就是近43亿个,哪用得完啊!没想到互联网时代到来,网站服务器爆炸般增长,短短不到50年就把IPv4地址给榨干了。科学家也没闲着,想用IPv6来解决这个历史遗留问题,但谈何容易,又是一大堆软硬件的兼容性问题要解决,还要无缝的迁移,只能分阶段慢慢的逐步的实施。。。

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:mysql 进阶查询,如何学习SQL语言_数据库 | ·下一条:mysql 课表查询,自学编程需要看哪些书_数据库

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有