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

计算机毕业设计选题推荐-网上考试系统-Java/Python项目实战

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

文章目录

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

一、前言

在线考试系统作为教育信息化发展的产物,正逐渐改变传统的考试模式。随着互联网技术的普及和应用,在线考试系统以其便捷性和低成本的优势,满足了现代社会对教育灵活性和个性化的需求。据资料显示,世界各国对教育信息化给予了高度的关注,试图在未来的信息社会中让教育处于优势地位 。

尽管在线考试系统提供了许多优势,但在实际应用中仍存在一些问题。例如,题库录入操作复杂,初次使用时搭建题库不便;考试的作弊行为需要更有效的控制手段;主观题目的阅卷工作仍需人工进行;部分题型在线上作答存在困难 。这些问题限制了在线考试系统的广泛应用和效果。

本课题旨在设计并实现一个功能齐全、用户友好、安全可靠的在线考试系统。系统将提供简化的题库录入方式、智能阅卷功能以及良好的用户体验设计,以解决现有系统中存在的问题,并提高在线考试的效率和公正性 。

在网上考试系统中,管理员负责用户账户的创建与维护、新闻资讯与公告信息的发布与更新、试卷与试题的管理和维护、考试记录的查看与分析;教师可以管理试卷、创建和发布考试、查看学生考试记录并进行评分;学生用户能够查看考试信息、参加在线考试、查看自己的考试记录和成绩。系统通过这些功能模块的整合,旨在提供一个公正、便捷的在线考试环境。

本课题的研究具有重要的理论意义和实际意义。从理论角度来看,它为在线教育领域提供了新的研究思路,即如何利用信息技术优化考试流程。从实际角度来看,在线考试系统的应用将有助于提高考试的便捷性和高效性,降低教育成本,提升教育质量,促进教育公平 。同时,系统的推广应用还将推动教育信息化进程,促进教育现代化的发展。

二、开发环境

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

三、系统界面展示

  • 网上考试系统界面展示:
    试卷管理:
    试卷管理试题管理:
    试题管理在线考试:
    在线考试查看考试记录:
    查看考试记录

四、部分代码设计

  • 项目实战-代码参考:
