(免费分享)基于 SpringBoot 的高校宿舍管理系统带论文
项目描述
系统代码质量高,功能强大,带论文。
系统的功能主要有:
(1)基本信息管理
基本信息分为学生信息和宿舍信息两部分,其功能是负责维护这些信息,对
它们进行增删查改等操作。
(2)宿舍分配管理
根据给定的宿舍信息与学生信息,按照一定的规则自动地给还未分配宿舍的
学生分配宿舍,学生可在该宿舍内自选床位,最终的宿舍分配信息可以以文件形
式(如 Excel 表格)导出。
(3)宿舍日常管理
主要包括卫生管理、报修管理、留言管理等。
卫生管理:记录并维护卫生检查信息。
报修管理:添加、查看、修改报修单信息。
留言管理:包括发布公告、失物招领、普通留言以及对这些信息的维护。
(4)离返校管理
对节假日学生的去向、寒暑假学生的留校以及返校登记信息进行统计及管
理,并以图表形式呈现统计信息。
(5)综合查询管理
包括查找学生信息、各楼栋/专业的学生宿舍分配情况、卫生检查情况、学
生离返校及留校信息、指定类型的留言、查看宿舍成员等。
运行环境
idea/eclipse+mysql5.7+jdk1.8+maven3
项目技术
springboot + layui
免费领取下载链接-关注底部gongzhonghao:033
免费领取下载链接-关注底部gongzhonghao:033
免费领取下载链接-关注底部gongzhonghao:033package com.usc.lzh.doms.service.impl;import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.usc.lzh.doms.entity.*;
import com.usc.lzh.doms.mapper.DorMMapper;
import com.usc.lzh.doms.service.DorMService;
import com.usc.lzh.doms.utils.MyStringUtil;
import com.usc.lzh.doms.vo.*;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.session.ExecutorType;
import org.apache.ibatis.session.SqlSession;
import org.apache.xmlbeans.impl.xb.xsdschema.All;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;@Service
public class DorMServiceImpl implements DorMService {@Resourceprivate DorMMapper dormMapper;@Autowiredprivate SqlSessionTemplate sqlSessionTemplate;/*** 查找报修信息** @param riVo 分页查询的参数,负责的楼栋编号* @return*/@Overridepublic List<RepairInfo> findRepairInfoListByPage(RepairInfoVo riVo) {List<RepairInfo> list = dormMapper.findRepairInfoListByPage(riVo);return dealString(list);}// 解析brcode填充brarea/brbid/brrid和格式化日期字符串private List<RepairInfo> dealString(List<RepairInfo> list) {for (int i = 0; i < list.size(); i++) {String brcode = list.get(i).getBrcode().trim();String subtime = list.get(i).getSubtime();// 截取空格前的字符串,使日期格式为yy-MM-ddString date = MyStringUtil.timeTodate(subtime);list.get(i).setSubtime(date);String[] brArr = brcode.split("#");list.get(i).setBrarea(MyStringUtil.getBrarea(brArr[0]));list.get(i).setBrbid(brArr[1]);list.get(i).setBrrid(brArr[2]);}return list;}/*** 导出报修信息** @param brcode 宿舍楼编号* @param statusCode 报修状态* @return*/public List<RepairInfo> exportRepairInfo(String brcode, String statusCode) {String status = transStatusCode(statusCode);List<RepairInfo> list = dormMapper.exportRepairInfo(brcode, status);return dealString(list);}// 转换statusCode为数据库中的statusprivate String transStatusCode(String status) {if (status != null && !status.equals("")) {Integer statusCode = Integer.parseInt(status.trim());switch (statusCode) {case 1:status = "已处理";break;case 2:status = "未处理";break;case 3:status = "正在处理";break;}} else {status = "";}return status;}/*** 批量更改报修状态** @param params ids和status*/@Overridepublic boolean batchEditRepairStatus(String params) {try {// 将前端json数据解析出来JSONArray jsonArray = JSONArray.parseArray(params);JSONObject jsonObject = jsonArray.getJSONObject(0);String statusCode = (String) jsonObject.get("status");String status = transStatusCode(statusCode);// ids为要更新状态的报修单编号String ids = jsonObject.get("ids").toString();// 去掉两边的[]ids = ids.substring(1, ids.length() - 1);// 转为String字符串String[] idsArray = ids.split(",");// 字符数组转为int数组int[] array = Arrays.stream(idsArray).mapToInt(Integer::parseInt).toArray();// int数组转为List,装箱List<Integer> list = Arrays.stream(array).boxed().collect(Collectors.toList());dormMapper.batchEditRepairStatus(list, status);return true;} catch (Exception e) {return false;}}/*** 查询卫生检查信息** @param ciVo* @return*/@Overridepublic List<CleanInfo> findCleanInfoListByPage(CleanInfoVo ciVo) {List<CleanInfo> list = dormMapper.findCleanInfoListByPage(ciVo);for (int i = 0; i < list.size(); i++) {String brcode = list.get(i).getBrcode().trim();String time = list.get(i).getTime();// 截取空格前的字符串,使日期格式为yy-MM-ddString date = MyStringUtil.timeTodate(time);list.get(i).setTime(date);String[] brArr = brcode.split("#");list.get(i).setBrarea(MyStringUtil.getBrarea(brArr[0]));list.get(i).setBrbid(brArr[1]);list.get(i).setBrrid(brArr[2]);}return list;}/*** 更改卫生检查信息** @param ci* @return*/@Overridepublic int updateCleanInfo(CleanInfo ci) {try {// 如果宿舍号改了
// String brcode = ci.getBrcode();
// if (StringUtils.isNotBlank(brcode)){
// String brrid = brcode.split("#")[2];
// ci.setBrbid(brrid);
// }int result = dormMapper.updateCleanInfo(ci);return result;} catch (Exception e) {e.printStackTrace();return -1;}}/*** 删除卫生检查记录** @param id* @return*/@Overridepublic int deleteCleanInfo(String id) {try {int actualId = Integer.parseInt(id);int result = dormMapper.deleteCleanInfo(actualId);return result;} catch (Exception e) {e.printStackTrace();return -1;}}/*** 批量添加卫生检查记录** @param params 卫生检查信息的json数据* @param checker 检查人* @return*/@Overridepublic boolean batchInsertCleanInfo(String params, String checker) {String classPath = "com.usc.lzh.doms.mapper.DorMMapper.batchInsertCleanInfo";// 获取mysql的session并且关闭自动提交SqlSession sqlSession = sqlSessionTemplate.getSqlSessionFactory().openSession(ExecutorType.BATCH, false);try {List<CleanInfo> list = dealCleanInfoAddParams(params, checker);// 插入sqlSession.insert(classPath, list);// 提交sqlSession.commit();// 防止内存崩溃sqlSession.clearCache();} catch (Exception e) {e.printStackTrace();// 回滚sqlSession.rollback();return false;} finally {// 关闭sqlSession.close();}return true;}private List<CleanInfo> dealCleanInfoAddParams(String params, String checker) throws Exception {List<CleanInfo> list = new ArrayList<>();if (StringUtils.isNotBlank(params)) {// json数据转为JSONArray对象JSONArray jsonArray = JSONArray.parseArray(params);// 遍历json数组,将json对象转为CleanInfo对象并且存到list中for (int i = 0; i < jsonArray.size(); i++) {CleanInfo ci = new CleanInfo();JSONObject obj = jsonArray.getJSONObject(i);String brarea = obj.get("brarea").toString().trim();String brbid = obj.get("brbid").toString().trim();String brrid = obj.get("brrid").toString().trim();String brcode = MyStringUtil.getBrcode(brarea, brbid, brrid);ci.setBrarea(brarea);ci.setBrbid(brbid);ci.setBrrid(brrid);ci.setBrcode(brcode);ci.setTime(obj.get("time").toString().trim());String grade = obj.get("grade").toString().trim();if (StringUtils.isNotBlank(grade)) {ci.setGrade(Integer.parseInt(grade));}ci.setContent(obj.get("content").toString().trim());ci.setChecker(checker);list.add(ci);}}return list;}/*** 查找宿舍信息** @param biVo* @return*/@Overridepublic List<RepairInfo> findBuildRoomInfoListByPage(BuildRoomInfoVo biVo) {List<RepairInfo> list = dormMapper.findBuildRoomInfoListByPage(biVo);return list;}/*** 修改宿舍信息** @param bi* @return*/@Overridepublic int updateBuildRoomInfo(BuildRoomInfo bi) {try {int result = dormMapper.updateBuildRoomInfo(bi);return result;} catch (Exception e) {e.printStackTrace();return -1;}}/*** 删除宿舍信息** @param brcode 宿舍编号* @return*/@Overridepublic int deleteBuildRoomInfo(String brcode) {try {int result = dormMapper.deleteBuildRoomInfo(brcode);return result;} catch (Exception e) {e.printStackTrace();return -1;}}/*** 添加宿舍信息** @param list* @return*/@Overridepublic boolean addBuildRoomInfo(List<BuildRoomInfo> list) {String classPath = "com.usc.lzh.doms.mapper.DorMMapper.addBuildRoomInfo";// 获取mysql的session并且关闭自动提交SqlSession sqlSession = sqlSessionTemplate.getSqlSessionFactory().openSession(ExecutorType.BATCH, false);try {// 插入sqlSession.insert(classPath, list);// 提交sqlSession.commit();// 防止内存崩溃sqlSession.clearCache();} catch (Exception e) {e.printStackTrace();// 回滚sqlSession.rollback();return false;} finally {// 关闭sqlSession.close();}return true;}/*** 查看自己发布的公告/失物招领信息** @param mbVo* @return*/@Overridepublic List<MessageBoard> findMessageListByPage(MessageBoardVo mbVo) {System.out.println(mbVo.getType());List<MessageBoard> list = dormMapper.findMessageListByPage(mbVo);for (int i = 0; i < list.size(); i++) {// 截取日期String time = list.get(i).getTime();String date = MyStringUtil.timeTodate(time);list.get(i).setTime(date);// 解析typeInteger type = list.get(i).getType();list.get(i).setTypeValue(MyStringUtil.mbTypeToValue(type));// 解析brcodeString brcode = list.get(i).getBrcode();System.out.println(brcode);if (StringUtils.isNotBlank(brcode)) {String[] split = brcode.split("#");switch (split.length) {case 1:list.get(i).setBrarea(MyStringUtil.getBrarea(split[0]));break;case 2:case 3:list.get(i).setBrarea(MyStringUtil.getBrarea(split[0]));list.get(i).setBrbid(split[1]);break;}}}return list;}/*** 添加公告信息** @param mb* @return*/@Overridepublic int addMessage(MessageBoard mb) {try {// time是当前时间Date date = new Date();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");mb.setTime(sdf.format(date));// 拼接brcodeString brcode = MyStringUtil.getBrcode(mb.getBrarea(), mb.getBrbid(), "");mb.setBrcode(brcode);System.out.println(mb);int result = dormMapper.addMessage(mb);return result;} catch (Exception e) {e.printStackTrace();return -1;}}/*** 修改公告信息** @param mb* @return*/@Overridepublic int updateMessage(MessageBoard mb) {try {int result = dormMapper.updateMessage(mb);return result;} catch (Exception e) {e.printStackTrace();return -1;}}/*** 批量删除公告/失物招领信息** @param list id数组* @return*/@Overridepublic boolean deleteMessage(List<Integer> list) {try {dormMapper.deleteMessage(list);return true;} catch (Exception e) {e.printStackTrace();return false;}}/*** 查找留校信息列表** @param stVo* @return*/@Overridepublic List<StayInfo> findStayInfoListByPage(StayInfoVo stVo) {stVo.setApprovetype(1);List<StayInfo> list = dormMapper.findStayInfoListByPage(stVo);return list;}/*** 导出学生留校信息** @param brarea* @param brbid* @return*/@Overridepublic List<StayInfo> exportStayInfo(String brarea, String brbid) {StayInfoVo stVo = new StayInfoVo();stVo.setBrbid(brbid);stVo.setBrarea(brarea);stVo.setApprovetype(1);List<StayInfo> list = dormMapper.findStayInfoListByPage(stVo);return list;}/*** 获取留校学生的统计数据** @param brarea* @param brbid* @return*/@Overridepublic JSONObject getStayInfoEchartsData(String brarea, String brbid) {// 最后返回的数据JSONObject data = new JSONObject();// 宿舍区JSONArray bsArray = new JSONArray();// 宿舍区及人数JSONArray countArray = new JSONArray();List<String> brareas = new ArrayList<>();if (StringUtils.isNotBlank(brarea)) {brareas.add(brarea);} else {brareas = dormMapper.getStayInfoBrareas();}for (String item : brareas) {bsArray.add(item);Integer count = dormMapper.getStayInfoOnBrareaCount(item, brbid, 1);JSONObject obj = new JSONObject();obj.put("name", item);obj.put("value", count);countArray.add(obj);}data.put("data", bsArray);data.put("series", countArray);return data;}/*** 查找宿舍分配信息** @param aiVo 按专业、班级、宿舍区、楼栋进行查找* @return*/@Overridepublic List<AllocationInfo> findAllocationInfoListByPage(AllocationInfoVo aiVo) {List<AllocationInfo> list = dormMapper.findAllocationInfoListByPage(aiVo);return list;}/*** 导出宿舍分配信息** @param brarea* @param brbid* @return*/public List<AllocationInfo> exportAllocationInfo(String brarea, String brbid) {List<AllocationInfo> list = dormMapper.exportAllocationInfo(brarea, brbid);return list;}/*** 查找空余寝室** @param biVo* @return*/public List<BuildRoomInfo> findFreeRoomListByPage(BuildRoomInfoVo biVo) {return dormMapper.findFreeRoomListByPage(biVo);}/*** 查找未分配寝室的学生** @param siVo* @return*/public List<StudentInfo> findNotAllocateStudentListByPage(StudentInfoVo siVo) {return dormMapper.findNotAllocateStudentListByPage(siVo);}private List<StudentInfo> MsiList = null;//男生private List<StudentInfo> FsiList = null;//女生private List<BuildRoomInfo> MbiList = null;//男生寝室private List<BuildRoomInfo> FbiList = null;//女生寝室private List<AllocationInfo> aiList = new ArrayList<>();private List<BuildRoomInfo> updateList = new ArrayList<>();/*** 判断床位够不够** @return*/public boolean judgeIsEnough() {initList();//初始化列表int mbed = 0;//男寝床位int fbed = 0;//女寝床位for (int i = 0; i < MbiList.size(); i++) {mbed += MbiList.get(i).getFree();}for (int i = 0; i < FbiList.size(); i++) {fbed += FbiList.get(i).getFree();}int mstucount = MsiList.size();//男生人数int fstucount = FsiList.size();//女生人数System.out.println(mbed + "--" + mstucount);System.out.println(fbed + "--" + fstucount);if (mbed >= mstucount && fbed >= fstucount) {return true;}return false;}/*** 初始化列表*/private void initList() {StudentInfoVo msi = new StudentInfoVo();msi.setStusex("男");StudentInfoVo fsi = new StudentInfoVo();fsi.setStusex("女");MsiList = dormMapper.findNotAllocateStudentListByPage(msi);FsiList = dormMapper.findNotAllocateStudentListByPage(fsi);BuildRoomInfoVo mbi = new BuildRoomInfoVo();mbi.setSex("男");BuildRoomInfoVo fbi = new BuildRoomInfoVo();fbi.setSex("女");MbiList = dormMapper.findFreeRoomListByPage(mbi);FbiList = dormMapper.findFreeRoomListByPage(fbi);}/*** 分配宿舍(全部分配)** @return*/@Overridepublic boolean doAssignAll() {try {clearList();initList();AllocateRoomToStudent(MbiList, MsiList);//分配女寝AllocateRoomToStudent(FbiList, FsiList);//分配男寝if (aiList.size() != 0) {boolean result = batchInsertAllocationInfo(aiList);// 批量插入宿舍分配信息// 插入失败,抛异常if (!result) {throw new Exception();}dormMapper.batchUpdateBuildRoomInfo(updateList);updateList.clear();}return true;} catch (Exception e) {e.printStackTrace();return false;}}/*** 分配宿舍给学生** @param biList 宿舍列表* @param siList 学生列表*/public void AllocateRoomToStudent(List<BuildRoomInfo> biList, List<StudentInfo> siList) {int index = 0;//第几个学生int biLen = biList.size();int siLen = siList.size();//遍历宿舍,若宿舍或学生已分配完,退出循环for (int i = 0; i < biLen && index < siLen; i++) {BuildRoomInfo room = biList.get(i);//取一间宿舍int free = room.getFree();//获取它的容量String brcode = room.getBrcode();int j = 1;for (; j <= free && index < siLen; j++) {StudentInfo si = siList.get(index);index++;String stuid = si.getStuid();AllocationInfo ai = new AllocationInfo();ai.setBrcode(brcode);ai.setStuid(stuid);aiList.add(ai);System.out.println(ai);}//为更新空宿舍表做准备updateList.add(new BuildRoomInfo(brcode, free - j + 1));}}/*** 显示分配结果** @param aiVo* @return*/@Overridepublic List<AllocationInfo> viewAllocateResult(AllocationInfoVo aiVo) {
// int page = aiVo.getPage();
// int row = aiVo.getLimit();
// int start = (page - 1) * row;if (aiList == null || aiList.size() == 0) {return null;}return dormMapper.viewAllocateResult(aiList);
// return dormMapper.viewAllocateResult(aiList, start, row);}/*** 批量插入宿舍分配信息** @param list* @return*/public boolean batchInsertAllocationInfo(List<AllocationInfo> list) {String classPath = "com.usc.lzh.doms.mapper.DorMMapper.batchInsertAllocationInfo";// 获取mysql的session并且关闭自动提交SqlSession sqlSession = sqlSessionTemplate.getSqlSessionFactory().openSession(ExecutorType.BATCH, false);try {// 插入sqlSession.insert(classPath, list);// 提交sqlSession.commit();// 防止内存崩溃sqlSession.clearCache();} catch (Exception e) {e.printStackTrace();// 回滚sqlSession.rollback();return false;} finally {// 关闭sqlSession.close();}return true;}/*** 清空列表*/private void clearList() {if (updateList != null) {updateList.clear();}if (MbiList != null) {MbiList.clear();}if (FbiList != null) {FbiList.clear();}if (MsiList != null) {MsiList.clear();}if (FsiList != null) {FsiList.clear();}if (aiList != null) {aiList.clear();}}
}
相关文章:

(免费分享)基于 SpringBoot 的高校宿舍管理系统带论文
项目描述 系统代码质量高,功能强大,带论文。 系统的功能主要有: (1)基本信息管理 基本信息分为学生信息和宿舍信息两部分,其功能是负责维护这些信息,对 它们进行增删查改等操作。 &#x…...

运筹系列78:cbc使用介绍
1. 上手 1.1 快速使用 首先是简单的调用测试,在mac上首先安装clp的库:brew install coin-or-tools/coinor/cbc,然后新建项目进行调用,各项配置如下,注意要添加的library和directory比较多: 1.2 命令行方…...

RocketMQ底层源码解析——事务消息的实现
1. 简介 RocketMQ自身实现了事务消息,可以通过这个机制来实现一些对数据一致性有强需求的场景,保证上下游数据的一致性。 以电商交易场景为例,用户支付订单这一核心操作的同时会涉及到下游物流发货、积分变更、购物车状态清空等多个子系统…...

学习802.11之MAC帧格式(一篇就够!)
802.11规范的关键在于MAC(媒介访问控制层),MAC位于各式物理层之上,控制数据传输。负责核心成帧操作以及与有线骨干网络之间的交互。 802.11 MAC采用载波监听多路访问(CSMA)机制来控制对传输媒介的访问&…...

