首页 文章 精选 留言 我的

精选列表

搜索[知识库增强],共10000篇文章
优秀的个人博客,低调大师

如何利用 Zadig 实现全流程自动化测试,增强测试团队效率

测试行业现状分析 快速获得反馈以了解在软件交付生命周期内更改所产生的影响,是构建高质量软件的关键。以前,团队依靠人工测试和代码检查来验证系统的正确性。此类检查和测试工作通常在开发完成后的一个单独阶段进行。然而,这种方法存在一些缺点: 1. 测试流程瓶颈:手动回归测试时间长、成本高,限制了软件的快速迭代和发布。 2. 测试准确性与效率:人工测试易出错,对于系统变更的影响预测不可靠,尤其在重复任务中。 3. 反馈及缺陷处理:开发者等待反馈的时间长,影响缺陷的快速识别和修复,增加了后期设计更改的开销。 4. 代码质量意识:反馈周期延长导致开发者难以掌握构建高质量代码的方法,质量问题容易被忽视。 5. 代码测试责任:开发者不参与测试,缺乏编写易于测试代码的意识和技能。 6. 测试文档更新:随着系统的持续改进,保持测试文档的更新需要投入大量精力。 相反,团队应该: · 在软件交付生命周期内持续执行所有类型的测试。 · 创建并定制快速可靠的自动化测试套件,在 持续交付流水线 中运行自动化测试。 Zadig 具备管理软件开发全生命周期能力,几乎支持市面上所有测试工具和服务、以及平台系统,同时支持多种测试框架和不同的测试类型,通过强大的运行时环境治理和自定义工作流能力,为测试团队提供强有力的工程支撑。 Zadig 帮助测试团队,将测试服务和能力左移、右移到开发团队、运维团队等全生命周期中,尽早发现问题,让其他角色也参与到质量建设中来,规避因修复此类问题而造成额外成本。 持续测试实践思路 持续测试 是一种具体的工程实践,旨在确保系统在可靠性、安全性、操作性能和可用性方面的稳定性。它涵盖了多种测试类型,包括左移测试、右移测试、冒烟测试、单元测试、集成和消息传递测试、性能测试、功能测试、回归测试和用户验收测试等等。将 持续测试 融入 Zadig 的整个 DevOps 流程,能够实现高效的业务部署、快速发现和修复错误、改善用户体验,并最小化业务中断的成本。 用 Zadig 落地持续测试 编排不同测试类型 静态代码扫描 支持主流的静态安全工具例如 SonarQube、Coverity,和任何自定义扫描工具。 如何配置 以 SonarQube 示例,新增代码扫描,指定扫描工具 SonarQube,配置待扫描的代码库、扫描脚本,开启质量门禁检查并配置触发器,具体的配置步骤可参考文档:如何配置静态代码扫描。 访问项目 -> 代码扫描,点击 新建代码扫描 后填写配置。 如何编排 编辑工作流,在指定阶段(比如:构建之前)添加 代码扫描 任务即可。 单元测试 支持对 Java、Golang、Python、C++、JavaScript、C#、PHP、Ruby 等各种语言的技术栈执行单元测试。 如何配置 新增测试,配置基本信息、代码信息和测试脚本,在 测试报告配置 中指定报告目录,添加触发器配置并增加 IM 通知,具体的配置步骤可参考文档:如何配置测试。 如何编排 编辑自定义工作流,在指定阶段(比如:部署之后,执行自动化测试)添加 测试 任务即可。 集成测试 支持的测试类型包括但不限于:API 接口测试、UI 测试、端到端测试、压力测试、场景测试... 配置过程和单元测试类似,此处不再赘述。具体编排:编辑自定义工作流,添加测试任务并填写配置,以下图示例说明参数: · 任务名称:根据实际语义配置,比如 apitest-for-service · 任务类型:选择 服务测试 · 服务组件:选择待测试的服务组件,配置服务组件和测试的关联,当部署服务后将会运行指定的测试 此外,为自定义工作流配置触发器和通知,实现基于代码变更自动运行测试、测试结果及时同步 IM。参考文档:工作流触发器、工作流通知。 系统测试 支持产品级别的测试,对产品进行全面的系统测试,从整体充分把握系统质量。 测试配置中的任务类型选择 产品测试,其他的配置和集成测试类似,此处不再赘述。 运行持续测试场景 开发阶段:静态扫描打基础 流程:代码实现 > 代码提交 > 自动触发静态代码扫描质量门禁 > 开发人员及时获得反馈 > 有的放矢改进 代码开发完毕提交 PR 后会自动触发代码扫描执行,可有效拦截未通过质量门禁的代码变更。扫描结果会自动 comment 在代码变更中,开发人员可点击快速获得扫描结果,针对反馈进一步优化代码。从代码源头来规避质量风险,做到 fail fast > feedback fast > fix fast。 测试阶段:组合策略赋能力 流程:静态扫描(开启质量门禁) > 构建 > 部署 > 自动化测试 > IM 通知 Zadig 可一键拉起独立的开发、测试环境(参考文档:新建环境 ),只需要将测试编排进自定义工作流中就可以实现在开发环境、测试环境分别建设自动化测试套件,将测试能力编排进团队日常合作的每一个环节中: · 开发自测阶段,更新开发自测环境并执行自动化测试。 · 多名开发联调测试阶段,可以将多人的改动同时部署更新进行集成测试验证。 · 测试工程师验收阶段,可在 Zadig 中分析测试报告,并根据覆盖情况持续补充自动化用例集,确保自动化测试套件与业务功能一同迭代,持续为团队提供价值,测试工程师的能力也在平台中得到充分展现。 此外,工作流运行结果可及时通知到 IM 群中,团队内每个人都能及时感知自动化执行情况,为质量负责。 发布阶段:多重保障保质量 流程:发布质量门禁 > 发布委员会人工审核 > 分批次灰度发布 > 系统测试 > IM 通知 测试验收通过后进行发布上线操作,建议几种配置策略: 1. 建设发布门禁,通过自定义任务自动获取安全扫描、单元测试、集成测试等质量结果来判断是否允许上线,作为上线过程的卡点,确保版本验收通过并且符合质量要求后再做上线操作。 2. 灵活编排蓝绿、金丝雀、分批次灰度、Istio 全链路灰度等发布策略,以确保发布可靠性,可参考:工作流的发布策略。 3. 工作流适当增加测试团队人工审批,以确保业务流程上的发布合规性。 One More Thing:如何度量持续测试效果 任何实践都要讲求投入产出比,而持续测试的效果可以通过:测试的编写人员比例,发现的 Bug 数量,自动化测试的有效性,以及是否在 CI/CD 中运行自动化测试等方面来度量,具体如下: 衡量因素 衡量的指标 目标 测试的编写人员 由公司的开发、测试和其他成员编写的测试所占的百分比 验收测试的主要创建和维护人员应为开发者 在不同阶段发现的 Bug 数量 所发现的 Bug 的比例随时间的变化 在测试阶段发现更多的 Bug 修复验收测试失败所用时间 修复验收测试失败所需的时间 修复时间的变化趋势:开发者应能够轻松修复验收测试失败 自动化测试的有效性 测试失败的原因:因实际缺陷导致、编码质量问题导致的自动化测试失败数量 自动化测试失败始终表示产品中存在实际缺陷 自动化测试是否在 CI/CD 工作流中运行 检查所有测试套件是否在每个流水线触发器中运行(是/否) 自动化测试的集成:自动化测试应在主流水线和主工作流中运行 小结 通过 Zadig 支撑持续测试和自动化测试的实施,帮助测试团队更好地应对当前的测试行业挑战,确保软件交付的质量和稳定性,提高开发和交付过程的效率。 扫码即刻咨询 解锁企业数智化转型的全新机遇! Zadig 在 Github/Zadig 在 Gitee 推荐阅读: 极氪与 Zadig 共创平台工程:引领智能汽车数智化转型/DevOps 选型指南:Zadig / 云效 / Coding/Jenkins/GitLab/Argo/Tekton/Jenkins 迁移 Zadig,新项目实施上线效率提升 6 倍/Zadig vs. Jenkins 详细比对:时代的选择与开发者之选/ZADIG 专家版倾情上线:一键高效发布,119 元 / 人月起,社区老友享年终福利

