找回密码
 立即注册
搜索
查看: 7500|回复: 45

[职场] 说起来,千年虫算不算程序届的CJB

[复制链接]
     
发表于 2025-1-3 17:59 来自手机 | 显示全部楼层 |阅读模式
想当年一群人在科普千年虫多么可怕,什么因为辨识不了2000和1000,所以大量食品会被直接认为过期之类
然后转瞬即逝,造成的危害还不如现在“我知道你很急,但是系统正在更新”“Excel觉得你的日期很不错,并稍加修改返回给你一个数值内容”之类的要多
回复

使用道具 举报

     
发表于 2025-1-3 18:01 来自手机 | 显示全部楼层
所以,现在允许讨论1999年最后天发生的“那件事”了吗
回复

使用道具 举报

     
发表于 2025-1-3 18:01 | 显示全部楼层
人类对于垃圾代码的忍受度越来越高了

论坛助手,iPhone
回复

使用道具 举报

头像被屏蔽
     
发表于 2025-1-3 18:01 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2025-1-3 18:02 | 显示全部楼层
那是得有人修的结果,修过类似问题,不修就是没法用
回复

使用道具 举报

     
发表于 2025-1-3 18:08 来自手机 | 显示全部楼层
双面人 发表于 2025-1-3 17:59
想当年一群人在科普千年虫多么可怕,什么因为辨识不了2000和1000,所以大量食品会被直接认为过期之类
然后 ...

银行业比较怕,比如无法识别1900和2000导致利息变成负数,还有一些账户授权信息之类对金融业影响大,但是最后都凑凑合合过去了

人类社会的鲁棒性比想象中的高
回复

使用道具 举报

     
发表于 2025-1-3 18:13 | 显示全部楼层
洛拉斯 发表于 2025-1-3 18:08
银行业比较怕,比如无法识别1900和2000导致利息变成负数,还有一些账户授权信息之类对金融业影响大,但是 ...

怕是因为数据库里有日期的时间戳现在是datime型,其格式为YYYY-MM-DD。
如果到了9999-12-31,人类还在用现在这套系统干活,那我看毁灭算了
回复

使用道具 举报

     
发表于 2025-1-3 18:17 | 显示全部楼层
要把千年虫放到当时那个环境下去看:普遍彩笔,没有好的代码管理和维护,甚至没有代码只有编译好的成品,没有好的测试文化。
回复

使用道具 举报

     
发表于 2025-1-3 18:18 | 显示全部楼层
sliencer 发表于 2025-1-3 18:13
怕是因为数据库里有日期的时间戳现在是datime型,其格式为YYYY-MM-DD。
如果到了9999-12-31,人类还在用 ...

其实比这个早的还有epoch时间问题——2038年问题

在计算机应用上,2038年问题可能会导致某些软件在2038年1月19日3时14分07秒之后无法正常工作。所有使用POSIX时间表示时间的程序都将受其影响,因为它们以自1970年1月1日经过的秒数(忽略闰秒)来表示时间[1]。这种时间表示法在类Unix(Unix-like)操作系统上是一个标准,并会影响以其C编程语言开发给其他大部分操作系统使用的软件。在大部分的32位操作系统上,此“time_t”数据模式使用一个有正负号的32位整数(signed int32)存储计算的秒数。依照此“time_t”标准,在此格式能被表示的最后时间是2038年1月19日03:14:07,星期二(UTC)。超过此一瞬间,时间将会“绕回”(wrap around)且在内部被表示为一个负数,并造成程序无法工作,因为它们无法将此时间识别为2038年,而可能会依个别实现而跳回1970年或1901年。因此可能产生错误的计算及动作。

有少数的情况下,在制定规格时,特别规定以无正负号的32位整数(unsigned int32)存储POSIX时间,因此错误会被延后到2106年。例如比特币区块链中的区块时间戳记,就是以这种方法存储。[2][3]
回复

使用道具 举报

     
发表于 2025-1-3 18:21 | 显示全部楼层
用1970年计算的时间戳用到21亿感觉也会炸一些屎山,现在已经快18亿了
回复

使用道具 举报

     
发表于 2025-1-3 18:28 来自手机 | 显示全部楼层
也不太算。最开始的时候计算机性能有限,每个字节容量都是掰手指抠出来的
回复

使用道具 举报

     
发表于 2025-1-3 18:36 | 显示全部楼层
主要那时候至少国内计算机啊网络的使用普及还没到现在这种程度吧

—— 来自 S1Fun
回复

使用道具 举报

发表于 2025-1-3 19:22 来自手机 | 显示全部楼层
本帖最后由 098765432 于 2025-1-3 19:25 编辑

不算,最多只是屎山代码
回复

使用道具 举报

发表于 2025-1-3 19:30 | 显示全部楼层
记得千年虫最后成就了三哥外包业。

我猜三哥吹JB搞恐吓营销占很大比重。
回复

使用道具 举报

发表于 2025-1-3 19:31 | 显示全部楼层
那你知道每个闰年的2月29日都有不少单位的门禁打卡系统失效吗
回复

使用道具 举报

     
发表于 2025-1-3 19:39 来自手机 | 显示全部楼层
预期内的问题严重性不如预期外的一根毛
回复

使用道具 举报

头像被屏蔽
     
