请启用 JavaScript 并禁用任何广告拦截器。
请启用 JavaScript 并禁用任何广告拦截器。
## 从递归到迭代:用栈安全换取清晰度
本文探讨了一种将优雅的递归代码转换为迭代形式的技术,用于像JavaScript/TypeScript这样的语言,以避免堆栈溢出错误。虽然递归通常是固有递归问题的最易维护的解决方案,但对于深度嵌套的数据结构来说,它可能会有问题。
核心思想是使用可变数据结构手动模拟调用堆栈——本质上将每个堆栈帧表示为一等值。这允许迭代执行,而无需依赖语言的调用堆栈。这个过程并非完全可自动化,但很大程度上是机械化的,产生可理解的(但不太清晰的)代码。
作者通过链表、二叉树,最后是互递归树和森林来演示这一点。复杂性随着分支数据结构的增加而增加,需要类似堆栈的结构来管理延迟计算。
鉴于复杂性增加,使用基于属性的测试(使用`fast-check`)进行严格测试至关重要,以确保正确性。基准测试显示,与递归版本相比,性能下降了大约2.2倍,对于某些场景来说,这是一个合理的权衡,以换取堆栈安全。该技术存在局限性,尤其是在多态递归函数方面。作者寻求进一步的探索和相关的参考文献。
## Bippy:React 内部机制探索 Bippy 是一套工具,用于访问 React 的内部“fiber”——代表组件和 DOM 元素的执行核心单元——而无需修改 React 代码本身。通常,这些内部机制是无法访问的,但 Bippy 通过伪装成 React Devtools 来绕过这一限制,从而访问 fiber 树和相关数据。它支持 React 17-19 版本,并且不需要事先了解 React 的源代码。 主要功能包括遍历 fiber 树(`traverseFiber`)、识别渲染的组件(`traverseRenderedFibers`)以及检查 props、state 和 context。Bippy 通过拦截 React 与 `window.__REACT_DEVTOOLS_GLOBAL_HOOK__` 对象的通信来实现这一点,该对象传统上由 React Devtools 使用。 **使用方法:** 在 React 之前导入 Bippy,以接入其内部机制。像 `instrument` 这样的函数可以安全地修补全局 hook,而 `secure` 则添加了错误处理。像 `getFiberFromHostInstance` 这样的工具可以将 DOM 元素链接到其对应的 fiber。 **重要提示:** Bippy 主要是一个开发工具。虽然提供了安全保障,但在生产环境中使用时应谨慎考虑,并参考 React-Scan 等项目以实现更强大的功能。它是一个强大的工具,用于理解 React 的内部运作和调试复杂应用程序。
## 保护光标云代理中的密钥 光标云代理虽然简化了工程工作流程,但也带来了新的凭证泄露风险。每个代理都在隔离的虚拟机中运行,需要密钥才能执行诸如数据库访问和私有包安装等任务。常见的陷阱——硬编码凭证、将密钥存储在提交的文件中以及烘焙在快照数据中——都会产生漏洞。 Infisical 提出了一种解决方案:**仅将 Infisical 机器身份凭证存储在光标的密钥 UI 中。** 然后使用这些凭证在运行时从 Infisical 动态拉取所有其他密钥,从而避免将其存储在光标内部。 这可以通过使用 `infisical run` 将密钥作为环境变量直接注入到进程中,或使用 `infisical export` 将密钥写入必要的文件(如 `.env`)来实现。 重要的是,这种方法确保密钥在每次启动时都是最新的、可审计的并且可以轮换。 此外,Infisical 建议将机器身份限定到特定环境(开发、生产、CI),并具有有限的访问权限,从而最大限度地减少潜在泄露的影响范围。 通过最大限度地减少光标中存储的内容并利用像 Infisical 这样强大的密钥管理系统,团队可以保护其代理并避免烘焙在其中的、长期存在的凭证带来的风险。
## 生成模型:一种科学的实用性方法 当前关于生成模型的讨论,常常缺乏对其实用性的严格、科学评估。与其通过建模工具和任务来分析工具X是否对任务Y有用,不如基于“感觉”和广泛的应用来做出声明,而缺乏批判性评估。作者提出一个基于三个关键因素来评估生成模型实用性的框架:**编码成本**、**验证成本**以及**过程与成果**的重要性。 **编码成本**比较了提示模型与直接创建所需输出的努力程度。**验证成本**评估了确保生成结果满足要求的难度。最后,**过程**的重要性认识到,某些任务,例如教育或某些工程实践,优先考虑*如何*做,而不仅仅是*做什么*。 作者认为,当编码成本低廉和/或验证非常容易,*并且*过程不重要时,实用性会增加。复杂的任务通常会增加编码和验证成本,从而降低实用性。此外,生成模型不太可能对依赖过程的任务有帮助。 最终,确定实用性需要领域专业知识以及对这些权衡的仔细考虑——这是一种工程形式。虽然承认这些模型的潜力,但作者强调“合理”的输出并不等同于“有用”的输出,并且增加模型复杂度并不能自动转化为增加价值。
## Firetiger 现在可以连接到您的私有数据库
Firetiger 数据库代理旨在自动化数据库管理(Postgres、MySQL、ClickHouse),但大多数有价值的数据库都位于私有网络中,这带来了连接性挑战。传统的解决方案,如 VPC 对等互联或 VPN,复杂且容易出现问题。
Firetiger 通过 **网络传输** 来解决这个问题,首先是 **Tailscale**。Tailscale 简化了网络之间的安全连接,允许 Firetiger 代理访问您的数据库,*而无需*将其暴露到公共互联网。
操作方式如下:您使用 Tailscale 的基于身份的访问控制在您的 Tailnet 中授予 Firetiger 访问权限,创建凭据,并配置 Firetiger Tailscale 网络传输。这将建立一个安全加密的连接。
这意味着您现在可以利用 Firetiger 的自动化 DBA 和自定义代理来监控和管理您私有托管的数据库,消除盲点并简化操作——即使在复杂的网络配置下也是如此。提供了一个详细的指南,其中包含完整的设置示例。
Columba是一款为Reticulum网络设计的Android消息和语音应用程序,提供独立于互联网、蜂窝塔或中央服务器的通信。它使用LXMF消息和LXST语音通话,提供安全的端到端加密通信,无需帐户或跟踪。
Columba通过蓝牙LE、Wi-Fi、LoRa(通过RNode)或TCP连接,实现本地和长距离消息传递。主要功能包括安全的离线地图位置共享、多身份管理和可定制的主题。
Columba采用原生Android界面构建,旨在为移动设备带来易于访问的网状网络,允许用户构建有弹性的去中心化通信网络并为他人中继流量。它专为低带宽、高延迟环境设计,并优先考虑用户隐私和控制。
我们检测到您的浏览器已禁用 JavaScript。请启用 JavaScript 或切换到受支持的浏览器以继续使用 x.com。您可以在我们的帮助中心查看受支持的浏览器列表。帮助中心 服务条款 隐私政策 Cookie 政策 版权信息 广告信息 © 2026 X Corp.
正在准备工具...
``` curl -X POST 'https://api.cloudflare.com/client/v4/accounts/{account_id}/browser-rendering/crawl' \ -H 'Authorization: Bearer <apiToken>' \ -H 'Content-Type: application/json' \ "url": "https://blog.cloudflare.com/" curl -X GET 'https://api.cloudflare.com/client/v4/accounts/{account_id}/browser-rendering/crawl/{job_id}' \ -H 'Authorization: Bearer <apiToken>' ``` ``` curl -X POST 'https://api.cloudflare.com/client/v4/accounts/{account_id}/browser-rendering/crawl' \ -H 'Authorization: Bearer <apiToken>' \ -H 'Content-Type: application/json' \ "url": "https://blog.cloudflare.com/" curl -X GET 'https://api.cloudflare.com/client/v4/accounts/{account_id}/browser-rendering/crawl/{job_id}' \ -H 'Authorization: Bearer <apiToken>' ```