开发者工具箱|编程·开发工具·资源
318 subscribers
1.48K photos
785 links
面向开发者的实用工具、库与效率技巧,写代码更快更爽。投稿 @BDHT1
#开发者 #编程工具 #效率 #程序员 · 开源总站 @GitHubTrendingHub
Download Telegram
10个GitHub Actions实用技巧

10个提升工作流效率的GitHub Actions推荐:

- YAML验证:ibiqlik/action-yaml-lint,避免配置错误。
- Markdown链接检查:gaurav-nelson/github-action-markdown-link-check,保证文档质量。
- PR自动分配:kentaro-m/auto-assign-action,节省团队时间。
- Commitlint:wagoid/commitlint-github-action,规范提交信息。
- 缓存依赖:actions/cache,加速构建。
- Slack通知:rtCamp/action-slack-notify,实时更新部署状态。
- 安全扫描:aquasecurity/trivy-action,检查镜像漏洞。

原文链接

#开发者 #工具

📢 频道:@DevToolboxHub
Beanie 2.0 省去手动传 Session

Beanie ODM 2.0 改用 PyMongo 异步客户端,利用 .bind() 隐式绑定 MongoDB 会话,服务层无需再手动传递 session 对象。

- Beanie 2.0 弃用 Motor,全面迁移至 PyMongo Async,支持 session.bind() 将 session 自动注入所有数据库操作
- 服务层不再需要 session 参数,业务逻辑与数据库会话完全解耦
- 提供 auto_session 和 wrap_in_transaction 装饰器,可一键自动创建 session 并包裹事务,代码更简洁
- 底层通过 ContextVar 存储 session,各异步任务可安全隔离,无需额外加锁

原文链接

#开发者 #工具

📢 频道:@DevToolboxHub
Rails 8 零服务单体架构指南

Rails 8 引入“零服务单体”,目标是让整个应用只通过一个 Docker 容器、一个端口运行,不再依赖 Redis 和 Nginx。

- 用 Solid 系列(Solid Queue/Cache/Cable)替代 Redis,后台任务与缓存直接使用 PostgreSQL / MySQL / SQLite,无需额外服务。
- 用 Thruster(Go 编写的代理)替代 Nginx,自动处理 HTTP/2、SSL 证书与资源压缩,集成在 Docker 镜像中。
- 通过 Kamal 2 实现单容器单端口部署,配置文件中无需定义侧车容器。
- 可选 SQLite + Litestream 实现极致简化,整个“云帝国”仅需一个进程。

原文链接

#开发者 #工具
📢 频道:@DevToolboxHub
用 Spec 和 BDD 驯服 AI 代码助手

AI 代码助手在模糊提示下生成的代码常通过单元测试却在生产中暴露问题——它按统计概率猜测业务逻辑,而非真的理解规则。解决方案是用 Spec(精确规格说明)和 BDD(行为驱动开发场景)建立契约,让 AI 从“快速猜测者”变为“可靠执行者”。

核心要点
- Spec 先行:在写代码前,用 Markdown 定义输入、输出、规则、边界和错误状态,AI 根据 spec 实现,不再猜测。
- BDD 场景验证:基于 spec 用 Gherkin 语法编写场景,在 AI 实现前就已写好;这些场景独立于实现,可被 CI 直接检验,防止 AI 生成的代码通过“自欺欺人”的测试。
- AI 反哺 Spec:让 AI 作为 spec 的压力测试者,找出遗漏的边界情况,在编码前消除潜在生产 bug。

实施流程:Day1 人类写 spec + AI 压力测试;Day2 将 spec 转为 BDD 场景;Day3 AI 以 spec+场景为上下文实现;Day4 人工聚焦架构评审;Day5 CI 永久强制执行场景。

原文链接

#开发者 #工具

📢 频道:@DevToolboxHub
频道定位:面向开发者的工程效率工具库。

内容包括 IDE、CLI、API、部署、数据库、测试、调试、监控与协作工具。

更新节奏:优先收录能提升实际开发效率的工具和案例。
Linux 三剑客:grep/awk/sed 实战

针对日志查找、配置排查、文本清洗等日常运维场景,无需手动翻文件,用三条命令就能提速。

- grep:文本搜索,支持忽略大小写 -i、显示行号 -n、反向匹配 -v、递归搜索 -r。示例:grep "Failed password" /var/log/auth.log 快速定位 SSH 登录失败记录
- awk:列处理与条件过滤。awk '{print $1}' 提取第一列,'$2 > 6000' 按值筛选。示例:who | awk '{print $1}' 提取登录用户名
- sed:流编辑器,用于文本替换、行删除。sed 's/old/new/g' 全局替换,sed -i 直接修改文件(建议先备份)。示例:sed -i 's/oldsite.com/newsite.com/' nginx.conf

组合示例:用 grep 筛选失败登录,管道给 awk 提取 IP,再 sort | uniq -c 统计攻击次数。

原文链接

#开发者 #工具

📢 频道:@DevToolboxHub
AWS SAM 模板引入动态循环

AWS SAM CLI 最新版本支持 CloudFormation Language Extensions,主要新增 Fn::ForEach 等扩展,允许在 YAML 模板中定义一次资源结构,循环生成多个函数或端点,消除重复定义。

要点:
- 引入 Fn::ForEach 实现模板资源动态循环生成,支持静态列表或参数引用为集合
- 配套扩展:Fn::Length、Fn::ToJsonString、Fn::FindInMap 带默认值、条件 DeletionPolicy/UpdateReplacePolicy
- 所有扩展在本地完整工作流(build/invoke/validate/package/deploy/sync)中均可使用,无需特殊配置

