若依框架快速开发项目(避坑超详细)

2023-11-18

若依框架快速开发项目(避坑超详细)

初衷:

若依框架使用及其普遍,是一个非常优秀的开源框架,框架本身的权限系统,字典设置以及相关封装,安全拦截相当完善,本人受益匪浅,学学到了许多,在这里,先向原创作者致敬!

本人刚刚接触这个框架的时候,很迷茫,几乎没有入手的地方,不知道怎么去开始,网上的教程也是良莠不齐,当时遇到了许多的坑,在这里,为了避免后来人遇到同样的问题,将使用过程在这里一一详述,这既是技术行业的惺惺相惜吧,也感谢你能刷到这篇文章,本来是不做限制的,但是为了让更多的朋友看见,有违初心,在这里向大家道歉,希望理解,设置为粉丝可见!

1.若依介绍

在这里插入图片描述

借用官网的介绍,若依其实有点像低代码平台!若依分为基础版,分离版,微服务版本,大家可能刚刚上手,就会直接使用分离版,也就是ruoyi-Vue,由于基础版这种架构方式已经不再推荐,很少去用的,现在都是分离版,大一点的项目就是微服务版本!

主要特性

  • 完全响应式布局(支持电脑、平板、手机等所有主流设备)
  • 强大的一键生成功能(包括控制器、模型、视图、菜单等)
  • 支持多数据源,简单配置即可实现切换。
  • 支持按钮及数据权限,可自定义部门数据权限。
  • 对常用js插件进行二次封装,使js代码变得简洁,更加易维护
  • 完善的XSS防范及脚本过滤,彻底杜绝XSS攻击
  • Maven多项目依赖,模块及插件分项目,尽量松耦合,方便模块升级、增减模块。
  • 国际化支持,服务端及客户端支持
  • 完善的日志记录体系简单注解即可实现
  • 支持服务监控,数据监控,缓存监控功能。

内置功能

  • 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
  • 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
  • 岗位管理:配置系统用户所属担任职务。
  • 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
  • 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  • 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
  • 参数管理:对系统动态配置常用参数。
  • 通知公告:系统通知公告信息发布维护。
  • 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  • 登录日志:系统登录日志记录查询包含登录异常。
  • 在线用户:当前系统中活跃用户状态监控。
  • 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
  • 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
  • 系统接口:根据业务代码自动生成相关的api接口文档。
  • 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
  • 缓存监控:对系统的缓存信息查询,命令统计等。
  • 在线构建器:拖动表单元素生成相应的Vue代码。
  • 连接池监视:监视当期系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。

那么,大家就会想问,我拿到这样一个开源框架我可以做什么呢,在这里我给大家仔细说,大家看看是不是能够用到:
1.做一个毕业设计
使用这套系统,大家可以基本不用自己写代码,快速生成前后端代码,对的,就是全部生成,不用自己去写,比如一个简单的航班信息管理系统,学生信息管理系统,或者是员工,教务管理系统。大家可以发现,只要不涉及复杂的逻辑需求,这个框架基本都是可以实现的,自己随便修修补补就是一套非常精美的系统!

2.做兼职,挣点小钱

有时候,大家可以利用这套框架去挣点小钱,由于前后端都可以自己生成,所以大家拿这个项目去挣点小钱是一个非常快的途径

3.做练习,熟悉架构,理解封装

如果对于自己有要求,对于这个行业充满热情,大家可以自己把代码跑起来,自己试一试,去看看人家的封装和架构思想,有很多的东西值得去学习,去理解

接下来,我们就直接开始上手,同时将网址链接放到这里

再加一个环境依赖,大家注意一下,这些是需要有的,不然跑不起来

  • JDK >= 1.8 (推荐1.8版本)
  • MySQL >= 5.7 (推荐5.7版本,高版本数据库脚本导入低版本数据库会报错)
  • Maven >= 3.0
  • Node >= 12
  • Redis >= 3

2.代码拉取

我们需要有一个码云(Gitee)的账号,这是一个类似于Github的代码仓库,登录上去,打开代码加载的地址

在这里插入图片描述

对的,就是这个地方

对于下载方式我在这里给大家介绍两种

