springboot+mybatis-plus+vue+element+vant2实现短视频网站,模拟西瓜视频移动端

目录

一、前言

二、管理后台

1.登录

2.登录成功,进入欢迎页

​编辑

 3.视频分类管理

4. 视频标签管理

5.视频管理 

6.评论管理

​编辑 7.用户管理

8.字典管理 (类似于后端的枚举)

 9.参数管理(富文本录入)

 10.管理员管理

 三、移动端

 1.首页

 2.视频详情

3.视频评论 

 4.我的

 5.编辑资料

6.我的关注

​编辑 

7.我的粉丝 

8.我的视频

​编辑

9.登录、注册

​编辑 

 四、关键代码实现

1.后端项目结构图,idea开发工具

2.数据库表脚本设计实现

3.视频controller层

4.后端开发文档访问

5.项目端口号配置

 6.移动端项目截图

7.管理后台前端项目截图

五、 总结


一、前言

项目包含管理后台、移动端以及后端实现,即是两个前端项目加后端实现,数据库采用mysql5.8,使用redis缓存,spring oauth2、security、token登录等。管理后台前端采用vue+element实现,移动端使用vue+vant2实现。后端使用java springboot实现。

以下是项目在线访问预览地址:

管理后台:点击访问

移动端:点击访问

element官网:点击访问

vant2官网:点击访问

二、管理后台

1.登录

2.登录成功,进入欢迎页

 3.视频分类管理

 

4. 视频标签管理

5.视频管理 

 

6.评论管理

 7.用户管理

 

8.字典管理 (类似于后端的枚举)

 

 

 9.参数管理(富文本录入)

 

 

 10.管理员管理

 

 三、移动端

 1.首页

 2.视频详情

3.视频评论 

 4.我的

 5.编辑资料

 

6.我的关注

 

7.我的粉丝 

 

8.我的视频

 

9.登录、注册

 

 

 四、关键代码实现

1.后端项目结构图,idea开发工具

2.数据库表脚本设计实现