约束:集合必须本地可解析(不支持 GetAtt / ImportValue / SSM 引用);循环嵌套最多 5 层。

原文链接

#开发者 #工具
📢 频道:@DevToolboxHub
用代码管理 Jenkins 的完整方案

一篇关于 Jenkins as Code 的实践分享,作者通过几种工具将 Jenkins 配置、作业、工作镜像完全纳入 Git 管理,实现从界面点击到代码化的转型。

核心要点:
- 使用 JCasC 插件将控制器配置写入 YAML,重启自动加载
- Job DSL 定义作业脚本,由种子作业从 Git 仓库同步
- 控制器跑在 Kubernetes 上,通过 Helm 部署,插件列表版本锁定在 values.yaml
- 用 Packer 生成 Worker 镜像,每次构建启动全新短暂 Worker
- 非 Jenkins 基础设施用 Terraform + Terragrunt 管理

原文链接

#开发者 #工具

📢 频道:@DevToolboxHub
2026年11个Agentic测试工具盘点

Agentic测试工具利用AI自主规划、生成、维护和执行测试,减少人工干预。根据覆盖范围分为三类,以下是代表性工具概述:

- 企业级AI质量平台:Tricentis Tosca(适合大规模回归和端到端流程)、SmartBear(跨测试领域覆盖)、UiPath Test Suite(与自动化生态集成)
- AI原生测试平台:ACCELQ(加速自动化)、mabl(持续测试与低维护)、Functionize(生命周期维护)
- 点解决方案:testRigor(自然语言驱动)、QA Wolf(快速覆盖与托管执行)、AskUI(UI感知与交互)、CoTester(辅助型任务)

选择时需明确需求:是帮助编写测试还是治理发布信心;关注可衡量的生产指标(回归时间、维护成本、缺陷逃逸);确保可解释性与审计能力。

原文链接

#开发者 #工具

📢 频道:@DevToolboxHub
用三个 React Hook 替换轮询实现实时仪表盘

作者将 VORTEX 仪表盘的轮询方案(每5秒请求 API)替换为三个自定义 Hook 配合 Firestore onSnapshot 监听,不再需要轮询、消息队列或独立读取模型。要点如下:

- 数据模型先行:映射 Firestore 集合及其读写权限,activity_feed 只允许追加,确保审计日志不可篡改。
- 三个 Hook(useLeads、useActivityFeed、useProductIntel)各监听一个集合,onSnapshot 自动在卸载时清除监听,无需手动清理。
- 种子数据回退:当 Firestore 为空或出错时,Hook 使用硬编码初始数据渲染仪表盘,保证始终可演示、可开发。
- 使用 ref 管理递归 setTimeout 链,修复 StrictMode 下因重复挂载导致的两条并行循环写状态的问题。

原文链接

#开发者 #工具

📢 频道:@DevToolboxHub
编译器管道:阶段职责与设计原则

一篇深度文章重新审视编译器架构,强调每个阶段(词法分析、语法解析、语义分析、优化、代码生成)应坚守职责边界,避免过早优化导致信息丢失。核心观点如下:

- Lexer 保持“愚笨”:只输出原始令牌及其精确位置(行、列、跨度),不合并、不解释、不删除任何字符,为下游阶段保留完整信息。
- 原则优先于性能:在词法阶段合并或丢弃数据看似高效,实则造成语义不可恢复;在正确阶段做正确工作才是正确性保障。
- 编译器即证明系统:它验证程序的类型、生命周期、内存安全等不变性,确保跨架构的确定性执行,而不仅是翻译代码。

原文

#开发者 #工具

📢 频道:@DevToolboxHub
自托管 SimpleLogin:$3/月拥有完整邮件别名

正文:一套详细的实操教程,教你用 VPS 自托管邮件别名服务 SimpleLogin,实现双向收发邮件。要点:对比 Cloudflare Email Routing(仅入站)与自托管 SimpleLogin(可回复/发信);依赖 Postfix、Docker 和 Brevo SMTP 中继;需配置 DNS、TLS 及 Nginx 反向代理;提供完整命令和陷阱避坑指南。

原文链接

#开发者 #工具

📢 频道:@DevToolboxHub
m0lz.02 发布 Stack Loops 工作流

Stack Loops 是 m0lz.02 的功能审查工作流,将单次 diff 拆分为按技术层(应用代码、API、Schema、基础设施、部署、可观测性)执行的独立检查,旨在暴露层间“接缝”故障。

要点:
- 通过 PICE CLI/Daemon 架构运行,Daemon 后台异步管理评估、层持久化与审批门,CLI 提供终端操作界面
- 基准测试显示并行评估比串行快约 49.5%(sequential mean 6.24s → parallel mean 3.15s),基于参考项目(Next.js、FastAPI 等)与 stub provider
- 开源代码与完整文档已发布

GitHub
原文链接

#开发者 #工具
📢 频道:@DevToolboxHub
200+微站点迁移多租户CMS架构模式

本文总结将数百个微站点迁移到多租户CMS的5种架构模式与最佳实践:
- 父子站点架构:全局层共享模板与组件,子站点继承并自定义本地内容
- 可复用组件:创建可配置的构建块(如横幅、卡片、表单),减少定制开发
- 共享内容与本地覆盖:全局内容统一维护,允许局部字段覆盖,平衡一致性与灵活性
- 集中化DevSecOps:标准化CI/CD、自动化测试与发布管理,降低运维碎片化
- 迁移工厂方法:按模板与内容模式分组,分批迁移,提升重复执行效率

原文链接
Medium 原文

#开发者 #工具

📢 频道:@DevToolboxHub