HackerURLs

一次又一次被重新发现的经典。

同一个链接,相隔一年以上,一次又一次被人重新发现、再次冲上 Hacker News 首页。能经受住这种时间检验的,大多是值得一读再读的文章。每篇附中文标题,讨论最热的那些再加上中文导读和高赞评论翻译。

从名人堂开始
  • 4,700+篇经过时间检验的经典

Hall of fame

名人堂

在经典库里看全部精选

上首页次数最多、而且有中文导读的 30 篇。时间轴上每个黑点是一次上首页,空心点是一次没冲上去的投稿。

  1. 正在载入经典…

Archive

经典库

按第一次上首页的年份分布,点柱子筛选。

排序

    About

    这些经典是怎么挑出来的

    1. 01

      合并同一个链接

      读取 Hacker News 自 2006 年以来的全部链接投稿,把 http/https、www、跟踪参数等写法不同的同一篇文章合并成一条。

    2. 02

      只留经得起时间的

      同一链接至少两次拿到 50 分以上(约等于上首页),而且两次相隔一年以上;再由 AI 剔除状态页、产品首页和新闻事件。

    3. 03

      写导读、译评论

      上首页次数最多的 2,000 篇配上中文导读、"为什么经久不衰",并精选翻译 HN 高赞评论。导读由 AI 生成,可能有误。

    工具与资源ijmacd.github.io

    RFC 3339 与 ISO 8601 对比

    RFC 3339 vs. ISO 8601

    2次上首页
    4年跨度
    712累计得分
    328条评论

    2021 — 2025,它一次次回到首页

    黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。

    导读

    这是一个对比 RFC 3339 与 ISO 8601 两种日期时间格式的可视化参考页面,逐项列出两者在语法上的异同,帮助开发者搞清楚该用哪种格式、哪些写法在哪个标准里合法。两者高度重叠但并不等同,页面用表格清晰展示了差异。

    为什么经久不衰:日期时间格式是开发者反复踩坑的经典问题,这份对照表简洁实用,多年来一直是回答“RFC 3339 和 ISO 8601 有什么区别”时的首选参考。

    关键词 日期时间格式RFC 3339ISO 8601开发者参考

    HN 评论精选

    Python 标准库连 ISO 8601 日期都解析不了,凸显了正确处理这些格式的实际难度

    注意 Python 标准库至今无法解析这类日期,必须借助第三方库。你可能以为 datetime.fromisoformat 能解析 ISO 日期,但它不支持结尾的 Z 或任何时区信息。文档对此写得很清楚,开发者讨论的理由基本就是“解析 ISO 日期太难了所以没做”。这个争论已经持续多年。

    NelsonMinar查看英文原文

    Note that Python still lacks any way to parse these dates in the standard library. You have to use a third party library to parse them. You might think `datetime.fromisoformat` parsed ISO dates but you'd be wrong; it doesn't support the trailing Z or any other form of timezone information. The docs are clear about this, and the developer discussion I've read basically boils down to "it's too hard to parse ISO dates so we didn't do it here." This discussion has been going on for years. https://stackoverflow.com/questions/127803/how-do-i-parse-an-iso-8601-formatted-date

    页面有误:ISO 8601 经各方同意其实允许省略 T 分隔符

    这个页面很棒,但可能不完全准确。图中把 "2021-10-24 11:02:03Z" 标为 ISO 8601 之外,但我认为它是合法的。确实 T 是 ISO 8601 中唯一正统的日期时间分隔符(我认为这是它最大的瑕疵,对人眼很不友好),但根据标准草案,经信息交换各方同意,在没有混淆风险的应用中可以省略字符 T。

    em500查看英文原文

    This is very neat, but maybe not completely accurate. "2021-10-24 11:02:03Z" is outside iso8601 in the figure, but I think it's valid iso8601. True, "T" is the One True date-time separator in iso8601 (IMO its biggest wart, as it looks awful for human eyes: "2021-10-24T11:02:03Z"). But according to the draft standard[1], page 21: > By mutual agreement of the partners in information interchange, the character [T] may be omitted in applications where there is no risk of confusing a date and time of day representation with others defined in this International Standard [1] The actual ISO standard is not freely available, but the Library of Congress has free draft standards: https://www.loc.gov/standards/datetime/iso-tc154-wg5_n0038_iso_wd_8601-1_2016-02-16.pdf https://www.loc.gov/standards/datetime/iso-tc154-wg5_n0039_iso_wd_8601-2_2016-02-16.pdf

    固定偏移量无法应对时区规则变更,应使用 IANA 时区名

    ……而这些格式都不能正确处理时区!如果你的生日聚会是 2022-05-01T16:00+1000,而明天政府废除了夏令时,活动就得改成 2022-05-01T16:00+0900。如果你写的是 2022-05-01T16:00 Asia/Eastern_Siberia,就没问题,大家都会在正确的时间到场。

    gorgoiler查看英文原文

    …and none of these do timezones properly! If your birthday party is: 2022-05-01T16:00+1000 …but tomorrow’s government abolishes daylight savings time, your birthday event has to change to: 2022-05-01T16:00+0900. If you’d just said: 2022-05-01T16:00 Asia/Eastern_Siberia …you’d be fine and everyone will show up at the right time.

    页面数字抖动可用 CSS 的 tabular-nums 修复

    由于 Apple 系统字体中数字宽度不一,跳动的秒数会让日期字符串和表格列宽来回抖动!不过可以用 CSS 为数字选用等宽变体,这正是 font-variant-numeric: tabular-nums 的完美用例。

    zestyping查看英文原文

    Because the digits are of varying widths in the standard Apple system font, the ticking seconds cause the date strings to jiggle back and forth and the table column widths to jiggle as well! However, you can use CSS to select the fixed-width variant for digits. This is a perfect example of a use case for: * { font-variant-numeric: tabular-nums; }

    历次讨论

    同类还值得读

    1. 直接在浏览器中启动 Linux 内核

      Boot a linux kernel right inside your browser.

      Fabrice Bellard 的 JSLinux 页面,用 JavaScript 在浏览器里启动一个 Linux 内核,并提供一个可交互的终端环境。

      工具与资源上首页 5 次 · 2011–2025bellard.org
    2. Hacker News 未公开功能与行为清单(2018)

      A List of Hacker News's Undocumented Features and Behaviors (2018)

      数据科学家 Max Woolf 整理的 Hacker News 未公开功能与行为清单,涵盖投票机制、排名算法、账号惩罚等社区运作细节。

      工具与资源上首页 5 次 · 2019–2025github.com
    3. MapSCII:在终端中用盲文和 ASCII 渲染地图

      MapSCII – Braille and ASCII map renderer for the console

      MapSCII 是一个在命令行终端里渲染地图的开源工具,用盲文字符和 ASCII 字符把地理数据画成可交互浏览的字符地图。

      工具与资源上首页 5 次 · 2017–2025github.com
    4. 顶尖大学的免费在线课程

      Free Online Courses from Top Universities

      Open Culture 整理的一份免费在线课程合集,汇集了全球顶尖大学(如 MIT、斯坦福、耶鲁等)向公众开放的网络课程资源,涵盖音频、视频等多种形式。

      工具与资源上首页 5 次 · 2010–2022openculture.com
    5. 淘气字符串:容易引发用户输入问题的字符串清单

      Naughty Strings: A list of strings likely to cause issues as user-input data

      一个 GitHub 仓库,收录了大量容易让程序出问题的用户输入字符串,如特殊字符、emoji、SQL 注入片段、系统命令等,供开发者用于测试输入处理逻辑。

      工具与资源上首页 4 次 · 2015–2020github.com

    打赏支持

    打赏二维码

    觉得有用,请作者喝杯咖啡。

    WeChat

    关注向阳乔木

    微信公众号「向阳乔木推荐看」

    微信公众号「向阳乔木推荐看」二维码

    微信扫一扫;在微信里打开本页时,长按二维码识别。