优秀的个人博客,低调大师

RuoYi-Cloud-Plus 发布 1.8.1 稳定性增强 修复部分bug

更新日志 依赖升级 update springboot 2.7.14 => 2.7.16 update springboot-admin 2.7.10 => 2.7.11 update satoken 1.35.0.RC => 1.36.0 update lombok 1.18.26 =. 1.18.30 update springboot 2.7.13 => 2.7.14 update mybatis-plus 3.5.3.1 => 3.5.3.2 update easyexcel 3.3.1 => 3.3.2 update hutool 5.8.18 => 5.8.20 update dubbo 3.1.8 => 3.1.11 功能更新 update 优化 代码生成 vo实体类序列化 update 优化 excel 导出不必要的请求头 update 优化 字典标签支持传分隔符分隔的字符串和数组 update 优化 控制台debuger位置错误问题 * update 优化 TopNav 菜单样式 fix 修复 布局配置失效问题 update 优化 注册用户异常报错不正确问题 update 优化 全局异常处理器 业务异常不输出具体堆栈信息 减少无用日志存储 update 优化 用户管理 只查询未禁用的部门角色岗位数据 update 优化 岗位如果绑定了用户则不允许禁用 update 优化 部门与角色如果绑定了用户则不允许禁用 update 优化 加密实现 使用 EncryptUtils 统一处理 update 优化 适配 mysql 8.0.34 升级连接机制 update 优化 excel导出字典转下拉框 无需标记index自动处理 update 优化 excel 导出字典默认转为下拉框 update 删除一些跟swagger有关的字眼 避免误解 update 优化 角色权限支持仅本人权限查看 解决无法查看自己创建的角色问题 update 优化 xxljob 端口随着主应用端口飘逸 避免集群冲突 问题修复 fix 修复 自定义字典样式不生效的问题 fix 修复 新建用户可能会存在的越权行为 fix 修复 字典缓存删除方法参数错误问题 fix 修复 修复树模板父级编码变量错误 fix 修复 demo 模块缺少 security 依赖问题 fix 修复 升级 mp 版本导致的问题 fix 修复 加密模块数据转换异常问题 fix 修复 动态设置 token 有效期不生效问题 fix 修复 token 过期登出无法清理在线用户问题 平台简介 RuoYi-Cloud-Plus 微服务通用权限管理系统 重写 RuoYi-Cloud 全方位升级(不兼容原框架) 项目代码、文档 均开源免费可商用 遵循开源协议在项目中保留开源协议文件即可 活到老写到老 为兴趣而开源 为学习而开源 为让大家真正可以学到技术而开源 本框架与RuoYi的功能差异 功能 本框架 RuoYi 前端项目 基于vue3-element-admin开源项目重写 Vue3 + TS + ElementPlus 基于Vue2/Vue3 + JS 后端项目结构 采用插件化 + 扩展包形式 结构解耦 易于扩展 模块相互注入耦合严重难以扩展 后端代码风格 严格遵守Alibaba规范与项目统一配置的代码格式化 代码书写与常规结构不同阅读障碍大 分布式注册中心 采用 Alibaba Nacos 源码集成便于调试扩展与二次开发 框架还为其增加了各种监控 采用 Alibaba Nacos 自行搭建纯官方版本不可靠 分布式配置中心 采用 Alibaba Nacos 源码集成便于调试扩展与二次开发 框架还为其增加了各种监控 采用 Alibaba Nacos 自行搭建纯官方版本不可靠 服务网关 采用 SpringCloud Gateway 框架扩展了多种功能 例如:内网鉴权、请求体缓存、跨域配置、请求响应日志等 采用 SpringCloud Gateway 功能单一 负载均衡 采用 SpringCloud Loadbalancer 扩展支持了开发团队路由 便于多团队开发调试 采用 SpringCloud Loadbalancer 功能单一 RPC远程调用 采用 全新 Apache Dubbo 3.X 历史悠远不用多说 采用 feign 功能有限编写方式 网络波动大 不稳定 分布式限流熔断 采用 Alibaba Sentinel 源码集成便于调试扩展与二次开发 框架还为其增加了各种监控 采用 Alibaba Sentinel 自行搭建纯官方版本不可靠 分布式事务 采用 Alibaba Seata 源码集成对接了Nacos与各种监控 简化了搭建部署流程 采用 Alibaba Seata 自行搭建纯官方版本 搭建繁琐与Nacos不挂钩 代码内使用方式怪异等 Web容器 采用 Undertow 基于 XNIO 的高性能容器 采用 Tomcat 权限认证 采用 Sa-Token、Jwt 静态使用功能齐全 低耦合 高扩展 Spring Security 配置繁琐扩展性极差 权限注解 采用 Sa-Token 支持注解 登录校验、角色校验、权限校验、二级认证校验、HttpBasic校验、忽略校验 角色与权限校验支持多种条件 如 AND OR 或 权限 OR 角色 等复杂表达式 只支持是否存在匹配 关系数据库支持 原生支持 MySQL、Oracle、PostgreSQL、SQLServer 可同时使用异构切换 支持 Mysql、Oracle 不支持同时使用、不支持异构切换 缓存数据库 支持 Redis 5-7 支持大部分新功能特性 如 分布式限流、分布式队列 Redis 简单 get set 支持 Redis客户端 采用 Redisson Redis官方推荐 基于Netty的客户端工具 支持Redis 90%以上的命令 底层优化规避很多不正确的用法 例如: keys被转换为scan 支持单机、哨兵、单主集群、多主集群等模式 Lettuce + RedisTemplate 支持模式少 工具使用繁琐 连接池采用 common-pool Bug多经常性出问题 缓存注解 采用 Spring-Cache 注解 对其扩展了实现支持了更多功能 例如 过期时间 最大空闲时间 组最大长度等 只需一个注解即可完成数据自动缓存 需手动编写Redis代码逻辑 ORM框架 采用 Mybatis-Plus 基于对象几乎不用写SQL全java操作 功能强大插件众多 例如多租户插件 分页插件 乐观锁插件等等 采用 Mybatis 基于XML需要手写SQL SQL监控 采用 p6spy 可输出完整SQL与执行时间监控 log输出 需手动拼接sql与参数无法快速查看调试问题 数据分页 采用 Mybatis-Plus 分页插件 框架对其进行了扩展 对象化分页对象 支持多种方式传参 支持前端多排序 复杂排序 采用 PageHelper 仅支持单查询分页 参数只能从param传 只能单排序 功能扩展性差 体验不好 数据权限 采用 Mybatis-Plus 插件 自行分析拼接SQL 无感式过滤 只需为Mapper设置好注解条件 支持多种自定义 不限于部门角色 采用 注解+aop 实现 基于部门角色 生成的sql兼容性差 不支持其他业务扩展 生成sql后需手动拼接到具体业务sql上 对于多个Mapper查询不起作用 数据脱敏 采用 注解 + jackson 序列化期间脱敏 支持不同模块不同的脱敏条件 支持多种策略 如身份证、手机号、地址、邮箱、银行卡等 可自行扩展 无 数据加解密 采用 注解 + mybatis 拦截器 对存取数据期间自动加解密 支持多种策略 如BASE64、AES、RSA、SM2、SM4等 无 数据翻译 采用 注解 + jackson 序列化期间动态修改数据 数据进行翻译 支持多种模式: 映射翻译 直接翻译 其他扩展条件翻译 接口化两步即可完成自定义扩展 内置多种翻译实现 无 多数据源框架 采用 dynamic-datasource 支持世面大部分数据库 通过yml配置即可动态管理异构不同种类的数据库 也可通过前端页面添加数据源 支持spel表达式从请求头参数等条件切换数据源 基于 druid 手动编写代码配置数据源 配置繁琐 支持性差 多数据源事务 采用 dynamic-datasource 支持多数据源不同种类的数据库事务回滚 不支持 数据库连接池 采用 HikariCP Spring官方内置连接池 配置简单 以性能与稳定性闻名天下 采用 druid bug众多 社区维护差 活跃度低 配置众多繁琐性能一般 数据库主键 采用 雪花ID 基于时间戳的 有序增长 唯一ID 再也不用为分库分表 数据合并主键冲突重复而发愁 采用 数据库自增ID 支持数据量有限 不支持多数据源主键唯一 WebSocket协议 基于 Spring 封装的 WebSocket 协议 扩展了Token鉴权与分布式会话同步 不再只是基于单机的废物 无 序列化 采用 Jackson Spring官方内置序列化 靠谱!!! 采用 fastjson bugjson 远近闻名 分布式幂等 参考美团GTIS防重系统简化实现(细节可看文档) 手动编写注解基于aop实现 分布式任务调度 采用 Xxl-Job 天生支持分布式 统一的管理中心 采用 Quartz 基于数据库锁性能差 集群需要做很多配置与改造 分布式日志中心 采用 ELK 业界成熟解决方案 实时收集所有服务的运行日志 快速发现定位问题 无 分布式搜索引擎 采用 ElasticSearch、Easy-Es 以 Mybatis-Plus 方式操作 ElasticSearch 无 分布式消息队列 采用 SpringCloud-Stream 支持 Kafka、RocketMQ、RabbitMQ 无 文件存储 采用 Minio 分布式文件存储 天生支持多机、多硬盘、多分片、多副本存储 支持权限管理 安全可靠 文件可加密存储 采用 本机文件存储 文件裸漏 易丢失泄漏 不支持集群有单点效应 云存储 采用 AWS S3 协议客户端 支持 七牛、阿里、腾讯 等一切支持S3协议的厂家 不支持 短信 支持 阿里、腾讯 只需在yml配置好厂家密钥即可使用 接口化支持扩展其他厂家 不支持 邮件 采用 mail-api 通用协议支持大部分邮件厂商 不支持 接口文档 采用 SpringDoc、javadoc 无注解零入侵基于java注释 只需把注释写好 无需再写一大堆的文档注解了 采用 Springfox 已停止维护 需要编写大量的注解来支持文档生成 校验框架 采用 Validation 支持注解与工具类校验 注解支持国际化 仅支持注解 且注解不支持国际化 Excel框架 采用 Alibaba EasyExcel 基于插件化 框架对其增加了很多功能 例如 自动合并相同内容 自动排列布局 字典翻译等 基于 POI 手写实现 功能有限 复杂 扩展性差 工具类框架 采用 Hutool、Lombok 上百种工具覆盖90%的使用需求 基于注解自动生成 get set 等简化框架大量代码 手写工具稳定性差易出问题 工具数量有限 代码臃肿需自己手写 get set 等 服务监控框架 采用 SpringBoot-Admin 基于SpringBoot官方 actuator 探针机制 实时监控服务状态 框架还为其扩展了在线日志查看监控 无 全方位监控报警 采用 Prometheus、Grafana 多样化采集 多模板大屏展示 实时报警监控 提供详细的搭建文档 无 链路追踪 采用 Apache SkyWalking 还在为请求不知道去哪了 到哪出了问题而烦恼吗 用了它即可实时查看请求经过的每一处每一个节点 无 代码生成器 只需设计好表结构 一键生成所有crud代码与页面 降低80%的开发量 把精力都投入到业务设计上 框架为其适配MP、SpringDoc规范化代码 同时支持动态多数据源代码生成 代码生成原生结构 只支持单数据源生成 部署方式 支持 Docker 编排 一键搭建所有环境 让开发人员从此不再为搭建环境而烦恼 原生jar部署 其他环境需手动下载安装 自行搭建 项目路径修改 提供详细的修改方案文档 并为其做了一些改动 非常简单即可修改成自己想要的 需要做很多改造 文档说明有限 国际化 基于请求头动态返回不同语种的文本内容 开发难度低 有对应的工具类 支持大部分注解内容国际化 只提供基础功能 其他需自行编写扩展 代码单例测试 提供单例测试 使用方式编写方法与maven多环境单测插件 只提供基础功能 其他需自行编写扩展 Demo案例 提供框架功能的实际使用案例 单独一个模块提供了很多很全 无 本框架与RuoYi的业务差异 业务 功能说明 本框架 RuoYi 租户管理 系统内租户的管理 如:租户套餐、过期时间、用户数量、企业信息等 支持 无 租户套餐管理 系统内租户所能使用的套餐管理 如:套餐内所包含的菜单等 支持 无 用户管理 用户的管理配置 如:新增用户、分配用户所属部门、角色、岗位等 支持 支持 部门管理 配置系统组织机构(公司、部门、小组) 树结构展现支持数据权限 支持 支持 岗位管理 配置系统用户所属担任职务 支持 支持 菜单管理 配置系统菜单、操作权限、按钮权限标识等 支持 支持 角色管理 角色菜单权限分配、设置角色按机构进行数据范围权限划分 支持 支持 字典管理 对系统中经常使用的一些较为固定的数据进行维护 支持 支持 参数管理 对系统动态配置常用参数 支持 支持 通知公告 系统通知公告信息发布维护 支持 支持 操作日志 系统正常操作日志记录和查询 系统异常信息日志记录和查询 支持 支持 登录日志 系统登录日志记录查询包含登录异常 支持 支持 文件管理 系统文件展示、上传、下载、删除等管理 支持 无 文件配置管理 系统文件上传、下载所需要的配置信息动态添加、修改、删除等管理 支持 无 在线用户管理 已登录系统的在线用户信息监控与强制踢出操作 支持 支持 定时任务 运行报表、任务管理(添加、修改、删除)、日志管理、执行器管理等 支持 仅支持任务与日志管理 代码生成 多数据源前后端代码的生成(java、html、xml、sql)支持CRUD下载 支持 仅支持单数据源 系统接口 根据业务代码自动生成相关的api接口文档 支持 支持 服务监控 监视集群系统CPU、内存、磁盘、堆栈、在线日志、Spring相关配置等 支持 仅支持单机CPU、内存、磁盘监控 缓存监控 对系统的缓存信息查询,命令统计等。 支持 支持 在线构建器 拖动表单元素生成相应的HTML代码。 支持 支持 使用案例 系统的一些功能案例 支持 不支持 参考文档 使用框架前请仔细阅读文档重点注意事项 初始化项目 必看 https://gitee.com/dromara/RuoYi-Cloud-Plus/wikis/pages?sort_id=5279751&doc_id=2056143 专栏与视频 入门必看 https://gitee.com/dromara/RuoYi-Cloud-Plus/wikis/pages?sort_id=5873351&doc_id=2056143 部署项目 必看 https://gitee.com/dromara/RuoYi-Cloud-Plus/wikis/pages?sort_id=5305504&doc_id=2056143 参考文档 Wiki https://gitee.com/dromara/RuoYi-Cloud-Plus/wikis/pages

