每日HackerNews RSS

## 揭秘 Linux 内核 大多数 Linux 入门教程侧重于 shell 命令,将内核视为隐藏组件。本次探索旨在改变这种状况,展示内核只是一个可编译和可运行的二进制文件。 内核充当应用程序和硬件(CPU、内存、设备)之间的抽象层,提供统一、安全的接口。它管理资源、控制访问,并提供防火墙和文件系统等功能,作为计算机的“运行时”。你通常可以在 `/boot` 目录下找到它,通常命名为 `vmlinuz-*`。 实验涉及使用 QEMU 直接启动此内核。最初的尝试会导致“内核崩溃”,因为内核需要一个根文件系统才能运行。这可以通过创建一个最小的 `initramfs` 来解决——一个包含基本“init”程序(此处使用 Go 创建)的临时文件系统,用于启动系统。 成功使用 `initramfs` 启动,证明了一个功能完备但简单的 Linux 发行版。关键收获:内核是一个文件,发行版是内核加上程序,进程(例如我们的 PID 为 1 的 Go 程序)在“内核空间”或“用户空间”中运行。这种动手实践的方法能够建立对 Linux 系统如何运作的基础理解。

黑客新闻 新的 | 过去的 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 在 QEMU 中启动 Linux 并用 Go 编写 PID 1 以说明内核即程序 (serversfor.dev) 5 分,birdculture 1 小时前 | 隐藏 | 过去的 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

## Wirebrowser:强大的客户端调试工具包 Wirebrowser是一个全面的工具包,用于调试、拦截流量和检查Web应用程序的内存,基于Chrome DevTools Protocol (CDP) 构建。它将网络操作、API测试、自动化和详细的JavaScript内存分析结合到一个界面中。 主要功能包括实时HTTP请求/响应操作以及强大的内存检查工具,例如**实时对象搜索**(在运行时修补对象)和**断点驱动堆搜索 (BDHS)**——通过在调试器暂停时捕获堆快照来追踪数据变化的来源。独特的**混合结构相似性引擎**有助于搜索和追踪不断变化的对象。 除此之外,Wirebrowser允许创建和执行API请求(类似于Postman),并支持浏览器/Node.js脚本进行自动化。操作可以全局应用或应用于特定的浏览器标签页。Wirebrowser使用JavaScript构建,基于React和Node.js,是开源且积极开发的,未来计划包括SPA爬取和DOM XSS扫描。 [https://github.com/fcavallarin/wirebrowser](https://github.com/fcavallarin/wirebrowser)

## Wirebrowser:一款新的 JavaScript 调试器 开发者 fcavallarin 发布了 Wirebrowser,一款提供网络检查、请求重写和强大的堆分析工具的 JavaScript 调试器。其关键特性,**断点驱动堆搜索 (BDHS)**,会在每个断点处自动捕获堆快照,允许开发者追踪值在内存中的产生时间和位置,并识别负责的代码。 Wirebrowser 还包括 **实时对象搜索**,支持运行时检查、正则表达式搜索、对象相似度匹配,甚至直接对象修补。 来自 klaushougesen 的早期反馈指出该工具的复杂性以及处理大数据时可能崩溃的问题,这与 Chrome DevTools 中出现的问题类似。他们还建议突出显示配套演示视频,以提高可访问性。 该项目是开源的 (github.com/fcavallarin),开发者欢迎反馈,特别是关于 BDHS 在调试工作流程中的实用性。关于 BDHS 的白皮书可在 fcavallarin.github.io/wirebrowser/BDHS-Origin-Trace 找到。

## Cloudflare Python Workers:快速、可扩展,现已全面支持包 Cloudflare 显著增强了其 Python Workers 平台,为 Python 开发者提供了一个引人注目的无服务器选项。Python Workers 之前受到限制,现在支持**任何与 Pyodide 兼容的包**,利用名为 **pywrangler** 的新工具系统,该系统围绕 `uv` 包管理器构建,方便安装和依赖管理。 一个关键的重点是**减少冷启动时间**。通过专用的**内存快照**,Cloudflare Workers 实现**比 AWS Lambda(未使用 SnapStart)快 2.4 倍的冷启动,比 Google Cloud Run 快 3 倍**——自动且无需额外费用。这是通过恢复预初始化状态实现的,从而绕过了启动期间耗时的运行时和包加载。 Python Workers 能够在几分钟内在全球范围内部署应用程序,并提供慷慨的**免费套餐**(每天 100,000 个请求)。它们非常适合各种用例,从简单的 HTTP 请求处理到计划任务(cron 触发器)以及利用 Workflows 和 Durable Objects 的复杂应用程序。 Cloudflare 致力于进一步改进,包括增强的工具、更快的冷启动、更广泛的包支持和扩展的网络功能。