@RestController
@RequestMapping("/examquestionbank")
public class ExamquestionbankController {@Autowiredprivate ExamquestionbankService examquestionbankService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,ExamquestionbankEntity examquestionbank,HttpServletRequest request){String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("jiaoshi")) {examquestionbank.setJiaoshigonghao((String)request.getSession().getAttribute("username"));}EntityWrapper<ExamquestionbankEntity> ew = new EntityWrapper<ExamquestionbankEntity>();PageUtils page = examquestionbankService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, examquestionbank), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,ExamquestionbankEntity examquestionbank, HttpServletRequest request){EntityWrapper<ExamquestionbankEntity> ew = new EntityWrapper<ExamquestionbankEntity>();PageUtils page = examquestionbankService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, examquestionbank), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( ExamquestionbankEntity examquestionbank){EntityWrapper<ExamquestionbankEntity> ew = new EntityWrapper<ExamquestionbankEntity>();ew.allEq(MPUtil.allEQMapPre( examquestionbank, "examquestionbank")); return R.ok().put("data", examquestionbankService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(ExamquestionbankEntity examquestionbank){EntityWrapper< ExamquestionbankEntity> ew = new EntityWrapper< ExamquestionbankEntity>();ew.allEq(MPUtil.allEQMapPre( examquestionbank, "examquestionbank")); ExamquestionbankView examquestionbankView =  examquestionbankService.selectView(ew);return R.ok("查询试题库表成功").put("data", examquestionbankView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){ExamquestionbankEntity examquestionbank = examquestionbankService.selectById(id);return R.ok().put("data", examquestionbank);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){ExamquestionbankEntity examquestionbank = examquestionbankService.selectById(id);return R.ok().put("data", examquestionbank);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody ExamquestionbankEntity examquestionbank, HttpServletRequest request){//ValidatorUtils.validateEntity(examquestionbank);String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("jiaoshi")) {examquestionbank.setJiaoshigonghao((String)request.getSession().getAttribute("username"));}examquestionbankService.insert(examquestionbank);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody ExamquestionbankEntity examquestionbank, HttpServletRequest request){//ValidatorUtils.validateEntity(examquestionbank);String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("jiaoshi")) {examquestionbank.setJiaoshigonghao((String)request.getSession().getAttribute("username"));}examquestionbankService.insert(examquestionbank);return R.ok();}/*** 获取用户密保*/@RequestMapping("/security")@IgnoreAuthpublic R security(@RequestParam String username){ExamquestionbankEntity examquestionbank = examquestionbankService.selectOne(new EntityWrapper<ExamquestionbankEntity>().eq("", username));return R.ok().put("data", examquestionbank);}/*** 修改*/@RequestMapping("/update")@Transactional@IgnoreAuthpublic R update(@RequestBody ExamquestionbankEntity examquestionbank, HttpServletRequest request){//ValidatorUtils.validateEntity(examquestionbank);examquestionbankService.updateById(examquestionbank);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){examquestionbankService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 前端智能排序*/@IgnoreAuth@RequestMapping("/autoSort")public R autoSort(@RequestParam Map<String, Object> params,ExamquestionbankEntity examquestionbank, HttpServletRequest request,String pre){EntityWrapper<ExamquestionbankEntity> ew = new EntityWrapper<ExamquestionbankEntity>();Map<String, Object> newMap = new HashMap<String, Object>();Map<String, Object> param = new HashMap<String, Object>();Iterator<Map.Entry<String, Object>> it = param.entrySet().iterator();while (it.hasNext()) {Map.Entry<String, Object> entry = it.next();String key = entry.getKey();String newKey = entry.getKey();if (pre.endsWith(".")) {newMap.put(pre + newKey, entry.getValue());} else if (StringUtils.isEmpty(pre)) {newMap.put(newKey, entry.getValue());} else {newMap.put(pre + "." + newKey, entry.getValue());}}params.put("sort", "clicktime");params.put("order", "desc");PageUtils page = examquestionbankService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, examquestionbank), params), params));return R.ok().put("data", page);}}
@RestController
@RequestMapping("/examquestion")
public class ExamquestionController {@Autowiredprivate ExamquestionService examquestionService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,ExamquestionEntity examquestion,HttpServletRequest request){String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("jiaoshi")) {examquestion.setJiaoshigonghao((String)request.getSession().getAttribute("username"));}EntityWrapper<ExamquestionEntity> ew = new EntityWrapper<ExamquestionEntity>();PageUtils page = examquestionService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, examquestion), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,ExamquestionEntity examquestion, HttpServletRequest request){EntityWrapper<ExamquestionEntity> ew = new EntityWrapper<ExamquestionEntity>();PageUtils page = examquestionService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, examquestion), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( ExamquestionEntity examquestion){EntityWrapper<ExamquestionEntity> ew = new EntityWrapper<ExamquestionEntity>();ew.allEq(MPUtil.allEQMapPre( examquestion, "examquestion")); return R.ok().put("data", examquestionService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(ExamquestionEntity examquestion){EntityWrapper< ExamquestionEntity> ew = new EntityWrapper< ExamquestionEntity>();ew.allEq(MPUtil.allEQMapPre( examquestion, "examquestion")); ExamquestionView examquestionView =  examquestionService.selectView(ew);return R.ok("查询试题表成功").put("data", examquestionView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){ExamquestionEntity examquestion = examquestionService.selectById(id);return R.ok().put("data", examquestion);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){ExamquestionEntity examquestion = examquestionService.selectById(id);return R.ok().put("data", examquestion);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody ExamquestionEntity examquestion, HttpServletRequest request){//ValidatorUtils.validateEntity(examquestion);String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("jiaoshi")) {examquestion.setJiaoshigonghao((String)request.getSession().getAttribute("username"));}examquestionService.insert(examquestion);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody ExamquestionEntity examquestion, HttpServletRequest request){//ValidatorUtils.validateEntity(examquestion);String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("jiaoshi")) {examquestion.setJiaoshigonghao((String)request.getSession().getAttribute("username"));}examquestionService.insert(examquestion);return R.ok();}/*** 获取用户密保*/@RequestMapping("/security")@IgnoreAuthpublic R security(@RequestParam String username){ExamquestionEntity examquestion = examquestionService.selectOne(new EntityWrapper<ExamquestionEntity>().eq("", username));return R.ok().put("data", examquestion);}/*** 修改*/@RequestMapping("/update")@Transactional@IgnoreAuthpublic R update(@RequestBody ExamquestionEntity examquestion, HttpServletRequest request){//ValidatorUtils.validateEntity(examquestion);examquestionService.updateById(examquestion);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){examquestionService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 前端智能排序*/@IgnoreAuth@RequestMapping("/autoSort")public R autoSort(@RequestParam Map<String, Object> params,ExamquestionEntity examquestion, HttpServletRequest request,String pre){EntityWrapper<ExamquestionEntity> ew = new EntityWrapper<ExamquestionEntity>();Map<String, Object> newMap = new HashMap<String, Object>();Map<String, Object> param = new HashMap<String, Object>();Iterator<Map.Entry<String, Object>> it = param.entrySet().iterator();while (it.hasNext()) {Map.Entry<String, Object> entry = it.next();String key = entry.getKey();String newKey = entry.getKey();if (pre.endsWith(".")) {newMap.put(pre + newKey, entry.getValue());} else if (StringUtils.isEmpty(pre)) {newMap.put(newKey, entry.getValue());} else {newMap.put(pre + "." + newKey, entry.getValue());}}params.put("sort", "clicktime");params.put("order", "desc");PageUtils page = examquestionService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, examquestion), params), params));return R.ok().put("data", page);}}

五、论文参考

  • 计算机毕业设计选题推荐-网上考试系统-论文参考:
    计算机毕业设计选题推荐-网上考试系统-论文参考

六、系统视频

  • 网上考试系统-项目视频:

计算机毕业设计选题推荐-网上考试系统-Java/Python

结语

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

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

相关文章:

计算机毕业设计选题推荐-网上考试系统-Java/Python项目实战

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

白骑士的Matlab教学基础篇 1.4 函数与脚本

系列目录 上一篇&#xff1a;白骑士的Matlab教学基础篇 1.3 控制流 函数和脚本是 MATLAB 编程中的基本组成部分&#xff0c;它们使得代码更加模块化、可重用和组织化。通过理解函数的定义与调用、参数与返回值&#xff0c;以及 MATLAB 脚本与批处理&#xff0c;可以显著提高编…...

Qt——多线程

一、QThread类 如果要设计多线程程序&#xff0c;一般是从QThread继承定义一个线程类&#xff0c;并重新定义QThread的虚函数 run() &#xff0c;在函数 run() 里处理线程的事件循环。 应用程序的线程称为主线程&#xff0c;创建的其他线程称为工作线程。主线程的 start() 函数…...

技术周总结 08.05-08.11周日(scala git回滚)

文章目录 一、08.06 周二1.1) 问题01 mac安装 scala:1. 使用 Homebrew2. 使用 SDKMAN!其他注意事项1. 确认 Scala 安装位置2. 设置 PATH 环境变量对于 zsh (macOS Catalina 及更高版本默认使用 zsh):对于 bash (如果您使用的是 bash shell): 3. 验证安装 二、08.09 周五2.1&…...

ffmpeg 命令图片和视频转换

1、截图 ffmpeg -i d:\input.mp4 -ss 0:0:10 d:\output.jpg //指定输出分辨率 ffmpeg -i d:\input.mp4 -y -f image2 -ss 0:0:10 -vframes 1 -s 640x360 d:\output.jpg 2、视频分拆图片 ffmpeg -r 输入帧率 -i d:\input.mp4 -r 输出帧率 "d:\outputDir\frame_%04d.jp…...

力扣 | 动态规划 | 在字符串的应用 | 最长回文子串、最长回文子序列、单词拆分、编辑距离

文章目录 1.最长回文子串2.最长回文子序列3.单词拆分4.编辑距离5. 共同点和思路6. 各个问题的思路和扩展1. 最长回文子串2. 最长回文子序列3. 单词拆分4. 编辑距离 在解答字符串动态规划的应用时&#xff0c;我们需要非常注意一个问题&#xff1a;   有时候我们定义 d p [ i …...

【docker】docker容器部署常用服务

1、容器部署nginx&#xff0c;并且新增一个页面 docker run -d -p 81:80 --name nginx2 nginx docker exec -it nginx2 /bin/bashcd /usr/share/nginx/html/ echo "hello world">>hello.html2、容器部署redis&#xff0c;成功部署后向redis中添加一条数据 do…...

CentOS 7.6 安装 Weblogic

注&#xff1a;本教程是以虚拟机作为安装环境&#xff0c;如果您公司需要安装 Weblogic 服务器&#xff0c;请先以虚拟机模拟安装一遍&#xff0c;否则出现失误&#xff0c;概不负责&#x1f601;。 一、环境 虚拟机&#xff1a;VMware Workstation 16 Linux&#xff1a;Cent…...

一键清除电脑隐私痕迹,Privacy Eraser助你轻松搞定!

前言 在数字时代&#xff0c;隐私就像是我们手中的细沙&#xff0c;不经意间就可能从指缝间溜走&#xff1b;你是否也曾担心&#xff0c;自己的每一次点击、每一次浏览&#xff0c;都可能成为别人眼中的“秘密”&#xff1f;别急&#xff0c;今天小江湖就要带你走进一款神秘的…...

火语言RPA桌面元素库使用方法

使用火语言RPA自动选取工具获得桌面中元素&#xff1a; 工具标识 桌面 分组下组件若有此标识&#xff0c;则包含选择元素工具&#xff0c;点击此标识会进行选择元素操作。 桌面元素库介绍 ① 根据元素名称筛选元素库中保存的元素 ② 元素库&#xff0c;显示已经保存的元素名…...

FTP.JBoss,Ldap,Rsync未授权访问漏洞(附带修复方法)

一.FTP未授权访问漏洞(匿名登陆) FTP 弱⼝令或匿名登录漏洞&#xff0c;⼀般指使⽤ FTP 的⽤户启⽤了匿名登录功能&#xff0c;或系统⼝令的⻓度太短、复杂度不够、仅包含数字、或仅包含字⺟等&#xff0c;容易被⿊客攻击&#xff0c;发⽣恶意⽂件上传或更严重的⼊侵⾏为。 漏…...

全新在线客服系统源码(pc+h5+uniapp+公众号小程序+抖音)附搭建接入教程

全新在线客服系统源码介绍 一、系统概述与优势 本系统是一款基于PHP的开源在线客服系统&#xff0c;支持PC端、移动端&#xff08;小程序&#xff09;、H5页面以及Uniapp多端接入。系统利用网络技术和人工智能技术&#xff0c;实现用户与客服人员的即时聊天沟通&#xff0c;有…...

为具有公网IPV6地址的服务器安装nextcloudAIO并使用NginxProxyManager配置反向代理

软件和硬件环境 ubuntu server 24.04&#xff0c;并已配置好ipv6公网地址&#xff0c;已安装好docker和docker-compose。一块单独的硬盘&#xff0c;用于单独存储nextcloud数据。&#xff08;非必需&#xff09;有一个能够正常解析的域名&#xff0c;并已配置好AAAA记录解析。…...

挖矿宝藏之TCP/IP

目录 一、TCP/IP简介 1.TCP自述 2.IP自述 二、TCP/IP 寻址 1.IP V6 2.域名 三、TCP/IP协议 一、TCP/IP简介 TCP/IP 指传输控制协议/网际协议&#xff08;Transmission Control Protocol / Internet Protocol&#xff09;&#xff0c;是供已连接因特网的计算机进行通信的…...

略谈set与map的pair封装与进入哈希

引子&#xff1a;之前我们讲了红黑树的自实现&#xff0c;与小小的接口实现&#xff0c;那set与map的pair封装是如何实现的呢&#xff1f;&#xff0c;今天我们来一探究竟&#xff0c;而且我们也要进入新章节--哈希 对于operator--()的封装&#xff1a; 注意&#xff1a;牢记思…...

android13 串口编号修改 串口名修改

总纲 android13 rom 开发总纲说明 目录 1.前言 2.技术分析 别名定义的语法规则 3.修改示例 使用别名 注意事项 4.不生效分析 5.编译查看 6.其他方法 7.彩蛋 1.前言 更改Android设备的串口编号涉及对系统深层次的配置进行修改,通常是为了解决硬件兼容性问题或满足特…...

工作中常用的软件竟可直接下载0.5m卫星影像(Esri影像、天地图、星图)、DEM、土地覆盖数据...

之前我们有介绍过在ArcGIS通过插件、WTMS或者lyr添加谷歌影像、天地图等各种在线图源。今天我们就来再整理一套既方便查看又方便下载的教程&#xff0c;软件就是我们常用的Global Mapper&#xff0c;有点强。 这里我们整理了一些我们工作学习中常用的一些数据下载方法&#xf…...

1章3节:R 语言的产生与发展轨迹

R语言诞生于1990年代,由统计学家Ross Ihaka和Robert Gentleman在新西兰奥克兰大学开发,旨在提供一种免费开源、灵活强大的统计编程工具。R语言基于S语言的设计理念,并通过其开源社区的贡献迅速发展,形成了庞大的生态系统,包括CRAN、RStudio和Shiny等。R语言以其强大的统计…...

html常用标签

一、无序列表 ul li 注意事项&#xff1a;ul下面不可以嵌套其他标签&#xff0c;li下可以 二、有序列表 ol li 注意事项同无序列表 三、自定义列表 dd dt 注意事项同无序列表 四 、表格 table tr&#xff1a;行 th:表头 td:内容 4.1合并单元格 步骤 1.明确合并的目标 2.保留…...

选择文件鼠标右键自定义菜单

注册表路径 计算机\HKEY_CLASSES_ROOT\*\shell 效果 操作 1.定位 winr&#xff0c;输入regedit, 地址栏输入以下路径&#xff0c;并回车。 计算机\HKEY_CLASSES_ROOT\*\shell 2.在shell上右键&#xff0c;新建项 3右键新建字符串值&#xff0c;Icon,Position 4 右键新建c…...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;Ingress是一个API对象&#xff0c;它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress&#xff0c;你可…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容&#xff08;一&#xff09;CDN 基础概念1. 定义2. 组成部分 &#xff08;二&#xff09;CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 &#xff08;三&#xff09;CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...