-- 系统管理员
CREATE TABLE `admin` (`id` bigint NOT NULL COMMENT '主键',`username` varchar(60) NOT NULL COMMENT '用户名',`password` varchar(100) NOT NULL COMMENT '登录密码',`real_name` varchar(32) DEFAULT NULL COMMENT '姓名',`gender` tinyint(1) DEFAULT 0 COMMENT '用户性别 0保密 1男 2女',`avatar` varchar(300) DEFAULT NULL COMMENT '头像',`phone` varchar(20) DEFAULT NULL COMMENT '手机',`email` varchar(60) DEFAULT NULL COMMENT '邮箱',`remark` varchar(200) DEFAULT NULL COMMENT '备注',`status` tinyint(1) DEFAULT 0 COMMENT '是否禁用 0否  1是',`deleted` tinyint(1) DEFAULT 0 COMMENT '逻辑删除标记 是否已删除: 0否  1是',`create_system_time` datetime DEFAULT NULL COMMENT '创建时间',`create_system_admin_id` bigint DEFAULT NULL COMMENT '创建人ID',`update_system_time` datetime DEFAULT NULL COMMENT '更新时间',`update_system_admin_id` bigint DEFAULT NULL COMMENT '修改人ID',`admin_type` tinyint(1) DEFAULT '1' COMMENT '管理员类型 0超级管理员  1普通管理员',PRIMARY KEY (`id`) USING BTREE,UNIQUE KEY `admin_key_username` (`username`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统管理员';-- 2022-10-19 用户信息
CREATE TABLE `user_info`
(`id` bigint NOT NULL COMMENT '主键',`nickname` varchar(10) NOT NULL COMMENT '用户名称',`phone` varchar(20) NOT NULL COMMENT '手机号',`password` varchar(255) NOT NULL COMMENT '登录密码 加密',`avatar` varchar(225) DEFAULT NULL COMMENT '头像',`gender`  TINYINT(1) DEFAULT 0 COMMENT '性别 0保密 1男 2女',`signature` varchar(225) DEFAULT NULL COMMENT '个性签名',`remark` varchar(225) DEFAULT NULL COMMENT '备注',`status`  TINYINT(1) DEFAULT 0 COMMENT '是否禁用 0否 1是',`deleted` tinyint(1) DEFAULT '0' COMMENT '逻辑删除标记 是否已删除: 0否  1是',`create_time` datetime(0) COMMENT '创建时间',`update_time` datetime(0) COMMENT '更新时间',`update_system_time` datetime DEFAULT NULL COMMENT '更新时间-管理员',`update_system_admin_id` bigint DEFAULT NULL COMMENT '修改人ID-管理员',PRIMARY KEY (`id`) USING BTREE,UNIQUE KEY `phone` (`phone`) USING BTREE
) ENGINE = InnoDBDEFAULT CHARSET = utf8mb4 COMMENT ='用户信息';-- 视频分类
CREATE TABLE `video_type` (`id` bigint NOT NULL COMMENT '主键',`type_name` varchar(255) NOT NULL COMMENT '分类名称',`sort` int NOT NULL DEFAULT 0 COMMENT '排序,越小越靠前',`remark` varchar(255) DEFAULT NULL COMMENT '备注',`status` tinyint(1) DEFAULT 0 COMMENT '是否禁用 0否  1是',`deleted` tinyint(1) DEFAULT 0 COMMENT '逻辑删除标记 是否已删除: 0否  1是',`create_system_time` datetime DEFAULT NULL COMMENT '创建时间',`create_system_admin_id` bigint DEFAULT NULL COMMENT '创建人ID',`update_system_time` datetime DEFAULT NULL COMMENT '更新时间',`update_system_admin_id` bigint DEFAULT NULL COMMENT '修改人ID',PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='视频分类';-- 商品所属分类
CREATE TABLE `video_type_item` (`id` bigint NOT NULL COMMENT '主键',`video_id` bigint NOT NULL DEFAULT 0 COMMENT '视频主键',`video_type_id` bigint NOT NULL DEFAULT 0 COMMENT '分类主键',`deleted` tinyint(1) DEFAULT '0' COMMENT '逻辑删除标记 是否已删除: 0否  1是',`create_time` datetime NOT NULL COMMENT '创建时间',`update_time` datetime NOT NULL COMMENT '修改时间',PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品所属分类';-- 视频标签
CREATE TABLE `video_label` (`id` bigint NOT NULL COMMENT '主键',`label_name` varchar(255) NOT NULL COMMENT '分类名称',`sort` int NOT NULL DEFAULT 0 COMMENT '排序,越小越靠前',`remark` varchar(255) DEFAULT NULL COMMENT '备注',`status` tinyint(1) DEFAULT 0 COMMENT '是否禁用 0否  1是',`deleted` tinyint(1) DEFAULT 0 COMMENT '逻辑删除标记 是否已删除: 0否  1是',`create_system_time` datetime DEFAULT NULL COMMENT '创建时间',`create_system_admin_id` bigint DEFAULT NULL COMMENT '创建人ID',`update_system_time` datetime DEFAULT NULL COMMENT '更新时间',`update_system_admin_id` bigint DEFAULT NULL COMMENT '修改人ID',PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='视频标签';-- 商品所属标签
CREATE TABLE `video_label_item` (`id` bigint NOT NULL COMMENT '主键',`video_id` bigint NOT NULL DEFAULT 0 COMMENT '视频主键',`video_label_id` bigint NOT NULL DEFAULT 0 COMMENT '标签主键',`deleted` tinyint(1) DEFAULT '0' COMMENT '逻辑删除标记 是否已删除: 0否  1是',`create_time` datetime NOT NULL COMMENT '创建时间',`update_time` datetime NOT NULL COMMENT '修改时间',PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品所属标签';-- 视频CREATE TABLE `video`
(`id` bigint NOT NULL COMMENT '主键',`user_id` bigint NOT NULL COMMENT '所属用户主键',`video_name` varchar(500) NOT NULL COMMENT '视频名称',`video_des` varchar(1000) DEFAULT NULL COMMENT '视频简介',`cover_path` varchar(500) DEFAULT NULL COMMENT '封面图片',`upload_type` tinyint(1) DEFAULT 1 COMMENT '上传类型 1文件上传 2录入路径',`video_path` varchar(2000) DEFAULT NULL COMMENT '视频路径',`browse_num` int NOT NULL DEFAULT 0 COMMENT '观看数量',`status` tinyint(1) DEFAULT 0 COMMENT '是否上架 0否  1是',`deleted` tinyint(1) DEFAULT 0 COMMENT '逻辑删除标记 是否已删除: 0否  1是',`create_system_time` datetime DEFAULT NULL COMMENT '创建时间',`create_system_admin_id` bigint DEFAULT NULL COMMENT '创建人ID',`update_system_time` datetime DEFAULT NULL COMMENT '更新时间',`update_system_admin_id` bigint DEFAULT NULL COMMENT '修改人ID',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDBDEFAULT CHARSET = utf8mb4 COMMENT ='视频';-- 系统字典
CREATE TABLE `system_dict` (`id` bigint NOT NULL COMMENT '主键',`parent_id` bigint NOT NULL DEFAULT '0' COMMENT '父主键',`code` varchar(255) NOT NULL COMMENT '字典编码',`dict_key` int DEFAULT NULL COMMENT '字典值',`dict_name` varchar(255) NOT NULL COMMENT '字典名称',`sort` int NOT NULL DEFAULT 0 COMMENT '排序,越小越靠前',`remark` varchar(255) DEFAULT NULL COMMENT '字典备注',`status` tinyint(1) DEFAULT 0 COMMENT '是否禁用 0否  1是',`deleted` tinyint(1) DEFAULT 0 COMMENT '逻辑删除标记 是否已删除: 0否  1是',`create_system_time` datetime DEFAULT NULL COMMENT '创建时间',`create_system_admin_id` bigint DEFAULT NULL COMMENT '创建人ID',`update_system_time` datetime DEFAULT NULL COMMENT '更新时间',`update_system_admin_id` bigint DEFAULT NULL COMMENT '修改人ID',PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统字典';-- 系统参数
CREATE TABLE `system_param` (`id` bigint NOT NULL COMMENT '主键',`code` varchar(255) NOT NULL COMMENT '参数编码,唯一',`title` varchar(255) NOT NULL COMMENT '标题',`content` longtext NOT NULL COMMENT '内容',`sort` int NOT NULL DEFAULT 0 COMMENT '排序,越小越靠前',`remark` varchar(255) DEFAULT NULL COMMENT '备注',`status` tinyint(1) DEFAULT 0 COMMENT '是否禁用 0否  1是',`deleted` tinyint(1) DEFAULT 0 COMMENT '逻辑删除标记 是否已删除: 0否  1是',`create_system_time` datetime DEFAULT NULL COMMENT '创建时间',`create_system_admin_id` bigint DEFAULT NULL COMMENT '创建人ID',`update_system_time` datetime DEFAULT NULL COMMENT '更新时间',`update_system_admin_id` bigint DEFAULT NULL COMMENT '修改人ID',PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统参数';-- 视频评论CREATE TABLE `video_comment`
(`id` bigint NOT NULL COMMENT '主键',`user_id` bigint NOT NULL COMMENT '用户主键',`video_id` bigint NOT NULL COMMENT '视频主键',`content` varchar(1000) DEFAULT NULL COMMENT '评论内容',`like_num` int NOT NULL DEFAULT 0 COMMENT '点赞数量',`status`  TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否禁用 0否 1是',`deleted` tinyint(1) DEFAULT 0 COMMENT '逻辑删除标记 是否已删除: 0否  1是',`create_time` datetime(0) COMMENT '创建时间',`update_time` datetime(0) COMMENT '更新时间',`update_system_time` datetime DEFAULT NULL COMMENT '更新时间-管理员',`update_system_admin_id` bigint DEFAULT NULL COMMENT '修改人ID-管理员',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDBDEFAULT CHARSET = utf8mb4 COMMENT ='视频评论';-- 视频评论点赞CREATE TABLE `video_comment_like`
(`id` bigint NOT NULL COMMENT '主键',`user_id` bigint NOT NULL COMMENT '用户主键',`comment_id` bigint NOT NULL COMMENT '评论主键',`deleted` tinyint(1) DEFAULT 0 COMMENT '逻辑删除标记 是否已删除: 0否  1是',`create_time` datetime(0) COMMENT '创建时间',`update_time` datetime(0) COMMENT '更新时间',PRIMARY KEY (`id`) USING BTREE,UNIQUE KEY `user_id_comment_id` (`user_id`,`comment_id`) USING BTREE
) ENGINE = InnoDBDEFAULT CHARSET = utf8mb4 COMMENT ='视频评论点赞';-- 用户关注记录
CREATE TABLE `user_follow` (`id` bigint NOT NULL COMMENT '主键',`user_id` bigint NOT NULL COMMENT '登录用户主键',`be_followed_user_id` bigint NOT NULL COMMENT '被关注用户id',`deleted` tinyint(1) DEFAULT '0' COMMENT '逻辑删除标记 是否已删除: 0否  1是',`create_time` datetime NOT NULL COMMENT '创建时间',`update_time` datetime NOT NULL COMMENT '修改时间',PRIMARY KEY (`id`) USING BTREE,UNIQUE KEY `user_id_be_followed_user_id` (`user_id`,`be_followed_user_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户关注记录';

3.视频controller层

package com.product.controller;import com.product.entity.base.PageQuery;
import com.product.entity.base.Result;
import com.product.entity.base.ResultPage;
import com.product.entity.req.VideoReq;
import com.product.entity.vo.VideoVO;
import com.product.service.VideoService;
import com.product.util.CommonUtil;
import com.product.util.JwtUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;import javax.annotation.Resource;
import java.util.List;/*** @author hjf* @date 2023-03-21 10:26* @describe 视频管理controller*/
@Api(tags = "视频管理")
@Slf4j
@RestController
@RequestMapping("/video")
public class VideoController {@Resourceprivate VideoService videoService;@PostMapping("/add")@ApiOperation(value = "添加", notes = "添加")@ApiImplicitParams({@ApiImplicitParam(name = "id", value = "ID", required = false, dataType = "Long", paramType = "query"),@ApiImplicitParam(name = "videoName", value = "视频名称", required = true, dataType = "String", paramType = "query"),@ApiImplicitParam(name = "userId", value = "发布用户", required = true, dataType = "Long", paramType = "query"),@ApiImplicitParam(name = "videoTypeIdList", value = "分类", required = true, dataType = "List<Long>", paramType = "query"),@ApiImplicitParam(name = "videoLabelIdList", value = "标签", required = true, dataType = "List<Long>", paramType = "query"),@ApiImplicitParam(name = "videoDes", value = "视频描述", required = false, dataType = "String", paramType = "query"),@ApiImplicitParam(name = "uploadType", value = "上传类型", required = true, dataType = "Integer", paramType = "query"),@ApiImplicitParam(name = "videoPath", value = "视频路径", required = false, dataType = "String", paramType = "query"),@ApiImplicitParam(name = "status", value = "状态", required = true, dataType = "Integer", paramType = "query"),@ApiImplicitParam(name = "coverFile", value = "封面图片", required = false, dataType = "MultipartFile", paramType = "query"),@ApiImplicitParam(name = "videoFile", value = "视频文件", required = false, dataType = "MultipartFile", paramType = "query")})public Result<?> add(@RequestParam(value = "id",required = false)  Long id,@RequestParam("videoName")  String videoName,@RequestParam("userId")  Long userId,@RequestParam("videoTypeIdList")  List<Long> videoTypeIdList,@RequestParam("videoLabelIdList")  List<Long> videoLabelIdList,@RequestParam(value = "videoDes",required = false) String videoDes,@RequestParam("uploadType") Integer uploadType,@RequestParam(value = "videoPath",required = false)  String videoPath,@RequestParam("status")  Integer status,@RequestParam(value = "coverFile",required = false) MultipartFile coverFile,@RequestParam(value = "videoFile",required = false) MultipartFile videoFile) {VideoReq videoReq = new VideoReq();videoReq.setId(id);videoReq.setVideoName(videoName);videoReq.setUserId(userId);videoReq.setVideoTypeIdList(videoTypeIdList);videoReq.setVideoLabelIdList(videoLabelIdList);videoReq.setVideoDes(videoDes);videoReq.setUploadType(uploadType);videoReq.setVideoPath(videoPath);videoReq.setStatus(status);videoReq.setCoverFile(coverFile);videoReq.setVideoFile(videoFile);return videoService.add(JwtUtil.getUserId(),videoReq);}@ApiOperation("分页")@PostMapping("/getPage")public ResultPage<VideoVO> getPage(@RequestBody PageQuery pageQuery) {return videoService.getPage(JwtUtil.getUserId(),pageQuery);}@ApiOperation("详情")@GetMapping("/getDetailById")public Result<VideoVO> getDetail(@RequestParam("id") Long id) {return videoService.getDetailById(id);}@ApiOperation("更新状态")@PostMapping("/updateStatus")public Result<?> updateStatus(@RequestParam("ids") String ids, @RequestParam("status") Integer status) {List<Long> idList = CommonUtil.stringToLongList(ids);return videoService.updateStatus(JwtUtil.getUserId(),idList,status);}@ApiOperation("删除")@PostMapping("/del")public Result<?> del(@RequestParam("ids") String ids) {List<Long> idList = CommonUtil.stringToLongList(ids);return videoService.del(JwtUtil.getUserId(),idList);}@ApiOperation("更新浏览数")@PostMapping("/updateBrowseNum")public Result<?> updateBrowseNum(@RequestParam("videoId") Long videoId) {return videoService.updateBrowseNum(JwtUtil.getUserId(),videoId);}@ApiOperation("分页")@GetMapping("/getPageByVideoTypeId")@ApiImplicitParams({@ApiImplicitParam(name = "videoTypeId", value = "视频分类ID", required = false, dataType = "Long", paramType = "query"),@ApiImplicitParam(name = "currentPage", value = "当前页", required = true, dataType = "Integer", paramType = "query"),@ApiImplicitParam(name = "pageSize", value = "当前页", required = false, dataType = "Integer", paramType = "query")})public ResultPage<VideoVO> getPageByVideoTypeId(@RequestParam(value = "videoTypeId",required = false) Long videoTypeId,@RequestParam("currentPage")  Integer currentPage,@RequestParam(value = "pageSize",required = false,defaultValue = "10")  Integer pageSize) {return videoService.getPageByVideoTypeId(JwtUtil.getUserId(),videoTypeId,currentPage,pageSize);}@ApiOperation("视频详情-推荐列表")@GetMapping("/getRecommendListForDetail")@ApiImplicitParam(name = "videoId", value = "视频详情ID", required = true, dataType = "Long", paramType = "query")public Result<List<VideoVO>> getRecommendListForDetail(@RequestParam(value = "videoId") Long videoId) {return videoService.getRecommendListForDetail(JwtUtil.getUserId(),videoId,false);}@ApiOperation("获取用户发布视频数量")@GetMapping("/getVideoNumByUserId")public Result<Integer> getVideoNumByUserId(@RequestParam("userId") Long userId) {return videoService.getVideoNumByUserId(userId);}@ApiOperation("分页-根据用户")@GetMapping("/getPageByUserId")@ApiImplicitParams({@ApiImplicitParam(name = "currentPage", value = "当前页", required = true, dataType = "Integer", paramType = "query"),@ApiImplicitParam(name = "pageSize", value = "当前页", required = false, dataType = "Integer", paramType = "query")})public ResultPage<VideoVO> getPageByUserId(@RequestParam("currentPage")  Integer currentPage,@RequestParam(value = "pageSize",required = false,defaultValue = "10")  Integer pageSize) {return videoService.getPageByUserId(JwtUtil.getUserId(),currentPage,pageSize);}
}

4.后端开发文档访问

访问地址格式:后端项目地址+后端项目端口号+/doc.html

如:http://localhost:9002/doc.html

5.项目端口号配置

 6.移动端项目截图

7.管理后台前端项目截图

 

五、 总结

项目功能完整,后续可能将不断升级。

关注作者,及时了解更多好项目!

作者主页也有更多好项目分享!

获取源码或如需帮助,可通过博客后面名片+作者即可!

 

 其他作品集合

  1. 《vue+vant2完美实现香奈儿移动端商城网站》
  2. 《vue+elementui实现联想购物商城,样式美观大方》
  3. 《vue+elementui实现英雄联盟道具城》
  4. 《vue+elementui实现app布局小米商城,样式美观大方,功能完整》
  5. 《vue完美模拟pc版快手,实现短视频,含短视频详情播放》
  6. 《vue+element实现美观大方好看的音乐网站,仿照咪咕音乐网》     
  7. 《vue实现功能完整的购物商城,商品零食、电商通用商城》
  8. 《vue+element实现蔬菜、水果、电商商城》
  9. 《vue+element简单实现电商商城网站,模仿小米电商商城》
  10. 《vue实现美观大方的动漫、cos、帖子类型网站》
  11. 《vue实现好看的相册、图片网站》
  12. 《高度仿PC版《微信读书》,好看的小说、读书网站》
  13. 《vue+element实现非常好看的鲜花网站商城,页面完整,样式美观》
  14. 《vue+elementui+springboot前后端分离实现通用商城管理后台》
  15. 《微信小程序日记、微信小程序个人空间、个人日记》
  16. 《vue+element模仿腾讯视频电影网站》
  17. 《vue+element高度仿照QQ音乐,完美实现PC端QQ音乐》
  18. 《vue+element详细完整实现个人博客、个人网站》
  19. 《vue+elementui+springboot前后端分离实现学校帖子网站,学校大作业》
  20. 《vue+elementui实现U袋网-完整版》
  21. 《vue+element+electron仿微信实现》
  22. 《vue+element模仿电商商城,前后端分离实现,下单微信扫码支付》
  23. 《electron+vue+elementui实现类似QQ窗口靠边自动边缘隐藏》
  24. 《微信小程序仿唯聚时代,微信小程序商城》
  25. 《jquery+bootstrap完整丰富样式开发框架源码,各种现成样式简单易用》
  26. 《html+css响应式旅游主题网站模板,旅游网站,企业文化新闻类网站》
  27. 《css+html各种动态、动画、3D相册等7件套》
  28. 《仿华为电商商城,官网,华为超级新品日demo,大屏霸气且简洁》
  29. 《vue+element简单实现商城网站首页,模仿电商商城》
  30. 《vue+elementui实现非常好看的博客、网站首页,网站模板》
  31. 《elementui+vue实现经典管理系统布局框架,拿来即用》
  32. 《简系统登录页模板html+vue+elementui》
  33. 《vue+elementui完美实现博客、网站、个人网站,高仿“张凯博客”》
  34. 《vue+elementui完美实现后台管理系统的左、右、顶部菜单布局》
  35. 《html5+css3实现3D正方体动画相册2种+3D旋转木马立体动画相册+表白文字加动画爱心+炫酷万花筒五件套含音乐》
  36. 《后端使用springboot+maven+shiro+mybatis+mysql,前端使用H-ui.admin_v3.1.3.1,快速实现管理后台功能》
  37. 《springboot+thymeleaf+maven+html+css实现精美大方好看官网模板完整源码》
  38. 《html+css实现好友列表,类似QQ群聊成员列表》

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker容器监控之 CAdvisor+InfluxDB+Granfana

通过docker stats命令可以很方便的看到当前宿主机上所有容器的CPU,内存以及网络流量等数据&#xff0c;一般小公司够用了。但是&#xff0c;docker stats统计结果只能是当前宿主机的全部容器&#xff0c;数据资料是实时的&#xff0c;没有地方存储、没有健康指标过线预警等功能…

VMware搭建Hadoop集群 for Windows(完整详细,实测可用)

目录 一、VMware 虚拟机安装 &#xff08;1&#xff09;虚拟机创建及配置 &#xff08;2&#xff09;创建工作文件夹 二、克隆虚拟机 三、配置虚拟机的网络 &#xff08;1&#xff09;虚拟网络配置 &#xff08;2&#xff09;配置虚拟机 主机名 &#xff08;3&#xf…

(树) 剑指 Offer 26. 树的子结构 ——【Leetcode每日一题】

❓剑指 Offer 26. 树的子结构 难度&#xff1a;中等 输入两棵二叉树 A 和 B&#xff0c;判断 B 是不是 A 的子结构。(约定空树不是任意一个树的子结构) B 是 A 的子结构&#xff0c; 即 A 中有出现和B相同的结构和节点值。 例如: 给定的树 A: 3/ \4 5/ \1 2给定的树 B&…

stable-diffusion-webui汉化教程

第一种方法 1.打开stable diffusion webui&#xff0c;进入"Extensions"选项卡 2.点击"Install from URL" 3、注意"URL for extension’s git repository"下方的输入框 4、填入地址&#xff1a;https://github.com/VinsonLaro/stable-diffus…

C++多线程编程(包含c++20内容)

C多线程编程(包含c20内容) 文章目录 C多线程编程(包含c20内容)线程通过函数指针创建线程通过函数对象创建线程通过lambda创建线程通过成员函数创建线程线程本地存储取消线程自动join线程从线程获得结果 原子操作库原子操作原子智能指针原子引用使用原子类型等待原子变量 互斥互…

[JAVAee]文件操作-IO

本文章讲述了通过java对文件进行IO操作 IO:input/output,输入/输出. 建议配合文章末尾实例食用 目录 文件 文件的管理 文件的路径 文件的分类 文件系统的操作 File类的构造方法 File的常用方法 文件内容的读写 FileInputStream读取文件 构造方法 常用方法 Scan…

平均列顺序对列排斥能的影响

( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 让网络的输入只有3个节点&#xff0c;AB训练集各由5张二值化的图片组成&#xff0c;让A有6个1&#xff0c;B有4个1&#xff0c;并且让这10个1的位置没有重合。比较迭代次数的顺序。 其中有9组数据 差值结构 A-B 迭代次数 构造平均列 …

使用PyGWalker可视化分析表格型数据

大家好&#xff0c;可以想象一下在Jupyter Notebook中拥有大量数据&#xff0c;想要对其进行分析和可视化。PyGWalker就像一个神奇的工具&#xff0c;能让这项工作变得超级简单。它能获取用户的数据&#xff0c;并将其转化为一种特殊的表格&#xff0c;可以与之交互&#xff0c…

ES6 - promise.all和race方法的用法详解

文章目录 一、前言二、Promise.all()1&#xff0c;第一句&#xff1a;Promise.all()方法接受一个数组作为参数&#xff0c;且每一个都是 Promise 实例2&#xff0c;第二句&#xff1a;如果不是&#xff0c;就会先调Promise.resolve方法&#xff0c;将参数转为 Promise 实例再进…

pytorch的发展历史,与其他框架的联系

我一直是这样以为的&#xff1a;pytorch的底层实现是c(这一点没有问题&#xff0c;见下边的pytorch结构图),然后这个部分顺理成章的被命名为torch,并提供c接口,我们在python中常用的是带有python接口的&#xff0c;所以被称为pytorch。昨天无意中看到Torch是由lua语言写的&…

【如何训练一个中英翻译模型】LSTM机器翻译模型部署(三)

系列文章 【如何训练一个中英翻译模型】LSTM机器翻译seq2seq字符编码&#xff08;一&#xff09; 【如何训练一个中英翻译模型】LSTM机器翻译模型训练与保存&#xff08;二&#xff09; 【如何训练一个中英翻译模型】LSTM机器翻译模型部署&#xff08;三&#xff09; 【如何训…

Windows Server 2012 能使用的playwright版本

由于在harkua_bot里面使用到了playwright&#xff0c;我的服务器又是Windows Server 2012 R2&#xff0c;最新版playwright不支持Windows Server 2012 R2&#xff0c;支持Windows Server 2016以上&#xff0c;所以有了这个需求 https://cdn.npmmirror.com/binaries/playwright…

Hadoop生态体系-HDFS

目录标题 1、Apache Hadoop2、HDFS2.1 设计目标&#xff1a;2.2 特性&#xff1a;2.3 架构2.4 注意点2.5 HDFS基本操作2.5.1 shell命令选项2.5.2 shell常用命令介绍 3、HDFS基本原理3.1 NameNode 概述3.2 Datanode概述 1、Apache Hadoop Hadoop&#xff1a;允许使用简单的编程…

Android Hook 剪切板相关方法

想起之前做过的项目有安全合规要求&#xff1a;主动弹窗获取用户同意了才能调用剪切板相关方法&#xff0c;否则属于违规调用&#xff0c;如果是自己项目的相关调用可以自己加一层if判断 但是一些第三方的jar包里面也有在调用的话&#xff0c;我们就无能为力了&#xff0c;而且…

JPA连接达梦数据库导致auto-ddl失效问题解决

现象&#xff1a; 项目使用了JPA&#xff0c;并且auto-ddl设置的为update&#xff0c;在连接达梦数据库的时候&#xff0c;第一次启动没有问题&#xff0c;但是后面重启就会报错&#xff0c;发现错误为重复建表&#xff0c;也就是说已经建好的表没有检测到&#xff0c;…

JVM类加载

一、类记载过程 1、通过类的全限定名获取存储该类的class文件 2、解析成运行时数据&#xff0c;即instanceKlass实例&#xff0c;存放到方法区 3、在堆区生成该类的class对象,即instanceMirrorKlass实例 二、将.class文件解析成什么&#xff1f;类的元信息在JVM中如何…

ceph集群中RBD的性能测试、性能调优

文章目录 rados benchrbd bench-write测试工具Fio测试ceph rbd块设备的iops性能测试ceph rbd块设备的带宽测试ceph rbd块设备的延迟 性能调优 rados bench 参考&#xff1a;https://blog.csdn.net/Micha_Lu/article/details/126490260 rados bench为ceph自带的基准测试工具&am…

全加器(多位)的实现

一&#xff0c;半加器 定义 半加器&#xff08;Half Adder&#xff09;是一种用于执行二进制数相加的简单逻辑电路。它可以将两个输入位的和&#xff08;Sum&#xff09;和进位&#xff08;Carry&#xff09;计算出来。 半加器有两个输入&#xff1a;A 和 B&#xff0c;分别代表…

MySQL基础扎实——MySQL中有那些不同的表格

表格类型 在MySQL中&#xff0c;常见的表格类型有以下几种&#xff1a; MyISAM&#xff1a;是MySQL默认的表格类型&#xff0c;具有较高的性能和较小的存储空间占用。但是&#xff0c;MyISAM不支持事务、崩溃恢复和数据行级锁定。 InnoDB&#xff1a;是MySQL提供的一个更强大…

Redis实现分布式锁

文章目录 4、分布式锁4.1 、基本原理和实现方式对比4.2 、Redis分布式锁的实现核心思路4.3 实现分布式锁版本一4.4 Redis分布式锁误删情况说明4.5 解决Redis分布式锁误删问题4.6 分布式锁的原子性问题4.7 Lua脚本解决多条命令原子性问题4.8 利用Java代码调用Lua脚本改造分布式锁…