当前位置: 首页 > news >正文

基于javaweb的SpringBoot驾校预约学习系统设计与实现(源码+文档+部署讲解)

技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。
主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文降重、长期答辩答疑辅导、腾讯会议一对一专业讲解辅导答辩、模拟答辩演练、和理解代码逻辑思路。
🍅文末获取源码联系🍅
🍅文末获取源码联系🍅
🍅文末获取源码联系🍅
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
《课程设计专栏》
《Java专栏》
《Python专栏》
⛺️心若有所向往,何惧道阻且长

文章目录

    • 一、项目启动方式​
      • IDEA 启动步骤​
    • 二、系统访问地址​
      • 前台访问​
      • 后台登录​
    • 三、文档内容概览​
      • 首页展示文档​
      • 教练信息展示文档​
      • 考试信息展示文档​
      • 测试试卷展示文档​
      • 教练管理展示列表文档​
      • 用户管理列表展示文档​
      • 教练预约管理列表展示文档​
      • 学习资料管理展示文档​
    • 四、功能页面展示
    • 五、部分代码展示

一、项目启动方式​

IDEA 启动步骤​

打开 IDEA 开发工具,确保驾校预约学习系统项目已成功导入。在项目结构中,定位到主启动类,这类通常包含main方法,且被@SpringBootApplication注解修饰。​

点击编辑器上方的绿色三角形Run按钮,IDEA 会自动加载项目依赖,编译代码,并启动 Spring Boot 应用。启动过程中,IDEA 的控制台会输出依赖加载进度、Spring 容器初始化等日志信息。当出现类似Started [YourApplicationName] in [X] seconds的日志,即表明项目成功启动。​

Eclipse/MyEclipse 启动步骤​

对于使用 Eclipse 或 MyEclipse 的开发者,需先确保项目已正确导入开发环境。在项目的src目录下找到主启动类。​

右键点击该类,在弹出菜单中依次选择Run As和Java Application。开发工具将执行启动流程,期间控制台会输出与项目启动相关的日志。当出现应用启动成功的提示日志时,即可进行下一步操作。​

二、系统访问地址​

前台访问​

在浏览器地址栏输入http://localhost:8080/jiaxiaoyuyuexuexixitong/front/index.html,回车后进入系统前台页面。若项目部署在远程服务器,需将localhost替换为服务器的 IP 地址或域名。进入页面后,使用用户账户a1、密码123456登录,即可体验查看考试信息、预约教练、浏览学习资料等普通用户功能。​

后台登录​

在浏览器中输入http://localhost:8080/jiaxiaoyuyuexuexixitong/admin/dist/index.html进入系统后台管理页面。不同角色对应不同登录账号密码:管理员使用账户admin、密码admin登录,可进行用户管理、教练管理、考试管理等全面管理操作;教练和用户均用账户a1、密码123456登录,分别进入各自管理界面,执行教练预约管理、个人信息查看与修改等操作。​

三、文档内容概览​

首页展示文档​

系统首页划分导航栏、轮播图区域、功能模块展示区。导航栏提供考试信息、教练列表、学习资料等功能页面跳转链接;轮播图展示重要通知或热门课程推荐;功能模块展示区直观呈现系统核心功能入口,用户点击图标可进入对应功能页面。文档还说明如何利用首页搜索框检索信息,以及切换展示主题(若系统支持)的方法。​

教练信息展示文档​

该文档聚焦教练信息页面,展示教练个人照片、姓名、教龄、教学专长等基本信息。教学评价部分,用户可点击查看详细学员评价列表,包括评价内容、评分星级。此外,介绍如何根据教练教学地点、教学车型等条件筛选教练,方便用户找到符合需求的教练。​

考试信息展示文档​

考试信息页面详细说明信息展示格式。考试时间精确到小时和分钟呈现;考试地点给出具体驾校考场地址,可能配有地图导航链接;考试科目以列表展示,每个科目提供考试大纲、考试注意事项等相关链接。用户通过该文档,可清晰了解查看即将到来考试安排及过往考试成绩的方法。​

测试试卷展示文档​

