在线协同办公小程序开发搭建开发环境
目录
介绍
开发环境说明
虚拟机
原因
VirtualBox虚拟机
VMware虚拟机v15
安装MySQL数据库
安装步骤
导入EMOS系统数据库
安装MongoDB数据库
创建用户
搭建Redis数据库
配置Maven
安装IDEA插件
Lombok插件
FreeMyBatisPlus插件
安装小程序开发工具
安装HBuilderX软件
安装VirtualBox虚拟机
前提条件
创建虚拟机
安装CentOS系统
添加CentOS镜像
安装CentOS系统
建立SSH连接
创建SSH连接
设置CentOS静态IP
创建系统快照
介绍
·非常综合且完整的案例
·囊括非常多的先进技术
开发环境说明
JDK14以上
Maven3.6
MySQL8.0以上、MongoDB5.0以上、Navicat
Redis3.0以上、Redis Desktop Manager
Docker:人脸识别集成为Docker镜像。
虚拟机
虚拟机
原因
为了运行Docker镜像,需要安装Docker
Windows和MacOS上的Docker是阉割版的
利用虚拟机软件,先安装CentOS系统,再安装Docker
VirtualBox虚拟机
BUG少
跟VMware功能基本相同
VMware虚拟机v15
不支持新版本Win10系统,安装时候黑屏
启动虚拟机黑屏,需要restart服务
SFTP断网
双网卡电脑断网
安装MySQL数据库
数据表中的字段使用了JSON格式,MySQL版本至少要是5.7以上的。
安装步骤
执行MySQL.exe安装文件
选择 Server only。捆绑的其他软件用不上。
MySQL账户密码加密方式选择传统(强烈建议),否则新的加密方式,导致很多运维工具和老的项目无法连接到MySQL数据库,切记。Use legacy Authentication Method。
导入EMOS系统数据库
1. 从本课程的GIT项目中下载到emos.sql文件
2. 在Navicat上面新建emos数据库
3. 然后在emos数据库上右键选择执行SQL文件
4. 刷新emos数据库
安装MongoDB数据库
软件系统肯定少不了系统消息模块,假如一家公司有1000名员工,倘如发送一条全员消息,就需要向数据库中存放1000条消息记录。用MySQL存储消息记录的话,特别占用存储空间。而且MySQL单表数据量如果超过2千万,性能就会急速的下降。用MongoDB来存放系统消息。
提供了绿色版MongoDB,执行mongo.bat文件就可以启动。解压缩之后存放的路径中不能含有中文或者空格,否则会闪退,切记!
启动Navicat,选择创建MongoDB连接
(1) 验证方式选择Password
(2) 验证数据库为admin
(3) 用户名为admin,密码是abc123456
创建用户
// 点击 新建查询use admin
db.createUser({user: "root",pwd: "abc123456",roles: [{role: "root",db: "admin"}]
})// 选中这些语句,点击 运行已选择的
搭建Redis数据库
小程序项目有一些数据需要缓存起来。提供了绿色版的Redis,解压缩之后的路径不能含有中文或者空格,执行start.bat可以启动Redis。
配置Maven
构建SpringBoot项目,必然少不了Maven。它可以自动创建工程结构和配置文件,并且下载依赖 库文件。所以我们创建Java项目以前,必须把Maven环境配置好。
·下载Maven.zip压缩文件,在本地解压缩
·在Maven目录中创建一个名为repository的文件夹,该文件夹用来存放Maven下载的库文件
·打开config/settings.xml文件 ,修改第55行的标签内容,为你本地电脑repository文件夹的路径
<localRepository>D:\Java\开源组件\maven\repository</localRepository>
·第160行~177行,已经配置好了阿里云仓库。Maven会自动从阿里云仓库下载Java项目依赖的库文件。如果不设置阿里云仓库,Maven会从国外服务器下载依赖库文件,速度很慢。
1. <mirror>
2. <id>alimaven</id>
3. <name>aliyun maven</name>
4. <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
5. <mirrorOf>central</mirrorOf>
6. </mirror>
7. <mirror>
8. <id>alimaven</id>
9. <mirrorOf>central</mirrorOf>
10. <name>aliyun maven</name>
11. <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
12. </mirror>
13. <mirror>
14. <id>repo2</id>
15. <mirrorOf>central</mirrorOf>
16. <name>Human Readable Name for this Mirror.</name>
17. <url>http://repo2.maven.org/maven2/</url>
18. </mirror>
·启动IDEA,打开Settings画面,进行如下操作
安装IDEA插件
Lombok插件
编译字节码的时候自动生成set/get方法
FreeMyBatisPlus插件
创建数据库连接
根据选中的数据表生成各种MyBatis文件
安装小程序开发工具
开放小程序服务端口
安装HBuilderX软件
在设置界面,设置小程序开发工具安装路径
安装VirtualBox虚拟机
前提条件
·在主板BIOS上面开启CPU虚拟化,为的是能在电脑上安装Docker程序。如果不开启虚拟 化,是无法安装Docker的。AMD和Intel的CPU在BIOS界面开启虚拟化的方式不同,请看下面的具体区别。
·下载VirtualBox安装文件,并且执行默认安装
创建虚拟机
·在VirtualBox界面上点击新建按钮,开始创建虚拟机
·定义虚拟机的名字,只要你填写CentOS,下面会自动设置好类型为Linux,版本为 RedHat。
因为CentOS系统是根据RedHat代码编译而来的,跟RedHat是同源的操作系统,
稳定性和安全性都是相同的,只不过无法使用RedHat那些收费的商业服务。在
诸多免费Linux发行版里面,CentOS系统是最适合安装在服务器上面。
·虚拟机的内存建议同学们设置成2GB(2048MB)
因为我们要在Linux上面运行Docker,Docker里面还要跑人脸识别程序,还包括
了机器学习的功能,所以虚拟机的内存不能太小。另外,2GB的内存不是启动
虚拟机就直接占用掉2GB内存空间,这里只是规定的最大内存空间。低负载的
情况下,虚拟机实际占用的内存仅仅几百兆而已。
·默认选择创建虚拟磁盘
·虚拟磁盘类型使用默认选项
·选择动态分配磁盘空间
·磁盘空间上限设置成20GB
·修改网络模式为桥接
虚拟机默认网络模式为NAT,也就是虚拟机和Windows公用同一个IP地址。由
于Windows系统不可以在网卡中设置多个IP地址,所以有时候我们想把部署的
程序分配不同的IP和端口就没办法实现,包括搭建Swarm分布式环境的时候,
每个虚拟机主机IP必须不同。这么看来,NAT模式不太能满足我们的需求。
我建议大家把网络模式改成桥接,这样虚拟机会使用虚拟的网卡上网,虚拟机
会享用一个独立的IP。甚至我们可以在虚拟网卡里面设置多个IP地址,这都是
可以的。
·在创建的虚拟机上面点击右键,选择设置
·在网络界面,选择桥接网卡,然后选中你上网的网卡
某位同学用WIFI上网,这里却选择了固定网卡(LAN),那么你在虚拟机中就
无法访问外网。所以你用什么方式上网,就选择对应的网卡,这里切记!如果
你切换了上网方式,那么也要及时修改虚拟机的网卡才行。
安装CentOS系统
选择v7,v8对Docker的支持有些问题。
添加CentOS镜像
·下载CentOS镜像文件
·在虚拟机设置界面,选择存储
·选择创建虚拟光盘文件
·点击注册,然后选中CentOS镜像文件
·注册完镜像,点击OK确认
安装CentOS系统
·启动虚拟机
·选择第一个选项,开始执行安装
·安装界面语言选择中文
·选择安装位置
·默认会自动创建分区,不需要我们干预,点击完成即可
·默认情况下CentOS并没有开启联网功能,所以我们要手动开启联网
·选择打开网络,然后记住你的虚拟网卡名字
·开始选择安装CentOS
·安装的过程中,可以设置root帐户密码
·安装完成之后,重启,等待,用root帐户登陆CentOS,“ ip addr ”查看系统的IP地址
建立SSH连接
创建SSH连接
·下载MobaXterm软件
MobaXterm是Windows上面最优秀的SSH客户端软件,支持多种远程连接方式,而且内置 了SFTP,可以方便的向Linux系统上传和下载文件。跟Xshell相比,MobaXtem更人性化,因为命令行和关键字,会有变色功能。而Xshell却不支持命令行变色。 MacOS可使用自带的命令行。
·创建SSH连接。点击 session
·IP地址填写你本地CentOS的IP地址
·成功连接CentOS系统
设置CentOS静态IP
·进入到/etc/sysconfig/network-scripts/目录,查找你网卡对应的文件
·用编辑器打开这个文件,添加并设置红色部分的内容,然后保存文件
BOOTPROTO="static"
IPADDR="192.168.99.101" // 你想设置成的IP
NETMASK="255.255.255.0"
GATEWAY="192.168.99.1" // 本地网关
DNS1="114.114.114.114" // DNS服务器ONBOOT="yes"
·重启网络服务
service network restart
·创建连接新IP的SSH连接,然后ping某个网址,看看什么结果
创建系统快照
右击关闭 CentOS系统
展开折叠图标,点击“备份【系统快照】”,点击“生成T”
相关文章:

在线协同办公小程序开发搭建开发环境
目录 介绍 开发环境说明 虚拟机 原因 VirtualBox虚拟机 VMware虚拟机v15 安装MySQL数据库 安装步骤 导入EMOS系统数据库 安装MongoDB数据库 启动Navicat,选择创建MongoDB连接 创建用户 搭建Redis数据库 配置Maven 安装IDEA插件 Lombok插件 …...

【编译、链接、装载六】汇编——目标文件
【编译和链接六】汇编——目标文件 一、目标文件_存储格式1、生成目标文件2、目标文件存储格式3、file查看文件格式 二、查看目标文件的内部结构——objdump三、代码段四、 数据段和只读数据段五、 ELF文件结构描述1、头文件2、段表2.1、重定位表2.2、字符串表2.3、查看重定位表…...
王道计算机考研408计算机组成原理汇总(下)
提示:真正的英雄是明白世界的残酷,也遭受了社会带给他的苦难,他依然能用心的说“我热爱这个世界,我愿竭尽所能去为我的世界而好好战斗 文章目录 前言4.1.1 指令格式4.1.2 扩展操作码指令格式4.2.1 指令寻址4.2.2 数据寻址4.2.3 偏移寻址4.2.4 堆栈寻址汇总前言4.3.1 高级语…...