2.1直接下载压缩包

在这里插入图片描述

大家想必明白哈,下载下来直接解压就可以

2.2使用git拉取

不知道大家有没有安装git,这个是需要安装的,以后肯定肯定要用的,大家以后涉及到协同开发,一个小组好几个人同时开发一个项目,就必须使用git进行拉取,合并这些操作,所以大家还是安装一下

在这里插入图片描述

大家选择https,然后点击复制地址

在这里插入图片描述

在自己的目标文件夹下右键单击,安装完git的同学肯定会有一个Git Bash Here,我们点击打开命令窗口,然后输入如下命令

git clone  [复制的http地址]git clone https://gitee.com/y_project/RuoYi-Vue.git

在这里插入图片描述

这样,我们就成功拉下来了代码

3.后端代码运行

在这里插入图片描述

数据库配置

导入数据库

在这里插入图片描述

我们需要将sql文件夹中的两个sql脚本导入数据库

1.选择自己的目的数据库(没有就新建一个)
在这里插入图片描述

在这里我新建了一个测试数据库,名字为ruoyi001

2.数据导入
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

导入两次后我们就得到了系统数据表

修改配置文件

在这里插入图片描述

总共两个数据库配置文件,我们可以看到第二个里面有配置数据库的相关内容

下面,我们对于内容进行修改
在这里插入图片描述

            master:
                url: jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                username: 账号
                password: 密码

redis配置修改

在这里插入图片描述

第一个配置文件里面我们需要配置redis的密码,端口号默认一般都是6379,有的同学可能会设置自己密码,默认密码也是空,大家需要配置一下

其他配置(可修改,可不修改)

在这里插入图片描述

在这里插入图片描述

启动后端项目

首先保证自己环境是完备的,保证redis服务和MySQL服务正常哈

在这里插入图片描述

运行这个主启动器

在这里插入图片描述

4.前端代码运行

首先保证一个问题,你的笔记本环境可以跑起来vue项目,意味着你的电脑需要安装node

在这里插入图片描述

# 进入项目目录
cd ruoyi-ui

# 安装依赖
npm install

# 强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。
npm install --registry=https://registry.npmmirror.com

# 本地开发 启动项目
npm run dev

就这样大家成功跑起来了代码,恭喜大家!!!打开浏览器,输入:(http://localhost:80 (opens new window)) 默认账户/密码 admin/admin123
若能正确展示登录页面,并能成功登录,菜单及页面展示正常,则表明环境搭建成功

在这里插入图片描述

在这里插入图片描述

5.生成自己需要的功能

创建测试数据

我们这里建立一个测试表,作为测试使用

CREATE TABLE `flightinfo` (
  `flightid` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `flightnum` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '航班编号',
  `flydate` datetime DEFAULT NULL COMMENT '飞行日期',
  `starttime` datetime DEFAULT NULL COMMENT '起飞时间',
  `flytime` datetime DEFAULT NULL COMMENT '飞行时间',
  `startcity` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '出发地',
  `endcity` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '目的地',
  `seatnum` int(11) DEFAULT NULL COMMENT '座位数',
  `status` varchar(255) NOT NULL COMMENT '状态',
  PRIMARY KEY (`flightid`,`flightnum`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=68 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC;

大家这里需要注意一下,注释不能忘

导入数据表

在这里插入图片描述

我们选择自己想要导入的数据

在这里插入图片描述

数据配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jpA5xX48-1684246902869)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20230516215339049.png)]

在这里主要向大家介绍一下这三个框

第一个选择是否填,选择之后表单的新增就会有了提交校验,如果为空就会校验不过去

第二个显示类型,顾名思义,就是显示出来的是单选框,多选框,还是其他的,根据自己的目的去选型

第三个字典更重要,选择了字典,你的下拉框/单选框就会显示字典里面的值

在这里插入图片描述

我们新增一个字典

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

我们增加了两个航班状态作为测试

下面就进行配置
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

6.导入代码

点击生成代码,我们将代码导入

在这里插入图片描述
在这里插入图片描述

将这两个文件复制在如下目录

在这里插入图片描述