测试试卷页面文档讲解页面布局与操作流程。试卷题目按题型(单选题、多选题、判断题等)依次排列,每题下方设答题区域。用户答题时可随时点击 “保存答案” 防止数据丢失,完成答题点击 “提交试卷”,系统自动评分,展示正确题目数量、错误题目数量及每道题正确答案解析。文档还介绍错题回顾及加入错题本以便复习的方法。​

教练管理展示列表文档​

教练管理列表页面用于管理员管理教练信息。文档说明可通过搜索框按教练姓名、身份证号等关键词快速筛选,列表中教练信息可按教龄、教学评价等字段排序。添加新教练时,详细介绍填写教练基本信息、上传照片、设置权限等操作步骤;删除教练时,提示管理员确认教练有无未完成教学任务等注意事项。​

用户管理列表展示文档​

此文档针对用户管理列表页面,介绍查看用户注册时间、登录次数、用户角色等详细信息的方法。管理员可编辑用户信息,如修改密码、调整权限。删除用户时,提醒管理员谨慎操作,因可能导致用户考试记录、预约记录等相关数据丢失。同时介绍对用户分组管理以便批量操作的方法。​

教练预约管理列表展示文档​

教练预约管理列表页面供教练和管理员查看预约详情。文档说明可按预约时间、学员姓名等条件筛选预约记录。教练可在此页面确认或取消学员预约请求;管理员可查看所有教练预约情况,协调预约冲突,如手动调整多个学员预约同一教练同一时间段的情况。还介绍导出预约记录报表用于数据分析的方法。​

学习资料管理展示文档​

学习资料管理页面文档介绍上传新学习资料的方法,包括支持的文件格式(如 PDF、PPT、MP4 等)及文件大小限制。对于已上传资料,管理员或教练可编辑标题、简介等信息,也可进行删除操作。同时说明创建新资料分类目录及将资料归入相应分类,方便学员查找和使用学习资料的方法。​

四、功能页面展示

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

五、部分代码展示