优秀的个人博客,低调大师

RuoYi-Vue-Plus 发布 4.8.1 稳定性增强 修复部分 bug

更新日志 依赖升级 update springboot 2.7.15 => 2.7.16 update springboot-admin 2.7.10 => 2.7.11 update satoken 1.35.0.RC => 1.36.0 update lombok 1.18.26 =. 1.18.30 update mybatis-plus 3.5.3.1 => 3.5.3.2 update easyexcel 3.3.1 => 3.3.2 update hutool 5.8.18 => 5.8.20 功能更新 update 优化 重置密码注释参数中文解释错误 update 优化 getTokenActivityTimeout => getTokenActiveTimeout update 优化字典标签支持传分隔符分隔的字符串和数组,优化渲染效果 update 优化 控制台debuger位置错误问题 update 优化 TopNav 菜单样式 update 优化 全局异常处理器 业务异常不输出具体堆栈信息 减少无用日志存储 update 优化 用户管理 只查询未禁用的部门角色岗位数据 update 优化 岗位如果绑定了用户则不允许禁用 update 优化 部门与角色如果绑定了用户则不允许禁用 update 优化 加密实现 使用 EncryptUtils 统一处理 update 优化 excel导出字典转下拉框 无需标记index自动处理 update 优化 excel 导出字典默认转为下拉框 update 优化 删除一些跟 swagger 有关的字眼 避免误解 update 优化 角色权限支持仅本人权限查看 解决无法查看自己创建的角色问题 update 优化 RedisCacheController 注释错误 update 优化 xxljob 端口随着主应用端口飘逸 避免集群冲突 update 优化 powerjob 端口随着主应用端口飘逸 避免集群冲突 问题修复 fix 修复 代码生成后 vo 定义 'serialVersionUID' 字段的不可序列化类 fix 修复 自定义字典样式不生效的问题 fix 修复 布局配置失效问题 fix 修复 新建用户可能会存在的越权行为 fix 修复 字典缓存删除方法参数错误问题 fix 修复 修复树模板父级编码变量错误 fix 修复 有界队列与优先队列 错误使用问题 fix 修复 升级 mp 版本导致的问题 fix 修复 vue3 版本注册页验证码不显示问题 fix 修复 加密模块数据转换异常问题 fix 修复 动态设置 token 有效期不生效问题 fix 修复 token 过期登出无法清理在线用户问题 平台简介 RuoYi-Vue-Plus 是重写 RuoYi-Vue 针对 分布式集群 场景全方位升级(不兼容原框架) 项目代码、文档 均开源免费可商用 遵循开源协议在项目中保留开源协议文件即可 活到老写到老 为兴趣而开源 为学习而开源 为让大家真正可以学到技术而开源 本框架与RuoYi的功能差异 功能 本框架 RuoYi 前端项目 基于vue3-element-admin开源项目重写 Vue3 + TS + ElementPlus 基于Vue2/Vue3 + JS 后端项目结构 采用插件化 + 扩展包形式 结构解耦 易于扩展 模块相互注入耦合严重难以扩展 后端代码风格 严格遵守Alibaba规范与项目统一配置的代码格式化 代码书写与常规结构不同阅读障碍大 Web容器 采用 Undertow 基于 XNIO 的高性能容器 采用 Tomcat 权限认证 采用 Sa-Token、Jwt 静态使用功能齐全 低耦合 高扩展 Spring Security 配置繁琐扩展性极差 权限注解 采用 Sa-Token 支持注解 登录校验、角色校验、权限校验、二级认证校验、HttpBasic校验、忽略校验 角色与权限校验支持多种条件 如 AND OR 或 权限 OR 角色 等复杂表达式 只支持是否存在匹配 关系数据库支持 原生支持 MySQL、Oracle、PostgreSQL、SQLServer 可同时使用异构切换 支持 Mysql、Oracle 不支持同时使用、不支持异构切换 缓存数据库 支持 Redis 5-7 支持大部分新功能特性 如 分布式限流、分布式队列 Redis 简单 get set 支持 Redis客户端 采用 Redisson Redis官方推荐 基于Netty的客户端工具 支持Redis 90%以上的命令 底层优化规避很多不正确的用法 例如: keys被转换为scan 支持单机、哨兵、单主集群、多主集群等模式 Lettuce + RedisTemplate 支持模式少 工具使用繁琐 连接池采用 common-pool Bug多经常性出问题 缓存注解 采用 Spring-Cache 注解 对其扩展了实现支持了更多功能 例如 过期时间 最大空闲时间 组最大长度等 只需一个注解即可完成数据自动缓存 需手动编写Redis代码逻辑 ORM框架 采用 Mybatis-Plus 基于对象几乎不用写SQL全java操作 功能强大插件众多 例如多租户插件 分页插件 乐观锁插件等等 采用 Mybatis 基于XML需要手写SQL SQL监控 采用 p6spy 可输出完整SQL与执行时间监控 log输出 需手动拼接sql与参数无法快速查看调试问题 数据分页 采用 Mybatis-Plus 分页插件 框架对其进行了扩展 对象化分页对象 支持多种方式传参 支持前端多排序 复杂排序 采用 PageHelper 仅支持单查询分页 参数只能从param传 只能单排序 功能扩展性差 体验不好 数据权限 采用 Mybatis-Plus 插件 自行分析拼接SQL 无感式过滤 只需为Mapper设置好注解条件 支持多种自定义 不限于部门角色 采用 注解+aop 实现 基于部门角色 生成的sql兼容性差 不支持其他业务扩展 生成sql后需手动拼接到具体业务sql上 对于多个Mapper查询不起作用 数据脱敏 采用 注解 + jackson 序列化期间脱敏 支持不同模块不同的脱敏条件 支持多种策略 如身份证、手机号、地址、邮箱、银行卡等 可自行扩展 无 数据加解密 采用 注解 + mybatis 拦截器 对存取数据期间自动加解密 支持多种策略 如BASE64、AES、RSA、SM2、SM4等 无 数据翻译 采用 注解 + jackson 序列化期间动态修改数据 数据进行翻译 支持多种模式: 映射翻译 直接翻译 其他扩展条件翻译 接口化两步即可完成自定义扩展 内置多种翻译实现 无 多数据源框架 采用 dynamic-datasource 支持世面大部分数据库 通过yml配置即可动态管理异构不同种类的数据库 也可通过前端页面添加数据源 支持spel表达式从请求头参数等条件切换数据源 基于 druid 手动编写代码配置数据源 配置繁琐 支持性差 多数据源事务 采用 dynamic-datasource 支持多数据源不同种类的数据库事务回滚 不支持 数据库连接池 采用 HikariCP Spring官方内置连接池 配置简单 以性能与稳定性闻名天下 采用 druid bug众多 社区维护差 活跃度低 配置众多繁琐性能一般 数据库主键 采用 雪花ID 基于时间戳的 有序增长 唯一ID 再也不用为分库分表 数据合并主键冲突重复而发愁 采用 数据库自增ID 支持数据量有限 不支持多数据源主键唯一 WebSocket协议 基于 Spring 封装的 WebSocket 协议 扩展了Token鉴权与分布式会话同步 不再只是基于单机的废物 无 序列化 采用 Jackson Spring官方内置序列化 靠谱!!! 采用 fastjson bugjson 远近闻名 分布式幂等 参考美团GTIS防重系统简化实现(细节可看文档) 手动编写注解基于aop实现 分布式任务调度 采用 Xxl-Job 天生支持分布式 统一的管理中心 采用 Quartz 基于数据库锁性能差 集群需要做很多配置与改造 文件存储 采用 Minio 分布式文件存储 天生支持多机、多硬盘、多分片、多副本存储 支持权限管理 安全可靠 文件可加密存储 采用 本机文件存储 文件裸漏 易丢失泄漏 不支持集群有单点效应 云存储 采用 AWS S3 协议客户端 支持 七牛、阿里、腾讯 等一切支持S3协议的厂家 不支持 短信 采用 sms4j 短信融合包 支持数十种短信厂家 只需在yml配置好厂家密钥即可使用 可多厂家共用 不支持 邮件 采用 mail-api 通用协议支持大部分邮件厂商 不支持 接口文档 采用 SpringDoc、javadoc 无注解零入侵基于java注释 只需把注释写好 无需再写一大堆的文档注解了 采用 Springfox 已停止维护 需要编写大量的注解来支持文档生成 校验框架 采用 Validation 支持注解与工具类校验 注解支持国际化 仅支持注解 且注解不支持国际化 Excel框架 采用 Alibaba EasyExcel 基于插件化 框架对其增加了很多功能 例如 自动合并相同内容 自动排列布局 字典翻译等 基于 POI 手写实现 功能有限 复杂 扩展性差 工具类框架 采用 Hutool、Lombok 上百种工具覆盖90%的使用需求 基于注解自动生成 get set 等简化框架大量代码 手写工具稳定性差易出问题 工具数量有限 代码臃肿需自己手写 get set 等 监控框架 采用 SpringBoot-Admin 基于SpringBoot官方 actuator 探针机制 实时监控服务状态 框架还为其扩展了在线日志查看监控 无 链路追踪 采用 Apache SkyWalking 还在为请求不知道去哪了 到哪出了问题而烦恼吗 用了它即可实时查看请求经过的每一处每一个节点 无 代码生成器 只需设计好表结构 一键生成所有crud代码与页面 降低80%的开发量 把精力都投入到业务设计上 框架为其适配MP、SpringDoc规范化代码 同时支持动态多数据源代码生成 代码生成原生结构 只支持单数据源生成 部署方式 支持 Docker 编排 一键搭建所有环境 让开发人员从此不再为搭建环境而烦恼 原生jar部署 其他环境需手动下载安装 自行搭建 项目路径修改 提供详细的修改方案文档 并为其做了一些改动 非常简单即可修改成自己想要的 需要做很多改造 文档说明有限 国际化 基于请求头动态返回不同语种的文本内容 开发难度低 有对应的工具类 支持大部分注解内容国际化 只提供基础功能 其他需自行编写扩展 代码单例测试 提供单例测试 使用方式编写方法与maven多环境单测插件 只提供基础功能 其他需自行编写扩展 Demo案例 提供框架功能的实际使用案例 单独一个模块提供了很多很全 无 本框架与RuoYi的业务差异 业务 功能说明 本框架 RuoYi 用户管理 用户的管理配置 如:新增用户、分配用户所属部门、角色、岗位等 支持 支持 部门管理 配置系统组织机构(公司、部门、小组) 树结构展现支持数据权限 支持 支持 岗位管理 配置系统用户所属担任职务 支持 支持 菜单管理 配置系统菜单、操作权限、按钮权限标识等 支持 支持 角色管理 角色菜单权限分配、设置角色按机构进行数据范围权限划分 支持 支持 字典管理 对系统中经常使用的一些较为固定的数据进行维护 支持 支持 参数管理 对系统动态配置常用参数 支持 支持 通知公告 系统通知公告信息发布维护 支持 支持 操作日志 系统正常操作日志记录和查询 系统异常信息日志记录和查询 支持 支持 登录日志 系统登录日志记录查询包含登录异常 支持 支持 文件管理 系统文件展示、上传、下载、删除等管理 支持 无 文件配置管理 系统文件上传、下载所需要的配置信息动态添加、修改、删除等管理 支持 无 在线用户管理 已登录系统的在线用户信息监控与强制踢出操作 支持 支持 定时任务 运行报表、任务管理(添加、修改、删除)、日志管理、执行器管理等 支持 仅支持任务与日志管理 代码生成 多数据源前后端代码的生成(java、html、xml、sql)支持CRUD下载 支持 仅支持单数据源 系统接口 根据业务代码自动生成相关的api接口文档 支持 支持 服务监控 监视集群系统CPU、内存、磁盘、堆栈、在线日志、Spring相关配置等 支持 仅支持单机CPU、内存、磁盘监控 缓存监控 对系统的缓存信息查询,命令统计等。 支持 支持 在线构建器 拖动表单元素生成相应的HTML代码。 支持 支持 使用案例 系统的一些功能案例 支持 不支持 参考文档 使用框架前请仔细阅读文档重点注意事项 初始化项目 必看 https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/pages?sort_id=4164117&doc_id=1469725 专栏与视频 入门必看 https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/pages?sort_id=5473272&doc_id=1469725 部署项目 必看 https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/pages?sort_id=4219382&doc_id=1469725 参考文档 Wiki https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/pages

