0

0

[译文]PHP千年虫(y2k compliance),_PHP教程

php中文网

php中文网

发布时间:2016-07-13 10:21:59

|

1434人浏览过

|

来源于php中文网

原创

[译文]PHP千年虫(y2k compliance),

时钟将我们无情地逼近2000年的最后一年,第二年厄运塞耶斯都预言前所未有的电脑故障在每一个可以想象的领域。通常被称为2000年问题,或千年虫,这种 情况很容易解释。程序解释两位在形成XX日期19 XX行为就开始在2000年及以后为下一年。如果你的生日是“2/2/05”,你是在101年101岁,还是一年?

成本估算的修复这个bug到数十亿美元的资金,至少有那么多钱的可能威胁再次发生旷日持久的法律费用由于真实和所谓的赔偿。由于这些毁灭性的成本预测,企业和政府日益加大的压力,要求他们使用安全的具有法律约束力的声明,所有的软件是保证2000年兼容。

您 可能猜到,这种压力往往源于lawyer-wary保险公司,相当相当恐惧death-by-litigation甚至超过他们可能实际成本的影响,产生 损失。保卫自己免受法律风险,组织世界各地急于安全,在所有可能的匆忙,宣誓书,如此这般的软件是2000年兼容。他们打算挥舞的某种法律保护不可避免的 混乱来袭时,正直地宣称自己无Y2K污染和重定向诉讼对上述文件的签署者。

记住这一点:如果有人问你保证2000年的软件是免费的缺陷,他们只是找借口告你如果他们滥用你的软件,即使它应该恰好是自己的错。可能他们已经忘记了他们的软件许可证的条款,这可能读而接近以下:

没有作者或分销商概为任何一方直接,间接,特殊,附带的,或间接损害引起的使用这个软件,文档,或任何衍生品,即使作者建议的这种损害的可能性。

作者和经销商特别声明不负任何保证,包括但不限于适销性的隐含保证,健身为特定目的和不侵权。这软件是提供一个“目前的”基础上,作者和经销商没有义务提供维护、支持、更新、改进,或修改。

你有没有停下来想知道只是一个汽车制造商能存活多久政府审查这种anti-warranty吗?为什么软件制造商有什么不同?不知为何,不过,他们似乎是。这样的事情是否存活的法院litigational疯狂在几年肯定会接踵而至,仍有待观察。别指望什么。

关 于千年虫的焦虑情况达到日益狂热程度在大多数大型组织。每隔几天,你看别的东西在大众媒体预测一定的破坏。几乎所有的这些报告都是穿插着模糊 prevarications或技术混淆。这并不是说,这里不是一个真正的问题,,我们可以假装没有什么打扰自己。回答当然是肯定的。但这问题源于什么, 能做些什么,充其量是通常被误解。一般三个重复谎言加剧的情况。

三个流行千年虫的谎言

第一个谎言通常讲述的是千年虫问题历史上来自昂贵的电脑去年的记忆非常亲爱的,程序员维护日期在两个数字的格式控制成本。

这种说法显然是错误的。考虑一下。一个两位数需要存储多少钱?两个字节,16位吗?没有,更不用说:数值型数据很少以文本格式存储,因为一个更紧凑的表示是现成的。两位数的一年将会是一个号码00至99不等。可以在短短7位代表。

如 何使用完整的年,1985年或2010年吗?这些数字可能会在11位代表。那些资深的程序员也老真正兴高采烈地攫取的速度大幅节约成本4整个位/日期吗? 这肯定非常宝贵的硬件可能幸免4位!即使不是,可以使用一个偏移量从一个合理的基础。如果仅使用最后两位数字,而是年日期可能是代表没有绝对值,而是自 1900年以来的年数。如果是这样,这也仍然适合那些提到的7位,至少一段时间。添加另一个点,我们明确到2156年。结束的问题。节省内存不是为什么是 这样做。

虽然那天的用户可以选择非扩展性表示年,一年% 1900年而不是1900年,这并不使其硬件成本的问题。它仍然是一个目光短浅的,柔软的设计错误。

第 二个谎言是这种现象是全新的,在2000年,无数系统会突然失败,这种事情以前从来没有发生过。想想古代老人出生于1895年。一段程序,其读取他们的生 日作为“95”将不会支付他们几个月检查,自1998年以来,他们似乎只有三岁。2000年没有发生在这个方程。所谓的“年- 2000”问题是在没有时尚新,也不局限于那一年。然后它会更明显。

第三,也是目前为止最严重的撒谎千年虫问题,是,你的公司可以通过收购合规的宣誓书,保护自己免受伤害,是否真实或诉讼。它不能。这个信念在法律文件实际上是中空的,危险的。最明智的做法是立即纠正自己的欺骗。

阴险,底层整个问题的根本原因是无论是硬件还是软件。不,那太容易了,我们知道如何修复。应用一个几百美元,你瞧�,一切都照顾。

不幸的是,这并不是它。真正的问题是湿件。这是正确的:缺陷不在于我们的电脑,也没有在他们的编程中,而是在我们自己。

