返回首页
最新
我想要一个更安全的 TypeScript 替代方案,使用线性时间引擎,因此我构建了 Regolith。
<p>为什么:
许多 CVE(公共漏洞和暴露)发生的原因是 TypeScript 库容易受到正则表达式拒绝服务(ReDoS)攻击。我在进行本科研究时了解到这个问题,发现像 Rust 这样的语言有内置保护,而像 JavaScript、TypeScript 和 Python 这样的语言则没有。这个库旨在减轻 TypeScript 和 JavaScript 的这些漏洞。
<p>如何:
Regolith 在底层使用 Rust 的 Regex 库来防止 ReDoS 攻击。Rust 的 Regex 库实现了一个线性时间的正则表达式引擎,保证执行的线性复杂度。当提供恶意输入时,正常的正则表达式引擎会在过多重叠的配置中检查匹配字符串,从而导致引擎计算正则表达式所需的时间极长,这可能会导致服务的延迟或停机。通过设计引擎使其最多只需线性时间,我们可以在库级别防止这些攻击,并使软件继承这些安全特性。
<p>我对让编程语言更安全非常着迷,欢迎任何关于如何改进这个项目的反馈。我会尽量回答评论中提出的所有问题。
<p>谢谢!
- Jake Roggenbuck
嗨,HN,
我经常在YouTube上观看长时间的讲座或会议演讲,但通常只有几分钟包含我需要的关键点。为了快速获取要点,我开发了一个小工具,利用人工智能对YouTube视频进行总结。
它的工作原理是:你粘贴一个YouTube链接,它会生成一个简短的总结和关键的文字记录。后端经过优化,结果在几秒钟内返回。
设计选择:
- 无需账户或登录(我希望它能够立即使用)。
- 免费使用(我将其作为一个副项目运行)。
- 注重速度和简洁性。
目前还处于早期阶段,我非常希望能收到以下方面的反馈:
- 总结是否有用/准确
- 哪些额外功能会让它更有帮助(时间戳、导出等)
- 你遇到的任何问题
链接:[vdown.me](https://vdown.me)
谢谢!
在 JavaScript/TypeScript 领域,我发现一个比较普遍的问题是,单元测试通常被期望在 Node.js 进程中运行。在过去的多个项目中,这种方法证明是有问题的,因为无法实现与目标运行环境(浏览器)的“环境一致性”(例如,没有 WebRTC[1])。在这些项目中,我们通过编写自己的测试运行器来解决这个问题,该运行器可以注入到无头浏览器进程中。
现在,在一个使用 React Native 的移动设备项目中,出现了类似的问题:我原以为单元测试可以在设备上或至少在模拟器上运行,但似乎并非如此(参见:https://docs.expo.dev/develop/unit-testing/)。或者至少到目前为止,我还没有找到能够实现这一点的秘密武器或工具。欢迎提供任何指引。
[1] 是的,确实有一个用于 Node 的 WebRTC 移植版,它使用了 Google 的旧版 C++ 库,但实际上并不能正常工作。
我知道,氛围编码对非技术人员和经验不多的人有明显的吸引力,但我想知道那些拥有丰富技术经验的人是否也能从人工智能编码工具中获益。<p>如果你有使用,哪些工作流程对你最有效?你信任哪些模型?你认为将本该自己思考的任务转交给模型可能会带来问题吗?