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

学习网站建设总结/整合营销策略

学习网站建设总结,整合营销策略,慈溪做网站的公司,八桂职教网技能大赛大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:微信小程序毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计…

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。

💞当前专栏:微信小程序毕业设计

精彩专栏推荐👇🏻👇🏻👇🏻

🎀 Python毕业设计
🌎Java毕业设计

开发运行环境

①前端:微信小程序开发工具

② 后端:Java

  • 框架:ssm
  • JDK版本:JDK1.8
  • 服务器:tomcat7
  • 数据库:mysql 5.7
  • 数据库工具:Navicat12
  • 开发软件:eclipse/myeclipse/idea
  • Maven包:Maven3.3.9
  • 浏览器:谷歌浏览器

源码下载地址:

https://download.csdn.net/download/2301_76953549/89227564

论文目录

【如需全文请按文末获取联系】
在这里插入图片描述
在这里插入图片描述

一、项目简介

教育培训微信小程序可以实现网课信息管理,论坛管理,课后习题测试管理,观看进度管理,试卷管理,测试管理,试题管理等功能。该系统采用了SSM框架,Mysql数据库,Java语言等技术实现管理员后台,采用微信开发者工具来对学生小程序端进行了开发。

二、系统设计

2.1软件功能模块设计

图4.1即为设计的管理员功能结构,管理员权限操作的功能包括增删改查网课信息,教师信息,学生信息,试卷,试题信息等,管理论坛帖子,管理观看进度信息,管理学生测试信息等。
在这里插入图片描述
图4.2即为设计的教师功能结构,教师权限操作的功能包括查看学生对于网课信息的观看进度信息,管理网课信息,管理论坛帖子,管理学生测试试卷和试题,对学生的测试记录和错题信息进行管理等。
在这里插入图片描述
图4.3即为设计的学生功能结构,学生权限操作的功能包括选择试卷在线答题,查看测试记录和错题信息,播放网课视频,下载网课文件,通过论坛模块进行主题讨论交流。
在这里插入图片描述

2.2数据库设计

(1)图4.4即为教师这个实体所拥有的属性值。
在这里插入图片描述

(2)图4.5即为网课这个实体所拥有的属性值。
在这里插入图片描述
(3)图4.6即为学生这个实体所拥有的属性值。
在这里插入图片描述

三、系统项目部分截图

3.1管理员功能实现

教师管理
图5.1 即为编码实现的教师管理界面,教师信息包括手机号,教师姓名,教师性别等信息,管理员可以使用修改功能对有错误信息的教师信息进行更正,需要删除的教师信息也能使用删除功能及时删除。
在这里插入图片描述
网课信息管理
图5.2 即为编码实现的网课信息管理界面,网课信息包括网课视频,网课文件,网课标题,网课封面等信息,管理不仅需要上传网课文件,上传网课视频,还可以修改网课信息,可以对需要删除的网课信息进行删除。
在这里插入图片描述
学生管理
图5.3 即为编码实现的学生管理界面,学生信息包括性别,班级,手机号等信息,学生信息存在登记错误的情况,管理员则可以使用修改功能及时更正,需要删除的学生信息,管理员也能及时删除。
在这里插入图片描述

3.2教师功能实现

观看进度查看
图5.4 即为编码实现的观看进度查看界面,教师可以查看学生对于网课信息的查看进度情况,可以通过学生姓名查询学生对于网课信息的观看进度信息。
在这里插入图片描述
试卷管理
图5.5 即为编码实现的试卷管理界面,教师可以设置试卷状态为启用或禁用试卷状态,可以修改试卷考试时长信息,以及修改试卷总分信息等,教师也能新增试卷,对之前新增的已经无效的试卷信息及时删除。
在这里插入图片描述
试题管理
图5.6 即为编码实现的试题管理界面,所有试卷都是由许多试题组成的,因此教师在组装试卷之前,先要对试题进行添加,以及及时更正登记有错误信息的试题信息,对于不需要的试题信息进行及时删除。
在这里插入图片描述

3.3学生功能实现