发表于 2025-1-3 19:44 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2025-1-3 19:44 | 显示全部楼层
perfect_duck 发表于 2025-1-3 18:17
要把千年虫放到当时那个环境下去看:普遍彩笔,没有好的代码管理和维护,甚至没有代码只有编译好的成品,没 ...

还有2038年这个坑呢,2999的坑倒是和现在的人无关了
回复

使用道具 举报

发表于 2025-1-3 19:46 来自手机 | 显示全部楼层
必须要解决的问题在解决之前都是大问题。
回复

使用道具 举报

     
发表于 2025-1-3 19:51 来自手机 | 显示全部楼层
千年虫危害不大是因为人类已经提前预知了问题并且提前就开始改bug。要是突然出现绝对让全部计算机吃瘪。
回复

使用道具 举报

     
发表于 2025-1-3 19:52 | 显示全部楼层
我觉得计算机 bug 这些很多都是一个逻辑概括:相信后人的智慧

—— 来自 S1Fun
回复

使用道具 举报

     
发表于 2025-1-3 19:56 来自手机 | 显示全部楼层
normalli 发表于 2025-1-3 19:44
还有2038年这个坑呢,2999的坑倒是和现在的人无关了

其实2038后面近一点的还有2099

—— 来自 鹅球 v3.3.96-alpha
回复

使用道具 举报

     
发表于 2025-1-3 20:03 | 显示全部楼层
时间戳用的爽啊,不用解析字符串,也没时区问题,2038的问题就留给后人解决吧

论坛助手,iPhone
回复

使用道具 举报

     
发表于 2025-1-3 20:20 | 显示全部楼层
技术上可以达到的影响范围非常广,逻辑前提就基于此的巨大系统炸了属于意料之中,没炸算你好运
回复

使用道具 举报

     
发表于 2025-1-3 20:45 | 显示全部楼层
2038时间戳越界这个坑前两年已经遇到过了.到时候肯定有草台没处理的
回复

使用道具 举报

     
发表于 2025-1-3 21:05 | 显示全部楼层
说起来已经到昭和100年问题了 不知道会不会看到日本人的乐子
回复

使用道具 举报

     
发表于 2025-1-3 21:12 | 显示全部楼层
debian去年干的最大一件事就是挨个包排查2038问题,所有过的包基本都改了名加了t64后缀
回复

使用道具 举报

     
发表于 2025-1-3 21:15 | 显示全部楼层
今年该遇到昭和100年问题了吧
湾友不知道2011年有没有遇到bug
回复

使用道具 举报

发表于 2025-1-3 21:26 来自手机 | 显示全部楼层
没事,还有2030和2038虫

—— 来自 鹅球 v3.3.96-alpha
回复

使用道具 举报

     
发表于 2025-1-3 22:14 | 显示全部楼层
戴立克 发表于 2025-1-3 18:01
所以,现在允许讨论1999年最后天发生的“那件事”了吗

你看,他们都看不到你这层楼
回复

使用道具 举报

     
发表于 2025-1-3 22:27 | 显示全部楼层
tiro_finale 发表于 2025-1-3 18:21
用1970年计算的时间戳用到21亿感觉也会炸一些屎山,现在已经快18亿了

32位uint上限是42亿吧,还早。
回复

使用道具 举报

发表于 2025-1-3 22:35 | 显示全部楼层
我这就有数据现在还是以1900年为起点的整数
年份的原始数据=当前年份-1900
回复

使用道具 举报

     
发表于 2025-1-3 23:13 | 显示全部楼层
费雷拉 发表于 2025-1-3 22:27
32位uint上限是42亿吧,还早。

但大部分time_t其实是带符号的,上面提的2038问题就是炸在21亿
回复

使用道具 举报

     
发表于 2025-1-3 23:19 | 显示全部楼层
和2038问题比千年虫确实是cjb
2038也快到了
回复

使用道具 举报

     
发表于 2025-1-3 23:24 | 显示全部楼层
it公司的营销而已
回复

使用道具 举报

     
发表于 2025-1-3 23:38 来自手机 | 显示全部楼层
其实1999年已经差点毁灭过一次,主要是隐藏在人群中的超级程序猿拯救了世界
回复

使用道具 举报

发表于 2025-1-4 00:17 | 显示全部楼层
算是一个比较出名的bug了

—— 来自 S1Fun
回复

使用道具 举报

     
发表于 2025-1-4 00:26 | 显示全部楼层
这个你也得考虑到普及率和时代因素,在一个电脑普及率不高,大家进机房带鞋套的年代,这肯定是个哈人的大新闻,而且当时来说码农技术上也比现在落后。

现在一个手机都比当年的电脑牛批了,自然没人怕这玩意。

1985年你把单位汽车开沟里是摊上大事,你觉得你前途没了,2025年你把单位车开到沟里是单位摊上大事,人出事就坏了。
回复

使用道具 举报

     
发表于 2025-1-4 02:34 | 显示全部楼层
我不是干这行的我才不考虑这么多,就觉得硅谷高级码农拿这么高工资,这种问题解决不了说不过去吧

—— 来自 S1Fun
回复

使用道具 举报

     
发表于 2025-1-4 02:35 | 显示全部楼层
afer 发表于 2025-1-4 00:26
这个你也得考虑到普及率和时代因素,在一个电脑普及率不高,大家进机房带鞋套的年代,这肯定是个哈人的大新 ...

现在把单位开沟里的比比皆是,人和车都不算什么

—— 来自 S1Fun
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2025-1-31 16:07 , Processed in 0.193467 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表