优秀的个人博客,低调大师

ModStartCMS v6.8.0 内容页面自定义模板,内容区块功能增强

ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。 系统完全开源,基于 Apache 2.0 开源协议,免费且不限制商业使用。 功能特性 丰富的模块市场,后台一键快速安装 会员模块通用且完整,支持完整的API调用 大文件分片上传,进度条显示,已上传文件管理 强大的模块扩展功能,所有模块可以无缝集成,支持在线安装、卸载模块 完善的开发助手,实现模块、主题的的一键创建 完善的后台权限管理,支持基于RBAC的权限管理系统 后台管理支持使用手机、平板、PC,无论何时何地都可方便管理 第三方登录(QQ、微信、微博、支付宝、微信小程序) 第三方支付支持(微信、支付宝、支付宝当面付、微信扫码、微信小程序) 第三方云存储支持,支持云储存分片上传(阿里云、百度云、华为云、腾讯云、FTP、七牛云、UCloud、又拍云) 第三方短信支持(阿里云、腾讯云、华为云、百度云、253云通讯、聚合、七牛云、融云、赛邮、UCloud、云片、网易云) V6.8.0版本更新 2023年07月14日ModStartCMS发布v6.8.0版本,增加了以下16个特性: [新功能] 内容区块增加根据ID获取内容块的方法 [新功能] 用户注册、登录、找回密码等页面增加canonical优化爬虫路径 [新功能] StrUtil增加wordSplit通用分词功能 [新功能] GridFilter中like条件新增wordSplit模式,默认中文会分为单字查询,安装WordSpliter可对中文分词 [新功能] 增加TRACK_LONG_SQL_THRESHOLD配置可配置慢查询阈值,默认5000ms [新功能] 网站访问记录增加忽略爬虫开关功能,避免记录无效访问记录 [新功能] CurlUtil新增返回headerMap数据 [新功能] FileUtil新增MIME转文件后缀方法 [新功能] CMS内容页面支持模板自定义功能 [系统优化] 模块设置页面增加开发配置提醒,避免随意设置导致的功能异常 [系统优化] 后台菜单搜索父级包含关键词时自动显示子项 [系统优化] xForwardedHostVisitRedirect配置防止CDN域名多URL访问 [Bug修复] 上传文件概率性进度条不显示问题 [Bug修复] 用户授权登录头像后缀概率性获取异常问题修复 [Bug修复] Tags组件数据表格显示异常问题 [Bug修复] Tree组件默认值显示异常问题 模块市场一键安装 系统内置模块市场,有行业应用、插件、云存储、云短信等功能模块,后台支持一键安装、启用、禁用、卸载,可快速搭建属于自己的系统应用。 系统演示与文档 码云仓库:https://gitee.com/modstart/ModStartCMS Github仓库:https://github.com/modstart/ModStartCMS 系统演示:https://cms.demo.tecmz.com/ 下载试用:https://modstart.com/download 开发者文档:https://modstart.com/doc 模块市场:https://modstart.com/store

