【开源】基于Vue.js的大学兼职教师管理系统的设计和实现

在这里插入图片描述

目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目详细录屏
  • 二、研究内容
  • 三、界面展示
    • 3.1 登录注册
    • 3.2 学生教师管理
    • 3.3 课程管理模块
    • 3.4 授课管理模块
    • 3.5 课程考勤模块
    • 3.6 课程评价模块
    • 3.7 课程成绩模块
    • 3.8 可视化图表
  • 四、免责说明


一、摘要

1.1 项目介绍

大学兼职教师管理系统,旨在提高高校兼职教师的管理效率和准确性。该系统包括教师信息管理、授课管理、班级管理、课程评价管理等模块,通过对兼职教师的基本信息、班级状况和成绩评估进行集中管理,实现各种管理目标。该系统还具有良好的用户体验和便利性,允许管理员轻松完成每项任务,兼职教师也可以通过该系统查看他们的个人信息和课程状态。最后,通过实际应用验证了该系统的可行性和有效性,表明该系统能够满足高校兼职教师管理的需要。

  • 前端:Vue 2.7.10

  • 后端:Spring Boot 3.1.10

  • 数据库:MySQL 8.0.31

随着大学教育规模的扩大和教学环境的丰富,越来越多的兼职教师被雇佣来满足教育需求,然而,在传统的兼职教师管理模式中,存在信息集中、工资管理困难、审核不公等问题,这些问题给高校兼职教师的管理带来了巨大挑战。因此,研究一套可行的大学兼职教师管理系统,对于提高高校兼职教师的管理效率,保护兼职教师的权益,提高教育质量具有重要意义。同时,随着信息技术的发展,利用计算机和网络技术开发高效、安全、易用的管理系统已成为现实。

1.2 项目详细录屏

https://www.bilibili.com/video/BV1Fh411T7zD


二、研究内容

大学兼职教师管理系统的设计与实现,通过完备的功能测试和性能测试来验证该系统的质量。根据项目要求,结合外聘教师管理目前存在的主要问题和需求,确定系统开发的功能模块,分别为:聘用管理、个人基础信息管理、授课信息管理、授课信息查询以及个人信息查询等。系统采用Java技术对前台进行开发,主要使用IDEA软件开发,采用MySQL作为后台数据库,不同角色要有不同的权限。根据要求实现大学兼职教师管理系统的设计、开发和测试,大学兼职教师管理系统包括以下功能模块:

  • 登录模块,实现教师及管理员拥有不同权限的账号登录。
  • 教师管理功能模块,实现对外聘教师基础信息的编辑及模拟查询。
  • 授课信息管理模块,实现外聘教师对所授课程信息的编辑(如调串课、课时更新等)。
  • 课程管理模块,实现对课程的新增申请、编辑课程(课程的档案数据,如课程介绍)、删除课程、按教师/课程名称条件查询的功能。
  • 课程成绩模块,实现对参与课程学生的成绩进行管理,包括对新课程的初始化功能、期中/期末成绩的录入功能,以及加权成绩的自动计算。
  • 课程考勤模块,实现对参与课程学生的出勤进行管理,教师可以对指定课时的出勤记录进行登记,记录请假、迟到、旷课的学生。
  • 课程评价模块,实现学生对兼职教师课程的评价功能,包括评价星级、评语,以便于教师改进课程质量,改变课程教学风格。
  • 数据分析统计模块,实现对外聘教师如教龄薪资、教师课时数据、学评教数据等信息的统计制图。

在这里插入图片描述

  1. 课程管理模块

大学兼职教师管理系统需要一个课程管理模块,课程管理模块可以使大学兼职教师管理系统更加完善和高效。首先,课程管理模块可以轻松管理每门课程的基本信息,如时间、地点和材料,接下来,课程管理模块还可以实现教师的课程管理,如输入课程记录、检查学生的工作状态等,最后,课程管理模块可以提供统计分析功能,评估教师的教育表现和课程质量,为学校管理决策提供数据支持,因此,课程管理模块对高校兼职教师管理系统具有非常重要的意义。

  1. 课程考勤模块

