2024 10 21 HackerNews

2024-10-21 Hacker News Top Stories #

  1. 责任黑洞:组织结构导致决策后果被吸收或遮掩,使得没有人为决策负责。
  2. Svelte 5 发布:Svelte 是一种新的构建 Web 应用的方式,通过编译器将声明式组件转换为高效的 JavaScript 代码。
  3. LG显示器弹窗烦恼:用户对 LG 智能显示器的弹窗和数据收集表示不满,认为这些产品在未经同意的情况下向制造商报告用户的观看信息。
  4. AI 算法功耗降低 95%:BitEnergy AI 公司开发了一种新的 AI 处理方法,称为 Linear-Complexity Multiplication (L-Mul),该方法使用整数加法代替浮点数乘法 (FPM),从而大大降低了 AI 系统的功耗。
  5. Syncthing Android App 停止维护:Syncthing 的开发人员宣布,由于 Google Play 商店的政策限制和缺乏活跃的维护人员,Syncthing Android 应用程序将在 2024 年 12 月停止维护。
  6. 互联网档案馆再次遭到攻击:互联网档案馆再次遭到攻击,这次是通过被盗的访问令牌,攻击者利用被盗的 GitLab 身份验证令牌,访问了互联网档案馆的 Zendesk 电子邮件支持平台,并发送了大量电子邮件,警告用户数据已经泄 。
  7. QUIC 不够快:研究人员发现,在高速互联网上,使用 QUIC 协议的应用程序可能会比使用传统的 TCP 协议慢 45.2%。
  8. 计算机术语“Daemon”的起源:计算机术语“Daemon”的起源可以追溯到物理学中的“Maxwell’s daemon”,它是指一个虚拟的代理,负责排序分子的速度和温度。
  9. PostgreSQL 中最令人讨厌的部分:PostgreSQL 数据库管理系统中的多版本并发控制(MVCC)机制是一种允许多个查询同时读写数据库而不相互干扰的机制,但其实现方式存在一些问题。
  10. 分布式系统阅读清单:分布式系统阅读清单是一份关于分布式系统的论文和文章列表,涵盖了分布式系统的基本概念、设计原则、技术栈和应用场景等方面。

Accountability sinks #

https://aworkinglibrary.com/writing/accountability-sinks

文章《责任黑洞》讨论了组织如何形成“责任黑洞”,即那些吸收或遮掩决策后果的结构,使得没有人可以为决策负责。作者 Dan Davies 认为,这种结构通过破坏决策者和受决策影响的人之间的反馈循环来实现。

文章举例说明了这种现象在各个领域的存在,例如酒店公司裁员、健康保险拒绝报销、航空公司取消航班等。这些决策虽然看似合理,但实际上却是由更高层次的决策者或算法做出的,而受影响的人却无法与决策者直接沟通。

Davies 认为,责任的核心在于能够改变决策,并理解决策的背景和条件。他引用 Sidney Dekker 的定义,认为责任是指能够对决策做出解释,包括决策的背景、条件和参与者。

文章还讨论了算法在决策中的作用,认为算法可以成为责任黑洞的工具,但这并不是新的现象。组织已经很擅长于形成责任黑洞,算法只是加速和扩大了这一过程。因此,需要新的方法来解决这一问题。

文章最后推荐了两本相关书籍:《责任黑洞》和《安全文化》。


HN 热度 444 points | 评论 265 comments | 作者:l0b0 | 24 hours ago #

https://news.ycombinator.com/item?id=41891694

  • 德国铁路系统存在严重的责任缺失问题,导致乘客体验极差
  • 德国铁路公司 Deutsche Bahn 虽然是股份公司,但政府持有 100% 股份,因此仍然是政府在管理
  • 德国铁路的问题根源在于长期资金不足,而非私有化
  • 私有化可能导致公共服务行业员工态度冷漠,服务质量下降
  • 亚洲城市的私有化铁路系统表现良好,证明私有化并不必然导致服务质量下降
  • 大型组织无论公私都会存在官僚问题,私有企业不一定比公共部门更好
  • 德国铁路的问题部分源于政治决策的不当,不应简单归咎于私有化或公共管理

Svelte 5 Released #

https://www.npmjs.com/package/svelte

Svelte 是一种新的构建 Web 应用的方式。它是一种编译器,可以将您的声明式组件转换为高效的 JavaScript 代码,并对 DOM 进行精确的更新。

您可以在教程、示例和 REPL 中尝试 Svelte。当您准备构建一个完整的应用程序时,我们推荐使用 SvelteKit:

npm create svelte@latest my-app
cd my-app
npm install
npm run dev

更新日志

此软件包的更新日志可以在 GitHub 上找到。

支持 Svelte

Svelte 是一个 MIT 许可的开源项目,其持续开发完全由志愿者支持。如果您想支持他们的工作,请考虑:

  • 成为 Open Collective 的支持者。
  • 通过 Open Collective 捐赠的资金将用于补偿与 Svelte 开发相关的费用。

HN 热度 373 points | 评论 218 comments | 作者:begoon | 1 day ago #

https://news.ycombinator.com/item?id=41889674

  • Svelte 让只懂原生 HTML/CSS/JS 的人能够快速高效地构建项目
  • SvelteKit 是 Svelte 的优秀选择,适合首次使用框架的开发者
  • 使用 Svelte 构建社交网络等项目,开发者感到非常愉快,开发体验优秀
  • Svelte 网站在某些城市(如伯明翰,阿拉巴马)会出现 500 错误
  • Svelte 被称为“赛博增强”,具有独特的特性
  • Svelte 的 Runes 功能可以更好地处理状态复杂性和更细粒度的反应性控制
  • 只懂原生 HTML/CSS/JS 的技能很难转移到 Svelte,因为 Svelte 依赖其编译器
  • React 的复杂度并不高于 Svelte,且 React 更偏向于自然的前向数据转换
  • Svelte 具有开箱即用的特性,而 React 需要开发者自行配置构建工具链和样式解决方案
  • Angular 也提供了开箱即用的体验,但 React 因其自由度而更受欢迎
  • 行业广泛采用 React 主要是因为其广泛使用,降低了公司替换开发者的风险
  • 流行度并不等同于技术的优越性,存在其他优秀替代方案
  • Svelte 相比其他框架,更简单且预测性更强,适合与 JS/TS 一起学习
  • 前端框架的快速更迭使得依赖特定框架的习惯可能成为负担

Love being interrupted when my monitor asks me to accept user agreements #

https://twitter.com/snwy_me/status/1847396175961641176

这段对话主要围绕用户对 LG 智能显示器的不满与质疑,反映了现代电子产品在隐私和广告方面的担忧。以下是详细总结:

  1. ** 用户体验不满 **:用户在工作中使用 LG 显示器时,频繁弹出的用户协议让他们感到厌烦,甚至考虑用老式 CRT 显示器来替代智能显示器。
  2. ** 智能显示器的功能 **:讨论中提到,智能显示器似乎可以跟踪用户的信息,用户怀疑显示器如何连接互联网,并且对销售时未明确显示的功能表示不满。
  3. ** 隐私和广告问题 **:用户对 LG 显示器以及其他智能电视产品在观看习惯方面的数据收集表示愤怒,认为这些产品在未经同意的情况下向制造商报告用户的观看信息。
  4. ** 替代产品的需求 **:有用户建议推出一种 “愚蠢面板” 公司,专门销售没有过多嵌入软件的电视和显示器,认为这样的产品会有市场,愿意为此支付额外费用。
  5. ** 技术和操作系统的演变 **:用户对 LG 电视的操作系统表示失望,认为其自智能电视推出以来没有显著进步,反而变得更加侵入性。
  6. ** 对互联网连接的质疑 **:不少用户表示不理解为什么要将显示器连接到互联网,认为这会导致隐私问题,因此选择不让他们的智能电视在线。
  7. ** 未来的担忧 **:有人开玩笑说到 2030 年,人们的视网膜也会有广告 ID,体现了对技术发展可能带来的隐私侵犯的担忧。

HN 热度 356 points | 评论 238 comments | 作者:h2odragon | 1 day ago #

https://news.ycombinator.com/item?id=41889140

  • 创建一家专注于销售可在家组装的电子元件的 dropship 公司,如 50 英寸和 65 英寸的“哑”电视,可能很快就能达到 10000 个订单
  • 美国对在台湾组装的笔记本电脑的关税比对台湾制造的笔记本电脑零件的关税低,导致 Framework 公司推出“DIY 版”
  • 通过将笔记本电脑设计为 2 合 1 可转换形式,其中上半部分可以拆卸并用作 HDMI 输入设备,可能规避某些法规
  • 加利福尼亚州对 AR15 下机匣的法律监管复杂,尽管下机匣本身不能进行半自动射击,但单独持有下机匣仍被视为持有枪支
  • 加利福尼亚州对某些枪支部件(如弹匣和手枪握把)的监管,这些部件通常连接到下机匣
  • 通过关税工程,可以将组件组装成一个虚拟设备以支付较低的进口关税,然后再拆解销售
  • 在 NewEgg 或 Amazon 上搜索“商用电视”或“商务电视”,大多数都是“哑”电视,适合 DIY 组装

