Hacker News上的一场激烈讨论显示,Tailwind CSS 最初受到强烈质疑。批评者认为它违反了CSS将样式与结构分离的核心原则,本质上重新引入了类似于过时HTML属性 `<font color=...>` 的内联样式。许多人认为它破坏了CSS本身的意义,并且没有比过去的“不良实践”有所改进。 然而,尽管最初存在广泛的抵制——类似于React早期受到的批评——Tailwind CSS迅速获得了巨大的流行度。它已成为全球下载量最多的CSS框架,每月拥有超过1亿的npm下载量,并受到Shopify、OpenAI、Netflix甚至GitHub等大型公司的青睐。这段文字强调了早期认知与框架最终成功之间的脱节,展示了开发者采用如何违背最初的批判性评估。
## NASA对卡车设计的意外影响
1973年,NASA工程师埃德温·J·萨尔茨曼在骑自行车上班时观察到空气动力学湍流,由此领导了一个提高卡车燃油效率的项目。他的团队使用改装的福特厢式货车,后来又使用半挂卡车,系统地测试了空气动力学改进。
最初,他们使用平铝板建立基线,然后专注于将前缘圆滑化并密封底盘。这些改变显著降低了阻力——厢式货车圆滑前缘可降低高达52%的阻力,而底盘密封可进一步降低7%,从而可能将燃油经济性提高15-25%。
对半挂卡车进行的进一步测试显示,平滑的前端可降低超过50%的阻力,底盘整流罩可降低15%。这项NASA研究直接影响了现代卡车设计,促使广泛使用空气动力学整流罩、圆角,甚至像Airtab这样的涡流发生器,证明了NASA的工程专业知识远不止于太空探索。
## 2024 年网络爬虫:每天抓取十亿页
该项目重新审视了大规模网络爬虫,这是一个自 2012 年以来未得到充分更新的主题,以确定启动一个谷歌规模的爬虫是否仍然可行。作者成功地在约 **25.5 小时**内抓取了 **10 亿个网页**,成本约为 **462 美元**,远低于之前的估计。
尽管硬件有所改进(更快的 CPU、NVMe 驱动器、增加的网络带宽),但挑战依然存在。网络越来越动态且内容密集。该爬虫专注于 HTML,绕过了 JavaScript 渲染以直接与过去的爬虫进行比较,并令人惊讶地发现仍然可以通过这种方式访问网络的大部分内容。
该爬虫利用了 **12 个优化节点**的集群,每个节点处理爬虫的一部分,在有限的预算下优先考虑效率。**解析被证明是一个主要瓶颈**,这归因于与 2012 年相比,平均页面尺寸显著增加(242KB vs. 51KB),因此需要切换到更快的 `selectolax` 库并截断页面。网络带宽不是限制因素,但 **SSL 握手消耗了大量的 25% CPU 时间**。
该项目强调了**礼貌性**(尊重 `robots.txt`、爬取延迟)和**容错性**。虽然与理论模型相当,但作者的结果表明,仅提取机器的扩展可以实现类似的吞吐量。未来的工作应解决动态内容渲染问题,并分析抓取数据的特征。人工智能驱动的抓取技术的兴起也正在促使互联网基础设施提供商采取新的防御措施。