TGViewer
Channel Public Channel
开发者工具箱|编程·开发工具·资源

开发者工具箱|编程·开发工具·资源

@devtoolboxhub

面向开发者的实用工具、库与效率技巧,写代码更快更爽。投稿 @BDHT1
#开发者 #编程工具 #效率 #程序员 · 开源总站 @GitHubTrendingHub
Subscribers
435
Photos
1.5K
Videos
0
Links
781

Showing posts older than #1008 · Back to latest

Older Posts 17 shown
Post #1007 3
浏览器测试失败证据的关键要素

文章指出,浏览器测试在 CI 中失败时,仅凭红色图标不足以判断原因。可信的失败证据应包括失败瞬间的截图、DOM 或可访问性状态、控制台错误、网络请求与响应、逐步耗时、之前成功尝试、带时间线的视频、定位器策略、环境与浏览器元数据以及关联的应用日志。文章还区分了 UI 漂移与 AI 代理漂移,强调需要记录提示、模型版型、页面状态等信息才能复现 AI 生成的测试失败。此外,它提到缓存变化、临时 CI 环境、跨标签与弹窗流程、认证全生命周期以及 AI 生成的断言与操作都会影响证据的可靠性,并建议在发布门槛前衡量证据的完整性与可解释性。

原文链接

#开发者 #工具

📢 频道:@DevToolboxHub
Post #1004 3
CoTester 企业 AI 测试

CoTester 是一个企业级 AI 测试代理,可帮助团队自动化生成并执行企业应用的端到端测试。
· 从用户故事或需求自动生成测试用例,支持 SAP、Salesforce、Dynamics 365 等主流企业系统。
· UI 元素变化时自愈定位(self‑healing),减少测试脚本维护。
· 在真实浏览器和移动设备上运行测试,提供实时反馈与执行历史。
· 可集成到 CI/CD 流程,实现提交后即时验证与缺陷早期捕获。

原文链接

#开发者 #工具

📢 频道:@DevToolboxHub
Post #1003 3
轻量RAG在SmartQueue中的实践应用

本文介绍作者在 Go 开发的分布式任务队列 SmartQueue 中,用纯 Python 实现的基于 BM25 的检索增强生成(RAG)管线,以替代 ChromaDB 并解决单容器部署问题。
- 知识库仅含 10 份 IT 运维手册,查询时先做正则防注入,再用 BM25 检索取前 4 条作为上下文
- 使用 Groq 提供的 LLaMA 3.3 70B 模型,温度 0.2,最大输出 800 token,并将最近 10 轮对话历史写入 Redis
- 所有 AI 接口均有非 LLM 降级路径:关键词匹配、基于队列深度的规则推荐或模板回复,确保服务在免费 API 额度耗尽时仍可用

原文链接

#开发者 #工具

📢 频道:@DevToolboxHub
Post #1002 3
仪表盘图标选错的隐患与解法

文章指出仪表盘图标应按功能角色而非关键词选择,以避免语义混淆。
- 关键词搜索易导致同一图标承担多重意义,增加界面噪音。
- 建议按导航、状态、操作、对象、空白状态五类角色挑选图标。
- 在真实 UI 大小(如 16px)和邻近图标中测试辨识度,确保清晰可识别。

原文链接
相关链接

#开发者 #工具

📢 频道:@DevToolboxHub
Post #1001 2
签名管道防刷三层防护

团队发现大量注册来自同一 IP 和一次性邮箱,激活率下降。他们分层构建防护:第一层 IP 与邮箱域名双限流;第二层封禁一次性邮箱域名和非浏览器 User‑Agent;第三层对已知恶意 IP 实施全路由封禁。上线后,同一 IP 注册归零,一次性邮箱注册消失,激活率恢复。

原文链接

#开发者 #工具

📢 频道:@DevToolboxHub
Post #1000 3
安全云端基础设施一键生成

tsdevstack 是一个免费开源工具,能在你的云账户中自动生成生产就绪的基础设施(CDN/WAF、TLS 终止负载均衡、Kong 网关、私有网络、托管密钥、数据库、CI/CD),以 Terraform 形式存放在仓库中。
- 使用标准框架编写服务,tsdevstack 自动生成边缘 CDN/WAF、TLS 终止负载均衡、Kong 网关路由。
- 服务运行在私有网络,外部无法直接访问;密钥存放在云托管密钥服务而非环境变量。
- 数据库、CI、部署均以 Terraform 代码形式存在,运行在你自己的云账户,无平台锁定,仅产生自身云费用。
- AI 代理在获取项目脚手架时会直接连接 tsdevstack,从而了解完整系统结构和安全默认值,避免即兴生成不安全的基础设施。