AI engineers claim new algorithm reduces AI power consumption by 95% #

https://www.tomshardware.com/tech-industry/artificial-intelligence/ai-engineers-build-new-algorithm-for-ai-processing-replace-complex-floating-point-multiplication-with-integer-addition

BitEnergy AI 公司的工程师开发了一种新的 AI 处理方法,称为 Linear-Complexity Multiplication (L-Mul),该方法使用整数加法代替浮点数乘法 (FPM),从而大大降低了 AI 系统的功耗。据称,这种方法可以将功耗降低高达 95%。

L-Mul 方法的原理是使用整数加法来近似浮点数乘法的结果,虽然这种方法的精度可能不如浮点数乘法,但它可以维持高精度和高精度的结果。这种方法的潜在应用包括降低数据中心的功耗、减少对电网的负担以及提高 AI 系统的性能。

然而,这种方法还需要硬件支持,目前的硬件可能不支持 L-Mul 方法。因此,需要开发新的硬件来支持这种方法。同时,L-Mul 方法的实际功耗降低效果还需要进一步测试和验证。

总的来说,L-Mul 方法是一种有潜力的 AI 处理方法,它可以大大降低 AI 系统的功耗,提高性能和精度。然而,它还需要进一步的开发和测试来实现其潜力。


HN 热度 326 points | 评论 149 comments | 作者:ferriswil | 1 day ago #

https://news.ycombinator.com/item?id=41889414

  • 新算法 L-Mul 可以显著减少 AI 计算的能耗,但仍然需要 GPU 的并行处理能力
  • L-Mul 算法在多种任务中表现良好,几乎无损地应用于注意力机制
  • 用低功耗硬件进行研究可能更经济,但目前的高功耗硬件加速了研究进程
  • LLMs 已经对编程生产力产生了巨大影响,例如通过减少查找 API 和库的时间
  • LLMs 的生产力提升效果因人而异,对于不擅长记忆 API 和库细节的开发者帮助更大
  • 有些人怀疑 LLMs 对编程生产力的提升,认为这可能是技能不足的标志
  • 未来的 GPU 可能通过优化算法变得更加高效,运行更大规模的模型
  • 用普通 PC 尝试模拟 AI 的效果可能是一个有价值的基准测试,以评估 AI 的实际性能

Syncthing Android App Discontinued #

https://forum.syncthing.net/t/discontinuing-syncthing-android/23002

Syncthing 讨论论坛通知:Syncthing Android 应用程序即将停止维护

Syncthing 的开发人员 imsodin 宣布,由于 Google Play 商店的政策限制和缺乏活跃的维护人员,Syncthing Android 应用程序将在 2024 年 12 月停止维护。最后一次发布将在 GitHub 和 F-Droid 上进行。

开发人员感谢所有为该应用程序做出贡献的人,并表示该应用程序已经有一段时间没有显著的开发和维护。由于无法在 Google Play 商店发布更新,开发人员认为继续维护该应用程序没有足够的动力。

用户可以考虑使用 F-Droid 作为替代方案,或者使用 Termux 在 Android 设备上运行 Syncthing。一些用户已经找到替代方案,例如使用 Termux 运行 Syncthing,并使用 Tasker 插件来管理它。

Syncthing 是一款开源的文件同步工具,允许用户在多台设备之间同步文件。该应用程序在 Android 设备上提供了一个用户友好的界面,但现在即将停止维护。


HN 热度 319 points | 评论 184 comments | 作者:opengears | 9 hours ago #