将这两个文件复制到前端如下文件夹

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eiPYCkeG-1684246902876)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20230516220749221.png)]在这里插入图片描述

然后再加数据库脚本在数据库运行,重启前后端
在这里插入图片描述

这样,大家就完成了自己功能模块的添加,如果向对菜单相关细节进行探索,大家自己进行研究一下哈

在这里插入图片描述

7.如何增加自己的模块(避坑)

Maven多模块下新建子模块流程案例。

1、新建业务模块目录,例如:ruoyi-test

2、在ruoyi-test业务模块下新建pom.xml文件以及src\main\javasrc\main\resources目录。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>ruoyi</artifactId>
        <groupId>com.ruoyi</groupId>
        <version>x.x.x</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>ruoyi-test</artifactId>

    <description>
        test系统模块
    </description>

    <dependencies>

        <!-- 通用工具-->
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-common</artifactId>
        </dependency>

    </dependencies>

</project>

3、根目录pom.xml依赖声明节点dependencies中添加依赖

<!-- 测试模块-->
<dependency>
    <groupId>com.ruoyi</groupId>
    <artifactId>ruoyi-test</artifactId>
    <version>${ruoyi.version}</version>
</dependency>

4、根目录pom.xml模块节点modules添加业务模块

<module>ruoyi-test</module>

5、ruoyi-admin目录pom.xml添加模块依赖

<!-- 测试模块-->
<dependency>
    <groupId>com.ruoyi</groupId>
    <artifactId>ruoyi-test</artifactId>
</dependency>

如上是官方说辞,但是有问题,加了还是404,大家解决方法两步,找一下哪里有ruoyi-system,就在那里加上自己的模块,除了ruoyi-system自己下面不加

在这里插入图片描述

哈游一个就是自己的包名称,是不是 com.ruoyi.**.domain,

在这里插入图片描述

不是的话,要么改自己的,要么在别人的基础上加一个自己的

8.如何获取用户登录信息

第一种方法

// 获取当前的用户信息
User currentUser = ShiroUtils.getSysUser();
// 获取当前的用户名称
String userName = currentUser.getUserName();

第二种方法(子模块可使用)

// 获取当前的用户名称
String userName = (String) PermissionUtils.getPrincipalProperty("userName");

界面获取当前用户信息(支持任意th标签)

<input th:value="${@permission.getPrincipalProperty('userName')}">

js中获当前用户信息

var userName = [[${@permission.getPrincipalProperty('userName')}]];

9.登录页面如何不显示验证码

application.yml设置captchaEnabledfalse即可

# Shiro
shiro:
  user:
    # 验证码开关
    captchaEnabled: false

10.如何更换主题皮肤

1、项目主页-个人信息中选择切换主题

2、修改主框架页-默认皮肤,在菜单参数设置修改参数键名sys.index.skinName支持如下几种皮肤

  • 蓝色 skin-blue
  • 绿色 skin-green
  • 紫色 skin-purple
  • 红色 skin-red
  • 黄色 skin-yellow

3、修改主框架页-侧边栏主题,在菜单参数设置修改参数键名sys.index.sideTheme支持如下几种主题

  • 深色主题theme-dark
  • 浅色主题theme-light

注:如需新增修改皮肤主题可以在skins.css中调整

提示

顶部默认主题颜色在skins.css

/** 蓝色主题 skin-blue **/
.navbar, .skin-blue .navbar {
	background-color: #3c8dbc
}

左侧默认主题颜色在static\css\style.css

.navbar-static-side {
    background: #2f4050;
}

nav .logo {
    background-color: #367fa9;
}
n-purple
- 红色 skin-red
- 黄色 skin-yellow

3、修改主框架页-侧边栏主题,在菜单`参数设置`修改参数键名`sys.index.sideTheme`支持如下几种主题

- 深色主题theme-dark
- 浅色主题theme-light

注:如需新增修改皮肤主题可以在`skins.css`中调整

提示

顶部默认主题颜色在`skins.css`