tsdevstack.dev
原文链接

#开发者 #工具

📢 频道:@DevToolboxHub
Post #995 4
Angular 状态管理新选择:Signal Store

NgRx 推出 Signal Store,基于 Angular Signals 的轻量级状态管理方案,无需 Redux 模式,适合局部或中等规模场景,减少样板代码。

- 核心概念:withState 定义响应式状态属性,withComputed 生成派生状态,withMethods 封装状态变更与副作用(如 HTTP 调用)
- 安装与创建:使用 ng add @ngrx/signals@latest 或 npm install @ngrx/signals,通过 signalStore() 函数快速构建 typed store
- 进阶用法:支持 rxMethod + tapResponse 实现声明式响应式流,自动取消请求与错误处理

原文链接

#开发者 #工具

📢 频道:@DevToolboxHub
Post #993 3
yait_aichain Tools:搜索、转换、嵌入

本文是 yait_aichain AI 管道系列教程第 6 篇,聚焦工具模块的设计与使用。核心理念是“薄核心、可插拔”:仅将 Markdown 转换作为硬依赖内置,其余功能(搜索、嵌入、排序)均为可选或通过 MCP 协议独立运行。

要点:
- 搜索:支持 Perplexity 作为可选依赖安装,Brave/SerpAPI 等通过 MCP 服务器接入,更换提供商无需修改管道代码。
- 转换:convertToMD 封装 Microsoft markitdown 库,一键将 PDF/DOCX/PPTX/HTML 等转为 Markdown,是唯一内置的硬依赖。
- 嵌入:Embedding 类支持多向量语义搜索、去重、聚类;Reranker 通过交叉编码器提升检索精度;VectorDB 提供进程内向量存储用于原型。
- 自定义工具:继承 Tool 类实现 run(self, input: str) 即可与框架集成,支持 OpenAI/Anthropic 等 8 家模型商的 tool-calling 协议。

原文链接

#开发者 #工具

📢 频道:@DevToolboxHub
Post #992 5
Tavern 与 Apidog:API 测试的 YAML 与可视化之争

Tavern 是 pytest 插件,用 YAML 文件编写 API 测试并直接以 pytest 运行,适合 Python 团队。Apidog 提供可视化界面和 CLI,将测试绑定到 API 规范。

要点:
- Tavern 安装简单:pip install tavern,YAML 测试与 pytest 共享 fixtures、插件、并行运行和 CI 集成。
- 支持保存 token 并在后续步骤中使用:通过 save 和 {variable} 实现请求间数据传递。
- 同时支持 HTTP 和 MQTT 协议,适合 IoT 场景。
- YAML 文件变大后缩进维护困难,且 API 规范(OpenAPI/Swagger)与测试文件分离,需手动同步。

原文链接

#开发者 #工具

📢 频道:@DevToolboxHub
Post #991 6
五大LLM网关安全对比

LLM网关作为统一代理,认证、路由、过滤和审计AI请求,集中解决提示注入和敏感信息泄露风险。本文对比五款工具:

- Bifrost:开源Go实现,~11µs延迟,支持20+提供商,提供虚拟密钥、RBAC、不可变审计日志,支持VPC隔离和离线部署
- Kong AI:基于Kong API管理平台,集成PII脱敏和外部护栏,支持SOC2/HIPAA/GDPR
- Cloudflare AI:运行于全球边缘网络,统一多提供商计费,内置数据防泄漏,可选零保留模式
- LiteLLM:开源,Python SDK+代理,覆盖100+模型提供商,配置驱动,需自行集成观测
- OpenRouter:托管服务,单一API接入数百模型,信用制计费,治理功能较薄弱

选择需根据护栏、合规、数据驻留和性能需求。

原文链接

#开发者 #工具

📢 频道:@DevToolboxHub
Post #990 8
30天无AI编码实验总结

一位开发者停止使用 Copilot、ChatGPT 等 AI 工具,进行了为期 30 天的纯手动编码实验,记录了各阶段的变化。