https://news.ycombinator.com/item?id=41895718

  • 开发者因为不断变化的 API 和安全措施而感到沮丧,导致许多应用难以维护
  • Android 的安全性改进虽然必要,但其基础过于松散,导致开发者需要不断适应重大变更
  • Google 在安全问题上的要求不明确,使得开发者难以满足其标准,最终放弃维护应用
  • Android 平台的变化对安全性有正面影响,但对应用的功能性和个性化定制造成了限制
  • Syncthing Android 应用停止维护是因为资源不足,难以跟上 Android 平台的变化和 Google 的审核流程
  • Android 的安全 API 变化并非最近发生,而是多年积累的结果,开发者之前使用了各种变通方法
  • 用户应该有权决定是否安装应用并授予其访问所有文件的权限,Google 不应过度控制
  • Google 曾尝试通过警告来限制应用的全文件系统访问,但开发者拒绝采用更安全的存储 API,最终导致政策收紧
  • SAF(存储访问框架)是一个糟糕的 API,影响了开发者和用户体验

Internet Archive breached again through stolen access tokens #

https://www.bleepingcomputer.com/news/security/internet-archive-breached-again-through-stolen-access-tokens/

互联网档案馆再次遭到攻击,这次是通过被盗的访问令牌。攻击者利用被盗的 GitLab 身份验证令牌,访问了互联网档案馆的 Zendesk 电子邮件支持平台,并发送了大量电子邮件,警告用户数据已经泄露。

互联网档案馆的 Zendesk 电子邮件支持平台被攻击后,攻击者发送了大量电子邮件,警告用户数据已经泄露。电子邮件中提到,攻击者已经获得了互联网档案馆的 Zendesk 访问令牌,并可以访问自 2018 年以来发送到 info@archive.org 的 80 万多个支持票据。

攻击者还提到,他们已经获得了互联网档案馆的源代码,并可以访问数据库管理系统。攻击者声称,他们已经从互联网档案馆窃取了 7TB 的数据,但没有提供任何证据。

互联网档案馆的数据泄露事件最初是由 BleepingComputer 报道的,该网站指出,攻击者利用被盗的 GitLab 身份验证令牌,访问了互联网档案馆的开发服务器,并下载了源代码。源代码中包含了互联网档案馆的数据库管理系统的凭据,攻击者利用这些凭据下载了用户数据库和进一步的源代码,并修改了网站。

互联网档案馆的数据泄露事件引起了广泛关注,许多人质疑为什么互联网档案馆会被攻击。然而,攻击者表示,他们的动机并不是政治或经济上的,而是为了在黑客社区中获得声誉。

互联网档案馆的数据泄露事件是最近一系列数据泄露事件中的又一例,提醒我们数据安全的重要性。


HN 热度 300 points | 评论 160 comments | 作者:vladyslavfox | 8 hours ago #

https://news.ycombinator.com/item?id=41895764

  • 互联网档案馆应考虑从头开始重写其技术栈
  • 保护历史档案不应仅依赖单一实体,应采用去中心化存储
  • 互联网档案馆已尝试分发存储,但响应者不足
  • 让人们选择他们想要保护的内容,可以提高参与度
  • 互联网档案馆的种子文件不包含索引,且不随档案变化更新
  • 种子技术因非法活动而声誉不佳,但可以通过合法内容改善
  • 法律定义的合法性在去中心化系统中难以维持
  • 互联网档案馆的大部分种子文件涉及版权问题,但版权问题不应阻碍技术使用
  • 互联网档案馆的成功在于其广泛的资料收集,包括看似无用的内容

QUIC is not quick enough over fast internet #

https://arxiv.org/abs/2310.09423

这篇文章讨论了 QUIC(快速 UDP 互联网连接)协议在高速互联网上的性能问题。研究人员发现,在高速互联网上,使用 QUIC 协议的应用程序可能会比使用传统的 TCP 协议慢 45.2%。这种性能差距在带宽增加时会变得更加明显。研究人员通过对数据包跟踪和内核空间和用户空间的分析,发现了 QUIC 协议的性能瓶颈,包括接收端处理开销大、数据包数量过多以及 QUIC 的用户空间 ACK 机制。文章提出了改进 QUIC 性能的建议。

这篇文章的研究结果表明,QUIC 协议在高速互联网上可能不是最佳选择,尤其是在需要高性能的应用程序中。研究人员建议,开发人员和网络管理员需要关注 QUIC 协议的性能问题,并采取措施改进其性能。

这篇文章发表在 2024 年 ACM Web 会议(WWW ‘24)上,标题为“QUIC is not Quick Enough over Fast Internet”。


HN 热度 292 points | 评论 253 comments | 作者:carlos-menezes | 1 day ago #