在线答题
图5.7 即为编码实现的在线答题界面,学生在试卷模块对需要答题的试卷进行答题,答题过程中不仅需要回答试题问题,还需要在试卷规定时间内提交答卷。
在这里插入图片描述
网课信息
图5.8 即为编码实现的网课信息界面,学生在网课信息界面中可以通过播放网课视频的方式进行学习,同时,该网课信息界面也展示了网课文件,学生可以下载网课文件。
在这里插入图片描述
测试记录
图5.10 即为编码实现的测试记录界面,测试记录界面展示的信息都是学生对试卷答题产生的信息,学生不仅可以查看试卷答题的详细信息,包括试卷每道题的得分信息,以及学生对试题提交的答案信息等,除此以外,学生也能查看试卷的总体得分信息。
在这里插入图片描述

四、部分核心代码


package com.controller;import java.io.File;
import java.math.BigDecimal;
import java.net.URL;
import java.text.SimpleDateFormat;
import com.alibaba.fastjson.JSONObject;
import java.util.*;
import org.springframework.beans.BeanUtils;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.context.ContextLoader;
import javax.servlet.ServletContext;
import com.service.TokenService;
import com.utils.*;
import java.lang.reflect.InvocationTargetException;import com.service.DictionaryService;
import org.apache.commons.lang3.StringUtils;
import com.annotation.IgnoreAuth;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.entity.*;
import com.entity.view.*;
import com.service.*;
import com.utils.PageUtils;
import com.utils.R;
import com.alibaba.fastjson.*;/*** 错题表* 后端接口* @author* @email
*/
@RestController
@Controller
@RequestMapping("/examrewrongquestion")
public class ExamrewrongquestionController {private static final Logger logger = LoggerFactory.getLogger(ExamrewrongquestionController.class);@Autowiredprivate ExamrewrongquestionService examrewrongquestionService;@Autowiredprivate TokenService tokenService;@Autowiredprivate DictionaryService dictionaryService;//级联表service@Autowiredprivate ExampaperService exampaperService;@Autowiredprivate ExamquestionService examquestionService;@Autowiredprivate YonghuService yonghuService;@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("yonghuId",request.getSession().getAttribute("userId"));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 = examrewrongquestionService.queryPage(params);//字典表数据转换List<ExamrewrongquestionView> list =(List<ExamrewrongquestionView>)page.getList();for(ExamrewrongquestionView 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);ExamrewrongquestionEntity examrewrongquestion = examrewrongquestionService.selectById(id);if(examrewrongquestion !=null){//entity转viewExamrewrongquestionView view = new ExamrewrongquestionView();BeanUtils.copyProperties( examrewrongquestion , view );//把实体数据重构到view中//级联表ExampaperEntity exampaper = exampaperService.selectById(examrewrongquestion.getExampaperId());if(exampaper != null){BeanUtils.copyProperties( exampaper , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段view.setExampaperId(exampaper.getId());}//级联表ExamquestionEntity examquestion = examquestionService.selectById(examrewrongquestion.getExamquestionId());if(examquestion != null){BeanUtils.copyProperties( examquestion , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段view.setExamquestionId(examquestion.getId());}//级联表YonghuEntity yonghu = yonghuService.selectById(examrewrongquestion.getYonghuId());if(yonghu != null){BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段view.setYonghuId(yonghu.getId());}//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put("data", view);}else {return R.error(511,"查不到数据");}}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody ExamrewrongquestionEntity examrewrongquestion, HttpServletRequest request){logger.debug("save方法:,,Controller:{},,examrewrongquestion:{}",this.getClass().getName(),examrewrongquestion.toString());String role = String.valueOf(request.getSession().getAttribute("role"));if(false)return R.error(511,"永远不会进入");else if("学生".equals(role))examrewrongquestion.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));Wrapper<ExamrewrongquestionEntity> queryWrapper = new EntityWrapper<ExamrewrongquestionEntity>().eq("yonghu_id", examrewrongquestion.getYonghuId()).eq("exampaper_id", examrewrongquestion.getExampaperId()).eq("examquestion_id", examrewrongquestion.getExamquestionId()).eq("examredetails_myanswer", examrewrongquestion.getExamredetailsMyanswer());logger.info("sql语句:"+queryWrapper.getSqlSegment());ExamrewrongquestionEntity examrewrongquestionEntity = examrewrongquestionService.selectOne(queryWrapper);if(examrewrongquestionEntity==null){examrewrongquestion.setInsertTime(new Date());examrewrongquestion.setCreateTime(new Date());examrewrongquestionService.insert(examrewrongquestion);return R.ok();}else {return R.error(511,"表中有相同数据");}}/*** 后端修改*/@RequestMapping("/update")public R update(@RequestBody ExamrewrongquestionEntity examrewrongquestion, HttpServletRequest request){logger.debug("update方法:,,Controller:{},,examrewrongquestion:{}",this.getClass().getName(),examrewrongquestion.toString());String role = String.valueOf(request.getSession().getAttribute("role"));
//        if(false)
//            return R.error(511,"永远不会进入");
//        else if("学生".equals(role))
//            examrewrongquestion.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));//根据字段查询是否有相同数据Wrapper<ExamrewrongquestionEntity> queryWrapper = new EntityWrapper<ExamrewrongquestionEntity>().notIn("id",examrewrongquestion.getId()).andNew().eq("yonghu_id", examrewrongquestion.getYonghuId()).eq("exampaper_id", examrewrongquestion.getExampaperId()).eq("examquestion_id", examrewrongquestion.getExamquestionId()).eq("examredetails_myanswer", examrewrongquestion.getExamredetailsMyanswer());logger.info("sql语句:"+queryWrapper.getSqlSegment());ExamrewrongquestionEntity examrewrongquestionEntity = examrewrongquestionService.selectOne(queryWrapper);if(examrewrongquestionEntity==null){examrewrongquestionService.updateById(examrewrongquestion);//根据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());examrewrongquestionService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 批量上传*/@RequestMapping("/batchInsert")public R save( String fileName, HttpServletRequest request){logger.debug("batchInsert方法:,,Controller:{},,fileName:{}",this.getClass().getName(),fileName);Integer yonghuId = Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId")));SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");try {List<ExamrewrongquestionEntity> examrewrongquestionList = 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("../../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){//循环ExamrewrongquestionEntity examrewrongquestionEntity = new ExamrewrongquestionEntity();
//                            examrewrongquestionEntity.setYonghuId(Integer.valueOf(data.get(0)));   //用户id 要改的
//                            examrewrongquestionEntity.setExampaperId(Integer.valueOf(data.get(0)));   //试卷(外键) 要改的
//                            examrewrongquestionEntity.setExamquestionId(Integer.valueOf(data.get(0)));   //试题id(外键) 要改的
//                            examrewrongquestionEntity.setExamredetailsMyanswer(data.get(0));                    //学生作答 要改的
//                            examrewrongquestionEntity.setInsertTime(date);//时间
//                            examrewrongquestionEntity.setCreateTime(date);//时间examrewrongquestionList.add(examrewrongquestionEntity);//把要查询是否重复的字段放入map中}//查询是否重复examrewrongquestionService.insertBatch(examrewrongquestionList);return R.ok();}}}}catch (Exception e){e.printStackTrace();return R.error(511,"批量插入数据异常,请联系管理员");}}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params, HttpServletRequest request){logger.debug("list方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));// 没有指定排序字段就默认id倒序if(StringUtil.isEmpty(String.valueOf(params.get("orderBy")))){params.put("orderBy","id");}PageUtils page = examrewrongquestionService.queryPage(params);//字典表数据转换List<ExamrewrongquestionView> list =(List<ExamrewrongquestionView>)page.getList();for(ExamrewrongquestionView c:list)dictionaryService.dictionaryConvert(c, request); //修改对应字典表字段return R.ok().put("data", page);}/*** 前端详情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id, HttpServletRequest request){logger.debug("detail方法:,,Controller:{},,id:{}",this.getClass().getName(),id);ExamrewrongquestionEntity examrewrongquestion = examrewrongquestionService.selectById(id);if(examrewrongquestion !=null){//entity转viewExamrewrongquestionView view = new ExamrewrongquestionView();BeanUtils.copyProperties( examrewrongquestion , view );//把实体数据重构到view中//级联表ExampaperEntity exampaper = exampaperService.selectById(examrewrongquestion.getExampaperId());if(exampaper != null){BeanUtils.copyProperties( exampaper , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段view.setExampaperId(exampaper.getId());}//级联表ExamquestionEntity examquestion = examquestionService.selectById(examrewrongquestion.getExamquestionId());if(examquestion != null){BeanUtils.copyProperties( examquestion , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段view.setExamquestionId(examquestion.getId());}//级联表YonghuEntity yonghu = yonghuService.selectById(examrewrongquestion.getYonghuId());if(yonghu != null){BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段view.setYonghuId(yonghu.getId());}//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put("data", view);}else {return R.error(511,"查不到数据");}}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody ExamrewrongquestionEntity examrewrongquestion, HttpServletRequest request){logger.debug("add方法:,,Controller:{},,examrewrongquestion:{}",this.getClass().getName(),examrewrongquestion.toString());Wrapper<ExamrewrongquestionEntity> queryWrapper = new EntityWrapper<ExamrewrongquestionEntity>().eq("yonghu_id", examrewrongquestion.getYonghuId()).eq("exampaper_id", examrewrongquestion.getExampaperId()).eq("examquestion_id", examrewrongquestion.getExamquestionId()).eq("examredetails_myanswer", examrewrongquestion.getExamredetailsMyanswer());logger.info("sql语句:"+queryWrapper.getSqlSegment());ExamrewrongquestionEntity examrewrongquestionEntity = examrewrongquestionService.selectOne(queryWrapper);if(examrewrongquestionEntity==null){examrewrongquestion.setInsertTime(new Date());examrewrongquestion.setCreateTime(new Date());examrewrongquestionService.insert(examrewrongquestion);return R.ok();}else {return R.error(511,"表中有相同数据");}}}

五、获取源码或论文

如需对应的论文或源码,以及其他定制需求,也可以下方微❤联系。

相关文章:

微信小程序毕业设计-教育培训系统项目开发实战(附源码+论文)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计…...

【面试题】正向代理和反向代理的区别?

正向代理&#xff08;Forward Proxy&#xff09;和反向代理&#xff08;Reverse Proxy&#xff09;是两种常见的代理服务器类型&#xff0c;它们在网络通信中扮演着不同的角色&#xff0c;具有不同的功能和应用场景。 一、正向代理 1. 定义与位置 正向代理是位于客户端和目标…...

Python面试宝典第8题:二叉树遍历

题目 给定一棵二叉树的根节点 root &#xff0c;返回它节点值的前序遍历。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,2,3] 示例 2&#xff1a; 输入&#xff1a;root [] 输出&#xff1a;[] 示例 3&#xff1a; 输入&#xff1a;root […...

FastReport 指定sql 和修改 数据库连接地址的 工具类 :FastReportHelper

FastReport 指定sql 和修改 数据库连接地址的 工具类 &#xff1a;FastReportHelper 介绍核心代码&#xff1a;完整代码&#xff1a; 介绍 在FastReport中&#xff0c;经常会遇到需要给 sql 加条件的情况&#xff0c;或者给数据库地址做更换。 &#xff08;废话不多说&#x…...

C++11中重要的新特性 Part one

序言 C11 是 C 编程语言的一个重要版本&#xff0c;于 2011 年由国际标准化组织 (ISO) 和国际电工委员会 (IEC) 旗下的 C 标准委员会 (ISO/IEC JTC1/SC22/WG21) 正式公布&#xff0c;并于同年 9 月出版。其正式名称为 ISO/IEC 14882:2011 - Information technology – Programm…...

VB 关键字

VB 关键字 Visual Basic(VB)是一种由微软开发的高级编程语言,广泛用于开发Windows桌面应用程序。在VB编程中,关键字是语言预定义的单词,具有特定的含义和用途。这些关键字不能被用作变量名或函数名,因为它们已经被编程语言赋予了特定的功能。 本文将详细介绍VB中的关键…...

Linux——多线程(四)

前言 这是之前基于阻塞队列的生产消费模型中Enqueue的代码 void Enqueue(const T &in) // 生产者用的接口{pthread_mutex_lock(&_mutex);while(IsFull())//判断队列是否已经满了{pthread_cond_wait(&_product_cond, &_mutex); //满的时候就在此情况下等待// 1.…...

InetAddress.getLocalHost().getHostAddress()阻塞导致整个微服务崩溃

InetAddress.getLocalHost().getHostAddress()阻塞导致整个微服务崩溃 import java.net.InetAddress;public class GetHostIp {public static void main(String[] args) {try {long start System.currentTimeMillis();String ipAddress InetAddress.getLocalHost().getHostA…...

在 Qt6 中,QList 和 QVector 统一 成qlist了吗?

是的&#xff0c;在 Qt6 中&#xff0c;QList 和 QVector 已经被统一了。具体来说&#xff0c;QList 现在基本上就是 QVector 的一个别名。这一改变意味着 QList 和 QVector 具有相同的性能和行为特性。 在 Qt5 中&#xff0c;QList 有自己的内部实现&#xff0c;对小型对象&a…...

第三期书生大模型实战营 第1关 Linux 基础知识

第三期书生大模型实战营 第1关 Linux 基础知识 第三期书生大模型实战营 第1关 Linux 基础知识InternStudio开发机创建SSH密钥配置通过本地客户端连接远程服务器通过本地VSCode连接远程服务器运行一个Python程序总结 第三期书生大模型实战营 第1关 Linux 基础知识 Hello大家好&a…...

架构设计(1)分布式架构

分布式架构 分布式架构是一种将系统中的不同组件分布在多台计算机或节点上&#xff0c;通过网络进行通信和协作&#xff0c;以实现系统功能的架构设计。分布式架构通常用于构建大型、复杂的软件系统&#xff0c;具有高可伸缩性、高可用性和高性能等优点。下面是关于分布式架构…...

机器学习笔记:初始化0的问题

1 前言 假设我们有这样的两个模型&#xff1a; 第一个是逻辑回归 第二个是神经网络 他们的损失函数都是交叉熵 sigmoid函数的导数&#xff1a; 他们能不能用0初始化呢&#xff1f; 2 逻辑回归 2.1 求偏导 2.1.1 结论 2.1.2 L对a的偏导 2.1.3 对w1&#xff0c;w2求偏导 w2同…...

JavaWeb—js(3)

Bom dom: document object model(文档对象模型), 是处理html、xml的标准编写接口。 节点和元素 整个页面也就是整个文档我们称之为文档节点; 文档节点使用document来表示; 页面中的所有标签我们称之为元素&#xff0c;使用element来表示; 如此处的文本、属性、注释等&…...

PLSQL Day4

--使用显式游标更新行&#xff0c;对所有salesman增加500奖金&#xff1a; declare cursor s_cursor is select * from emp where job SALESMAN for update; begin for e_s in s_cursor loop update emp set comm nvl(comm,0)500 where current of s_cur…...

git合并报错:git -c core.quotepath=false -c log.showSignature=false merge r

这个错误通常发生在 Git 尝试合并两个没有共同祖先的历史时&#xff0c;比如在合并不同的分支或仓库时&#xff0c;可以尝试以下几种方法&#xff1a; 允许不相关历史的合并: git merge release-3.6 --allow-unrelated-histories这个选项告诉 Git 允许合并两个没有共同历史的分…...

云原生存储:使用MinIO与Spring整合

在现代云原生应用开发中&#xff0c;高效、可靠的存储解决方案是至关重要的。MinIO是一个高性能、分布式的对象存储系统&#xff0c;它与Amazon S3兼容&#xff0c;非常适合在Kubernetes等云原生环境中使用。本文将详细介绍如何在Spring Boot应用中整合MinIO&#xff0c;并提供…...

等保测评新趋势:应对数字化转型中的安全挑战

随着信息技术的飞速发展&#xff0c;数字化转型已成为企业提升竞争力、优化运营效率的重要手段。然而&#xff0c;这一转型过程中&#xff0c;企业也面临着前所未有的安全挑战。等保测评&#xff08;信息安全等级保护测评&#xff09;作为保障信息系统安全的重要手段&#xff0…...

使用esptool工具备份ESP32的固件(从芯片中备份下来固件)

本文以Windows电脑为例 板子为esp32-c3 1下载python 可在官网中下载,此处不进行讲解 使用如下代码查看是否安装了 Python&#xff08;终端输入&#xff09; python 2下载esptool 在终端输入如下代码即可下载 使用 pip&#xff08;推荐&#xff09;: 在你已经安装的 Pyth…...

JS进阶-解析赋值

学习目标&#xff1a; 掌握解析赋值 学习内容&#xff1a; 解构赋值数组解构对象解构筛选数组filter方法&#xff08;重点&#xff09; 解构赋值&#xff1a; 解构赋值是一种快速为变量赋值的简洁语法&#xff0c;本质上仍然是为变量赋值。 分为&#xff1a; 数组解构对象解…...

Java虚拟机面试题汇总

目录 1. JVM的主要组成部分及其作用&#xff1f; 1.1 运行时数据区划分&#xff1f; 1.2 哪些区域可能会发生OOM&#xff1f; 1.3 堆和栈的区别&#xff1f; 1.4 内存模型中的happen-before是什么&#xff1f; 2. HotSpot虚拟机对象创建流程&#xff1f; 2.1 类加载过程…...

C++休眠的方法

Windows的API函数 Sleep(INFINITE); 休眠时间为永久 Linux的API函数sleep 没有直接表示无限时间的参数&#xff0c;根据POSIX标准&#xff0c;sleep() 函数的参数应该是 unsigned int 类型&#xff0c;因此最大可以接受的参数值是 UINT_MAX&#xff0c;即 4294967295 秒。sleep…...

选择排序(C语言版)

选择排序是一种简单直观的排序算法 算法实现 首先在未排序序列中找到最小&#xff08;大&#xff09;元素&#xff0c;存放到排序序列的起始位置。 再从剩余未排序元素中继续寻找最小&#xff08;大&#xff09;元素&#xff0c;然后放到已排序序列的末尾。 重复第二步&…...

基于CentOS Stream 9平台搭建FRP内网穿透

内网穿透方法很多&#xff0c;本文以github上很火的frp为例 1.frp官方 文档&#xff1a;https://gofrp.org/zh-cn/docs/overview/ 1.1 下载 https://github.com/fatedier/frp/releases 选中合适的版本 2. 服务端&#xff08;服务器&#xff09;搭建frps 需要公网IP服务器 选…...

Redis管理禁用命令

在redis数据量比较大时&#xff0c;执行 keys * &#xff0c;fluashdb 这些命令&#xff0c;会导致redis长时间阻塞&#xff0c;大量请求被阻塞&#xff0c;cpu飙升&#xff0c;严重可能导致redis宕机&#xff0c;数据库雪崩。所以一些命令在生产环境禁止使用。 Redis 禁用命令…...

RFID智能锁控系统在物流安全运输中的应用与效益分析

一、物流锁控系统现状与挑战 1.1 传统锁控系统的局限性 安全性不足&#xff1a;机械锁容易被撬开或钥匙被复制&#xff0c;导致货物在运输过程中面临被盗风险。 无法实时追踪&#xff1a;一旦货物离开发货点&#xff0c;物流公司无法实时监控货物状态&#xff0c;增加了货物…...

WPF设置全局样式

目的 创建一个资源字典&#xff0c;自动引入到各个Window或者UserControl中&#xff0c;可以随意使用。或者引入多个控件包&#xff0c;为了做兼容&#xff0c;保证可以引用多个控件库。 1. 定义资源字典 首先&#xff0c;你需要创建一个XAML文件来定义你的资源字典&#xf…...

【福利】代码公开!咸鱼之王自动答题脚本

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 微信或QQ打开咸鱼之王小程序&#xff0c;进入答题界面&#xff0c;运行main.py。期间不要动鼠标。 可自行更改代码来适配自己的需求~ 可以按照示例图片…...

ChatGPT-4o大语言模型优化、本地私有化部署、从0-1搭建、智能体构建技术

在过去几年中&#xff0c;人工智能领域的发展迅猛&#xff0c;尤其是大语言模型的应用&#xff0c;为各行各业带来了前所未有的创新与突破。从ChatGPT-3.5的推出到GPT Store的上线&#xff0c;再到最新的多模态交互ChatGPT-4o&#xff0c;OpenAI不断引领科技潮流&#xff0c;推…...

使用clion刷leetcode

如何优雅的使用clion刷leetcode 安装插件&#xff1a;LeetCode Editor) 插件配置&#xff1a; 这样我们每打开一个项目&#xff0c;就会创建类似的文件 我们的项目结构&#xff1a; 我们在题解文件中导入头文件myHeader.h并将新建的文件添加到cmakelists.txt文件&#xff0c;…...

图解HTTP(5、与 HTTP 协作的 Web 服务器 6、HTTP 首部)

5、与 HTTP 协作的 Web 服务器 一台 Web 服务器可搭建多个独立域名的 Web 网站&#xff0c;也可作为通信路径上的中转服务器提升传输效率。 用单台虚拟主机实现多个域名 在相同的 IP 地址下&#xff0c;由于虚拟主机可以寄存多个不同主机名和域名的 Web 网站&#xff0c;因此…...