计算机毕业设计选题推荐-个性化智能学习系统-Java/Python项目实战

news2024/9/20 9:27:42

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

文章目录

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

一、前言

在个性化智能学习系统中,管理员负责系统用户账户的管理、考试记录的查看与分析、试题的创建与维护、公告信息的发布与更新、试卷的生成与分发、学习资源的整合与管理;学生则能够查看系统公告以获取最新信息、浏览和利用学习资源进行自主学习、参加在线考试以检验学习成果、查看考试记录以追踪自己的学习进度和成绩、通过错题本分析自己的知识薄弱点并进行针对性复习。系统通过这些功能模块的整合,旨在提供一个定制化、智能化的学习环境,满足不同学生的学习需求,提高学习效率和质量。

随着教育信息化的推进和个性化教育理念的普及,个性化智能学习系统应运而生。该系统通过智能技术,如大数据分析、机器学习等,为学生提供个性化的学习资源和学习路径推荐,以适应每个学生的学习习惯和能力水平。据相关研究显示,个性化学习可以显著提高学生的学习动机和成绩。

现有的个性化学习系统在实现个性化教学方面仍存在一些挑战。例如,一些系统缺乏有效的学习行为分析和预测模型,难以为学生提供准确的个性化推荐;部分系统学习资源更新不够及时,无法满足快速变化的教育需求;此外,一些系统的用户界面设计不够友好,影响了学生的学习体验。

本课题旨在设计并实现一个高效、智能的个性化学习系统,该系统能够根据学生的学习行为和成绩数据,智能推荐适合的学习资源和学习路径。系统将采用先进的数据分析和机器学习技术,实现个性化学习资源的精准推送和学习过程的实时监控,以提高学生的学习效率和成绩。

本课题的研究具有重要的理论意义和实际意义。从理论角度来看,它为教育技术领域提供了新的研究思路,即如何利用智能技术实现教育的个性化。从实际角度来看,个性化智能学习系统的应用将有助于提高学生的学习体验和学习效果,促进教育公平,推动教育现代化的发展。同时,系统的推广应用还将为教育工作者提供丰富的教学资源和工具,提高教学质量和效率。

二、开发环境

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

三、系统界面展示

  • 个性化智能学习系统界面展示:
    学生-在线考试:
    学生-在线考试
    学生-查看学习资源:
    学生-查看学习资源
    学生-查看考试记录:
    学生-查看考试记录
    学生-查看错题本:
    学生-查看错题本
    管理员-试题管理:
    管理员-试题管理
    管理员-试卷管理:
    管理员-试卷管理
    管理员-学习资源管理:
    管理员-学习资源管理

四、代码参考

  • 项目实战代码参考:
@RestController
@RequestMapping("/exampaper")
public class ExampaperController {
    @Autowired
    private ExampaperService exampaperService;




    @Autowired
    private ExamquestionService examquestionService;

    @Autowired
    private ExamquestionbankService examquestionbankService;

