1作者: johnmwilkinson3 个月前原帖
嗨,HN!<p>我写了一本关于编程的书,名为《代码的元素》。我将整本书在线发布在这里:<a href="https:&#x2F;&#x2F;elementsofcode.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;elementsofcode.io&#x2F;</a><p>在指导(通常是新手)程序员时,我注意到他们的代码中存在一些常见错误,这些错误似乎占据了代码复杂性的约80%。我找不到一本简明的指南来修正这些错误,于是决定自己写一本。<p>书名向斯特朗克和怀特的《风格的要素》致敬,这本书是关于如何用散文有效沟通的经典指南。那本指南相当实用,而我希望在《代码的元素》中也能保持这种关注。因此,《代码的元素》尽量不关注抽象概念,而是针对具体的实现。它避免讨论软件设计,而更专注于代码构建的细节。当然,设计与实现、战略与战术从来不是完全分开的。在必要时,会包含一些抽象概念以提供背景。<p>本书的主要关注点是沟通:我们如何编写其他程序员能够理解的代码?我们如何减少他们理解所需的时间?<p>我将这本书免费在线发布,因为我更希望它能够被人们获取和阅读,而不是为了赚取一些钱(当然,购买也非常欢迎!)。我真诚希望读者能觉得它有帮助,并为他们提供新的工具和新的思维方式来编写代码。<p>我很想听听你们的想法,我会尽量回复问题。谢谢!
2作者: ehsanaslani3 个月前原帖
通过将任何 Zustand 存储包装在此中间件中,可以将其转换为多玩家存储。<p>有关更多详细信息以及演示应用程序、示例和 GitHub 仓库的链接,请查看此博客:<p><a href="https:&#x2F;&#x2F;hpkv.io&#x2F;blog&#x2F;2025&#x2F;09&#x2F;zustand-multiplayer-middleware" rel="nofollow">https:&#x2F;&#x2F;hpkv.io&#x2F;blog&#x2F;2025&#x2F;09&#x2F;zustand-multiplayer-middleware</a>
2作者: exaroth3 个月前原帖
作为一名长期使用 i3wm 的用户,我对缺乏能够显示我选择的新闻头条的状态栏插件感到沮丧。现有的插件往往使用专有的 API/源,因此我决定自己创建一个。 I3 News 使用标准的 RSS/Atom 链接,这些链接会在你选择的状态栏插件中转换为滚动的新闻头条。该应用还支持可滚动的摘要,并能够在浏览器中打开新闻链接。 目前支持的 i3/sway 插件列表: - i3blocks - waybar - polybar - i3status 欢迎提出批评和建议。
7作者: pmig3 个月前原帖
嘿,HN,我们最近在MCP服务器上进行了大量实验,其中一个最耗时的挑战就是将MCP客户端连接到远程MCP服务器。为了解决这个问题,我们构建了一个库,可以动态生成这些连接,从而为大多数客户端提供一键安装按钮和链接。 欢迎尝试这个生成器,并利用它来改善您远程MCP服务器的README文档,使用生成的Markdown格式。您甚至可以配置该库,以便当有人通过网络访问您的远程MCP服务器时返回HTML说明。
4作者: damienwebdev3 个月前原帖
大家好!<p>我正在为 Angular 构建一个名为 Daffodil 的开源电子商务框架。我认为 Daffodil 非常酷,因为它允许你连接到任何任意的电子商务平台。我已经慢慢地在这个项目上努力了七年,终于感觉它“准备好了”。我非常希望能得到任何在电子商务领域(尤其是前端开发者)有经验的人的反馈。<p>对于那些不熟悉 JavaScript 生态系统的开发者,这里有一个概念演示:<a href="https://demo.daff.io" rel="nofollow">https://demo.daff.io</a><p>对于熟悉 Angular 的朋友,你只需在一个新的 Angular 应用中运行以下命令(使用 Angular 19,我们正在为 Angular 20 提供支持!),就可以得到与上面演示相同的结果:<p>```bash ng add @daffodil/commerce ```<p>我试图解决两个不同的挑战:<p>首先,我非常讨厌必须学习一个新的电子商务平台。我们在操作系统中有打印机、鼠标、键盘、麦克风和许多其他物理设备的驱动程序,为什么不为电子商务软件提供这些呢?并不是说我讨厌现有的平台、它们的用户界面或 API,而是每个平台都重复相同的概念,我总是需要学习一些新奇的方式来做同样的事情。我一直希望这些平台能够更像网络上的操作系统,而不是定制的软件。理想情况下,我希望通过一个标准接口调用它们,除此之外不再关心它们的存在。<p>其次,我希望一开始就保持简单。我希望在第一天就不需要设置任何额外的软件,只需核心前端栈(基本上是 yarn/npm + Angular)。我常常被迫设置 docker-compose、Kubernetes,支付 SaaS 的费用,等待商家的 IT 部门给我访问权限,或者在某处运行虚拟机,仅仅是为了为公司使用的电子商务平台构建一些用户界面。往往我只想启动一个小的本地 HTTP 服务器,开始编写代码。<p>目前,我已经支持 Magento/MageOS/Adobe Commerce,部分支持 Shopify,最近我为 Medusa 编写了一个产品驱动程序 - <a href="https://github.com/graycoreio/daffodil/pull/3939" rel="nofollow">https://github.com/graycoreio/daffodil/pull/3939</a>。<p>最后,如果你在想“这并不高效,难道你不能在服务器上用 GraphQL 完成所有这些”,你说得完全正确!这正是我最终想要达到的目标,但这是一个“又一个工具”的障碍,我希望在开发周期中尽可能让开发者不必面对。我希望最终能够在 GraphQL 服务器中发布与我们在浏览器中运行的相同“驱动程序”代码,只需另一个驱动程序(尽管比其他所有驱动程序简单得多),使用原生的 GraphQL 格式。<p>欢迎对驱动程序和平台提出任何建议,尽管我不能保证会实现它们。 :)
2作者: matured_kazama3 个月前原帖
我是Cloudflare的一名顶级黑客,他们的漏洞赏金评估水平持续下降让我非常担忧。 我在他们的VIP项目中提交了一个一键账户接管漏洞,之前的漏洞评估为高严重性。但最近这个漏洞却被降级为低严重性,原因是涉及钓鱼,即使高严重性的问题也同样需要钓鱼。我是说,一键账户接管确实需要钓鱼啊。 这是继他们公开承认错误处理https://blog.cloudflare.com/unauthorized-issuance-of-certificates-for-1-1-1-1事件后的第二次事件。 我不知道他们发生了什么,但他们拒绝提供答案,无论是私下还是公开。此外,他们还公开吹嘘他们的新VIP项目:https://blog.cloudflare.com/cisa-pledge-commitment-bug-bounty-vip/#the-vip-programs-new-enhanced-reward-structure,但当我提交这份最新报告时,他们却将其转发到了公开项目。