用户管理控制器:/**用户管理控制器
*/@RestController@RequestMapping(“user”)public class UserController {@Autowiredprivate UserService userService;/*加载用户列表返回DataGridView
*/@RequestMapping(“loadAllUser”)public DataGridView loadAllmeenu(UserVo userVo) {return this.userService.queryAllUser(userVo);/*注册用户–查询用户名是否存在
*/@RequestMapping(“queryLoginName”)public ResultObj queryLoginName(UserVo userVo) {Integer count = this.userService.queryLoginName(userVo.getLoginname());if (count != 0) {return ResultObj.USER_EXIST;return null;/*注册用户
*/@RequestMapping(“signup”)public ResultObj signup(UserVo userVo) {try {String code = WebUtils.getHttpSession().getAttribute(“code”).toString();if (userVo.getCode().toLowerCase().equals(code)) {this.userService.signUpUser(userVo);return ResultObj.SIGNUP_SUCCESS;} else {return ResultObj.USER_SIGNUP_CODE_ERROR_MSG;} catch (Exception e) {e.printStackTrace();return ResultObj.SIGNUP_ERROR;/*添加用户
*/@RequestMapping(“addUser”)public ResultObj addUser(UserVo userVo) {try {this.userService.addUser(userVo);return ResultObj.ADD_SUCCESS;} catch (Exception e) {e.printStackTrace();return ResultObj.ADD_ERROR;/*修改用户
*/@RequestMapping(“updateUser”)public ResultObj updateUser(UserVo userVo) {try {this.userService.updateUser(userVo);return ResultObj.UPDATE_SUCCESS;} catch (Exception e) {e.printStackTrace();return ResultObj.UPDATE_ERROR;/*删除用户
*/@RequestMapping(“deleteUser”)public ResultObj deleteUser(UserVo userVo) {System.out.println(userVo);System.out.println(userVo.getUserid());try {this.userService.deleteUser(userVo.getUserid());return ResultObj.DELETE_SUCCESS;} catch (Exception e) {e.printStackTrace();return ResultObj.DELETE_ERROR;/*批量删除用户
*/@RequestMapping(“deleteBatchUser”)public ResultObj deleteBatchUser(UserVo userVo) {try {this.userService.deleteBatchUser(userVo.getIds());return ResultObj.DELETE_SUCCESS;} catch (Exception e) {e.printStackTrace();return ResultObj.DELETE_ERROR;/*重置用户密码
*/@RequestMapping(“resetUserPwd”)public ResultObj resetUserPwd(UserVo userVo) {try {this.userService.resetUserPwd(userVo.getUserid());return ResultObj.RESET_SUCCESS;} catch (Exception e) {e.printStackTrace();return ResultObj.RESET_ERROR;/*加载用户管理分配的分配角色的数据
*/@RequestMapping(“initUserRole”)public DataGridView initUserRole(UserVo userVo) {return this.userService.queryUserRole(userVo.getUserid());/*保存用户和角色的关系
*/@RequestMapping(“saveUserRole”)public ResultObj saveUserRole(UserVo userVo) {try {this.userService.saveUserRole(userVo);return ResultObj.DISPATCH_SUCCESS;} catch (Exception e) {e.printStackTrace();return ResultObj.DISPATCH_ERROR;
/*修改个人信息
*/@RequestMapping(“updateUserInfo”)public ResultObj updateUserInfo(UserVo userVo) {try {String headimg = userVo.getHeadimg();if (headimg.endsWith(SysConstast.FILE_UPLOAD_TEMP)) {String filePath = AppFileUtils.updateFileName(headimg, SysConstast.FILE_UPLOAD_TEMP);userVo.setHeadimg(filePath);// 把原来的删除User user = this.userService.queryUserInfo(userVo.getUserid());AppFileUtils.removeFileByPath(user.getHeadimg());this.userService.updateUserInfo(userVo);return ResultObj.UPDATE_SUCCESS;} catch (Exception e) {e.printStackTrace();return ResultObj.UPDATE_ERROR;/*查询个人信息
*/@RequestMapping(“queryUserInfo”)public User queryUserInfo() {User user = (User) WebUtils.getHttpSession().getAttribute(“user”);user = this.userService.queryUserInfo(user.getUserid());return user;/*查询密码
*/@RequestMapping(“queryPwd”)public ResultObj queryPwd(UserVo userVo) {User user = (User) WebUtils.getHttpSession().getAttribute(“user”);user = this.userService.queryUserInfo(user.getUserid());// 生成密文String pwd = DigestUtils.md5DigestAsHex(userVo.getPwd().getBytes());userVo.setPwd(pwd);if (userVo.getPwd().equals(user.getPwd())) {return ResultObj.PWD_SUCCESS;} else {return ResultObj.PWD_ERROR;/*更改密码之查询密码
*/@RequestMapping(“updatePwd”)public ResultObj updatePwd(UserVo userVo) {try {User user = (User) WebUtils.getHttpSession().getAttribute(“user”);// 生成密文String pwd = DigestUtils.md5DigestAsHex(userVo.getPwd().getBytes());userVo.setUserid(user.getUserid());userVo.setPwd(pwd);// 修改密码this.userService.updateUser(userVo);return ResultObj.UPDATE_SUCCESS;} catch (Exception e) {return ResultObj.UPDATE_ERROR;角色管理控制器: /**角色管理控制器
*/@RestController@RequestMapping(“role”)public class RoleController {@Autowiredprivate RoleService roleService;/*加载角色列表返回DataGridView
*/@RequestMapping(“loadAllRole”)public DataGridView loadAllmeenu(RoleVo roleVo) {return this.roleService.queryAllRole(roleVo);/*添加角色
*/@RequestMapping(“addRole”)public ResultObj addRole(RoleVo roleVo) {try {this.roleService.addRole(roleVo);return ResultObj.ADD_SUCCESS;} catch (Exception e) {e.printStackTrace();return ResultObj.ADD_ERROR;/*修改角色
*/@RequestMapping(“updateRole”)public ResultObj updateRole(RoleVo roleVo) {try {this.roleService.updateRole(roleVo);return ResultObj.UPDATE_SUCCESS;} catch (Exception e) {e.printStackTrace();return ResultObj.UPDATE_ERROR;/*删除角色
*/@RequestMapping(“deleteRole”)public ResultObj deleteRole(RoleVo roleVo) {try {this.roleService.deleteRole(roleVo.getRoleid());return ResultObj.DELETE_SUCCESS;} catch (Exception e) {e.printStackTrace();return ResultObj.DELETE_ERROR;/*批量删除角色
*/@RequestMapping(“deleteBatchRole”)public ResultObj deleteBatchRole(RoleVo roleVo) {try {this.roleService.deleteBatchRole(roleVo.getIds());return ResultObj.DELETE_SUCCESS;} catch (Exception e) {e.printStackTrace();return ResultObj.DELETE_ERROR;/*加载角色管理分配菜单的JSON
*/@RequestMapping(“initRoleMenuTreeJson”)public DataGridView initRoleMenuTreeJson(Integer roleid) {System.out.println(roleid);return this.roleService.initRoleMenuTreeJson(roleid);/*保存角色与菜单的关系
*/@RequestMapping(“saveRoleMenu”)public ResultObj saveRoleMenu(RoleVo roleVo) {try {this.roleService.saveRoleMenu(roleVo);return ResultObj.DISPATCH_SUCCESS;} catch (Exception e) {e.printStackTrace();return ResultObj.DISPATCH_ERROR;
用户登录控制器:/*用户登录控制器
*/@Controller@RequestMapping(“login”)public class LoginController {@Autowiredprivate UserService userService;@Autowiredprivate LogInfoService logInfoService;/*跳转到登录页面
*/@RequestMapping(“toLogin”)public String tologin() {return “system/main/login”;/*登录方法
*/@RequestMapping(“login”)public String login(UserVo userVo, Model model) {// 最外层的if是判断session是否为空 为空就跳转到登录界面// uservo不可能为空的,只是里面的属性可能为空 所以要判断session是否为空 就要判断里面的属性 而不是判断userVo本身 (坑!)if (null != userVo.getLoginname()) {// String code = WebUtils.getHttpSession().getAttribute(“code”).toString();// if (userVo.getCode().toLowerCase().equals(code)) {User user = this.userService.login(userVo);if (null != user) {// 放入sessionWebUtils.getHttpSession().setAttribute(“user”, user);WebUtils.getHttpSession().setMaxInactiveInterval(240 * 60);// 记录登录日志 向sys_login_log插入数据LogInfoVo logInfoVo = new LogInfoVo();logInfoVo.setLoginname(user.getRealname() + “-“ + user.getLoginname());logInfoVo.setLogintime(new Date());// 外网Ip:WebUtils.getHttpServletRequest().getRemoteAddr()// 内网ip:InetAddress addr;try {addr = (InetAddress) InetAddress.getLocalHost();logInfoVo.setLoginip(addr.getHostAddress().toString());// 获取Id地址} catch (UnknownHostException e) {e.printStackTrace();// 添加logInfoService.addLogInfo(logInfoVo);return “system/main/index”;} else {model.addAttribute(“error”, SysConstast.USER_LOGIN_ERROR_MSG);return “system/main/login”;// } else {// model.addAttribute(“error”, SysConstast.USER_LOGIN_CODE_ERROR_MSG);// return “system/main/login”;// }} else {return “system/main/login”;};/**得到登录验证码@throws IOException*/@RequestMapping(“getCode”)public void getCode(HttpServletResponse response, HttpSession session) throws IOException {// 定义图形验证码的长和宽LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(116, 36, 4, 50);Console.log(lineCaptcha.getCode());session.setAttribute(“code”, lineCaptcha.getCode());ServletOutputStream outputStream = response.getOutputStream();ImageIO.write(lineCaptcha.getImage(), “JPEG”, outputStream);

相关文章:

基于javaweb的SpringBoot驾校预约学习系统设计与实现(源码+文档+部署讲解)

技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文…...

《边缘计算风云录:FPGA与MCU的算力之争》

点击下面图片带您领略全新的嵌入式学习路线 🔥爆款热榜 88万阅读 1.6万收藏 文章目录 **第一章:边城烽烟——数据洪流压境****第二章:寒铁剑匣——FPGA的千机变****第三章:枯木禅杖——MCU的至简道****第四章:双生契…...

3.3 元组

元组(tuple): 1.元组的定义: -通过 tuple() !!!元组中的元素不能发生改变!!! #测试元组的定义 # - 定义空元组 tuple1 ()print(tu…...

PyTorch版本过低导致属性错误-Linux服务器

问题 在 Jupyter Lab 中配置 Python 环境(如 PyTorch 或其他库)通常涉及以下几个步骤: 1. 检查当前 Jupyter Lab 的内核环境 运行以下命令查看当前可用的内核: !jupyter kernelspec list或者 jupyter kernelspec list这会显示 …...

一文解读DeepSeek大模型在政府工作中具体的场景应用

引言 本文以政务内部管理的视角,介绍DeepSeek大模型在政务数字化在转型中的提质增效应用!政务本是一个复杂的系统,对外要提供公共服务,对内有严格的安全管理要求。DeepSeek大模型在政务系统中的应用,对外提升服务水平&…...

场馆预约小程序的设计与实现

摘 要 时代在进步,人们对日常生活质量的要求不再受限于衣食住行。现代人不仅想要一个健康的身体,还想拥有一身宛如黄金比例的身材。但是人们平常除了上下班和上下学的时间,其余空余时间寥寥无几,所以我们需要用体育场馆预约来节省…...

【C++】string

个人主页:NiKo C专栏:C程序设计 目录 一、标准库中的string类 二、string的遍历 三、string容量 四、string修改 一、标准库中的string类 1、string类 C语言中,字符串是以\0结尾的一些字符的集合,为了操作方便,…...

在 RK3588 多线程推理 YOLO 时,同时开启硬件解码和 RGA 加速的性能分析

一、前言 本文是基于RK3588的YOLO多线程推理多级硬件加速引擎框架设计项目的延申与拓展,单独分析所提出的方案4的性能和加速原理,即同时开启 RKmpp 硬件视频解码和 RGA 硬件图像缩放、旋转。 二、实验结果回顾 在项目的总览篇中,给出了该方案…...

sqli-labs靶场 less 8

文章目录 sqli-labs靶场less 8 布尔盲注 sqli-labs靶场 每道题都从以下模板讲解,并且每个步骤都有图片,清晰明了,便于复盘。 sql注入的基本步骤 注入点注入类型 字符型:判断闭合方式 (‘、"、’、“”&#xf…...

3.2 列表的常见函数

1.列表的常用函数 -如何查看一个不认识的内容 -help() -查看官方帮助文档 -dir() -查看内部函数 -随机数语句 import randomranom.randint(0,101) 随机生成0-100内的数字 list1 [1,2,3,4,5]list2 list([1,2,3,4,5,])list2 list("wang…...

Apache Doris 高频问题排查指南:从报错到性能优化

一、部署与配置问题 1. FE启动失败:Address already in use ERROR: fe.journal.Catalog constructor exception. port9010 is already used. 原因:端口被占用或残留进程未释放 解决: # 查找占用进程 lsof -i :9010 # 终止残留进程 kill…...

Hadoop/Spark 生态

Hadoop/Spark 生态是大数据处理的核心技术体系,专为解决海量数据的存储、计算和分析问题而设计。以下从底层原理到核心组件详细讲解,帮助你快速建立知识框架! 一、为什么需要 Hadoop/Spark? ​传统单机瓶颈: 数据量超…...

51单片机的五类指令(二)——算术运算类指令

目录 一、加法指令 (一)不带进位加法指令(ADD) (二)带进位加法指令(ADDC) (三)加 1 指令(INC) (四)十进制…...

uniapp选择文件使用formData格式提交数据

1. Vue实现 在vue项目中,我们有个文件,和一些其他字段数据需要提交的时候,我们都是使用axios 设置请求头中的Content-Type: multipart/form-data,然后new FormData的方式来进行提交。方式如下: const sendRequest = () => {const formData = new FormData()formData…...

mac Python多版本第三方库的安装路径

终端查看python版本是 3.12,但是pycharm使用的python版本是 3.9 终端正常安装包以后,pycharm都可以正常使用,但是将 pycharm的python换成 3.12 版本,之前安装的库都没有了 通过终端查看安装库的位置,确实是安装到py…...

第 26 场 蓝桥月赛 部分题解

第 26 场 蓝桥月赛 2.灯笼猜谜3.元宵分配4.摆放汤圆5.元宵交友(运行超时 通过90%) 2.灯笼猜谜 分析:以当前位置为视角,要想移动的距离尽可能的少,按顺序猜谜语,给你一个区间,有三种情况&#xf…...

【Vue3知识】Vue3集成富文本编辑器TinyMCE

Vue3集成富文本编辑器TinyMce 集成一、安装依赖二、基础集成示例1. 组件封装:RichEditor.vue 三、关键配置说明1. **API Key 配置**2. **图片上传处理**3. **多语言支持** 四、完整本地化部署步骤(无 API Key)五、在父组件中使用六、常见问题…...

pod生命周期

1.init容器:做主容器运行前需要做的准备条件 2.探针 通俗易懂就是检测容器是否正常运行工作 启动探针startupProbe:检测应用是否完成启动 ,如果启动则禁用其他探测 直到成功为止,探测失败则杀死容器,容器服从重启策略…...

Oracle数据库数据编程SQL<3.3 PL/SQL 游标>

游标(Cursor)是Oracle数据库中用于处理查询结果集的重要机制,它允许开发者逐行处理SQL语句返回的数据。 目录 一、游标基本概念 1. 游标定义 2. 游标分类 二、静态游标 (一)显式游标 【一】不带参数,普通的显示游标 1. 显式…...

OLLAMA 未授权访问-漏洞挖掘

1.漏洞描述 Ollama存在未授权访问漏洞。由于Ollama默认未设置身份验证和访问控制功能,未经授权的攻击者可在远程条件下调用Ollama服务接口,执行包括但不限于敏感模型资产窃取、虚假信息投喂、模型计算资源滥用和拒绝服务、系统配置篡改和扩大利用等恶意…...

多线程—线程安全集合类与死锁

上篇文章: 多线程—JUChttps://blog.csdn.net/sniper_fandc/article/details/146713322?fromshareblogdetail&sharetypeblogdetail&sharerId146713322&sharereferPC&sharesourcesniper_fandc&sharefromfrom_link 目录 1 线程安全的集合类 …...

【鸿蒙5.0】鸿蒙登录界面 web嵌入(隐私页面加载)

在鸿蒙应用中嵌入 Web 页面并加载隐私页面,可借助 WebView 组件来实现。以下是一个完整示例,展示如何在鸿蒙 ArkTS 里嵌入 Web 页面并加载隐私政策页面。 在 HarmonyOS 应用开发中,如果你希望嵌入一个网页,并且特别关注隐私页面加…...

C++轻量HeaderOnly的JSON库

文章目录 1 nlohmann/json库说明2 nlohmann/json特点3 nlohmann/json库的使用方法3.1 引入头文件3.2 解析JSON字符串3.3 访问JSON数据3.4 生成JSON对象3.5 修改JSON数据3.6 将JSON写入文件3.7 遍历JSON对象 4 代码示例4.1 定义JSON数值类型4.2 从STL容器转换到json4.3 string序…...

打包python文件生成exe

下载PyInstaller 官网 pip install pyinstaller验证是否安装成功 pyinstaller --version打包 pyinstaller "C:\Documents and Settings\project\myscript.py"会生成.spec,build,dist三项,其中build,dist为文件夹,dist是最后的可执行文件&a…...

Nginx — Nginx安装证书模块(配置HTTPS和TCPS)

一、安装和编译证书模块 [rootmaster nginx]# wget https://nginx.org/download/nginx-1.25.3.tar.gz [rootmaster nginx]# tar -zxvf nginx-1.25.3.tar.gz [rootmaster nginx]# cd nginx-1.25.3 [rootmaster nginx]# ./configure --prefix/usr/local/nginx --with-http_stub_…...

《Mycat核心技术》第21章:高可用负载均衡集群的实现(HAProxy + Keepalived + Mycat)

作者:冰河 星球:http://m6z.cn/6aeFbs 博客:https://binghe.gitcode.host 文章汇总:https://binghe.gitcode.host/md/all/all.html 星球项目地址:https://binghe.gitcode.host/md/zsxq/introduce.html 沉淀&#xff0c…...

Dynamic WallPaper-壁纸动态-Mac电脑-4K超高清

Dynamic WallPaper-壁纸动态-Mac电脑-4K超高清 文章目录 Dynamic WallPaper-壁纸动态-Mac电脑-4K超高清一、介绍二、效果三、下载 一、介绍 Dynamic Wallpaper for mac版,是一款4K超高清动态壁纸软件,告别单调的静态壁纸,拥抱活泼的动态壁纸…...

MySQL8.4 NDB Cluster 集群配置安装

文章目录 前置条件安装步骤环境准备下载 安装 RPM 包安装 NDB 组件与常见错误配置节点启用节点配置启动 MySQL 集群验证集群状态 关于 ndb_mgm集群管理备份与恢复集群配置管理日志相关 MySQL NDB Cluster 是一个分布式数据库解决方案,提供高可用性、数据分片和自动故…...

多线程开发中List的使用

由于ArrayList在多线程高并发情况下是不安全的,因此要慎用,那么此时如果涉及到集合操作,应该怎么选: 方案一:Vector: 特点:通过给所有方法都用 synchronized 修饰从而保证线程安全, 缺点&…...

Html 页面图标的展示列表

Html 页面中经常需要使用网页图标,这些图标的样式和名称都不容易记住。常用的网页图标展示页面链接记录如下: Material Design Icons 图标库 - FontAwesome 字体图标中文Icon...

Vue实现动态路由的后端控制

在传统开发后台管理系统时,都会涉及权限控制这一功能需求 即:根据不同登录的角色账号来使用该账号拥有的功能,也就是说系统左边的菜单栏不是固定不变的。 首先是基础路由配置带有component的。 const allRoutes [// 基础路由{path: /,name…...

​AI训练中的专有名词大白话版

​AI训练中的专有名词大白话版 ​1. 数据集(Dataset)​ 👉 ​人话:AI的“练习题题库”,包含一堆带答案的题目(比如猫狗照片标签)。 🔹 ​例子: 训练集(练习…...

kafka 与 RocketMQ对比

问题 1: 为什么使用消息队列?服务搭建KafkaRocketMQ编写 docker-compose.yml运行docker compose修改配置文件(解决网络问题)创建一个 topic运行skd尝试发送与接收功能 压力测试:Kafkabatch-size(批量大小)分区数:发送数据(MB/s)消费-线程数(15 分区) RocketMQ生产生产者数量批…...

instnatid模型加载器放在哪里

一般根据节点名称来放,如果没有就新建 ComfyUI\models\instantid...

Spring Boot自动配置原理解析

文章目录 前言一、SpringBootConfiguration二、EnableAutoConfiguration2.1、AutoConfigurationPackage2.2、Import(AutoConfigurationImportSelector.class) 三、ComponentScan四、自动配置源码4.1、获取所有候选的自动配置类4.2、过滤不满足条件的自动配置 总结 前言 在常规的…...

LlamaIndex实现(基于PDF|CSV文件)RAG检索增强生成:NaiveRAG

什么是 RAG? RAG(Retrieval-Augmented Generation,检索增强生成) 是一种结合 信息检索(Retrieval) 和 文本生成(Generation) 的AI技术,用于提升大语言模型(L…...

分布式系统面试总结:3、分布式锁(和本地锁的区别、特点、常见实现方案)

仅供自学回顾使用,请支持javaGuide原版书籍。 本篇文章涉及到的分布式锁,在本人其他文章中也有涉及。 《JUC:三、两阶段终止模式、死锁的jconsole检测、乐观锁(版本号机制CAS实现)悲观锁》:https://blog.…...

vue3搭建实战项目笔记三

vue3搭建实战项目笔记三 3.1.行高偏移问题3.2.谷歌浏览器上不能定位3.2.2 移动端css隐藏滚动条 3.3.获取列表的数据3.3.1 服务器返回十万条数据3.3.2 分页展示数据3.3.2 防止展示数据为空报错 3.4.上拉加载数据3.4.1 加载更多数据3.4.2 监听页面滚动到底部3.4.3 监听滚动的时机…...

【商城实战(101)】电商未来已来:新技术引领商城发展新航向

【商城实战】专栏重磅来袭!这是一份专为开发者与电商从业者打造的超详细指南。从项目基础搭建,运用 uniapp、Element Plus、SpringBoot 搭建商城框架,到用户、商品、订单等核心模块开发,再到性能优化、安全加固、多端适配,乃至运营推广策略,102 章内容层层递进。无论是想…...

深入解析最大公约数(GCD)与最小公倍数(LCM)的C++实现

深入解析最大公约数(GCD)与最小公倍数(LCM)的C实现 一、GCD与LCM的数学定义 1. 最大公约数(GCD) 两个或多个整数共有约数中最大的一个。 例如: GCD(12, 18) 6GCD(21, 14) 7 2. 最小公倍数…...

低功耗LPWAN模块开发指南:远距离无线通信与边缘计算融合实战‌

在远程资产追踪、野外环境监测等场景中,稳定可靠的长距离通信与超低功耗是系统设计的核心挑战。eFish-SBC-RK3576通过 ‌原生双UART接口 USB OTG扩展能力‌ ,可无缝集成主流LPWAN模组(LoRa/NB-IoT),实现“数据采集-边…...

【质量管理】纠正、纠正措施和预防的区别与解决问题的四重境界

“质量的定义就是符合要求”,我们在文章【质量管理】人们对于质量的五个错误观念-CSDN博客中提到过,这也是质量大师克劳士比所说的。“质量的系统就是预防”,防止出现产品不良而造成的质量损失。 质量问题的解决可以从微观和宏观两个方面来考…...

STM32F103_LL库+寄存器学习笔记12 - 提高串口通讯程序的健壮性:异常监控 + 超时保护机制

导言 首先,进行USART和DMA状态监测、记录异常状态并主动处理,是高健壮性嵌入式系统开发的核心思想之一。 这种机制看似复杂,实则能有效保障系统长期、稳定地运行: 提升通讯可靠性。降低维护成本。增强系统自恢复能力。 因此&…...

搜索-BFS

马上蓝桥杯了,最近刷了广搜,感觉挺有意思的,广搜题类型都差不多,模板也一样,大家写的时候可以直接套模板 这里给大家讲一个比较经典的广搜题-迷宫 题目问问能否走到 (n,m) 位置,假设最后一个点是我们的&…...

Keil调试(RTT Debug 断点)

调试 打印操作 方式接口优缺点串口打印TXRX简单,但是占用串口,速度慢,重定向fputc简单RTT打印SWDIOSWCLK速度快,不占额外接口,直接移植RTT库断点打印SWDIOSWCLKDebug的时候断点操作SWOSWDIOSWCLKSWO需要连接SWO引脚,重定向fputc简单 这里我只介绍RTT打印和断点打印; 一. RT…...

【jQuery】插件

目录 一、 jQuery插件 1. 瀑布流插件: jQuery 之家 http://www.htmleaf.com/ 2. 图片懒加载: jQuery 插件库 http://www.jq22.com/ 3. 全屏滚动 总结不易~ 本章节对我有很大收获,希望对你也是~~~ 一、 jQuery插件 jQuery 功能…...

leetcode 28 Find the Index of the First Occurrence in a String

直接用kmp算法 class Solution { public:int strStr(string haystack, string needle) {return kmp(haystack,needle);}int kmp(std::string &text,std::string &pattern){int n text.size();int m pattern.size();if(m 0)return 0;std::vector<int> next;ne…...

nginx 动静分离

一.动静分离 1.动静分离的好处 Apache Tocmat 严格来说是一款java EE服务器&#xff0c;主要是用来处理 servlet请求。处理css、js、图片这些静态文件的IO性能不够好&#xff0c;因此&#xff0c;将静态文件交给nginx处理&#xff0c;可以提高系统的访问速度&#xff0c;减少…...

1.2 斐波那契数列模型:LeetCode 面试题 08.01. 三步问题

动态规划解三步问题&#xff1a;LeetCode 面试题 08.01. 三步问题 1. 题目链接 LeetCode 面试题 08.01. 三步问题 题目要求&#xff1a;小孩上楼梯&#xff0c;每次可以走1、2或3步&#xff0c;计算到达第 n 阶台阶的不同方式数&#xff0c;结果需对 1e9 7 取模。 2. 题目描述…...

关于AutoMapper

AutoMapper 概述 AutoMapper 是一个基于约定的对象 - 对象映射库&#xff0c;主要用于在不同对象类型之间自动映射属性值。它能根据配置的映射规则&#xff0c;将源对象的属性值填充到目标对象中&#xff0c;避免了手动编写大量繁琐的对象映射代码。 作用 提升开发效率&…...