优秀的个人博客,低调大师

x-easypdf v2.11.4 版本发布,【fop模块】表格组件功能增强

​ ​ x-easypdf是一个基于pdfbox/fop二次封装的框架,目前拥有两大模块:【pdfbox模块】与【fop模块】。【pdfbox模块】主打pdf编辑功能,以组件化的形式进行pdf的构建;【fop模块】主打pdf导出功能,采用数据源的方式对xsl-fo模板进行转换,同时提供java对象的方式构建dom模板文档,即使完全不懂xsl-fo的语法,也能轻松上手写出对应的模板。两个模块均可单独使用,也可以结合使用,帮助开发者快速生成pdf文档。 本次更新内容如下: 新特性: 【fop模块】表头组件新增设置最小行高的方法 【fop模块】表头组件新增设置最小列宽的方法 【fop模块】表尾组件新增设置最小行高的方法 【fop模块】表尾组件新增设置最小列宽的方法 【fop模块】表格体组件新增设置最小行高的方法 【fop模块】表格体组件新增设置最小列宽的方法 【fop模块】表格单元格组件新增设置背景图片宽度的方法 【fop模块】表格单元格组件新增设置背景图片高度的方法 【fop模块】对象模式文档进一步完善 原有变更: 【fop模块】表格单元格组件添加自动重置边距与填充属性 问题修复: 无