- 第一周:生产力下降 60%,无法适应无 AI 建议的环境
- 第二周:恢复心流状态,能连续专注 2 小时以上
- 第三周:代码质量明显提升,主动发现以前会直接放过的 bug
- 第四周:总结出“15 分钟规则”——遇到 bug 先独立排查 15 分钟,90% 可自行解决

作者认为这种方式能真正学到调试逻辑,而非直接粘贴 AI 修复。

原文链接

#开发者 #工具

📢 频道:@DevToolboxHub
Post #988 9
SpaceX 收购 Cursor 构建 AI 编码助手

SpaceX 收购 AI 编码助手 Cursor 的开发公司 Anysphere,旨在构建自有 AI 编码模型并深度集成到开发工作流
· Cursor 让开发者在编辑器内用自然语言编写、编辑和重构代码,减少上下文切换
· SpaceX 计划加强模型训练,以降低对第三方 AI 模型的依赖
· 该收购表明编码代理正从生产力插件向工作流基础设施演变
· 为安全使用,团队应设置受限权限、审计日志和密钥管理,团队协作工具 teamcopilot.ai 提供相关功能
原文链接

#开发者 #工具

📢 频道:@DevToolboxHub
Post #985 8
AI 生成代码的边界检查工具

create-microservices-app 是一个用于快速生成 Cloudflare SvelteKit 应用的 CLI 工具,内置契约检查机制,能够检测 AI 生成代码中看似正确但实际绕过业务边界的错误。
- 一键创建预约应用:npm create microservices-app@latest booking-demo -- --template booking-sveltekit
- 内置可执行规约 microservices.check.mjs,验证路由仅调用已验证的用例
- 手动内联数据库写入绕过模块时,检查报错并指出具体文件与违反的契约
- 恢复委托后检查通过,说明约束能防止看似正确但实际错误的代码

原文链接
相关链接

#开发者 #工具

📢 频道:@DevToolboxHub
Post #984 6
开源工作流 实用 Prompt 指南

一位 AI 研究工程师将自己使用 coding agent 的完整工作流及 Prompt 开源为可直接使用的工作流手册。

- 包含工作流模式、原则、Prompt 模板及防隐私泄露的使用指南
- 提供可直接套用的工作流示例,涵盖迁移、新功能、 bug 修复三类真实代码场景
- 声称相比 Codex 和 Claude Code,工作流方式在相同问题上胜率达 75%,可降低 AI 生成代码的冗余与兼容性风险

原文链接

#开发者 #工具

📢 频道:@DevToolboxHub
Post #983 5
快速获取真实反馈的工具

Cartographer 是一款通过 Chrome 扩展记录实际应用、生成屏幕流程图并支持 AI 驱动的角色评审的开发者反馈工具。
· 记录当前产品的操作流程,生成可编辑的屏幕、动作和路径地图。
· 基于真实产品进行 AI 角色评审,指出管理员、新手用户可能遇到的困惑点。
· 支持从地图导出文档、生成原型并收集真实测试者的反馈

原文链接

#开发者 #工具

📢 频道:@DevToolboxHub
Post #980 5
PDF 生成在生产环境失效的原因

PDFPipe 提供无需 Chromium 的 HTML 转 PDF 服务,解决并发、字体和安全问题。
· 内置队列与工作进程,支持高并发请求。
· 自动处理字体回退和 CSS 分页,避免表格错位。
· 提供沙箱隔离,防止恶意 HTML 访问内部资源。

原文链接

#开发者 #工具

📢 频道:@DevToolboxHub
Post #975 5
TypeScript 免编译运行 对比

TypeScript 可以通过运行时直接去除类型注解(type‑stripping)免除 tsc 编译,Node.js 24、Bun、Deno 均提供此特性。
- Node.js 24 通过 --experimental-strip-types 启用 SWC 解析器,500 行文件去除类型约 8ms,内存约 12MB。
- Bun 零配置直接运行 TypeScript,40 行文件启动约 4ms,内存峰值约 8MB,但使用 Bun 特定 API 会绑定运行时。
- Deno 内置 TypeScript 支持,使用 SWC 去除类型并缓存,1000 行文件约 11ms,内存约 15MB,并通过 --allow-* 权限控制提升安全。

原文链接

#开发者 #工具

📢 频道:@DevToolboxHub
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →