开源项目若依放大招了?

前言

鉴于之前写了篇插件式相关的文章,阅读量比起其它文章可不要好太多,所以我决定继续这个主题!
在这里插入图片描述
以前我们公司用的就是Ruoyi,代码比较简单易懂。但是有些功能确实用不上,比如部门和岗位,每次新项目我拉了代码后一定会删掉,因为这块权限我们有套独立的系统,每次去做删除还个人觉得还是比较麻烦的,尤其是有代码强迫症的人,多余的代码不删除心里是很难受的。

Ruoyi上架了GoldPanKit

上篇文章讲过的插件式编程,GoldPanKit应该是国内唯一一个实现,我搜索过相关内容,也没有找到有对应的其他产品,国外暂时不清楚。GoldPanKit可以理解为是一个动态的GIT,通过给定参数,可以动态的获取到开源的代码,并且还带了自动构建的功能。

举个例子,我们使用Ruoyi时,基本要分成以下几个步骤:

  1. 把代码fork或者clone到本地
  2. 调整包名
  3. 初始化数据库
  4. 修改库名

在调整包名这一部分,很容易因为修改遗漏导致报错。今天看到Ruoyi已经上架GoldPanKit了,不知道是Ruoyi主动发布的,还是Kit从git上摘来的,但并不排除Ruoyi主动上架,因为可以通过给定参数和自动构建自动完成上面的步骤,方便了用户的使用。
在这里插入图片描述
因为采用的是插件式编程,所以Ruoyi也有可以开发更多的功能,将其作为插件发布至GoldPanKit,让大家都基于Ruoyi框架进行研发,这无疑是一个很好的发展方向。

插件式编程最吸引我的一点是升级功能和更新通知,在重要的BUG更新或安全漏洞更新时,我会收到短信,然后直接去升级即可。

我们公司现在5个研发,人手一个账号,公司新开的4个项目也已经全部采用这种方式来研发了,这几天在办公室经常听到同事的焦虑和感叹。希望有越来越多像Ruoyi这样优秀的开源项目采用插件式编程的思想,毕竟利用插件可以更好的开源更多的功能,按需求自定义安装即可,这已然是一个大的趋势!

(完)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/535644.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Docker安装及开启远程访问

这几天有人问我docker是怎么开启远程服务的? 正好之前我做过这件事情,并且写了相关的笔记,现在整理为一篇博客发出来。 安装Docker 首先更新一下自己的yum版本 yum update安装一下所需要的软件包 yum-config-manager --add-repo http://…

Java复习第十七天学习笔记(转发、重定向,GET,POST),附有道云笔记链接

【有道云笔记】十七 4.3 转发、重定向、Get、POST、乱码 https://note.youdao.com/s/GD5TRksQ 一、转发 转发:一般查询了数据之后,转发到一个jsp页面进行展示 req.setAttribute("list", list); req.getRequestDispatcher("student_lis…

套接字通信模型

本文内容主要参考《Android图形显示系统》 套接字也就是socket,一般用于网络中两个主机之间应用进程进行通信,在同一个主机也可以使用套接字完成进程之间的通信。 在图形显示系统中,用到套接字进行通信的地方主要有VSync信号的分发以及输入事…

Linux:动态库加载、编址

目录 一、库的概念 二、动静态库的加载 2.1绝对编址与相对编址 2.1一般程序的加载 三、动态库的加载 一、库的概念 库默认就是一个磁盘级文件,所以在执行代码时,库和可执行程序都会被加载到内存中,从原理上,库函数的调用依旧…

软件测试:遇到bug怎么分析,这篇文章值得一看

为什么定位问题如此重要? 可以明确一个问题是不是真的“bug” 很多时候,我们找到了问题的原因,结果发现这根本不是bug。原因明确,误报就会降低多个系统交互,可以明确指出是哪个系统的缺陷,防止“踢皮球”&…

C--函数指针与回调函数