    @Autowired
    private ExamrecordService examrecordService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,ExampaperEntity exampaper,
		HttpServletRequest request){
        EntityWrapper<ExampaperEntity> ew = new EntityWrapper<ExampaperEntity>();

		PageUtils page = exampaperService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, exampaper), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,ExampaperEntity exampaper, 
		HttpServletRequest request){
        EntityWrapper<ExampaperEntity> ew = new EntityWrapper<ExampaperEntity>();

		PageUtils page = exampaperService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, exampaper), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( ExampaperEntity exampaper){
       	EntityWrapper<ExampaperEntity> ew = new EntityWrapper<ExampaperEntity>();
      	ew.allEq(MPUtil.allEQMapPre( exampaper, "exampaper")); 
        return R.ok().put("data", exampaperService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(ExampaperEntity exampaper){
        EntityWrapper< ExampaperEntity> ew = new EntityWrapper< ExampaperEntity>();
 		ew.allEq(MPUtil.allEQMapPre( exampaper, "exampaper")); 
		ExampaperView exampaperView =  exampaperService.selectView(ew);
		return R.ok("查询线上测试表成功").put("data", exampaperView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        ExampaperEntity exampaper = exampaperService.selectById(id);
        return R.ok().put("data", exampaper);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        ExampaperEntity exampaper = exampaperService.selectById(id);
        return R.ok().put("data", exampaper);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody ExampaperEntity exampaper, HttpServletRequest request){
    	//ValidatorUtils.validateEntity(exampaper);
        exampaperService.insert(exampaper);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody ExampaperEntity exampaper, HttpServletRequest request){
    	//ValidatorUtils.validateEntity(exampaper);
        exampaperService.insert(exampaper);
        return R.ok();
    }


     /**
     * 获取用户密保
     */
    @RequestMapping("/security")
    @IgnoreAuth
    public R security(@RequestParam String username){
        ExampaperEntity exampaper = exampaperService.selectOne(new EntityWrapper<ExampaperEntity>().eq("", username));
        return R.ok().put("data", exampaper);
    }


    /**
     * 修改
     */
    @RequestMapping("/update")
    @Transactional
    @IgnoreAuth
    public R update(@RequestBody ExampaperEntity exampaper, HttpServletRequest request){
        //ValidatorUtils.validateEntity(exampaper);
        exampaperService.updateById(exampaper);//全部更新
        return R.ok();
    }



    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        exampaperService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
	
	/**
     * 前端智能排序
     */
	@IgnoreAuth
    @RequestMapping("/autoSort")
    public R autoSort(@RequestParam Map<String, Object> params,ExampaperEntity exampaper, HttpServletRequest request,String pre){
        EntityWrapper<ExampaperEntity> ew = new EntityWrapper<ExampaperEntity>();
        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 = exampaperService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, exampaper), params), params));
        return R.ok().put("data", page);
    }









    /**
     * 组卷
     */
    @RequestMapping("/compose")
    public R compose(HttpServletRequest request,@RequestParam Long paperid, @RequestParam String papername, @RequestParam Integer radioNum,
        @RequestParam Integer multipleChoiceNum, @RequestParam Integer determineNum, @RequestParam Integer fillNum, @RequestParam Integer subjectivityNum){
        //如果已存在考试记录,不能进行重新组卷
        if(examrecordService.selectCount(new EntityWrapper<ExamrecordEntity>().eq("paperid", paperid))>0) {
            return R.error("已存在考试记录,无法重新组卷");
        }
        //组卷之前删除该试卷之前的所有题目
        examquestionService.deleteByMap(new MapUtils().put("paperid", paperid));
        List<ExamquestionbankEntity> questionList = new ArrayList<ExamquestionbankEntity>();
        //单选题
        if(radioNum>0) {
            Integer radioSize = examquestionbankService.selectCount(new EntityWrapper<ExamquestionbankEntity>().eq("type", 0));
            if(radioSize<radioNum) {
                return R.error("单选题库不足");
            } else {
                Wrapper<ExamquestionbankEntity> ew = new EntityWrapper<ExamquestionbankEntity>();
                ew.eq("type", 0).orderBy("RAND()").last("limit "+radioNum);
                List<ExamquestionbankEntity> radioList = examquestionbankService.selectList(ew);
                questionList.addAll(radioList);
            }
        }
        //多选题
        if(multipleChoiceNum>0) {
            Integer multipleChoiceSize = examquestionbankService.selectCount(new EntityWrapper<ExamquestionbankEntity>().eq("type", 1));
            if(multipleChoiceSize<multipleChoiceNum) {
                return R.error("多选题库不足");
            } else {
                Wrapper<ExamquestionbankEntity> ew = new EntityWrapper<ExamquestionbankEntity>();
                ew.eq("type", 1).orderBy("RAND()").last("limit "+multipleChoiceNum);
                List<ExamquestionbankEntity> multipleChoiceList = examquestionbankService.selectList(ew);
                questionList.addAll(multipleChoiceList);
            }
        }
        //判断题
        if(determineNum>0) {
            Integer determineSize = examquestionbankService.selectCount(new EntityWrapper<ExamquestionbankEntity>().eq("type", 2));
            if(determineSize<determineNum) {
                return R.error("判断题库不足");
            } else {
                Wrapper<ExamquestionbankEntity> ew = new EntityWrapper<ExamquestionbankEntity>();
                ew.eq("type", 2).orderBy("RAND()").last("limit "+determineNum);
                List<ExamquestionbankEntity> determineList = examquestionbankService.selectList(ew);
                questionList.addAll(determineList);
            }
        }
        //填空题
        if(fillNum>0) {
            Integer fillSize = examquestionbankService.selectCount(new EntityWrapper<ExamquestionbankEntity>().eq("type", 3));
            if(fillSize<fillNum) {
                return R.error("填空题库不足");
            } else {
                Wrapper<ExamquestionbankEntity> ew = new EntityWrapper<ExamquestionbankEntity>();
                ew.eq("type", 3).orderBy("RAND()").last("limit "+fillNum);
                List<ExamquestionbankEntity> fillList = examquestionbankService.selectList(ew);
                questionList.addAll(fillList);
            }
        }
        //主观题
        if(subjectivityNum>0) {
            Integer subjectivitySize = examquestionbankService.selectCount(new EntityWrapper<ExamquestionbankEntity>().eq("type", 4));
            if(subjectivitySize<subjectivityNum) {
                return R.error("主观题库不足");
            } else {
                Wrapper<ExamquestionbankEntity> ew = new EntityWrapper<ExamquestionbankEntity>();
                ew.eq("type", 4).orderBy("RAND()").last("limit "+subjectivityNum);
                List<ExamquestionbankEntity> subjectivityList = examquestionbankService.selectList(ew);
                questionList.addAll(subjectivityList);
            }
        }
        if(questionList!=null && questionList.size()>0) {
            long seq = 0;
            for(ExamquestionbankEntity q : questionList) {
                ExamquestionEntity examquestion = new ExamquestionEntity();
                examquestion.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
                examquestion.setPaperid(paperid);
                examquestion.setPapername(papername);
                examquestion.setQuestionname(q.getQuestionname());
                examquestion.setOptions(q.getOptions());
                examquestion.setScore(q.getScore());
                examquestion.setAnswer(q.getAnswer());
                examquestion.setAnalysis(q.getAnalysis());
                examquestion.setType(q.getType());
                examquestion.setSequence(++seq);
                examquestionService.insert(examquestion);
            }
        }
        return R.ok();
    }

}