大 多数时候,人们想到的日期,他们只使用的最后两个数字。他们把它写在支票。他们在家庭圣经写。随便你听到有人说,“我记得早在65年,”或“代”98年他 们的集体意识的根基被动摇了美国在加勒比海的惊人的失败,“,你就应该知道他们的意思。只是这65是吗?议长假设生活,它可能为1965。只是这98是 吗?为什么,这不是当年,而是早在1898年,当西班牙失去了剩余的破旧的帝国那些暴发户新的Worlders和随后死于国家反思,弥漫在整个时代的文 学。在这两种情况下,你解决歧义从上下文推断全年,当然可以。但如果你没有上下文,那么你只能猜测。记住:电脑使猜测而“臭名昭著”。

最恐怖的地方就是,即使完全准确和计算机程序工作,显然是“千年虫兼容”,你还麻烦大了。举个例子,著名的Unix卡尔程序。让我们看看当前的月。

  $ cal 2 98
		 February 98
	    Su Mo Tu We Th Fr Sa 
			 1  2  3
	     4  5  6  7  8  9 10
	    11 12 13 14 15 16 17
	    18 19 20 21 22 23 24
	    25 26 27 28
<br>等一等。那是什么?不是情人节应该是星期六,不是星期三,今年?哎呀,错了年!你真正要的类型是:
 $ cal 2 1998
		February 1998
	    Su Mo Tu We Th Fr Sa 
	     1  2  3  4  5  6  7
	     8  9 10 11 12 13 14
	    15 16 17 18 19 20 21
	    22 23 24 25 26 27 28

如你所见,不管程序是否兼容,因为人类用它们不是!修复程序当然是一个必要的步骤,但远远不够。你可以证明每一个程序存在,它仍然是不够安全。直到等时间的数十亿人在这个世界上——甚至只是数百万使用电脑——都是同样的认证,并保证不忘记,就没有安全。这是不会发生的。

寻 求具有法律约束力的声明,一个特定的程序不能有意无意滥用只不过是政治迫害注定要失败的终极目标保护你和你的。你不能帮助,总会有cluefully- challenged用户和程序员,甚至人的线索,他偶尔也会有记忆丧失。你不能找到他们,你不能责怪工具或语言,你不能保护自己。每次一个人想着一年只 有两位数而言,这一问题再次显现出来。和没有人想出了如何解决软件。

Perl

Perl呢?Perl 2000年“兼容”?答案是,Perl是一样Y2K兼容你的铅笔,没有更多的,没有少。安慰你呢?这是不应该的。就像你可以用你的铅笔提交千年虫的过犯, 也可以用Perl——或与任何其他工具,。甚至你真的不需要走很远的路去做;见证完美兼容卡尔的示范项目提供。

Perl提供的日期和时间函数是gmtime()和本地时间()函数,这是源于他们的C编程语言。这些供应充足的信息来确定远远超过2000年。2038发生危机时,只对我们仍然停留在32位机器上,有点不太可能尽管诚然不是完全不可想象的情况。

这 些函数返回的一年(在列表上下文),与流行的误解,而不是定义一个两位数。相反,它仅仅是现在这样的。它实际上是什么,是当前减去一千九百年。多年来在 1900年和1999年之间发生这种情况便是十进制数,但这不会持续太久。为了避免2000年问题,根本不把年便是号码。容易说,容易打破。假设你想要找 出今年似乎在过去5年中,所以你这样编写代码。

<tt>   use Time::localtime;
    $then = time() + ( 60 * 60 * 24 * 365 * 5 );  # 5 years from now
    $that_year = localtime($then) -> year;

    printf("It shall be 19%d\n", $that_year);		# WRONG! 19103
    printf("It shall be %d\n", 1900 + $that_year);	# right:  2003<br><br>如你所见,在坏人手中,甚至一个名义上的2000年兼容的工具如Perl或卡尔underclued或者仅仅是可以被滥用的健忘。<br></tt>

Perl 没有保修,TPI不支持Perl。此外,Perl是一种语言,语言可以在许多方面被滥用。但这是程序员和用户的责任,不是许多Perl的创造者。然而,作 为Perl spokes-organization免费软件运动,我们觉得有必要指出,Perl是一样Y2K兼容的C语言接口为基础,和Perl编译器和解释器的自 己写。即在Perl接口访问日期信息,当用作设计,Y2K兼容的在每一个意义上的词。

如果让你的律师或经理快乐,为他们好。你仍然有很多担心。

<tt> </tt>

原文:http://www.perl.com/pub/1999/01/y2k.html

稿定PPT
稿定PPT

海量PPT模版资源库

下载

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/852740.htmlTechArticle[译文]PHP千年虫(y2k compliance), 时钟将我们无情地逼近2000年的最后一年,第二年厄运塞耶斯都预言前所未有的电脑故障在每一个可以想象的...

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

1044

2026.02.13

微博网页版主页入口与登录指南_官方网页端快速访问方法
微博网页版主页入口与登录指南_官方网页端快速访问方法

本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

334

2026.02.13

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

213

2026.02.13

TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

35

2026.02.13

Redis高可用架构与分布式缓存实战
Redis高可用架构与分布式缓存实战

本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

111

2026.02.13

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

77

2026.02.12

雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法
雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法

本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。

17

2026.02.12

豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法
豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法

本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。

813

2026.02.12

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

97

2026.02.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CSS3 教程
CSS3 教程

共18课时 | 6万人学习

Go 教程
Go 教程

共32课时 | 5.5万人学习

MongoDB 教程
MongoDB 教程

共17课时 | 3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号