```css
/** 蓝色主题 skin-blue **/
.navbar, .skin-blue .navbar {
	background-color: #3c8dbc
}

左侧默认主题颜色在static\css\style.css

.navbar-static-side {
    background: #2f4050;
}

nav .logo {
    background-color: #367fa9;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

若依框架快速开发项目(避坑超详细) 的相关文章

  • 在 portlet 中设置 SearchContainer 以使用 EL 和 JSTL 在 JSP 中使用它

    我正在尝试使用SearchContainer在我的liferay应用程序中 目前我必须使用 JSP Scriplets 来设置results in
  • 使用 JavaScript 与 Web 服务器通信的 Applet 是否可以迁移到 JWS?

    只是分享一些信息 希望对社区有用 由于各种浏览器停止支持插件 Applet 的可用性已经下降 Google 已决定停止对 NPAPI 插件的支持 EDGE 不支持插件 Firefox 也不鼓励使用插件 Mozilla 可能会跟进该套件 我们
  • 解析 (yyyy-MM-dd) 格式的字符串日期

    我有一个 2013 09 18 形式的字符串 我想将其转换为 java util Date 我正在做这个 SimpleDateFormat sdf new SimpleDateFormat yyyy MM dd Date converted
  • Grails 项目 - Servlet 调用 - ClassNotFoundException:javax.servlet.AsyncContext

    我在用 IntelliJ IDEA 终极版 12 4 grails 2 2 0 BuildConfig groovy 文件中的 grails servlet version 2 5 并实现了简单的 servlet post 请求 使用 RE
  • AMQP Spring 集成错误处理

    我的集成流程如下所示 Bean public IntegrationFlow auditFlow Qualifier eventLoggingConnectionFactory ConnectionFactory connectionFac
  • 始终等待页面加载到 PageObjects 上

    因此 当出现问题时 我只是创建了一个简单的 selenium JBehave 代码 我将首先发布简化的代码 然后稍后解释我的问题是什么 所以这里我们有一个简单的 AbstractClass 它将在我的 PageObjects 上继承 此类仅
  • org.openqa.selenium.NoSuchSessionException:会话 ID 为空。调用 quit() 后使用 WebDriver?

    我已经进行了一些搜索 但仍然遇到同样的问题 我相信这可能是由于我的网络驱动程序是静态的造成的 我不太确定 在我的主课中 我包括了 BeforeTest and AfterTest BeforeTest包括根据我的 XML 文件启动新浏览器
  • Eclipse 无法识别 persistence.xml 的内容

    我在 eclipse 中收到以下错误 persistence xml 文件没有可识别的内容 我的 persistence xml 文件在我的应用程序中工作得很好 但 eclipse 一直给我这个错误 我在移动文件并使用 m2eclipse
  • Java - 调整图像大小而不损失质量

    我有 10 000 张照片需要调整大小 因此我有一个 Java 程序来执行此操作 不幸的是 图像的质量损失很大 而且我无法访问未压缩的图像 import java awt Graphics import java awt AlphaComp
  • JTree ConvertValueToText 返回在更改时被截断

    我有一个自定义树实现convertValueToText 此实现取决于某些全局状态 如果返回的字符串比先前返回的字符串更长 实际上我认为更宽 因为以像素为单位触发它 则文本将被截断并用 填充 当重绘是由 取消 选择元素或某个元素引起时 情况
  • 为什么不自动装箱泛型的 Java 基本类型?

    Java 不允许在通用数据结构中使用原始类型 例如 不允许使用 ArrayList 原因是 原始类型不能直接转换为Object 然而 Java 1 5 确实支持自动装箱 并且包装类在通用数据结构中工作 那么为什么编译器不能将其自动装箱到 A
  • 我可以使用 Selenium Webdriver 测试元素的顺序吗?

    有一个表单 其中有 3 个字段 具有 3 个不同的 ID fieldset div div fieldset
  • 使用 Haskell 将函数注入到 Java .class 文件中

    我使用 Haskell 编写了一个 Java 字节码解析器 它工作得很好 然而下一步让我完全难住了 我的 Haskell 程序需要修改 class 文件 以便在执行时 Java 程序打印 输入 此处的方法名称 在执行方法之前 并且 退出 此
  • IntelliJ - 无效源版本:17

    我已经在 IntelliJ 中使用 Gradle 创建了一个使用 Java 17 的新 Java 项目 运行我的应用程序时出现错误Cause error invalid source release 17 我的设置 我已经安装了openjd
  • Java DNSLookup MX 记录列表。类似于 MXToolBox

    我正在构建一个程序来列出域的所有 MX 记录 起初似乎工作正常 但与在线工具进行比较后http mxtoolbox com http mxtoolbox com 有些域程序无法获取 MX 记录 而 MXToolbox 可以 我不确定原因是什
  • Web 服务客户端的 AXIS 与 JAX-WS

    我决定用Java 实现Web 服务客户端 我已经在 Eclipse 中生成了 Axis 客户端 并使用 wsimport 生成了 JAS WS 客户端 两种解决方案都有效 现在我必须选择一种来继续 在选择其中之一之前我应该 考虑什么 JAX
  • 在Java内存管理中,“PS”代表什么?

    每当我看到 Java 中对内存的引用时 各种空格总是以 PS 为前缀 PS 是什么意思 它开始困扰我 到目前为止我唯一的猜测是 泳池空间 但这将是多余的 例子 PS伊甸园空间 PS 幸存者空间 PS 终身空间 老一代 PS Perm Gen
  • java mysql 准备好的语句

    我正在尝试使用 java 向数据库中进行简单的插入 它告诉我我的 sql 语法已关闭 但是 当我复制打印出来的字符串并将其放入 phpmyadmin 中的 sql 命令中时 它会正确执行该命令 并且我似乎无法弄清楚 java 中的字符串查询
  • Android - 从渲染线程内结束活动

    下午好 我不熟悉 android 中的活动生命周期 并且一直在尽可能地阅读 但我不知道如何以良好的方式解决以下问题 我有一个使用 GLSurfaceView 的活动来在屏幕上绘制各种内容 在这个 GLSurfaceView 的渲染线程中 我
  • Java有没有类似微软CHESS的工具?

    是否有类似于 Microsoft 的现有 Java 工具CHESS http research microsoft com chess 或者 CHESS 源代码是否开放 以便我可以尝试将其转换为 Java 谷歌的织线工 http code

随机推荐

  • echars水状_Echarts饼状图属性设置

    标题 title text 学生生源地来源分布图 subtext 模拟数据 x 设置水平安放位置 默认左对齐 可选值 center left right number x坐标 单位px x center y 设置垂直安放位置 默认全图顶端
  • IPv6地址结构、地址分类以及表示方法

    IPv6地址的表示方法 IPv6地址总长度为128比特 通常分为8组 每组为4个十六进制数的形式 每组十六进制数间用冒号分隔 例如 FC00 0000 130F 0000 0000 09C0 876A 130B 这是IPv6地址的首选格式
  • Python从入门到精通,100天就够了!(2)——分支结构与循环结构

    文章目录 一 分支结构 选择结构 1 分支结构初体验 2 分支结构练习 二 循环结构 1 for in 循环 2 for in 循环练习 3 while 循环 4 break和continue 5 while 循环练习 6 嵌套的循环结构
  • 【零基础 快速学Java】韩顺平 p35-51 变量、数据类型(整型,浮点,字符,布尔)、重要编码,API文档

    课程 p35 51 变量 变量是程序的基本组成单位 变量有三个基本要素 类型 名称 值 变量相当于内存中一个数据存储空间的表示 通过变量名可以访问变量 值 四个常用数据类型 int double char String String的S要大
  • LuCI - 网页用户配置界面开发

    luci 参考资料 http luci subsignal org trac wiki Documentation http wiki openwrt org doc techref preinit mount first boot htt
  • 【IOS 开发学习总结-OC-4】objective-c 运算符

    运算符是用于数据运算 赋值和比较等的特殊符号 objective c 语言中的运算符有以下几种 算术运算符 赋值运算符 比较运算符 逻辑运算符 位运算符 类型相关运算符 算术运算符 有7个基本运算符 加法运算符 减法运算符 还可以作为负号使
  • Ubuntu下安装jdk1.7

    转载 http blog csdn net zth1002 article details 51383508 1 去到官网下载jdk 点击打开链接 2 安装WinSCP工具连接到Linux系统上面在 usr lib里面新建一个jvm文件夹
  • UPF与低功耗设计实现实例 -- 附UPF与DC综合脚本

    原文链接 https www eefocus com industrial electronics 473034 本文摘自 数字集成电路低功耗物理实现技术与 UPF 孙轶群 sun yiqun nationz com cn 国民技术股份有限
  • Tomcat Port8009与AJP13协议

    Tomcat最主要的功能是提供Servlet JSP容器 尽管它也可以作为独立的Java Web服务器 它在对静态资源 如HTML文件或图像文件 的处理速度 以及提供的Web服务器管理功能方面都不如其他专业的HTTP服务器 如IIS和Apa
  • java.util.ConcurrentModificationException

    错误类型 java util ConcurrentModificationException 出现原因 在foreach增强循环中进行了元素删除操作 只要是集合这样做都会出现这个问题 ConcurrentModificationExcept
  • Unity 2D人物移动实现

    Unity 2D人物移动实现 效果展示 代码 using System Collections using System Collections Generic using UnityEngine public class Parentne
  • 基础网络故障检测

    基本网络故障检测 背景 随着网络的普遍应用 客户在使用网络时随时随刻会出现网络不通或严重卡顿现象 因如今的网络应用量大且拓扑负责 好的网络故障检测方法技术支持工程师必备的小技能包 下面我分享下我学到和用到的企业网络故障检查和排错思路 问题
  • 9:00面试,9:06就出来了,问的问题实在有点变态。。。

    从小厂出来 没想到在另一家公司又寄了 到这家公司开始上班 加班是每天必不可少的 看在钱给的比较多的份上 就不太计较了 没想到5月一纸通知 所有人不准加班 加班费不仅没有了 薪资还要降40 这下搞的饭都吃不起了 还在有个朋友内推我去了一家互联
  • 你了解docker技术的意义及用途吗?

    要说2015年扩张得最快的技术 那一定要数Docker不可 随着 互联网 的被重视以及大数据 云服务的兴起 相关的技术更是如雨后春笋般冒起 当中 有很多性能优良的技术更是先赢一步 不仅进入IT者的视界 更被众多的企业委以重任 现在 就随大圣
  • fcgi程序两种编写风格

    fcgi进程可以写成单线程的 也可以写成多线程的 单线程就是main函数中有一个死循环 一直等待接受请求 有请求过来时 就处理请求 并返回结果 没有并发性 多线程也分两种模式 一种是main函数起多个线程 每个线程都独立接受请求 另一种是m
  • Debian10搭建Apache2

    文章目录 1 所需设备 2 任务描述 3 配置Apache2 3 测试 1 所需设备 Debian10Server IPaddress 10 1 1 1 netmask 255 255 255 0 IPaddress 10 1 1 2 ne
  • 数组--二维数组

    JAVA的二维数组 二维数组 在二维数组中的每一个元素中都是一个一维数组 意思就是两个一维数组相嵌套而成的数组 二维数组的声明 有一下两种 int a int a 在声明时 一般推荐第一种情况 方便代码阅读 二维数组在创建时也要给定数组的长
  • Android Studio :Could not find com.android.tools.build:aapt2

    Android Studio 又一次升级 从Android Studio3 2升级到Android Studio3 3 每次升级都是抱着必死的很大的决心进行升级 就怕Android Studio罢工 到时候一番乱搞 问题大概是下面这个样子的
  • 机器学习练习题(二)

    从牛客网找来得题目 解析是题目下的高赞答案 1 下面有关分类算法的准确率 召回率 F1 值的描述 错误的是 a 准确率是检索出相关文档数与检索出的文档总数的比率 衡量的是检索系统的查准率 b 召回率是指检索出的相关文档数和文档库中所有的相关
  • 若依框架快速开发项目(避坑超详细)

    若依框架快速开发项目 避坑超详细 初衷 若依框架使用及其普遍 是一个非常优秀的开源框架 框架本身的权限系统 字典设置以及相关封装 安全拦截相当完善 本人受益匪浅 学学到了许多 在这里 先向原创作者致敬 本人刚刚接触这个框架的时候 很迷茫 几