Skyvern,一款用于自动化重复浏览器任务的工具,现在开始处理软件质量保证。开发者们注意到Claude(一个AI编码助手)经常生成*看起来*正确的代码,但由于细微的UI问题导致测试失败。为了解决这个问题,他们构建了一个QA系统*内置*于Skyvern中,利用33个浏览器工具和Claude来自动测试前端更改。
该系统分析代码差异,识别受影响的区域,并运行基于浏览器的测试——本质上让AI“观察”页面并与之交互。这使得他们的PR成功率从30%提高到70%,并将QA周期时间减半。
现在有两个新技能可用:`/qa`用于本地测试,`/smoke-test`用于CI流水线。这些技能从git差异中生成测试用例,在浏览器中执行它们,并提供带有证据的清晰的PASS/FAIL报告。重点是针对性测试——仅验证受代码更改影响的区域——以避免大型、不稳定的端到端测试套件的陷阱。该项目是开源的,团队欢迎关于构建健壮的、代理驱动的QA系统的反馈。
## Windows++:一个轻量级C++框架
随着MFC等传统框架变得臃肿和缺乏灵活性,Windows++为使用C++开发Windows应用程序提供了一种精简的替代方案。这个轻量级框架,DLL仅为84K,通过抽象WinAPI并消除复杂的消息映射,简化了Windows编程。
Windows++允许开发者快速创建应用程序——“Hello, World”程序仅需20行代码!——并为构建自定义框架提供坚实的基础。它兼容Borland、Microsoft和Zortech编译器,并支持Windows 3.1、95/98/NT/XP。
Windows++已在商业应用中得到验证(包括“能量兔”屏保和医疗软件),并附带类库、makefile和示例程序,例如曼德勃罗集生成器和井字棋AI。对于希望更深入了解框架实现的用户,有配套书籍《Windows++:用C++编写可重用的Windows代码》。
## Herbie:提高浮点数精度——摘要
Herbie是一个旨在重写浮点表达式以提高精度的工具,解决了浮点算术固有的不精确性(例如,0.1 + 0.2 ≠ 0.3)。用户首先安装Herbie并通过Web界面访问它,通常通过运行`racket -l herbie web`来实现。
Herbie通过分析表达式并提出替代方案来工作。用户输入一个表达式并为每个变量定义范围。然后,Herbie搜索更准确的等效公式,通常可以识别出精度和速度的改进。例如,在分析math.js中的一个复杂的平方根函数时,Herbie找到了替代方案,精度达到84.6%(与原始的53.2%相比),利用了`hypot`等函数和策略性放置的`if`语句来减轻诸如抵消的问题。
该工具提供详细的结果,包括精度图表和逐步推导。用户可以将这些改进的表达式重新集成到他们的代码中,并可能将输出转换为他们的目标语言。Herbie特别适用于调试和优化大型程序中的数学内核。进一步探索Herbie的文档可以充分发挥其改进浮点计算的潜力。
## Podroid:Android 上的 Linux 容器
Podroid 允许您在 Android 设备上(Android 14+,arm64 架构,约 150MB 剩余空间)**无需 root 权限**即可直接运行 Linux 容器。它利用 QEMU 启动一个轻量级的 Alpine Linux 虚拟机,并提供一个功能齐全的 Podman 容器运行时。
主要功能包括:拉取和运行 OCI 镜像,一个完全模拟的 xterm 终端,支持广泛的按键,以及重启后软件包和容器的持久化存储。网络内置了自动互联网访问和可配置的主机端口转发。
Podroid 完全自包含,仅需要安装的 APK – 不需要 Termux 或主机二进制文件。终端使用 Termux 的 TerminalView 实现准确的 VT100/xterm 模拟,端口转发通过应用程序设置进行管理。它使用自定义 initramfs 构建,并利用 QEMU 的用户模式网络 (SLIRP) 实现连接。