https://news.ycombinator.com/item?id=41890784

  • 90 年代末,快速互联网已经存在,页面小且几乎没有 JavaScript,加载速度极快
  • 现在的网页应用中,基本功能应该在没有 JavaScript 的情况下也能工作,但某些交互功能需要 JavaScript 支持
  • 使用 Web Components 和 WebSockets 构建动态应用,不依赖 JavaScript 框架,加载速度快且编程体验好
  • 过度使用 JavaScript 框架和资源导致页面加载缓慢和臃肿,简单页面不需要复杂框架
  • 轻量级网站对提升简历帮助不大,企业界更倾向于使用微服务和 SaaS 产品
  • 微服务在企业咨询中逐渐流行,但适合微服务的应用类型较少
  • 个人项目采用服务器渲染 HTML,无或少量 JavaScript,用户体验远超大多数网站
  • 服务器端渲染的 JavaScript 网站可以非常快,体积小,高度交互,且发布新文章无需构建步骤
  • McMaster-Carr 网站是一个加载极快、简洁且用户体验优秀的现代网页示例

Origin of ‘Daemon’ in Computing #

https://www.takeourword.com/TOW146/page4.html

这个网页是一个关于词源学的讨论页面,讨论了几个词语的起源和使用。

第一个词语是“daemon”,它在计算机领域被用来描述后台运行的程序。讨论者 Richard Steinberg 提到,他在研究中发现这个词语最早被使用是在 1963 年,用于描述一个自动备份文件系统的程序。然而,词语的起源实际上可以追溯到物理学中的“Maxwell’s daemon”,它是指一个虚拟的代理,负责排序分子的速度和温度。

第二个词语是“au jus”,它是法语,意思是“带汁”的意思。讨论者 Ken Williams 提到,一位服务员问他是否想要他的烤牛肉三明治“带 au jus”,这让他感到不舒服。讨论者 Fred Wells 指出,法语中“au”通常被翻译为“带”,而不是“在”。但是,讨论者 Richard Hershberger 认为,英语语法要求在这种结构中使用介词,所以服务员的表达是正确的。

第三个词语是“macaronic”,它指的是混合不同语言的词语或短语。讨论者 Jane Harrington 提到,在加拿大,标签上经常使用混合法语和英语的词语,例如“The Jeux Canada Games”和“old fort cheese”。


HN 热度 199 points | 评论 80 comments | 作者:wizerno | 23 hours ago #

https://news.ycombinator.com/item?id=41891953

  • 计算机领域的术语“Daemon”来源于 Unix 系统,其中包含许多有趣且略带黑暗的术语。
  • 一些命令如“kill”、“unzip”、“strip”、“touch”、“finger”、“mount”、“fsck”等,听起来像是青少年男孩创造的。
  • “kill self”和“kill orphaned children”这类命令可能会让人误以为与自杀或遗弃儿童有关,成为一种成长的标志。
  • “daemon.co.uk”实际上应该是“demon.co.uk”,是英国早期互联网公司 Demon Internet 的域名。
  • 有人曾因误解“daemon”为“demon”而要求系统管理员清除系统中的“恶魔”。
  • Maxwell 的精灵(Daemon)理论在量子力学的发展中被证明无法实现,因为测量粒子会增加系统的熵。
  • “a la mode”和“au jus”是两个从法语借来的美国烹饪术语,但它们在英语中的用法已经固定,不再遵循原法语的语法规则。

The Part of PostgreSQL We Hate the Most (2023) #

https://www.cs.cmu.edu/~pavlo/blog/2023/04/the-part-of-postgresql-we-hate-the-most.html

本文讨论了 PostgreSQL 数据库管理系统(DBMS)中的多版本并发控制(MVCC)机制。MVCC 是一种允许多个查询同时读写数据库而不相互干扰的机制。PostgreSQL 使用一种称为“追加式版本存储”(append-only version storage)的方法来实现 MVCC,即每次更新一个行时,创建一个新的行版本,而不是覆盖原来的行版本。

这种方法导致了几个问题。首先,每次更新一个行时,需要创建一个新的行版本,这会导致存储空间的浪费。其次,当查询需要读取最新版本的行时,需要遍历整个版本链来找到最新版本,这会导致性能下降。

为了解决这些问题,PostgreSQL 使用了一种称为“版本链”(version chain)的数据结构来存储行版本之间的关系。版本链是一种单向链表,指向每个行版本的下一个版本。PostgreSQL 使用一种称为“最旧到最新”(oldest-to-newest,O2N)的版本链顺序,这意味着每个行版本指向其下一个版本,而不是指向其上一个版本。