@RestController
@RequestMapping("/examquestionbank")
public class ExamquestionbankController {
    @Autowired
    private ExamquestionbankService examquestionbankService;




    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@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);
    }
    
    /**
     * 前端列表
     */
	@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);
        examquestionbankService.insert(examquestionbank);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody ExamquestionbankEntity examquestionbank, HttpServletRequest request){
    	//ValidatorUtils.validateEntity(examquestionbank);
        examquestionbankService.insert(examquestionbank);
        return R.ok();
    }


     /**
     * 获取用户密保
     */
    @RequestMapping("/security")
    @IgnoreAuth
    public R security(@RequestParam String username){
        ExamquestionbankEntity examquestionbank = examquestionbankService.selectOne(new EntityWrapper<ExamquestionbankEntity>().eq("", username));
        return R.ok().put("data", examquestionbank);
    }


    /**
     * 修改
     */
    @RequestMapping("/update")
    @Transactional
    @IgnoreAuth
    public 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);
    }










}

五、论文参考

  • 计算机毕业设计选题推荐-个性化智能学习系统论文参考:
    计算机毕业设计选题推荐-个性化智能学习系统论文参考

六、系统视频

个性化智能学习系统项目视频:

计算机毕业设计选题推荐-个性化智能学习系统-项目实战

结语

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL架构与数据库基础