偏向锁、轻量级锁、重量级锁、自旋锁、自适应自旋锁
1. 偏向锁 偏向锁就是在运行过程中,对象的锁偏向某个线程。即在开启偏向锁机制的情况下,某个线程获得锁,当该线程下次再想要获得锁时,不需要重新申请获得锁(即忽略synchronized关键词),直接就可…...

Delta 一个新的 git diff 对比显示工具
目录 介绍git diff 介绍delta介绍 一、安装1.下载 Git2.下载 delta3.解压4.修改配置文件5. 修改主题6.其他配置和说明 二、对比命令1.在项目中 git diff 常用命令2.对比电脑上两个文件3.对比电脑上的两个文件夹 三、在Git 命令行中使用效果四、在idea 的Terminal命令行中使用效…...
C# 二进制序列化和反序列化示例
.NET框架提供了两种种串行化的方式: 1、是使用BinaryFormatter进行串行化; 2、使用XmlSerializer进行串行化。 第一种方式提供了一个简单的二进制数据流以及某些附加的类型信息,而第二种将数据流格式化为XML存储。可以使用[Serializable]属…...

【CSS】文字扫光 | 渐变光
码来 可调整角度与颜色值来改变效果 <p class"gf-gx-color">我是帅哥</p> <style>.gf-gx-color {background: -webkit-linear-gradient(135deg,red,red 25%,red 50%,#fff 55%,red 60%,red 80%,red 95%,red);-webkit-text-fill-color: transparen…...

Overhaul Distillation(ICCV 2019)原理与代码解析
paper:A Comprehensive Overhaul of Feature Distillation official implementation:GitHub - clovaai/overhaul-distillation: Official PyTorch implementation of "A Comprehensive Overhaul of Feature Distillation" (ICCV 2019) 本文的…...

<Linux开发>驱动开发 -之-内核定时器与中断
<Linux开发>驱动开发 -之-内核定时器与中断 交叉编译环境搭建: <Linux开发> linux开发工具-之-交叉编译环境搭建 uboot移植可参考以下: <Linux开发> -之-系统移植 uboot移植过程详…...

希尔贝壳邀您参加2023深圳国际人工智能展览会
2023深圳国际人工智能展览会“AIE”将于2023年5月16-18日在深圳国际会展中心 (宝安)举办,希尔贝壳受邀参加,展位号:A331。 伴随着智能行业的快速发展,展会已被越来越多的企业列入每年必选展会,也成为各采购商选购的理…...

设计优质微信小程序的实用指南!
微信小程序是一种快速发展的应用形式,设计良好的小程序能够提升用户体验并吸引更多的用户。在设计微信小程序时,有一些关键的指南可以帮助我们做出出色的设计。以下是即时设计总结的一些设计指南,希望能对准备设计微信小程序的人有所帮助。 …...
大数据期末总结
文章目录 一、这学期分别学习了Scala、spark、spring、SpringMvc、SpringBoot1、scala2、spark3、spring4、SpringMvc5、SpringBoot 二、总结 一、这学期分别学习了Scala、spark、spring、SpringMvc、SpringBoot 1、scala Scala是一门基于JVM的编程语言,具有强大的…...

selenium面试题总结
今天有同学问到seleinum面试的时候会问到的问题,随便想了想,暂时纪录一下。欢迎大家在评论中提供更多问题。 1.selenium中如何判断元素是否存在? selenium中没有提供原生的方法判断元素是否存在,一般我们可以通过定位元素异常捕获…...

⑧电子产品拆解分析-1拖4USB拓展坞
⑧电子产品拆解分析-1拖4USB拓展坞 一、功能介绍二、电路分析以及器件作用1、内部电路拆解三、参考资料学习一、功能介绍 ①USB2.0一拖四通讯;②具备OTG功能,可适配大部分USB接口设备;二、电路分析以及器件作用 1、内部电路拆解 分析:❤️ ❤️ ❤️ 主控是MA8601 USB 2.0…...

月度精华汇总 | 最新XR行业资讯、场景案例、活动都在这一篇里啦!
在过去的一个月中,平行云为您带来了关于XR领域的一系列精彩文章,涵盖了行业资讯、应用案例,市场互动,帮助您掌握XR领域最新动态,了解实时云渲染、Cloud XR技术的价值,以及平行云实时云渲染解决方案LarkX…...

Redis实战案例1-短信登录
Redis的共享session应用 1. 项目的相关工作 导入sql文件 找到对应的sql文件即可 基本表的信息 基本架构 导入对应的项目文件,启动相关的service服务; 在nginx-1.18.0目录下启动命令行start nginx.exe; 2. 基于session实现登录的流程 这里利用到Javaweb中…...

华为OD机试真题 JavaScript 实现【找终点】【2023 B卷 100分】,附详细解题思路
一、题目描述 给定一个正整数数组,设为nums,最大为100个成员,求从第一个成员开始,正好走到数组最后一个成员,所使用的最少步骤数。 要求: 第一步必须从第一元素开始,且1 < 第一步的步长 &…...
详解数据仓库数据湖及湖仓一体
比别人更快接收好文章 随着近几年数据湖概念的兴起,业界对于数据仓库和数据湖的对比甚至争论就一直不断。有人说数据湖是下一代大数据平台,各大云厂商也在纷纷的提出自己的数据湖解决方案,一些云数仓产品也增加了和数据湖联动的特性。 但是…...
基于注解切换、Hikari实现的SpringBoot动态数据源(支持JNDI)
实现效果 先说效果,要实现方法级别注解切换当前数据源,不设置注解时走默认数据源,同时支持JNDI源。 总体思路 Spring框架中存在一个抽象类AbstractRoutingDataSource,他是一个可以动态选择当前DataSource的路由类,我…...

Java中的动态链接VS操作系统动态链接
在操作系统OS中为了优化内存的使用会采用一种动态链接方式,一个文件想要在操作系统中运行必须经过编译、汇编译、链接、装载等步骤。可以参考Java程序是怎么跑起来的。本篇主要讲解Java栈帧中动态链接部分与操作系统的的动态链接的区别与联系 操纵系统为什么需要动态…...

【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...

UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

群晖NAS如何在虚拟机创建飞牛NAS
套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...