使用阿里云IoT Studio建立物模型可视化界面
使用阿里云IoT Studio建立物模型可视化界面 上一篇文章介绍了如何使用ESP-01S上报数据到物模型:https://blog.csdn.net/weixin_46251230/article/details/128996719 这次使用阿里云IoT Studio建立物模型的Web页面 阿里云IoT Studio: https://studio.i…...
HBase 复习 ---- chapter07
HBase 复习 ---- chapter07部署 HBase(运维) 1:部署 HBase 实际是部署了三个技术(hadoop zookeeper hbase) hadoop hdfs mapreduce common hdfs namenode datanode secondaryNamenode yarn ResourceManager&a…...

跟我一起写Makefile--个人总结
此篇笔记是根据陈皓大佬《跟我一起写Makefile》学习所得 文章目录换行符clean变量make的自动推导另类风格的Makefile清空目标文件的规则cleanMakefile总述显示规则隐晦规则变量的定义注释引用其它的Makefile环境变量MAKEFILESmake的工作方式书写规则规则举例规则的语法在规则中…...
设计模式之为什么要学好设计模式
目录1 回顾软件设计原则2 设计模式总览3 经典框架都在用设计模式解决问题1 回顾软件设计原则 不用设计模式并非不可以,但是用好设计模式能帮助我们更好地解决实际问题,设计模式最重要的是解耦。设计模式天天都在用,但自己却无感知。我们把设…...

