返回首页

一周热榜

1作者: kekseesser2 天前
1作者: Sekhmet2 天前
我构建了一个简单的网页应用,可以将任何 YouTube 播放列表转换成类似 Udemy 的课程,该应用可以跟踪你的学习进度,并尽可能消除干扰。 你只需要粘贴一个 YouTube 播放列表(或播放列表中的视频)的链接,它就会被转换成一门课程。你也可以通过将 URL 中的“youtube”更改为“withadept”来直接从 YouTube 进行转换。 所有进度都存储在本地,注册是可选的(账户可以让你跨设备同步进度)。浏览器可能会拒绝启用持久化存储的请求,在这种情况下,应用会显示一条带有登录建议的消息(你可以直接忽略它),但除此之外,我尽量避免强制提供该选项。 没有跟踪,没有第三方 Cookie(播放列表页面上有我无法避免的 youtube-nocookie.com 嵌入),即使你注册了,也不会收到营销邮件。 对于那些对技术栈感到好奇的人:这是一个 Vue/Nuxt 应用,大量使用了 Cloudflare(Workers, D1, R2, Email Service)。我还使用 OpenRouter 来访问模型,这些模型可以清理视频标题(在代码中处理不可靠,因为标题格式经常不一致,而使用 LLM 处理实际上非常便宜——40个视频的播放列表大约只需 0.0003 美元)。 [1] 既然是 2026 年,“我构建”意味着“我和 Claude Code 一起构建”。这是 AI 辅助的(不是凭感觉编码的)。我在设计 UI(希望不那么明显)方面大量使用了 Claude Code,但逻辑和架构要么是手动编写的,要么是 AI 辅助并经过审查的。
1作者: rextio2 天前
大家好,HN!我来介绍一下我的实验性项目 Rextio。 Python 在人工智能和数据分析等领域被广泛应用,并且具有快速编码的优势,但由于其解释型语言的特性,常常会带来一些性能问题。 当然,也有各种替代方案来解决 Python 的速度问题。在某些情况下,Python 代码仅用于初步原型开发,而在过渡到生产环境时,开发会重新评估并使用 Rust 或 C/C++ 进行。 然而,我正在实验性地开发这个名为 Rextio 的工具,作为一种新的替代方案,旨在在不放弃 Python 的情况下解决速度问题。 Rextio 通过自动将可原生编译的 Python 热路径部分(例如带有类型提示的静态代码)转换为 Rust 代码并编译成二进制文件来提高性能。然后,它会回退到其余的原始代码,并使用 CPython 执行。这样可以在完全保留原始 Python 逻辑的同时,针对特定部分提高执行速度。 大致流程如下: ``` 类型提示的 Python 项目 -> 分析支持的原生候选 -> 拒绝不安全或不支持的函数 -> 为接受的函数生成 Rust + PyO3 -> 为其余部分生成 Python 回退包装器 -> 构建兼容导入的工件 ``` 更多详情请参阅 Git 仓库中的文档。 与仅使用 CPython 执行原始 Python 代码相比,使用 Rextio 转换的原生二进制文件执行也证实了性能的提升。 * 运行基本 Python 代码转换为原生:57.73 倍 * 运行 NumPy 转换为原生:2.52 倍 * 运行 NetworkX 的 Dijkstra 算法转换为原生:3.68 倍 * 运行 `pandas` 的 `Series.map` 转换为原生:66.14 倍 * 运行 PyTorch 深度 MLP 转换为原生:1.02 倍(由于现有 Python 包已使用 C 扩展,速度提升受限) * 运行 TensorFlow eager chain 转换为原生:1.04 倍(由于现有 Python 包已使用 C 扩展,速度提升受限) 有关产生上述结果的基准测试所使用的源代码和执行环境信息,请参阅 [`rextio-benchmark` Git 仓库](https://github.com/rextio/rextio-benchmark)。 Rextio 包含一个核心 CLI,用于转换和编译 Python 代码,我们正在开发附加插件,这些插件定义了将单个 Python 包转换为 Rust 代码的规则,并将其附加到核心 CLI。目前,我们已经开发了一些用于 NumPy 等的插件(`rextio-numpy`、`rextio-networkx`、`rextio-pandas`、`rextio-torch`、`rextio-tensorflow` 等),并且上述基准测试结果就是使用这些插件获得的。 Rextio 仍处于早期阶段,有很大的改进空间,将 Python 代码编译成基于 Rust 的原生代码并不能保证在所有情况下都能获得性能提升。 例如,如果在原生编译部分和 CPython 回退之间频繁进行数据交换,跨越边界的数据转换实际上可能会导致速度下降。但是,在这种情况下,Rextio 会尝试将整个过程回退到 CPython,而不经过原生代码,以防止这种性能下降。 如果您有任何问题或反馈,我将尽力回答并将其纳入功能改进中。 谢谢。
1作者: navalsaini2 天前
独立开发者。Schmess 是一个取消了回合制的国际象棋变体。双方玩家可以在有空位时随时移动,并且每枚棋子在移动后都会进入冷却状态。游戏在一个半尺寸的棋盘上进行,包含 100 多个谜题关卡。如果两个人用实体棋盘玩这个游戏,他们会互相刮伤手指——这大致就是游戏的节奏。 可在浏览器中游玩,无需注册。前 29 个关卡免费,其余关卡一次性解锁(3.99 美元/149 卢比)。无订阅,无广告。 这是我正在开发的几个小型棋盘变体中的第二个(半象棋是第一个,还有更多)。为一款没有回合制的游戏构建国际象棋引擎被证明是困难的部分——我已将相关的开发故事放在下面的评论中。