优秀的个人博客,低调大师

NebulaGraph v3.4.0 release note,增强稳定性和优化内存管理

NebulaGraph v3.4.0 版本主要新增 Kill Sessions、Memory Tracker 等功能,以及持续优化稳定性。 特别感谢 @hezhizhen@AniketNS提交的 pr,以及 @ColorfulDick@LiuTianyou@bocai3030@xiaobenma@huotu提交的 bug issue 帮忙完善了 v3.4.0 版本。 以下为本次 v3.4.0 的 release note 内容: 功能 支持终止会话,参见pr#5146 支持 Memory Tracker,优化内存管理,参见pr#5082 优化 优化作业管理,参见pr#5212、pr#5093、pr#5099、pr#4872 修改 Graph 服务配置参数session_reclaim_interval_secs的默认值更改为 60 秒,参见pr#5246 调整配置文件中stderrthreshold的默认级别,参见pr#5188 优化全文索引,参见pr#5077、pr#4900、pr#4925 限制优化器中计划树的最大深度以避免堆栈溢出,参见pr#5050 优化模式表达式作为谓词时的处理方案,参见pr#4916 缺陷修复 修复查询计划生成与优化时的问题,参见pr#4863、pr#4813 修复索引相关的缺陷: 全文索引,参见pr#5214#5260 字符串索引,参见pr#5126 修复查询语句的缺陷: 变量,参见pr#5192 过滤条件和表达式,参见pr#4952、pr#4893、pr#4863 点或边的属性,参见pr#5230、pr#4846、pr#4841、pr#5238 函数与聚合,参见pr#5135、pr#5121、pr#4884 使用非法的数据类型,参见pr#5242 子句与算子,参见pr#5241、pr#4965 修复 DDL 和 DML 语句相关的缺陷: ALTER TAG,参见pr#5105#5136 UPDATE,参见pr#4933 修复其它功能的缺陷: TTL,参见pr#4961 身份验证,参见pr#4885 服务,参见pr#4896 变更 新增的属性名不能与已存在或被删除的属性名同名,否则新增属性会失败,参见pr#5130 限制修改 Schema 时的类型转换,参见pr#5098 创建NOT NULL类型的属性时,必须指定默认值,参见pr#5105 在配置文件中添加多线程查询参数query_concurrently,默认值为true,参见pr#5119 从配置文件中改移除 KV 分离存储功能参数kv_separation,默认关闭该功能,参见pr#5119 修改配置文件中local_config的默认值为true,参见pr#5119 统一使用v.tag.property的方式获取属性值,需要指明 Tag。使用v.property的方式访问v点上某个 Tag 的属性在之前的版本中被错误地允许,参见pr#5230 删除命令SHOW HOSTS中的HTTP port列,参见pr#5056 禁用OPTIONAL MATCH <pattern> WHERE <condition>形式的查询,参见pr#5273 禁用 TOSS,参见pr#5119 重命名 Listener 的 pid 文件名和 log 目录名,参见pr#5119 版本更新和下载 点击https://github.com/vesoft-inc/nebula/releases/tag/v3.4.0可进行最新版本的下载。 如果你要进行版本升级,参考文档: v2.x 升级到 v3.4.0:https://docs.nebula-graph.com.cn/3.4.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-graph-to-latest/ v3.x.x 升级到 v3.4.0:https://docs.nebula-graph.com.cn/3.4.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-300-to-latest/。 历史版本 可访问:https://github.com/vesoft-inc/nebula/releases了解更多 NebulaGraph 发行版信息