文章目录 定义函数指针qsort中的回调函数自实现排序的回调函数 定义 回调函数,当一个函数执行时,中途调用其他定义好的函数来帮助实现功能,再继续执行这个函数 函数指针 类型为函数的指针,如下 void func() { } int main() {…

如何让视频流媒体平台免受网络攻击

在各国,流媒体服务已越来越受到大众的欢迎。有统计表明,目前视频流已占网络整体流量的80%以上。不过如您所见,近年来,数字威胁的不断增加,也让网络攻击逐年递增。单个视频用户受到的危险,往往会危及到整个服…

【unity】【C#】游戏音乐播放和发布

今天我们来认识一下有关 unity 音乐的一些知识 我们先创建 AudioClips 文件夹,这个文件夹通常就是 unity 中存放音乐的文件夹,然后拖进音乐文件进去 这里为大家提供了两个音乐,有需要可以自取 百度网盘:https://pan.baidu.com/s…

模型训练----apex库报错IndexError: tuple index out of range

问题描述 在训练模型的过程中遇到了apex库的报错IndexError: tuple index out of range导致无法训练。在github查询后找到了解决方法 问题解决 需要修改/apex-master/apex/amp/utils.py这个文件的代码 从93行开始修改 if x in cache:cached_x cache[x]next_functions_ava…

MySQL学习笔记(三)

1、insert插入多条数据 语法:insert into t_user(字段名1,字段名2...) values(值1,值2...),(值1,值2...),(值1,值2...)...; 2、快速创建表 原理:将一个查询结果当做一张表创建,可以完成表的快速复制。表创建出来,同时表中的数据…

计算机的发展趋势

本文 我们来说计算机的发展趋势 目前来讲 计算机是朝着 巨型化 微型化 网络化 智能化发展 巨型化 指功能巨型化 是指其高速运算、大存储容量和强功能的巨型计算机。其运算能力一般在每秒百亿次以上、内存容量在几百兆字节以上。 主要用于航空航天、军事、气象、人工智能、生…

[Kubernetes[K8S]集群:master主节点初始化]:通过Calico和Coredns网络插件方式安装

文章目录 操作流程:前置:Docker和K8S安装版本匹配查看0.1:安装指定docker版本 **[1 — 7] ** [ 配置K8S主从集群前置准备操作 ]一:主节点操作 查看主机域名->编辑域名->域名配置二:安装自动填充,虚拟…

LeetCode 909 208

题目 909. 蛇梯棋 思路 完全不会!呜呜呜,看了别人的题解。二维数组之字形遍历放在一维数组里面,然后借助队列对数组进行bfs。 代码 class Solution {int n;int[] nums;public int snakesAndLadders(int[][] board) {// 暴力遍历n board.le…

深入理解图形处理器(GPU):加速人工智能和大数据计算的引擎

文章目录 1. 什么是GPU?2. GPU的工作原理3. GPU的应用领域4. GPU与CPU的比较参考与推荐 前言: 图形处理器(GPU)不再仅仅是用于图形渲染的硬件设备。如今,GPU已经成为加速人工智能、大数据计算和科学研究的关键引擎。本…

MINI2440 开发板 给他干出来了

环境是ubuntu14.04。不要问我为什么是这个版本,因为之前的ubuntu12.04 环境干不出来,你去试试就知道了!各种资源包下载不下来。 输入启动参数: 进入MINI2440:别说心里一万个开心,启动完成,输入p…

Linux开发--进程

经典五问: 1.什么是程序?什么是进程? 从是否运行进行判断: gcc xxx -o pro,磁盘中生成的pro文件,就是程序 进程是程序一次运行活动 程序是静态的概念,进程是动态的概念。 2.如何查看系统中的进程: 在l…

LeetCode-热题100:64. 最小路径和

题目描述 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 **说明:**每次只能向下或者向右移动一步。 示例 1: 输入: grid [[1,3,1],[1,5,1],[4,2,1]]…

09 - 镜像管理之:部署单点harbor

本次准备了3台机器:harbor-01、harbor-02、harbor-db,用于测试 单点模式、高可用模式 部署 harbor。 ip主机名规格操作系统说明192.168.217.136harbor-012c4gCentos7.9harbor 服务器,测试单点harbor192.168.217.135harbor-022c4gCentos7.9ha…

初始C++之缺省参数 函数重载 引用

初始C之缺省参数 函数重载 引用& 文章目录 初始C之缺省参数 函数重载 引用&一、缺省参数1.1 缺省参数的定义1.2 缺省参数的分类1.3 注意事项 二、 函数重载2.1 函数重载的定义2.2 参数个数不同2.3 参数类型不同2.4 类型顺序不同2.5 为什么C语言不支持函数重载 三、引用…

Python中的错误处理 - 使用try、except、else和finally进行解释,并附带代码示例

最近,我的经理委派我创建一个自动报告。我设计的报告非常简单。它包括一些来自数据库的数字和一些基本的数学运算。我很兴奋最终可以向公司展示我的惊人的Python技能。 我完成并交付了产品。一切都很顺利。至少,直到大约两周后。我的报告由于除以零错误…