本文还讨论了 PostgreSQL 的索引机制。PostgreSQL 使用 B+ 树索引来加速查询。然而,当更新一个行时,需要更新索引来指向最新版本的行。这会导致索引维护的开销增加。

总之,PostgreSQL 的 MVCC 机制虽然可以提供高并发性和事务支持,但也存在一些问题,例如存储空间的浪费和索引维护的开销增加。


HN 热度 185 points | 评论 46 comments | 作者:virtualwhys | 8 hours ago #

https://news.ycombinator.com/item?id=41895951

  • OrioleDB 正在开发新的存储引擎以解决 PostgreSQL 的问题,并将在 Supabase 平台上提供试用
  • Git 存储模型与 PostgreSQL 类似,存储完整对象而非差异
  • Git 在打包文件时会使用差异压缩,但这不影响其逻辑模型
  • MySQL 和 Oracle 的 MVCC 实现通过存储逻辑标识符而非物理地址来减少存储开销
  • PostgreSQL 的设计虽然老旧,但在某些方面仍然可靠,特别是在处理大量插入操作时
  • 使用事务中的 SELECT + UPDATE 可以避免锁定问题,而 SELECT FOR UPDATE 则可以解决并行操作中的数据一致性问题
  • 技术的选择应基于其在生产环境中的稳定性和可靠性,而不是单纯追求新特性
  • PostgreSQL 的 MVCC 设计虽然来自 90 年代,但在某些重要方面可能已经过时
  • 每个数据存储方案都有其优缺点,关键在于是否能接受并处理这些问题
  • 一些现代数据库如 CouchDB 也采用了追加写入和清理的存储方式,与 PostgreSQL 有相似之处

A Distributed Systems Reading List (2014) #

https://dancres.github.io/Pages/

分布式系统阅读清单

分布式系统的挑战

  • 分布式系统的设计需要改变思维方式
  • 分布式系统的设计需要考虑到网络延迟、数据一致性、容错等问题

分布式系统的基本概念

  • 分布式系统是指多个计算机通过网络相互连接,共同完成某项任务的系统
  • 分布式系统的设计需要考虑到系统的可扩展性、可靠性、安全性等方面

分布式系统的设计原则

  • 分布式系统的设计需要遵循 CAP 原则,即一致性、可用性、分区容忍性不能同时满足
  • 分布式系统的设计需要考虑到数据一致性、事务处理等问题

分布式系统的技术栈

  • 分布式系统的技术栈包括分布式文件系统、分布式数据库、分布式缓存等
  • 分布式系统的技术栈包括负载均衡、服务治理、配置管理等

分布式系统的应用场景

  • 分布式系统的应用场景包括大数据处理、云计算、物联网等
  • 分布式系统的应用场景包括社交网络、电子商务、在线游戏等

分布式系统的挑战和解决方案

  • 分布式系统的挑战包括网络延迟、数据一致性、容错等问题
  • 分布式系统的解决方案包括使用分布式锁、分布式事务、分布式缓存等技术

分布式系统的最佳实践

  • 分布式系统的最佳实践包括使用微服务架构、使用容器化技术、使用自动化部署等
  • 分布式系统的最佳实践包括使用监控和日志分析、使用安全和认证等技术

分布式系统的未来发展

  • 分布式系统的未来发展包括使用人工智能、使用区块链等技术
  • 分布式系统的未来发展包括使用边缘计算、使用 5G 网络等技术

HN 热度 179 points | 评论 9 comments | 作者:udev4096 | 1 day ago #

https://news.ycombinator.com/item?id=41889076

  • 该列表看起来有些过时,建议参考 Heidi Howard 的分布式共识阅读列表
  • 列表中的“火箭科学”内容如 MapReduce 实际上已不再是最新的技术
  • 列表发布至今已有十年,而 MapReduce 论文发布时也已过去十年
  • 提供了一个十年前的分布式系统阅读列表的汇总,但其中很多链接可能已失效
  • Fred Herbert 的列表比原文的更新,但他自己也认为不够完整,建议先阅读“Designing Data-Intensive Applications”
  • 对于大多数软件工程师而言,不需要深入研究大量论文,可以通过实践项目或教程获得分布式系统的实际经验
  • 评论中提到,该列表未提及 CRDT 技术,可能因为它是十年前的列表
  • 建议使用 NATS 或 YugaByte 构建项目,或尝试相关教程来获得实践经验