2作者: godelshalt大约 2 个月前原帖
嗨,HN, 我正在开发一个名为 Malleon 的工具,因为我厌倦了那些无法反映用户实际操作的端到端测试。我一直对使用真实用户会话进行负载测试充满热情。在使用 Tsung 和 Gatling 等负载测试工具的过程中,我常常希望能够简单地重放昨天的流量两倍或五倍,而不是使用合成会话。Malleon 的诞生就是为了弥合这两个领域。 基本思路是:与其从头编写测试,不如记录真实用户会话并将其转化为可重放的测试。 SDK 记录的内容包括: - DOM 交互 - 网络请求 - 控制台输出 - 动作之间的时间间隔 重放并不是视频。它重建并重放与您的应用程序的实际浏览器交互。 因此,真实用户会话就变成了可复现的测试用例。 典型的流程如下: - 将一个小型 JS SDK 嵌入到您的应用中 - 用户正常与网站互动 - 会话被记录 - 您浏览重放并发现一些有趣的内容(bug、错误、奇怪的行为) - 将该会话转化为测试并在 CI 中运行 测试运行器是自托管的。您可以拉取 Docker 镜像并在任何地方运行它。它驱动浏览器(无头或有头)并重放交互序列。 在构建这个工具的过程中,有一些意想不到的挑战: - 当 DOM 自记录以来发生变化时,如何重放交互 - 处理视口/布局差异 - 使网络重放对应用透明 - 保持时间间隔真实而不使测试变慢 该系统还收集日志、错误和请求时间,以便会话可搜索,您可以跟踪网络性能,查看 p90/p95/p99 统计数据,以及所有相关信息。 链接: - Malleon: [https://malleon.io](https://malleon.io) - Replay SDK: [https://www.npmjs.com/package/@malleon/replay](https://www.npmjs.com/package/@malleon/replay) - Replay CLI: [https://www.npmjs.com/package/@malleon/replay-cli](https://www.npmjs.com/package/@malleon/replay-cli) - 文档: [https://github.com/malleonio/malleon-documentation](https://github.com/malleonio/malleon-documentation) 提供免费套餐。 我很好奇是否还有其他人遇到过“我们的测试无法反映用户实际操作(或它们如何扩展)”的问题。
1作者: mozharovskyarik大约 2 个月前原帖
我创建了一个小型命令行工具,用于在每次部署失败时停止切换到 Vercel/Netlify 仪表板。 安装:`npm i -g deploy-logv` 功能: - 列出最近的部署及其状态(`logv vercel --list`) - 查看特定部署的日志(`logv vercel -d dpl_xxx`) - 按错误/警告过滤(`--filter error`) - 兼容 Vercel 和 Netlify 该工具完全在本地运行——只需将您的 API 令牌设置为环境变量即可使用。 GitHub: [https://github.com/arikmozh/logv](https://github.com/arikmozh/logv)
1作者: jay123anta大约 2 个月前原帖
Stripe 支持自 2014 年以来的 API 版本,所有版本均来自同一代码库。每个版本通过转换层进行处理,而不是使用重复的控制器。 我构建了这个包,以将这种模式引入 Laravel。 每个旧版本都有一个转换器类,包含两个方法: - upgradeRequest() — 在控制器运行之前,将旧的请求负载转换为当前格式 - downgradeResponse() — 在响应离开之前,将响应转换回旧格式 中间件会自动在各个版本之间进行链式处理。您的控制器无需更改。 支持四种版本检测策略:URL 前缀、头部、查询参数和 Accept 头部。附带有弃用头部(Sunset、Deprecation)、用于变更日志和审计的 Artisan 命令。 使用以下命令安装:composer require jayanta/laravel-api-versionist
3作者: hans863大约 2 个月前原帖
我花了多年时间观察硬件团队犯同样的错误——在热管理问题未解决之前就开始工具开发,制造过程在PVT阶段未经过验证,只有在大规模生产时才显现出缺陷,组件在工厂尝试下单时才发现已经停产(EOL)。 这种模式总是相同,成本总是可以避免,但没有人将其记录下来。 最终的结果就是《最难的硬件教训》——涵盖了从初始原型到产品生命周期结束的完整旅程:工程验证测试(EVT)、设计验证测试(DVT)、生产验证测试(PVT)、工厂评估、供应链风险、大规模生产操作、现场故障和产品生命周期管理。 <a href="https://thehardesthardwarelessons.com" rel="nofollow">https://thehardesthardwarelessons.com</a>
2作者: noemit大约 2 个月前原帖
我并不是因为AI编码工具更快或更酷而选择使用它们。刚开始的时候,使用这些工具对我来说是一种负担。 我仍然在使用Cursor的无限制计划,这个计划给我提供无限的代币。这个计划将在五月到期,之后Cursor将强制我们这些老用户转到新的收费计划上,届时需要为代币付费。因此,我是在去年五月购买的年度计划,但在此之前我已经支付了几个月的月费。我是从2024年十月开始使用的。 我选择使用这些工具是因为我失去了打字的能力。 在这一切发生之前,2024年初,我对AI编码产生了好奇,听说(可能是假的)一些人正在构建生产应用并获得收入,我偶尔使用chatGPT来帮我整理一个函数,但我从未认真对待过。 我下载了Cursor,试用了一次后就放弃了。当我让它做一件简单的事情时,它却出错了。 然后,两个月后,我每天都在使用Cursor。这是一个一夜之间发生的变化。 一切始于我的右手开始疼痛。我以为我得了腕管综合症。 接着,我的左手也开始疼痛。 疼痛加剧了。我打电话给我妈妈,问她我是否得过水痘,想知道这是否可能是带状疱疹。我不停地在谷歌上搜索症状。 然后,虚弱感开始出现。起初只是微妙的,手变得笨拙,灵活性下降。我的手臂开始难以抬起。 又过了几天,我连前门都打不开了。 我慢慢地变得像是瘫痪了一样。我去了急诊室,被诊断为吉兰-巴雷综合症(发音为GHEE-YAWN-BAR-"eh?")。 幸运的是,我的病情比较轻微。在医院待了一周后,他们让我回家。尽管如此,我还是花了几个月才恢复手部的灵活性和打字的能力。 我当时的同事们可能还记得我突然增加的语音便签、语音转文本和大量的拼写错误。 在编码方面,我一夜之间从VSCode转到了Cursor。 而且我都是通过语音转文本来完成的。 我容忍了错误。 我经常拒绝它生成的代码。 我在提示和组织思路方面变得更好。 我在口述和清晰表达方面也有所改善,以便语音转文本不再误解我。 这是我唯一的选择。 我花了六个月才重新能够“正常”打字,但我可能再也无法恢复到以前的速度和准确性。 我今天仍然在使用Cursor。现在,我会更频繁地写代码,但Cursor仍然是我主要的IDE,我仍然更多地使用提示而不是直接编码。 此后我也使用了Claudecode和其他工具,但我仍然最喜欢Cursor。我在想,当我的无限代币用完时,我会有什么样的感受。:) 总之,这就是我的故事。欢迎随时问我任何问题。
1作者: cliftonc大约 2 个月前原帖
大家好!我正在开发一个开源报告工具,主要关注于“在您的应用中嵌入分析”的用例。我发现现有的解决方案要么不够好,要么不够灵活,或者价格昂贵,甚至三者兼而有之! 不过,我今天决定使用这个库,并将其封装在一个应用中,使其像 Metabase 一样工作(在这里我使用“像”这个词是广义的,因为它还处于早期阶段)。我已经在这个周末发布了一个初始版本,并希望获得反馈,以帮助优先考虑那些能够缩小与 Superset / Metabase 差距的功能,从而吸引实际用户使用。我希望避免添加不必要的功能。目前它仅支持 PostgreSQL,但我会添加许多其他数据源(目前受限于 Drizzle 支持的数据库)。 我的目标不是大型企业,而是那些希望拥有一个真正用户友好且灵活的报告工具的小团队/初创公司——这包括一个简化的自主分析工作流程,类似于 hex.tech(您可以自带 LLM 密钥)。 如果有人有时间查看并提供反馈,我将非常感激!目前有一个免费的云选项,因此如果您不想在本地运行(只需要 Docker 和一个容器),也可以尝试这个,并告诉我您的反馈。目前没有收费,但我考虑以非常低的成本提供,例如每月 10 欧元,以覆盖托管费用,它非常轻量,我不存储任何数据。 GitHub 地址在这里:<a href="https://github.com/cliftonc/drizby" rel="nofollow">https://github.com/cliftonc/drizby</a>——我非常希望能得到关于路线图的反馈,以及这个工具是否对我原始用例之外的其他人有用(我和其他人已经在积极使用它)。