Cloudflare 宣布了其 Python Workers 的更新,重点是更快的冷启动和改进的包管理,优先使用 `uv` 工作流。Hacker News 上出现了一场讨论,一位评论员指出文章中与 AWS Lambda 的比较忽略了 AWS 的“SnapStart”功能,建议进行包含该功能的计时比较。 与此同时,另一篇文章强调了 Pyodide 发行版的重大变更,指出已移除一些流行的科学计算和地理空间工具,如 Polars、Geopandas 和 PyArrow。这一移除对利用 Cloudflare Workers 和 R2 的潜在服务器端工作流来说是一个挫折,并可能阻碍更广泛的应用,特别是依赖这些工具的初创公司。用户表达了希望它们能被重新集成。

## CSS 的遗憾:一份重新设计的愿望清单 本文概述了 CSS 设计历史上积累的许多被认为失误的地方,其中许多与一致性和可预测性有关。一些属性的命名很别扭(例如,`z-index` 应该为 `z-order`,`hyphens` 应该为 `hyphenate`),或者功能不合理(例如,表格上的 `vertical-align`)。 核心问题包括默认行为在实践中证明无用(如 `background-repeat: no-repeat`),轴向顺序不一致(定位属性采用垂直优先),以及解决方案过于复杂(如 `word-wrap`/`overflow-wrap`)。 建议改进颜色处理、Unicode 范围语法和 flexbox 的尺寸模型。 其他要点涉及解析歧义(字体名称)、布局怪癖(外边距折叠、表格布局)以及简化机会的错过(RGBA/HSLA、简写属性)。 作者还提倡更好地为选择器做好未来适应,并制定更强大的 `@import` 规则。最终目标是使 CSS 更加逻辑、易于维护,并且更容易构建工具。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 CSS 设计中不完整的问题列表 (csswg.org) 12 分,OuterVale 发表于 39 分钟前 | 隐藏 | 过去 | 收藏 | 1 条评论 edent 发表于 14 分钟前 [–] 当我偶尔进入标准领域时,我总是问“你们为此做了哪些用户研究?” 计算机中许多奇怪的设计选择都是因为一个人说“这在我看来是对的”,而没有考虑其他观点或咨询更广泛的社区。 当然,你可能不想陷入众议纷争,但一小撮陷入集体思维的人通常会产生无益的结果。 回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

启用 JavaScript 和 Cookie 以继续。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 3D打印的类胡萝卜动脉芯片,用于个性化血栓形成研究 (wiley.com) 3点 由 PaulHoule 1小时前 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

一位经验丰富的移动开发者感叹人工智能对其自由职业的影响。过去15年,项目都很直接——需求明确,开发集中,客户对想法变为现实感到满意。现在,人工智能生成的代码的兴起正在制造混乱。 最初,人工智能在小片段代码方面有所帮助,但其建议已经升级到大型代码块,由于风格不一致,需要大量修改才能集成到现有项目中。更令人担忧的是“氛围编码”的出现——客户直接提交编写糟糕、充满表情符号的人工智能代码(通常全部在一个`ContentView`文件中),而没有适当的版本控制。 这导致项目难以维护,甚至无法编译,即使那些已经在App Store上线的项目也不例外。这位开发者认为该职业正在被贬值,既定的最佳实践和有意义的协作正在被质量让位于数量所取代。他对多年来培养的标准被侵蚀感到悲伤。