优秀的个人博客,低调大师

Vue2 表单组件 formDesigner v2.1.1 版发布,表格功能增强

1.增加表格单元格的背景设置、宽度设置 2.增加表格默认高度展示 3.优化拖拽区域高度,适应组件满屏后,不方便往下拖拽的问题 4.部分代码结构优化 5.部分已知bug的修复 简介 基于vue+ElementUI的表单设计器。让表单拖拽更加简单方便, 后期规划 简单的数据联动 vue3.0版本筹备 文档 hello world 项目结构 如何将formDesigner集成到自己的项目中 如何扩展一个自定义组件 关于formDesigner的那些个问题 预览地址 formdesigner 开源协议 [MIT]

优秀的个人博客,低调大师

Pear Admin Layui 3.6.5.Release 正式发布,增强 Tab 视图,移动端支持

项目名称:PearAdminLayui 当前版本:3.6.5.Release 官网地址:www.pearadmin.com 预览地址:layui.pearadmin.com 更新内容: [新增]新增Tab框架右击操作菜单 [新增]新增Menu数据请求方式自定义,支持GET/POST [新增]新增Admin.logout方法,提供自定义注销实现,返回值true/false [新增]新增Admin.setAvatar方法,提供主页用户信息初始化src头像str用户名 [新增]新增Common.isModile()方法,提供客户端判断,true移动端false电脑端 [修复]修复表格页面,搜索模块边距偏移 [修复]修复权限管理批量删除失败 [修复]修复"成功","失败"输入框的边框样式失效 [修复]修复手机版本适配问题 [修复]修复popup.js的warning错误 [优化]删除多余Json文件Document.json/Route.json 界面预览

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册