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

计算机毕业设计选题推荐-学院教学工作量统计系统-Java/Python项目实战

作者主页:IT毕设梦工厂✨
个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。
☑文末获取源码☑
精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目

文章目录

  • 一、前言
  • 二、开发环境
  • 三、系统界面展示
  • 四、部分代码设计
  • 五、论文参考
  • 六、系统视频
  • 结语

一、前言

教育行业对教师工作量的准确统计和管理是衡量教学质量和教师绩效的重要环节。随着高等教育规模的不断扩大,教师的工作量统计工作也变得越来越复杂。据统计,中国高等教育在校生人数已超过4000万,教师数量也达到了数百万之多。在这种背景下,传统的手工统计方法不仅效率低下,而且容易出错,难以适应现代教育管理的需求。此外,教师工作量统计的准确性直接影响到教师的绩效评价、薪酬分配以及教学资源的合理配置。

现有的教学工作量统计方法多依赖于手工记录和Excel表格处理,这些方法存在诸多问题。例如,数据分散在不同的表格中,难以实现集中管理和实时更新;手工输入数据容易出错,且难以追踪错误来源;Excel表格在处理大量数据时性能受限,影响统计效率;此外,缺乏有效的数据分析工具,使得从统计数据中提取有价值的信息变得困难。这些问题不仅增加了教学管理部门的工作负担,也影响了教学资源的合理分配和教师的权益保障。

本课题旨在设计并实现一个学院教学工作量统计系统,以解决现有统计方法中存在的问题。系统将提供一个统一的平台,实现教师工作量的在线录入、管理和统计;支持数据的批量导入和导出,提高数据管理的效率;具备强大的数据处理和分析功能,帮助管理部门快速获取教师工作量的统计结果;并提供用户友好的操作界面,简化教师和管理人员的工作流程。通过本课题的研究,希望能够为学院提供一个便捷、准确、便捷的教学工作量统计解决方案。

在学院教学工作量统计系统中,管理人员角色负责教师账户的创建与管理、工作量信息的综合管理(包括增加、删除、修改、查询)以及数据的导出和年度工作量统计,确保教学工作量数据的准确性和系统的运行;教师角色则能够进行个人工作量信息的自我管理(包括增加、删除、修改、查询)并利用导入功能批量更新教学工作量数据,实现教学活动的准确记录和便捷管理。系统通过这些功能模块的整合,旨在为学院提供一个全局、便捷的教学工作量统计和管理平台。

本课题的研究具有重要的理论意义和实际意义。从理论角度来看,它为教学管理领域提供了新的研究思路,即通过信息技术手段优化教学工作量统计流程,有助于推动教育管理理论和实践的创新。从实际角度来看,该系统的应用将显著提高教学工作量统计的效率和准确性,减轻教学管理部门的工作负担,保障教师的权益,促进教学资源的合理配置。同时,系统的推广应用也将为其他教育机构提供借鉴,推动整个教育行业的信息化和现代化进程。

二、开发环境

  • 开发语言:Java/Python
  • 数据库:MySQL
  • 系统架构:B/S
  • 后端:SpringBoot/SSM/Django/Flask
  • 前端:Vue

三、系统界面展示

  • 学院教学工作量统计系统界面展示:
    教师-教师工作量信息管理:
    教师-教师工作量信息管理教师-导入教师工作量信息:
    教师-导入教师工作量信息管理员-教师工作量信息管理:
    管理员-教师工作量信息管理管理员-导出教师工作量信息:
    管理员-导出教师工作量信息管理员-年度工作量统计:
    管理员-年度工作量统计管理员-教师管理:
    管理员-教师管理

四、部分代码设计

  • 项目实战-代码参考:
@RestController
@Controller
@RequestMapping("/togzhi")
public class TogzhiController {private static final Logger logger = LoggerFactory.getLogger(TogzhiController.class);@Autowiredprivate TogzhiService togzhiService;@Autowiredprivate TokenService tokenService;@Autowiredprivate DictionaryService dictionaryService;//级联表service@Autowiredprivate JiaoshiService jiaoshiService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));String role = String.valueOf(request.getSession().getAttribute("role"));if(false)return R.error(511,"永不会进入");else if("教师".equals(role))params.put("jiaoshiId",request.getSession().getAttribute("userId"));if(params.get("orderBy")==null || params.get("orderBy")==""){params.put("orderBy","id");}PageUtils page = togzhiService.queryPage(params);//字典表数据转换List<TogzhiView> list =(List<TogzhiView>)page.getList();for(TogzhiView c:list){//修改对应字典表字段dictionaryService.dictionaryConvert(c, request);}return R.ok().put("data", page);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id, HttpServletRequest request){logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);TogzhiEntity togzhi = togzhiService.selectById(id);if(togzhi !=null){//entity转viewTogzhiView view = new TogzhiView();BeanUtils.copyProperties( togzhi , view );//把实体数据重构到view中//级联表JiaoshiEntity jiaoshi = jiaoshiService.selectById(togzhi.getJiaoshiId());if(jiaoshi != null){BeanUtils.copyProperties( jiaoshi , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段view.setJiaoshiId(jiaoshi.getId());}//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put("data", view);}else {return R.error(511,"查不到数据");}}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody TogzhiEntity togzhi, HttpServletRequest request){logger.debug("save方法:,,Controller:{},,togzhi:{}",this.getClass().getName(),togzhi.toString());String role = String.valueOf(request.getSession().getAttribute("role"));if(false)return R.error(511,"永远不会进入");else if("教师".equals(role))togzhi.setJiaoshiId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));Wrapper<TogzhiEntity> queryWrapper = new EntityWrapper<TogzhiEntity>().eq("jiaoshi_id", togzhi.getJiaoshiId()).eq("togzhi_name", togzhi.getTogzhiName()).eq("togzhi_types", togzhi.getTogzhiTypes());logger.info("sql语句:"+queryWrapper.getSqlSegment());TogzhiEntity togzhiEntity = togzhiService.selectOne(queryWrapper);if(togzhiEntity==null){togzhi.setInsertTime(new Date());togzhi.setCreateTime(new Date());togzhiService.insert(togzhi);return R.ok();}else {return R.error(511,"表中有相同数据");}}/*** 后端修改*/@RequestMapping("/update")public R update(@RequestBody TogzhiEntity togzhi, HttpServletRequest request){logger.debug("update方法:,,Controller:{},,togzhi:{}",this.getClass().getName(),togzhi.toString());String role = String.valueOf(request.getSession().getAttribute("role"));
//        if(false)
//            return R.error(511,"永远不会进入");
//        else if("教师".equals(role))
//            togzhi.setJiaoshiId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));//根据字段查询是否有相同数据Wrapper<TogzhiEntity> queryWrapper = new EntityWrapper<TogzhiEntity>().notIn("id",togzhi.getId()).andNew().eq("jiaoshi_id", togzhi.getJiaoshiId()).eq("togzhi_name", togzhi.getTogzhiName()).eq("togzhi_types", togzhi.getTogzhiTypes());logger.info("sql语句:"+queryWrapper.getSqlSegment());TogzhiEntity togzhiEntity = togzhiService.selectOne(queryWrapper);if(togzhiEntity==null){togzhiService.updateById(togzhi);//根据id更新return R.ok();}else {return R.error(511,"表中有相同数据");}}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Integer[] ids){logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());togzhiService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 批量上传*/@RequestMapping("/batchInsert")public R save( String fileName){logger.debug("batchInsert方法:,,Controller:{},,fileName:{}",this.getClass().getName(),fileName);try {List<TogzhiEntity> togzhiList = new ArrayList<>();//上传的东西Map<String, List<String>> seachFields= new HashMap<>();//要查询的字段Date date = new Date();int lastIndexOf = fileName.lastIndexOf(".");if(lastIndexOf == -1){return R.error(511,"该文件没有后缀");}else{String suffix = fileName.substring(lastIndexOf);if(!".xls".equals(suffix)){return R.error(511,"只支持后缀为xls的excel文件");}else{URL resource = this.getClass().getClassLoader().getResource("static/upload/" + fileName);//获取文件路径File file = new File(resource.getFile());if(!file.exists()){return R.error(511,"找不到上传文件,请联系管理员");}else{List<List<String>> dataList = PoiUtil.poiImport(file.getPath());//读取xls文件dataList.remove(0);//删除第一行,因为第一行是提示for(List<String> data:dataList){//循环TogzhiEntity togzhiEntity = new TogzhiEntity();
//                            togzhiEntity.setJiaoshiId(Integer.valueOf(data.get(0)));   //教师 要改的
//                            togzhiEntity.setTogzhiName(data.get(0));                    //通知标题 要改的
//                            togzhiEntity.setTogzhiTypes(Integer.valueOf(data.get(0)));   //通知类型 要改的
//                            togzhiEntity.setInsertTime(date);//时间
//                            togzhiEntity.setTogzhiContent("");//照片
//                            togzhiEntity.setCreateTime(date);//时间togzhiList.add(togzhiEntity);//把要查询是否重复的字段放入map中}//查询是否重复togzhiService.insertBatch(togzhiList);return R.ok();}}}}catch (Exception e){return R.error(511,"批量插入数据异常,请联系管理员");}}}
@RestController
@Controller
@RequestMapping("/jiaoshi")
public class JiaoshiController {private static final Logger logger = LoggerFactory.getLogger(JiaoshiController.class);@Autowiredprivate JiaoshiService jiaoshiService;@Autowiredprivate TokenService tokenService;@Autowiredprivate DictionaryService dictionaryService;//级联表service/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));String role = String.valueOf(request.getSession().getAttribute("role"));if(false)return R.error(511,"永不会进入");else if("教师".equals(role))params.put("jiaoshiId",request.getSession().getAttribute("userId"));if(params.get("orderBy")==null || params.get("orderBy")==""){params.put("orderBy","id");}PageUtils page = jiaoshiService.queryPage(params);//字典表数据转换List<JiaoshiView> list =(List<JiaoshiView>)page.getList();for(JiaoshiView c:list){//修改对应字典表字段dictionaryService.dictionaryConvert(c, request);}return R.ok().put("data", page);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id, HttpServletRequest request){logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);JiaoshiEntity jiaoshi = jiaoshiService.selectById(id);if(jiaoshi !=null){//entity转viewJiaoshiView view = new JiaoshiView();BeanUtils.copyProperties( jiaoshi , view );//把实体数据重构到view中//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put("data", view);}else {return R.error(511,"查不到数据");}}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody JiaoshiEntity jiaoshi, HttpServletRequest request){logger.debug("save方法:,,Controller:{},,jiaoshi:{}",this.getClass().getName(),jiaoshi.toString());String role = String.valueOf(request.getSession().getAttribute("role"));if(false)return R.error(511,"永远不会进入");Wrapper<JiaoshiEntity> queryWrapper = new EntityWrapper<JiaoshiEntity>().eq("username", jiaoshi.getUsername()).or().eq("jiaoshi_phone", jiaoshi.getJiaoshiPhone()).or().eq("jiaoshi_id_number", jiaoshi.getJiaoshiIdNumber());logger.info("sql语句:"+queryWrapper.getSqlSegment());JiaoshiEntity jiaoshiEntity = jiaoshiService.selectOne(queryWrapper);if(jiaoshiEntity==null){jiaoshi.setCreateTime(new Date());jiaoshi.setPassword("123456");jiaoshiService.insert(jiaoshi);return R.ok();}else {return R.error(511,"账户或者教师手机号或者教师身份证号已经被使用");}}/*** 后端修改*/@RequestMapping("/update")public R update(@RequestBody JiaoshiEntity jiaoshi, HttpServletRequest request){logger.debug("update方法:,,Controller:{},,jiaoshi:{}",this.getClass().getName(),jiaoshi.toString());String role = String.valueOf(request.getSession().getAttribute("role"));
//        if(false)
//            return R.error(511,"永远不会进入");//根据字段查询是否有相同数据Wrapper<JiaoshiEntity> queryWrapper = new EntityWrapper<JiaoshiEntity>().notIn("id",jiaoshi.getId()).andNew().eq("username", jiaoshi.getUsername()).or().eq("jiaoshi_phone", jiaoshi.getJiaoshiPhone()).or().eq("jiaoshi_id_number", jiaoshi.getJiaoshiIdNumber());logger.info("sql语句:"+queryWrapper.getSqlSegment());JiaoshiEntity jiaoshiEntity = jiaoshiService.selectOne(queryWrapper);if("".equals(jiaoshi.getJiaoshiPhoto()) || "null".equals(jiaoshi.getJiaoshiPhoto())){jiaoshi.setJiaoshiPhoto(null);}if(jiaoshiEntity==null){jiaoshiService.updateById(jiaoshi);//根据id更新return R.ok();}else {return R.error(511,"账户或者教师手机号或者教师身份证号已经被使用");}}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Integer[] ids){logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());jiaoshiService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 批量上传*/@RequestMapping("/batchInsert")public R save( String fileName){logger.debug("batchInsert方法:,,Controller:{},,fileName:{}",this.getClass().getName(),fileName);try {List<JiaoshiEntity> jiaoshiList = new ArrayList<>();//上传的东西Map<String, List<String>> seachFields= new HashMap<>();//要查询的字段Date date = new Date();int lastIndexOf = fileName.lastIndexOf(".");if(lastIndexOf == -1){return R.error(511,"该文件没有后缀");}else{String suffix = fileName.substring(lastIndexOf);if(!".xls".equals(suffix)){return R.error(511,"只支持后缀为xls的excel文件");}else{URL resource = this.getClass().getClassLoader().getResource("static/upload/" + fileName);//获取文件路径File file = new File(resource.getFile());if(!file.exists()){return R.error(511,"找不到上传文件,请联系管理员");}else{List<List<String>> dataList = PoiUtil.poiImport(file.getPath());//读取xls文件dataList.remove(0);//删除第一行,因为第一行是提示for(List<String> data:dataList){//循环JiaoshiEntity jiaoshiEntity = new JiaoshiEntity();
//                            jiaoshiEntity.setUsername(data.get(0));                    //账户 要改的
//                            //jiaoshiEntity.setPassword("123456");//密码
//                            jiaoshiEntity.setJiaoshiName(data.get(0));                    //教师姓名 要改的
//                            jiaoshiEntity.setJiaoshiPhone(data.get(0));                    //教师手机号 要改的
//                            jiaoshiEntity.setJiaoshiIdNumber(data.get(0));                    //教师身份证号 要改的
//                            jiaoshiEntity.setJiaoshiPhoto("");//照片
//                            jiaoshiEntity.setSexTypes(Integer.valueOf(data.get(0)));   //性别 要改的
//                            jiaoshiEntity.setJiaoshiEmail(data.get(0));                    //电子邮箱 要改的
//                            jiaoshiEntity.setCreateTime(date);//时间jiaoshiList.add(jiaoshiEntity);//把要查询是否重复的字段放入map中//账户if(seachFields.containsKey("username")){List<String> username = seachFields.get("username");username.add(data.get(0));//要改的}else{List<String> username = new ArrayList<>();username.add(data.get(0));//要改的seachFields.put("username",username);}//教师手机号if(seachFields.containsKey("jiaoshiPhone")){List<String> jiaoshiPhone = seachFields.get("jiaoshiPhone");jiaoshiPhone.add(data.get(0));//要改的}else{List<String> jiaoshiPhone = new ArrayList<>();jiaoshiPhone.add(data.get(0));//要改的seachFields.put("jiaoshiPhone",jiaoshiPhone);}//教师身份证号if(seachFields.containsKey("jiaoshiIdNumber")){List<String> jiaoshiIdNumber = seachFields.get("jiaoshiIdNumber");jiaoshiIdNumber.add(data.get(0));//要改的}else{List<String> jiaoshiIdNumber = new ArrayList<>();jiaoshiIdNumber.add(data.get(0));//要改的seachFields.put("jiaoshiIdNumber",jiaoshiIdNumber);}}//查询是否重复//账户List<JiaoshiEntity> jiaoshiEntities_username = jiaoshiService.selectList(new EntityWrapper<JiaoshiEntity>().in("username", seachFields.get("username")));if(jiaoshiEntities_username.size() >0 ){ArrayList<String> repeatFields = new ArrayList<>();for(JiaoshiEntity s:jiaoshiEntities_username){repeatFields.add(s.getUsername());}return R.error(511,"数据库的该表中的 [账户] 字段已经存在 存在数据为:"+repeatFields.toString());}//教师手机号List<JiaoshiEntity> jiaoshiEntities_jiaoshiPhone = jiaoshiService.selectList(new EntityWrapper<JiaoshiEntity>().in("jiaoshi_phone", seachFields.get("jiaoshiPhone")));if(jiaoshiEntities_jiaoshiPhone.size() >0 ){ArrayList<String> repeatFields = new ArrayList<>();for(JiaoshiEntity s:jiaoshiEntities_jiaoshiPhone){repeatFields.add(s.getJiaoshiPhone());}return R.error(511,"数据库的该表中的 [教师手机号] 字段已经存在 存在数据为:"+repeatFields.toString());}//教师身份证号List<JiaoshiEntity> jiaoshiEntities_jiaoshiIdNumber = jiaoshiService.selectList(new EntityWrapper<JiaoshiEntity>().in("jiaoshi_id_number", seachFields.get("jiaoshiIdNumber")));if(jiaoshiEntities_jiaoshiIdNumber.size() >0 ){ArrayList<String> repeatFields = new ArrayList<>();for(JiaoshiEntity s:jiaoshiEntities_jiaoshiIdNumber){repeatFields.add(s.getJiaoshiIdNumber());}return R.error(511,"数据库的该表中的 [教师身份证号] 字段已经存在 存在数据为:"+repeatFields.toString());}jiaoshiService.insertBatch(jiaoshiList);return R.ok();}}}}catch (Exception e){return R.error(511,"批量插入数据异常,请联系管理员");}}/*** 登录*/@IgnoreAuth@RequestMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {JiaoshiEntity jiaoshi = jiaoshiService.selectOne(new EntityWrapper<JiaoshiEntity>().eq("username", username));if(jiaoshi==null || !jiaoshi.getPassword().equals(password))return R.error("账号或密码不正确");//  // 获取监听器中的字典表// ServletContext servletContext = ContextLoader.getCurrentWebApplicationContext().getServletContext();// Map<String, Map<Integer, String>> dictionaryMap= (Map<String, Map<Integer, String>>) servletContext.getAttribute("dictionaryMap");// Map<Integer, String> role_types = dictionaryMap.get("role_types");// role_types.get(.getRoleTypes());String token = tokenService.generateToken(jiaoshi.getId(),username, "jiaoshi", "教师");R r = R.ok();r.put("token", token);r.put("role","教师");r.put("username",jiaoshi.getJiaoshiName());r.put("tableName","jiaoshi");r.put("userId",jiaoshi.getId());return r;}/*** 注册*/@IgnoreAuth@PostMapping(value = "/register")public R register(@RequestBody JiaoshiEntity jiaoshi){
//    	ValidatorUtils.validateEntity(user);Wrapper<JiaoshiEntity> queryWrapper = new EntityWrapper<JiaoshiEntity>().eq("username", jiaoshi.getUsername()).or().eq("jiaoshi_phone", jiaoshi.getJiaoshiPhone()).or().eq("jiaoshi_id_number", jiaoshi.getJiaoshiIdNumber());JiaoshiEntity jiaoshiEntity = jiaoshiService.selectOne(queryWrapper);if(jiaoshiEntity != null)return R.error("账户或者教师手机号或者教师身份证号已经被使用");jiaoshi.setCreateTime(new Date());jiaoshiService.insert(jiaoshi);return R.ok();}/*** 重置密码*/@GetMapping(value = "/resetPassword")public R resetPassword(Integer  id){JiaoshiEntity jiaoshi = new JiaoshiEntity();jiaoshi.setPassword("123456");jiaoshi.setId(id);jiaoshiService.updateById(jiaoshi);return R.ok();}/*** 忘记密码*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request) {JiaoshiEntity jiaoshi = jiaoshiService.selectOne(new EntityWrapper<JiaoshiEntity>().eq("username", username));if(jiaoshi!=null){jiaoshi.setPassword("123456");boolean b = jiaoshiService.updateById(jiaoshi);if(!b){return R.error();}}else{return R.error("账号不存在");}return R.ok();}/*** 获取用户的session用户信息*/@RequestMapping("/session")public R getCurrJiaoshi(HttpServletRequest request){Integer id = (Integer)request.getSession().getAttribute("userId");JiaoshiEntity jiaoshi = jiaoshiService.selectById(id);if(jiaoshi !=null){//entity转viewJiaoshiView view = new JiaoshiView();BeanUtils.copyProperties( jiaoshi , view );//把实体数据重构到view中//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put("data", view);}else {return R.error(511,"查不到数据");}}/*** 退出*/@GetMapping(value = "logout")public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok("退出成功");}}

五、论文参考

  • 计算机毕业设计选题推荐-学院教学工作量统计系统-论文参考:
    计算机毕业设计选题推荐-学院教学工作量统计系统-论文参考

六、系统视频

  • 学院教学工作量统计系统-项目视频:

计算机毕业设计选题推荐-学院教学工作量统计系统-项目实战

结语

计算机毕业设计选题推荐-学院教学工作量统计系统-Java/Python项目实战
大家可以帮忙点赞、收藏、关注、评论啦~
源码获取:⬇⬇⬇

精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目

相关文章:

计算机毕业设计选题推荐-学院教学工作量统计系统-Java/Python项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…...

人机交互不仅仅是科技问题

人机交互不仅仅局限于物理和数理科学的应用&#xff0c;还涉及到更广泛的管理、文理、哲学、艺术、伦理以及法律等领域。下面这些领域在人机协同和智能系统应用中扮演着重要角色&#xff1a; 智能系统在企业管理、资源分配、决策支持等方面的应用&#xff0c;可以帮助管理者优化…...

Lua Debug.GetInfo

在 Lua 中&#xff0c;debug.getinfo 函数的第一个参数指定了要获取信息的函数的级别。这个级别是一个整数&#xff0c;表示调用栈的深度。以下是一些常见的级别和它们的含义&#xff1a; - 1&#xff1a;当前函数&#xff08;即调用 debug.getinfo 的函数&#xff09;。 - 2&a…...

每日刷题(最短路、图论)

目录 游戏 思路 代码 魔法 思路 代码 P1364 医院设置 思路 代码 P1144 最短路计数 思路 代码 游戏 I-游戏_河南萌新联赛2024第&#xff08;三&#xff09;场&#xff1a;河南大学 (nowcoder.com) 思路 利用dijkstra去寻找起点到其余所有点的最短路径&#xff0c;当…...

远程服务器训练网络之tensorboard可视化

cd到tensorboard events存储的位置 启动tensorboard tensorboard --logdir./ 得到运行结果&#xff1a; TensorBoard 1.13.1 at http://work:6006 (Press CTRLC to quit) 创建tunnel映射到本地&#xff0c;在本地ssh&#xff0c;最好使用公网地址 ssh -N -L 8080:localhost:60…...

MySQL锁详解

锁是计算机在执行多线程或线程时用于并发访问同一共享资源时的同步机制&#xff0c;MySQL中的锁是在服务器层或者存储引擎层实现的&#xff0c;保证了数据访问的一致性与有效性。 MySQL锁&#xff1a; 按粒度分为&#xff1a;全局锁、表级锁、页级锁、行级锁。按模式分为&…...

面试问题记录:

1&#xff0c;hashmap扩容的时候&#xff0c;链表超长但不满足转变成红黑树的条件时&#xff1a; 【HashMap】链表和红黑树互相转换的几种情况和数组的扩容机制_hashmap红黑树转链表条件-CSDN博客 2&#xff0c;cglib与proxy区别 JDK 动态代理和 CGLIB 动态代理对比_动态代理…...

vue如何在组件中监听路由参数的变化

使用 watch 监听 $route 对象 的变化&#xff0c;从而捕捉路由参数的变化 beforeRouteUpdate 导航守卫 当前组件路由更新时调用 beforeRouteUpdate 钩子只在组件被复用时调用&#xff0c;即当组件实例仍然存在时。如果组件是完全重新创建的&#xff0c;那么应该使用 beforeR…...

antd中form表单校验文件上传

antd中文件上传需要单独设置this.model中得数据 this.$set(this.model, filePath,上传成功后返回得文件路径地址)...

商家转账到零钱2024最新开通必过攻略

微信支付商家转账到零钱功能申请设置了人工审核的门槛&#xff0c;本意是为了防止没有合规使用场景的商户滥用该功能&#xff0c;但这也让相当多的真实用户被一次次拒之门外。结合过去6年开通此类产品的经验&#xff0c;今天我们就以2024年最新的的商家转账到零钱的开通流程做一…...

2024全新Thinkphp聊天室H5实时聊天室群聊聊天室自动分配账户完群组/私聊/禁言等功能/全开源运营版本

全开源运营版本聊天室H5实时聊天室群聊聊天室自动分配账户完群组/私聊/禁言等功能 运营版本的聊天室&#xff0c;可以添加好友&#xff0c;建立群组&#xff0c;私聊&#xff0c;禁言功能 H5TP5.0mysqlPHP 源码开源不加密...

(一)javascript中class类

在 JavaScript 中使用 class 语法可以定义类的结构&#xff0c;其中可以包括静态属性/方法、私有属性/方法、公共属性/方法和受保护属性/方法。这些概念有助于封装和数据隐藏&#xff0c;使得代码更加模块化和安全。下面我会解释这些不同的属性和方法&#xff0c;以及如何在类中…...

【注意力MHA,MQA,GQA,MLA】

注意力机制优化简明图解 1. 多头注意力&#xff08;MHA&#xff09; 图示&#xff1a; Input --> [Attention Head 1]--> [Attention Head 2]--> [Attention Head 3]--> ...--> [Attention Head N]--> [Concatenate] --> Output公式&#xff1a; Outpu…...

《从零开始做个摸鱼小网站! · 序》灵感来源

序 大家好呀&#xff0c;我是summo&#xff0c;这次来写写我在上班空闲(摸鱼)的时候做的一个小网站的事。去年阿里云不是推出了个活动嘛&#xff0c;2核2G的云服务器一年只要99块钱&#xff0c;懂行的人应该知道这个价格在业界已经是非常良心了&#xff0c;虽然优惠只有一年&a…...

计算机基础(Windows 10+Office 2016)教程 —— 第5章 文档编辑软件Word 2016(上)

文档编辑软件Word 2016 5.1 Word 2016入门5.1.1 Word 2016 简介5.1.2 Word 2016 的启动5.1.3 Word 2016 的窗口组成5.1.4 Word 2016 的视图方式5.1.5 Word 2016 的文档操作5.1.6 Word 2016 的退出 5.2 Word 2016的文本编辑5.2.1 输入文本5.2.3 插入与删除文本5.2.4 复制与移动文…...

短视频矩阵管理系统源码:实现短视频内容全面布局

随着移动互联网的普及&#xff0c;短视频应用逐渐成为人们获取信息、娱乐休闲的重要途径。为了满足用户多样化需求&#xff0c;实现短视频内容的全面布局&#xff0c;短视频矩阵管理系统应运而生。本文将详细介绍短视频矩阵管理系统的源码实现&#xff0c;帮助您更好地理解并应…...

系统设计中15 个最重要的权衡

系统设计的第一法则&#xff1a;一切都与权衡有关。 在设计系统时&#xff0c;我们需要决定要包含哪些功能以及要忽略哪些功能。每次我们做这个决定时&#xff0c;我们都在进行权衡。在本文中&#xff0c;我们将探讨系统设计中遇到的15个最常见的权衡问题&#xff0c;并使用实…...

12年外贸实战经验,一定对你有帮助!

更多外贸干货及开发客户的方法&#xff0c;尽在微信【千千外贸干货】 NO1 客户总是抱怨价格太高&#xff0c;我常以我们产品质量过硬作为回应。但自从我进入贸易公司后&#xff0c;才真正意识到&#xff0c;在商业世界里&#xff0c;价格才是王道。 NO2 如果顾客提出要去工厂检…...

Linux---进程(3)---进程状态

目录 进程排队 进程状态 运行状态 阻塞状态 挂起状态 Linux内核具体进程状态 浅度睡眠状态 运行状态 深度睡眠状态 暂停状态 可被追踪的暂停状态 终止状态 僵尸状态 进程排队 进程不是一直在运行的&#xff0c;进程放在了CPU上&#xff0c;也不是一直运行的。 进程…...

Drools规则引擎实现停车计费

业务规则: 20:00至次日7时不收费白天7:00-20:00每小时5元,每半个小时计费一次进场30分钟内不收费,但计入时间每天最高收费50元 测试项目搭建 pom<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/…...

【python虚拟环境】安装第三方包失败/failed with error code1

问题&#xff1a; 今天新建了一个项目&#xff0c;默认的虚拟环境pip包版本是19.0.3&#xff0c;太低了。安装第三方包的时候一直超时 解决方案: 更新pip&#xff1a; python -m pip install -U --force-reinstall pip然后就可以正常pip install包了 清华镜像源&#xff1…...

DiffusionModel-latent diffusion,VAE,U-Net,Text-encoder

Diffusers StableDdiffusion 参考: Stable Diffusion原理详解&#xff08;附代码实现) Latent Diffusion 自编码器&#xff08;Variational Autoencoder, VAE&#xff09;&#xff1a; 自编码器是一种无监督学习的神经网络&#xff0c;用于学习数据的有效表示或编码。在稳定扩…...

C# form的移植工作

前言&#xff1a; 目标&#xff0c;将一个项目的form移植到新的工程下&#xff0c;且能够正确编译执行&#xff1a; 1 Copy form的两个文件到新工程下&#xff1a; 比如笔者的logo form 2 修改命名空间&#xff1a; 然后&#xff0c;找到新项目的主程序&#xff1a; 的命名…...

linux防火墙相关命令

防火墙启动关闭 启动防火墙 systemctl start firewalld 关闭防火墙 systemctl stop firewalld 查看状态 systemctl status firewalld 开放或限制端口 开放端口 firewall-cmd --zonepublic --add-port22/tcp --permanent 重新载入一下防火墙设置&#xff0c;使设置生效…...

实习中学到的一点计算机知识(MP4在企业微信打不开?)

我在实习中&#xff0c;常有同事向我反馈说我在微信发的视频格式打不开。这就导致我还要一帧帧的盯着某一个时刻来截图&#xff0c;今天查了一下资料尝试修改视频后缀来解决视频的播放问题。 在网上下载mp4的格式&#xff0c;在本地都能播放&#xff0c;怎么可能发上企业微信就…...

ElasticSearch入门语法基础知识

1、创建测试索引 PUT /test_index_person {"settings": {"analysis": {"analyzer": {"ik_analyzer": {"type": "custom","tokenizer": "ik_smart"}}}},"mappings": {"proper…...

【C++】C++应用案例-dolphin海豚记账本

目录 一、整体介绍 1.1、需求和目标 1.2、整体功能描述 二、页面及功能描述 2.1 主菜单 2.2 记账菜单 2.3 查询菜单 2.4 退出功能 三、流程设计 3.1 主流程 3.2 记账操作流程 3.3 查询操作流程 四、代码设计 4.1 核心思路 4.2 项目文件分类设计 4.2.1 头文件 …...

Matlab数据处理学习笔记

1 &#xff1a;数据清洗 注&#xff1a;数据读取 &#xff08;1&#xff09;读取工作表 % 指定要读取的工作表 filename sales_data.xlsx; sheetName Sheet2; % 或者使用工作表编号&#xff0c;例如&#xff1a;sheetNumber 2;% 读取指定工作表的数据 data readtable(fi…...

浏览器中的同源策略、CORS 以及相关的 Fetch API 使用

前言 笔者对前端 Web 技术的认真学习&#xff0c;其实开始于与 Fetch API 的邂逅。当时觉得 fetch() 的设计很不错&#xff0c;也很希望能够请求其它网站下的数据并作处理和展示。学习过程中 HTML 和 CSS 都还好说&#xff0c;由于几乎没有 Web 技术的基础&#xff0c;学习 Fe…...

爬虫 APP 逆向 ---> 粉笔考研

环境&#xff1a; 粉笔考研 v6.3.15&#xff1a;https://www.wandoujia.com/apps/1220941/history_v6031500雷电9 模拟器&#xff1a;https://www.ldmnq.com/安装 magisk&#xff1a;https://blog.csdn.net/Ruaki/article/details/135580772安装 Dia 插件 (作用&#xff1a;禁…...

网站开发需要的资料/合肥网站推广电话

from: https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-centos-7转载于:https://www.cnblogs.com/jhj117/p/7841586.html...

centos7如何安装wordpress/百度竞价广告代理

目录 题目描述&#xff1a;示例 :解法&#xff1a;题目描述&#xff1a; 给定一棵二叉树&#xff0c;你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。 示例 : 给定二叉树 1/ \2 3/ \ 4 5 返回 3, 它的长度是…...

罗湖网站建设的公司哪家好/自己如何制作网页

算术运算符 对变量和数组进行算术运算。 算术运算符&#xff1a;&#xff0c;-&#xff0c;*&#xff0c;/&#xff0c;% &#xff1a;将连个或者多个数值相加 -&#xff1a;将两个数值相减 *&#xff1a;将两个数值相乘 /&#xff1a;将两个数值相除 %&#xff1a;取相除的余数…...

做招聘网站要多久/百度客服系统

如果要讨论人工智能在这两年最为火热的应用方向&#xff0c;智能穿戴、智慧交通、智能制造、智慧社区、智慧城市必定榜上有名&#xff0c;它们的共同之处在于&#xff0c;需要机器通过AI赋能去“看清”和“看懂”海量的画面信息。因此&#xff0c;机器视觉的广泛应用&#xff0…...

惠州网站策划建设/淘宝引流推广平台

主要用到的几个JQUERY函数&#xff1a; li:nth-child(2) 第二张图的意思&#xff1b; attr() 方法设置或返回被选元素的属性值。 setInterval() 方法可按照指定的周期&#xff08;以毫秒计&#xff09;来调用函数或计算表达式。 先看代码 <!DOCTYPE html PUBLIC "-//W…...

聊城做网站推广哪家好/广告优化师培训

1、针对布局加载Xml文件的优化&#xff0c;我们使用了异步Inflate的方式&#xff0c;即AsyncLayoutInflater。它的核心原理是在子线程中对我们的Layout进行加载&#xff0c;而加载完成之后会将View通过Handler发送到主线程来使用。所以不会阻塞我们的主线程&#xff0c;加载的时…...