## “氛围编码”与客户边界 - Hacker News 讨论总结 一个 Hacker News 帖子,源于关于“氛围编码”(严重依赖 AI 建议的编码方式)的讨论,迅速聚焦到一个核心问题:**糟糕的客户边界,而非技术本身。** 原始发帖者描述了与客户尝试直接将 AI 生成的代码合并到项目中,绕过标准开发流程并导致构建失败的令人沮丧的经历。 评论者普遍认为这不是一个 *由* AI 引起的问题,而是被 AI 放大的一种预先存在的问题。许多人强调开发者需要坚定地确立自己的专业知识,并拒绝客户指定实现细节。 许多人分享了客户低估专业编码工作的案例,并用一个关于根据客户参与度进行分层定价的流行笑话进行了说明。 讨论还涉及“自动化悲伤”——一种对项目被 AI 快速生成的不安感,以及通过自己编写代码获得的更深层理解。 最终,共识是开发者必须 *驱动* AI 工具,维护代码库的控制权,并且不害怕“解雇”不尊重专业边界的客户。

客户端挑战:您的浏览器已禁用 JavaScript。请启用 JavaScript 以继续。网站的必要部分无法加载。这可能是由于浏览器扩展、网络问题或浏览器设置造成的。请检查您的连接,禁用任何广告拦截器,或尝试使用不同的浏览器。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 蟒蛇在过去一千两百万年里尺寸一直没有变化,化石显示 (scienceclock.com) 4 分,作者 ashishgupta2209 1 小时前 | 隐藏 | 过去 | 收藏 | 2 条评论 redwood 8 分钟前 | 下一个 [–] 我永远不会忘记帕洛阿尔托蟒蛇惊吓事件。更正:是黑曼巴惊吓事件,哎呀 https://www.paloaltoonline.com/news/2023/10/10/palo-alto-res... 回复 ChrisArchitect 13 分钟前 | 上一个 [–] 剑桥来源:https://www.cam.ac.uk/stories/twelve-million-years-of-giant-... 回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

## 古代蟒蛇:令人惊讶的稳定巨型生物 在委内瑞拉的一项新化石发现表明,蟒蛇至少在1240万年前就保持了其令人印象深刻的体型,可追溯到中到上新世时期。研究人员分析了183节化石椎骨,发现古代蟒蛇的长度为四到五米——几乎与现代蟒蛇相同。 这一发现挑战了之前关于较温暖的新世气候将支持更大的蛇类的假设。尽管该时期其他巨型爬行动物,如巨大的凯门鳄和乌龟,随着气温下降而灭绝,但蟒蛇却表现出惊人的适应力。 该研究表明,这种稳定性与蟒蛇专门的生态位有关:南美洲北部沼泽湿地环境,富含鱼类和水豚等猎物,在数百万年来一直相对稳定。这项研究建立了一个关键的时间线,证实蟒蛇在其进化历史的早期就达到了巨型体型,并一直保持至今。

我们对模式提供了一种现代视角。对于设计模式的一个常见批评是它们不必要地增加了复杂性。我们的观点是,模式对于解决特定问题很有价值,通常有助于向人类传达代码问题中的共性。如果一个项目没有这些问题,就没有必要应用它们。模式也可能非常依赖于语言或框架(例如 React),这通常意味着思考超越最初的 GoF 设计模式的范围。我们帮助您扩展 Web 应用程序的性能。了解用于更有效地加载代码的 Web 性能模式。不确定如何思考现代化的加载或渲染用户体验方法?我们为您提供支持。

patterns.dev网站,一个设计模式资源,正在收到对其Flyweight模式实现的反馈。Hacker News上的用户指出示例代码中可能存在缺陷。 具体来说,代码在添加书籍时使用了展开运算符,这创建了一个浅拷贝——实际上抵消了Flyweight模式旨在提供的内存节省优势。此外,示例添加了任意属性,进一步降低了模式的有效性。 尽管有这种批评,一位用户表达了对该资源的感谢,认为它对其当前需求有帮助。这场讨论强调了在使用设计模式时仔细实现的重要性,以确保它们能够带来预期的优势。

VCMI是《英雄无敌III》的一个开源引擎,提供新的和扩展的可能性。要使用VCMI,你需要拥有原始数据文件。下载 新闻 论坛 前往VCMI-Discord

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 VCMI:英雄无敌3的开源引擎 (vcmi.eu) 5 分,来自 eamag 1小时前 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

更多

联系我们 contact @ memedata.com