文章目录 一、数据库概念二、数据库的简单概念三、SQL四、MySQL架构 一、数据库概念 数据库是一个以某种由组织的方式存储的数据集合。我们可以把数据库想象称为一个文件柜。此文件柜是一个存放数据的物理位置&#xff0c;不管数据是什么以及如何组织的。数据库本质也需要像文…

C++-类与对象(上篇)

一、目标&#xff1a; 1. 面向过程和面向对象初步认识 2. 类的引入 3. 类的定义 4. 类的访问限定符及封装 5. 类的作用域 6. 类的实例化 7. 类的对象大小的计算 8. 类成员函数的 this 指针 二、对类与对象的介绍&#xff1a; 1.面向过程和面向对象初步认识 &#xff1a…

调用FluentUI中的折线图散点图等

文章目录 0.文章介绍1.源码位置2.线性图&#xff1a;基础版本2.1效果图2.2代码 3.线形图&#xff1a;封装版本3.1 效果图3.2 代码 0.文章介绍 调用项目FluentUI中的散点图、折线图组件&#xff0c;做定制化改进。 项目FluentUI源码位置&#xff1a;https://github.com/zhuzich…

手把手教你SpringBoot项目将Swagger升级3.0详解

SpringBoot项目将Swagger升级3.0 前言 这阵子观察到Swagger官方已经升级到了3.0的版本&#xff0c;想着升级体验一下最新的版本 新特性 移除了2.x版本的冲突版本&#xff0c;移除了guava等移除了EnableSwagger2新增了springfox-boot-starter… 引入依赖 新版本中&#xf…

三十八、【人工智能】【机器学习】【监督贝叶斯网络(Bayesian Networks)学习】- 算法模型

系列文章目录 第一章 【机器学习】初识机器学习 第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression) 第三章 【机器学习】【监督学习】- 支持向量机 (SVM) 第四章【机器学习】【监督学习】- K-近邻算法 (K-NN) 第五章【机器学习】【监督学习】- 决策树…

数据库-DML语言-数据操作语言

定义 DML是对表中数据进行操作的语言&#xff0c;涉及的关键字:INSERT UPDATE DELETE INSERT:向表中插入新数据的语句UPDATE:修改表中数据的语句DELETE:删除表中数据的语句 准备工作 USE mydb; 使用mydb库 CREATE TABLE person( 创建表personname VARCHAR(30),age INT…

AAAI‘25 今日截稿!SD 核心成员开源比 Midjourney 还强的文生图模型,现已提供一键启动

Midjourney 真的不香了&#xff01;继 Stable Diffusion 3 于 6 月开源后&#xff0c;Stability AI 前核心成员 Robin Rombach 带领着新团队在本月初推出了 FLUX.1 图像生成模型家族。官方声称 FLUX.1 在多个关键指标上超越了 Midjourney v6.0 和 DALLE 3 等文生图的头部模型&a…

VMware Workstation Pro 安装 Ubuntu Server

这里写目录标题 VMware Workstation Pro 安装 Ubuntu Server1. 启动选项2. 系统语言3. 安装程序升级4. 键盘配置5. 安装类型6. 网卡配置7. 代理配置8. 系统镜像配置9. 硬盘配置10. 账户配置11. Ubuntu Pro 版本12. SSH 服务13. 推荐软件14. 安装成功15. 第一次重启报错16. 登录…

JavaScript调试:console 命令的使用

1、console 命令介绍 console 对象用于 JavaScript 调试。JavaScript 原生中默认是没有 console 对象&#xff0c;这是宿主对象&#xff08;也就是浏览器&#xff09;提供的内置对象。 用于访问调试控制台,在不同的浏览器里效果可能不同。 console 对象常见的两个用途&#x…

【计算机操作系统】覆盖与交换

覆盖与交换 覆盖与交换是实现内存空间扩充的技术&#xff0c;虚拟存储技术后续会详细讲解 覆盖技术 为了解决程序大小超过物理内存总和的问题引入了覆盖技术 覆盖技术的思想&#xff1a; 将程序分为多个段&#xff08;多个模块&#xff09;&#xff0c;常用的段常驻内存&…