大数据时代的小数据神器 - asqlcell
自从Google发布了经典的MapReduce论文,以及Yahoo开源了Hadoop的实现,大数据这个词就成为了一个行业的热门。在不断提高的机器性能和各种层出不穷的工具框架加持下,数据分析开始从过去的采样抽查变成全量整体,原先被抽样丢弃的隐藏…...

【呕心沥血】整理全栈自动化测试技术(三):如何编写技术方案
前面两篇笔记我介绍了自动化测试前期调研注意事项和前置准备阶段切入点,有同学在后台提问: “做完前期的调研和准备工作,领导要求写一个落地方案并评审,自动化测试的落地方案该怎么写”? 首先这个要求我觉得挺正常&a…...

67. 二进制求和
文章目录题目描述竖式模拟转换为十进制计算题目描述 给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。 示例 1: 输入:a “11”, b “1” 输出:“100” 示例 2: 输入:a “1010”, b “1011” …...
1555数列极差(队列 优先队列 )
目录 题目描述 解题思路 代码部分 题目描述 在黑板上写了N个正整数作成的一个数列,进行如下操作:每一次擦去其中的两个数a和b,然后在数列中加入一个数a*b1,如此下去直至黑板上剩下一个数,在所有按这种操作方式最后得…...

代码随想录算法训练营第二十七天 | 93.复原IP地址,78.子集,90.子集II
一、参考资料复原IP地址题目链接/文章讲解:https://programmercarl.com/0093.%E5%A4%8D%E5%8E%9FIP%E5%9C%B0%E5%9D%80.html 视频讲解:https://www.bilibili.com/video/BV1XP4y1U73i/子集题目链接/文章讲解:https://programmercarl.com/0078.…...
jvm类加载器
概念 Bootstarp ClassLoader (引导类加载器) 加载String等核心的类Ext ClassLoader (拓展类加载器)System ClassLoader (系统类加载器) 加载用户自定义的类 关系 BootstrapClassLoader 包含 ExtClassLoaderExtClassLoader 包含 SystemClassLoader彼此是包含关系,不…...