大学兼职教师管理系统需要一个课程考勤模块,通过课程考勤模块,可以准确记录每一位兼职教师上课的出勤情况,并确认教师是否按时完成教学任务,课程考勤模块还可以汇总每个兼职教师的实际课时和相应的薪酬,这使大学管理人员能够更直观地了解每位教师在教学活动中的表现和收入,并在此基础上做出适当的评估和激励。通过课程考勤模块模块,可以有效监督教师的教学行为,防止学生迟到、早退、缺课,提高教育质量和效果,总之,课程考勤模块是大学兼职教师管理系统不可或缺的功能,可以有效促进教育管理和教育质量的提高。

  1. 课程评价模块

大学兼职教师管理系统之所以需要课程评价模块,是为了及时掌握兼职教师的班级状况和教育效果,并对兼职教师的表现进行评估和评价,通过对学生课程的评估,可以了解兼职教师在课堂上的表现、教学方法是否合适、能否很好地交流知识等,并可以及时发现问题并提出改进建议,此外,课程评价可以促进教学质量的提高,使兼职教师能够不断改进教学方法和思路,更好地为学生和教育事业服务。

  1. 授课管理模块

大学兼职教师管理系统中需要一个授课管理模块,是因为它可以有效地管理教师的教学情况,提高教学效率和质量,授课功能便于安排教师上课时间、地点和班级的信息,避免浪费时间、地点等资源。根据绩效评估功能,可以记录和管理教师的教学情况,及时发现教师的缺勤和迟到情况,并进行相应的处理。通过授课功能,可以对教师的教学质量进行评估和反馈,提供有效的改进建议和指导,提高教师的教学能力和水平,因此,授课管理模块对于大学兼职教师管理系统非常重要,它可以提高教育的效率和质量,确保教育教育的顺利进行。

  1. 课程成绩模块

大学兼职教师管理系统需要成绩模块,因为成绩是衡量学生成绩的重要指标,而成绩模块是记录、计算和管理学生成绩的一个重要工具,成绩模块允许教师轻松输入、查询和修改学生成绩,成绩管理模块使教师能够轻松评估学生的表现,及时发现问题并采取行动,成绩管理模块可以提高学生的参与度和积极性,鼓励他们更加认真地学习。学生表现反馈可以让学生感觉到他们的努力得到了认可,并帮助他们更好地规划学习计划,课程成绩模块允许教师评估和改进教学,以提高教学质量和有效性,同时,课程成绩模块提供统计分析,评估教师和课程的整体表现,为学校管理决策提供数据支持,因此,课程成绩模块对于大学兼职教师管理系统来说非常重要。

在这里插入图片描述

三、界面展示

3.1 登录注册

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
查询用户的核心代码如下:

@Autowired
private IUserService iUserService;

@RequestMapping(value = "/getUserList", method = RequestMethod.GET)
@ApiOperation(value = "查询用户")
public Result<List<User>> getUserList(@RequestParam Integer type){
    QueryWrapper<User> qw = new QueryWrapper<>();
    qw.eq("type",type);
    return new ResultUtil<List<User>>().setData(iUserService.list(qw));
}

3.2 学生教师管理

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

3.3 课程管理模块

在这里插入图片描述

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询课程")
public Result<IPage<Curriculum>> getByPage(@ModelAttribute Curriculum curriculum ,@ModelAttribute PageVo page){
    QueryWrapper<Curriculum> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(curriculum.getTitle())) {
        qw.like("title",curriculum.getTitle());
    }
    if(!ZwzNullUtils.isNull(curriculum.getContent())) {
        qw.like("content",curriculum.getContent());
    }
    IPage<Curriculum> data = iCurriculumService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Curriculum>>().setData(data);
}

在这里插入图片描述

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增课程")
public Result<Curriculum> insert(Curriculum curriculum){
    iCurriculumService.saveOrUpdate(curriculum);
    return new ResultUtil<Curriculum>().setData(curriculum);
}
@RequestMapping(value = "/update", method = RequestMethod.POST)
@ApiOperation(value = "编辑课程")
public Result<Curriculum> update(Curriculum curriculum){
    iCurriculumService.saveOrUpdate(curriculum);
    return new ResultUtil<Curriculum>().setData(curriculum);
}

在这里插入图片描述

3.4 授课管理模块

在这里插入图片描述

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询授课")
public Result<IPage<GiveLessons>> getByPage(@ModelAttribute GiveLessons giveLessons ,@ModelAttribute PageVo page){
    QueryWrapper<GiveLessons> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(giveLessons.getCurriculumName())) {
        qw.like("curriculum_name",giveLessons.getCurriculumName());
    }
    if(!ZwzNullUtils.isNull(giveLessons.getTeaName())) {
        qw.like("tea_name",giveLessons.getTeaName());
    }
    IPage<GiveLessons> data = iGiveLessonsService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<GiveLessons>>().setData(data);
}

在这里插入图片描述

@RequestMapping(value = "/update", method = RequestMethod.POST)
@ApiOperation(value = "编辑授课")
public Result<GiveLessons> update(GiveLessons giveLessons){
    Curriculum c = iCurriculumService.getById(giveLessons.getCurriculumId());
    if(c == null) {
        return ResultUtil.error("课程不存在");
    }
    giveLessons.setCurriculumName(c.getTitle());
    giveLessons.setImage(c.getImage());
    User t = iUserService.getById(giveLessons.getTeaId());
    if(t == null) {
        return ResultUtil.error("老师不存在");
    }
    giveLessons.setTeaName(t.getNickname());
    iGiveLessonsService.saveOrUpdate(giveLessons);
    return new ResultUtil<GiveLessons>().setData(giveLessons);
}

3.5 课程考勤模块

在这里插入图片描述

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询课程考勤")
public Result<IPage<Attendance>> getByPage(@ModelAttribute Attendance attendance ,@ModelAttribute PageVo page){
    QueryWrapper<Attendance> qw = new QueryWrapper<>();
    User currUser = securityUtil.getCurrUser();
    QueryWrapper<User> userQw = new QueryWrapper<>();
    userQw.eq("id",currUser.getId());
    userQw.inSql("id","SELECT user_id FROM a_user_role WHERE del_flag = 0 AND (role_id = '1667344323877933056' OR role_id = '1536606659751841799')");
    if(iUserService.count(userQw) < 1L) {
        qw.eq("stu_id",currUser.getId());
    }
    if(!ZwzNullUtils.isNull(attendance.getCurriculumName())) {
        qw.like("curriculum_name",attendance.getCurriculumName());
    }
    if(!ZwzNullUtils.isNull(attendance.getStuName())) {
        qw.like("stu_name",attendance.getStuName());
    }
    IPage<Attendance> data = iAttendanceService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Attendance>>().setData(data);
}

在这里插入图片描述

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增课程考勤")
public Result<Attendance> insert(Attendance attendance){
    Curriculum c = iCurriculumService.getById(attendance.getCurriculumId());
    if(c == null) {
        return ResultUtil.error("课程不存在");
    }
    attendance.setCurriculumName(c.getTitle());
    attendance.setImage(c.getImage());
    User s = iUserService.getById(attendance.getStuId());
    if(s == null) {
        return ResultUtil.error("学生不存在");
    }
    attendance.setStuName(s.getNickname());
    iAttendanceService.saveOrUpdate(attendance);
    return new ResultUtil<Attendance>().setData(attendance);
}

在这里插入图片描述

3.6 课程评价模块

在这里插入图片描述

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询课程评价")
public Result<IPage<Appraise>> getByPage(@ModelAttribute Appraise appraise ,@ModelAttribute PageVo page){
    QueryWrapper<Appraise> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(appraise.getCurriculumName())) {
        qw.like("curriculum_name",appraise.getCurriculumName());
    }
    if(!ZwzNullUtils.isNull(appraise.getStuName())) {
        qw.like("stu_name",appraise.getStuName());
    }
    IPage<Appraise> data = iAppraiseService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Appraise>>().setData(data);
}

在这里插入图片描述

@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "添加评价")
public Result<Object> addOne(@RequestParam String id,@RequestParam String content){
    Curriculum c = iCurriculumService.getById(id);
    if(c == null) {
        return ResultUtil.error("课程不存在");
    }
    User currUser = securityUtil.getCurrUser();
    Appraise a = new Appraise();
    a.setCurriculumId(c.getId());
    a.setCurriculumName(c.getTitle());
    a.setImage(c.getImage());
    a.setStuId(currUser.getId());
    a.setStuName(currUser.getNickname());
    a.setContent(content);
    iAppraiseService.saveOrUpdate(a);
    return ResultUtil.success();
}

在这里插入图片描述

3.7 课程成绩模块

在这里插入图片描述

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询课程成绩")
public Result<IPage<Achievement>> getByPage(@ModelAttribute Achievement achievement ,@ModelAttribute PageVo page){
    QueryWrapper<Achievement> qw = new QueryWrapper<>();
    User currUser = securityUtil.getCurrUser();
    QueryWrapper<User> userQw = new QueryWrapper<>();
    userQw.eq("id",currUser.getId());
    userQw.inSql("id","SELECT user_id FROM a_user_role WHERE del_flag = 0 AND (role_id = '1667344323877933056' OR role_id = '1536606659751841799')");
    if(iUserService.count(userQw) < 1L) {
        qw.eq("stu_id",currUser.getId());
    }
    if(!ZwzNullUtils.isNull(achievement.getCurriculumName())) {
        qw.like("curriculum_name",achievement.getCurriculumName());
    }
    if(!ZwzNullUtils.isNull(achievement.getStuName())) {
        qw.like("stu_name",achievement.getStuName());
    }
    if(!ZwzNullUtils.isNull(achievement.getTeaName())) {
        qw.like("tea_name",achievement.getTeaName());
    }
    IPage<Achievement> data = iAchievementService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Achievement>>().setData(data);
}

在这里插入图片描述

@RequestMapping(value = "/makeGrade", method = RequestMethod.GET)
@ApiOperation(value = "打分")
public Result<Object> makeGrade(@RequestParam String id,@RequestParam BigDecimal grade){
    Achievement a = iAchievementService.getById(id);
    if(a == null) {
        return ResultUtil.error("成绩单不存在");
    }
    a.setNumber1(grade);
    a.setNumberSum(a.getNumber1().multiply(BigDecimal.valueOf(0.6)).add(a.getNumber2().multiply(BigDecimal.valueOf(0.4))));
    iAchievementService.saveOrUpdate(a);
    return ResultUtil.success();
}

3.8 可视化图表

在这里插入图片描述

@RequestMapping(value = "/getAntvVoList2", method = RequestMethod.GET)
@ApiOperation(value = "教龄分析")
public Result<List<AntvVo>> getAntvVoList2(){
    List<AntvVo> ansList = new ArrayList<>();
    QueryWrapper<User> userQw = new QueryWrapper<>();
    userQw.eq("type",1);
    List<User> teacherList = iUserService.list(userQw);
    for (User o : teacherList) {
        boolean flag = false;
        for (AntvVo vo : ansList) {
            if(Objects.equals(vo.getTitle(),o.getAge().toString())) {
                flag = true;
                vo.setValue(vo.getValue().add(BigDecimal.ONE));
                break;
            }
        }
        if(!flag) {
            AntvVo vo = new AntvVo();
            vo.setTitle(o.getAge().toString());
            vo.setType("教龄");
            vo.setValue(BigDecimal.ONE);
            ansList.add(vo);
        }
    }
    return new ResultUtil<List<AntvVo>>().setData(ansList);
}

在这里插入图片描述

@RequestMapping(value = "/getAntvVoList1", method = RequestMethod.GET)
@ApiOperation(value = "工资分析")
public Result<List<AntvVo>> getAntvVoList1(){
    List<AntvVo> ansList = new ArrayList<>();
    QueryWrapper<User> userQw = new QueryWrapper<>();
    userQw.eq("type",1);
    List<User> teacherList = iUserService.list(userQw);
    for (User o : teacherList) {
        String title = change1(o.getMoneyData());
        boolean flag = false;
        for (AntvVo vo : ansList) {
            if(Objects.equals(vo.getTitle(),title)) {
                flag = true;
                vo.setValue(vo.getValue().add(BigDecimal.ONE));
                break;
            }
        }
        if(!flag) {
            AntvVo vo = new AntvVo();
            vo.setTitle(title);
            vo.setType("工资");
            vo.setValue(BigDecimal.ONE);
            ansList.add(vo);
        }
    }
    return new ResultUtil<List<AntvVo>>().setData(ansList);
}

截止现在,大学兼职教师管理系统终于开发完成,在大学兼职教师管理系统的开发过程中,我首先对大学兼职教师管理系统的研究背景和意义进行了评估,然后去图书馆查阅大量关于大学兼职教师管理系统的国内外现状,最后得出大学兼职教师管理系统的主要研究内容,完成了论文的第一章。接着上网查阅了现有的大学兼职教师管理系统产品,确定了大学兼职教师管理系统采用的关键技术,接着对大学兼职教师管理系统的功能需求和使用群体进行了分析和总结,最后完成了大学兼职教师管理系统的设计和实现。

未来,我将会花费更多时间,完善大学兼职教师管理系统的其他功能模块,比如提供第三方的API接口,开发和企业微信和钉钉进行免登整合等功能,让大学兼职教师管理系统变得更强大。

四、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Arduino、arm、树莓派、单片机四者有什么不同

文章目录 ArduinoARM树莓派单片机 初学单片机的同学&#xff0c;可能会对Arduino、ARM、树莓派以及单片机这些概念比较模糊&#xff0c;实际上&#xff0c;这四个是不同的概念和技术。 Arduino Arduino&#xff08;阿尔杜伊诺&#xff09;是一种开源电子原型平台&#xff0c;它…

基于SSM的房屋租售信息管理系统的设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

人工智能基础_机器学习022_使用正则化_曼哈顿距离_欧氏距离_提高模型鲁棒性_过拟合_欠拟合_正则化提高模型泛化能力---人工智能工作笔记0062

然后我们再来看一下,过拟合和欠拟合,现在,实际上欠拟合,出现的情况已经不多了,欠拟合是 在训练集和测试集的准确率不高,学习不到位的情况. 然后现在一般碰到的是过拟合,可以看到第二个就是,完全就把红点蓝点分开了,这种情况是不好的, 因为分开是对训练数据进行分开的,如果来…

Vatee万腾科技决策力的未来展望:开创数字化创新的新高度

随着科技不断演进&#xff0c;Vatee万腾的科技决策力在数字化创新领域展现出了强大的潜力和前瞻性。 Vatee万腾的科技决策力被视为数字化创新的引擎&#xff0c;为未来创新注入了新的动力。通过深刻的市场洞察和科学决策&#xff0c;Vatee万腾致力于推动数字化创新走向新的高度…

mycat2 读写分离

mycat2 读写分离 mycat2 读写分离1.创建两个主从复制的数据库2.mycat2 读写分离3.mycat2读写分离测试 mycat2 读写分离 1.创建两个主从复制的数据库 参考&#xff1a;mysql主从复制 2.mycat2 读写分离 连接到mycat数据库 1.在mycat中创建数据库mydb1 CREATE DATABASE mydb…

linux发展史(必看系列)

Linux介绍&#xff1a; Linux&#xff0c;Linux Is Not UniX 的首字母缩写。是一款开源的&#xff0c;能自由传播的类Unix的操作系统&#xff0c;其内核由林纳斯本纳第克特托瓦兹&#xff08;Linus Benedict Torvalds&#xff09;于1991年10月5日首次发布&#xff0c;它主要受到…

iOS 17.2更新:15Pro支持拍摄空间视频!

苹果又为开发者预览版用户推送了iOS 17.2 Beta2测试版的更新&#xff0c;已经注册Apple Beta版软件计划的用户只需打开设置--通用--软件更新即可在线OTA升级至最新的iOS 17.2测试版。 本次更新包大小为750M左右&#xff0c;内部版本号为&#xff08;21C5040g&#xff09;&#…

山西电力市场日前价格预测【2023-11-12】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2023-11-12&#xff09;山西电力市场全天平均日前电价为224.59元/MWh。其中&#xff0c;最高日前电价为434.30元/MWh&#xff0c;预计出现在18:00。最低日前电价为0.00元/MWh&#xff0c;预计出…

前端开发入门笔记(八)CSS3属性详解:动画详解+Flex布局图文详解+Web字体

参考链接&#xff1a;https://web.qianguyihao.com/02-CSS%E5%9F%BA%E7%A1%80/12-CSS3%E5%B1%9E%E6%80%A7%E8%AF%A6%E8%A7%A3%EF%BC%9A%E5%8A%A8%E7%94%BB%E8%AF%A6%E8%A7%A3.html#_3%E3%80%81%E6%97%8B%E8%BD%AC%EF%BC%9Arotate 过渡 transition的中文含义是过渡。过渡是CSS…

【Linux网络】系统调优之聚合链路bonding,可以实现高可用和负载均衡

一、什么是多网卡绑定 二、聚合链路的工作模式 三、实操创建bonding设备&#xff08;mode1&#xff09; 1、实验 2、配置文件解读 3、查看bonding状态,验证bonding的高可用效果 三、nmcli实现bonding 一、什么是多网卡绑定 将多块网卡绑定同一IP地址对外提供服务&#xf…

《红蓝攻防对抗实战》九.内网穿透之利用GRE协议进行隧道穿透

​ 前文推荐&#xff1a; 《红蓝攻防对抗实战》一. 隧道穿透技术详解 《红蓝攻防对抗实战》二.内网探测协议出网之TCP/UDP协议探测出网 《红蓝攻防对抗实战》三.内网探测协议出网之HTTP/HTTPS协议探测出网 《红蓝攻防对抗实战》四.内网探测协议出网之ICMP协议探测出网 《红蓝…

深度学习 python opencv 火焰检测识别 计算机竞赛

文章目录 0 前言1 基于YOLO的火焰检测与识别2 课题背景3 卷积神经网络3.1 卷积层3.2 池化层3.3 激活函数&#xff1a;3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 YOLOV54.1 网络架构图4.2 输入端4.3 基准网络4.4 Neck网络4.5 Head输出层 5 数据集准备5.1 数…

Sensor 点亮出图后,颜色偏红或者偏绿是为什么?

这是因为 sensor balck level 的值配置的不正确导致&#xff0c;black level 的值一般在效果参数的 calibration 参数里面。 在驱动调试阶段&#xff0c;我们一般都是复用其他已调试好的&#xff0c;sensor 的驱动文件及效果文件&#xff0c; 而不同 sensor 的 balck level 的…

Linux是什么,Linux系统介绍

很多小伙伴都不是那么了解和知道Linux&#xff0c;到底Linux是什么&#xff1f; 像大家用到的安卓手机&#xff0c;生活中用到的各种智能设备&#xff0c;比如路由器&#xff0c;光猫&#xff0c;智能家具等&#xff0c;很多都是在Linux操作系统上。 Linux是什么&#xff1f;Li…

易思智能物流无人值守系统文件上传漏洞复现

简介 智能物流无人值守是针对流程生产企业原料采购、产成品销售及厂内物流的统一管控智能信息化平台。 目的:全企业产供销业务的集成管理,无人值守计量、降本增效、机器替代人工&#xff0c;优化物流资源管控体系。 该系统5.0版本/Sys_ReportFile/ImportReport接口处存在任意…

什么是Ribbon的饥饿加载?有什么优势?

目录 一、什么是Ribbon 二、什么是饥饿加载 三、Ribbon饥饿加载的优势 四、Ribbon饥饿加载的劣势 一、什么是Ribbon Ribbon是一个开源的、基于HTTP和TCP的客户端负载均衡工具&#xff0c;它提供了一个简单的、基于配置的负载均衡策略&#xff0c;可以帮助开发人员更轻松地…

沁恒微WCH592程序烧录问题

在使用wch592蓝牙芯片时&#xff0c;使用WCHISPStudio_V3.60工具烧录hex固件时&#xff0c;识别设备OK&#xff0c; 擦除flash OK&#xff0c;就是在烧录时一直报错&#xff0c;错误如下&#xff1a; 原因是:代码和数据保护模式没有启用。 改为如下&#xff1a;

LeetCode 面试题 16.20. T9键盘

文章目录 一、题目二、C# 题解 一、题目 在老式手机上&#xff0c;用户通过数字键盘输入&#xff0c;手机将提供与这些数字相匹配的单词列表。每个数字映射到0至4个字母。给定一个数字序列&#xff0c;实现一个算法来返回匹配单词的列表。你会得到一张含有有效单词的列表。映射…

三掌柜第2期赠书活动:《计算机考研精炼1000题》

引言 各位朋友大家好&#xff0c;我是三掌柜。今天&#xff0c;三掌柜赠书第2期启动&#xff0c;本次为大家精选了《计算机考研精炼1000题》这本书。关于这本书的内容&#xff0c;非常丰富&#xff0c;涵盖计算机考研的高频知识内容&#xff0c;不管是正在备考&#xff0c;还是…

Vuex:模块化Module :VCA模式

VCA中不支持辅助函数&#xff0c;因为辅助函数中是用this.$store&#xff0c;而VCA中没有绑定this的 由于使用单一状态树&#xff0c;应用的所有状态会集中到一个比较大的对象。当应用变得非常复杂时&#xff0c;store 对象就有可能变得相当臃肿。 这句话的意思是&#xff0c;…