Go Kafka 操作详解

Go Kafka 操作详解 引言 Apache Kafka 是一个分布式流处理平台&#xff0c;广泛应用于构建实时数据管道和流应用程序。在 Go 语言中&#xff0c;使用 github.com/IBM/sarama 库可以方便地与 Kafka 进行交互。本文将详细介绍如何使用 Sarama 库在 Go 中实现 Kafka 的生产者和消…

等保测评中的安全需求分析:构建精准的信息安全防护体系

在数字化转型的时代背景下&#xff0c;信息安全成为企业发展的关键因素之一。等保测评&#xff0c;作为我国信息安全等级保护制度的重要组成部分&#xff0c;要求企业进行详细的安全需求分析&#xff0c;以构建精准、有效的信息安全防护体系。本文旨在探讨等保测评中的安全需求…

基于SpringBoot+VUE的在线视频教育平台(源码+文档+部署

主要内容&#xff1a;Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能与大数据、单片机开发、物联网设计与开发设计、简历模板、学习资料、面试题库、技术互助、就业指导等 业务范围&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写…

TQX310光口自环检测

本历程实现X310的光口自环测试&#xff0c;以及查看眼图。需要准备板卡以及好烧写的文件&#xff0c;文件在文档末尾的连接中提供。 X310连接好JTAG与电源线&#xff0c;在MGT x4口插入光口自环模块&#xff0c;并开机。 打开vivado&#xff0c;打开硬件管理器&#xff0c;会识…

Kubernetes—k8s集群存储卷(pvc存储卷)

目录 一、PVC 和 PV 1.PV 2.PVC 3.StorageClass 4.PV和PVC的生命周期 二、实操 1.创建静态pv 1.配置nfs 2.创建pv 3.创建pvc 4.结合pod&#xff0c;将pv、pvc一起运行 2.创建动态pv 1.上传 2.创建 Service Account&#xff0c;用来管理 NFS Provisioner 在 k8s …

Harmony OS 后台任务-代理提醒

三、代理提醒 传送门 1.什么是代理提醒 应用退到后台或进程终止后&#xff0c;仍然有一些提醒用户的定时类任务&#xff0c;例如购物类应用抢购提醒等&#xff0c;为满足此类功能场景&#xff0c;系统提供了代理提醒&#xff08;reminderAgentManager&#xff09;的能力。当…

Linux系统使用Typecho搭建个人网站并一键发布公网远程管理本地站点

文章目录 前言1. 安装环境2. 下载Typecho3. 创建站点4. 访问Typecho5. 安装cpolar6. 远程访问Typecho7. 固定远程访问地址8. 配置typecho &#x1f4a1; 推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大…

Python 数据可视化,怎么选出合适数据的图表

数据可视化最佳实践 1. 引言&#xff1a;为什么数据可视化最佳实践很重要 数据可视化是数据分析和决策过程中不可或缺的一部分。通过有效的可视化&#xff0c;复杂的数据可以转化为易于理解的信息&#xff0c;从而帮助观众快速做出正确的判断。然而&#xff0c;糟糕的可视化可…

Qt-认识tT(1)

目录 QT是做什么的&#xff1f; 什么是QT GUI开发的各种技术方案 QT支持的平台 Qt的版本和优点 开发工具概述 Qt是做什么的&#xff1f; Qt是用来干嘛的&#xff1f; 什么是Qt Qt是⼀个跨平台的C图形用户界⾯应用程序框架。它为应用程序开发者提供了建立艺术级图形界⾯所…

Vue3+Ts封装类似el-drawer的抽屉组件

提供9个字段对drawer组件进行控制&#xff1a; modelValue: 对抽屉显示隐藏进行控制, width: 控制抽屉的宽度, title: 控制抽屉的标题, appendToBody: 是否将抽屉添加至body, closeOnClickModal: 是否点击遮罩层关闭抽屉, showConfirm: 是否显示确认按钮, showCancel: 是…