Rust学习入门--【7】Rust 数据类型
类型系统 对于任何一门语言都是重中之重,因为它体现了语言所支持的不同类型的值。 类型系统 也是 IT 初学者最难啃的三座大山之一,而类型系统之所以难以理解,主要是没有合适的现成的参考体系。 我们说类型系统 存在的目的,就是 …...

阅读MySQL必知必会,查缺补漏
MySQL自带数据库 information_schema:是MySQL自带的数据库,主要保持MySQL数据库服务器的系统信息,比如数据库的名称,数据库表的名称,字段名称,存储权限等。 performance_schema:是MySQL系统自…...

MySQL数据库10——多表连接查询
数据如果在多个表里面,需要进行连接查询。 一般在pandas里面merge合并会用到一个索引,按这个索引的规则进行合并叫做有规则的等值连接。若不按规则连接,遍历两两组合的所有可能性,叫做笛卡尔积。 笛卡尔积连接 通常人们都会设置…...
华为OD机试 - 括号检查(Python)| 真题含思路
括号检查 题目 现有一字符串 仅由 (,),{,},[,] 六种括号组成,若字符串满足以下条件之一,则为无效字符串 任意类型的左右括号数量不相等 存在未按正确顺序(先左后右)闭合的括号, 输出括号的最大嵌套深度 若字符串无效则输出 0 0 <= 字符串长度 <= 100000 输入 一个只…...

安全渗透测试中的一款免费开源的超级关键词URL采集工具
安全渗透测试中的一款免费开源的超级关键词URL采集工具。 #################### 免责声明:工具本身并无好坏,希望大家以遵守《网络安全法》相关法律为前提来使用该工具,支持研究学习,切勿用于非法犯罪活动,对于恶意使…...
数据资产管理实践白皮书(6.0版)解读
目录 第一章数据资产管理概述 ( 一 ) 数据资产管理和数据要素的关系...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...

selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...

如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...

Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...
怎么让Comfyui导出的图像不包含工作流信息,
为了数据安全,让Comfyui导出的图像不包含工作流信息,导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo(推荐) 在 save_images 方法中,删除或注释掉所有与 metadata …...