基于springboot的“协同过滤算法的高考择校推荐系统”的设计与实现(源码+数据库+文档+PPT)
基于springboot的“协同过滤算法的高考择校推荐系统”的设计与实现(源码+数据库+文档+PPT)
-
开发语言:Java
-
数据库:MySQL
-
技术:springboot
-
工具:IDEA/Ecilpse、Navicat、Maven
系统展示
系统功能结构图
局部E-R图
系统首页界面
院校信息详细页面
专业资讯详细页面
后台登录界面
管理员主界面
用户管理界面
地区管理界面
院校信息管理界面
成绩查询管理界面
摘要
本研究旨在设计并实现一个融合多源高校画像数据与协同过滤算法的高考择校推荐系统。该系统通过收集和整合不同来源的高校信息,如学术成就、校园设施、就业率及学生评价等,构建全面的高校画像。采用改进的协同过滤算法,根据学生的成绩、偏好和职业规划,为其提供个性化的高校推荐。系统能够处理冷启动问题,并不断优化推荐结果,帮助学生在众多高校中做出更加明智的选择。
本文首先对课题的背景和现状进行分析,然后根据系统的开发流程对系统的可行性和需求进行分析,通过对系统总体设计来绘制系统功能结构图,并对数据库结构进行设计。最后进行系统测试。测试的结果能够达到预期的效果,运行状况良好。
课题背景
随着信息技术的发展,大数据分析在教育领域的应用逐渐深入,高考择校作为影响学生未来发展的重要决策之一,受到了家长和学生的高度重视。传统的择校方式主要依靠经验判断和口碑了解,缺乏客观数据支持,而且学生和家长通常难以从数百所高校中全面了解每所学校的详细信息。随着互联网信息的爆炸性增长,如何从众多信息中筛选出对学生真正有用的数据成为了一个难题。此外,由于学生个性化需求的日益增长,一种能够提供个性化推荐、协助学生做出更科学决策的高考择校推荐系统显得尤为必要。
开发融合多源高校画像数据与协同过滤算法的高考择校推荐系统具有重大的现实意义和长远价值。该系统可以有效地整合高校多维度的数据资源,通过数据挖掘和分析技术,为学生提供基于数据的、全面的、客观的高校信息。利用协同过滤等智能算法能够发现学生偏好与潜在需求,实现个性化推荐,从而帮助学生在众多高校中快速定位到最适合自己的学校。系统还具有提高高校信息透明度、促进教育资源合理分配的社会效应。此推荐系统可作为高考改革和信息化校园建设的重要参考,为制定科学的教育政策提供依据。系统的反馈机制也有助于学校改进招生宣传策略,优化教育教学资源配置。该推荐系统不仅符合个体化、智能化的教育发展趋势,还能为高考择校这一重要环节提供技术支持,具有广阔的应用前景和社会价值。
国内外研究现状
国内外研究现状 在中国,随着教育信息化的推进和智能算法的发展,高考择校推荐系统得到了学术界和业界的广泛关注。国内研究者在多源高校画像数据的构建方面做了大量工作,通过整合教育部门的统计数据、高校官方网站信息、社交媒体上的校园生活展示等多种渠道,形成了包含教学质量、科研水平、就业情况等多维度信息的高校数据库。同时,协同过滤算法因其在推荐系统中的出色表现而被广泛应用于高考择校领域,国内众多研究机构和企业针对该算法进行了本土化的优化,以适应中国高考制度的特殊情况和学生的个性化需求。尽管如此,国内在这一领域的研究仍面临数据孤岛、算法准确度提升以及实时性改进等问题。
在国外,尤其是美国、欧洲等地,高考择校推荐系统的研究起步较早,相关研究成果也较为丰富。国外研究者不仅注重高校画像数据的全面性和实时性,还在数据的开放共享方面做了大量尝试,例如使用开放APIs促进不同平台间的数据交互。在算法应用方面,除了协同过滤算法,国外研究还积极探索基于内容推荐、混合推荐以及近年来兴起的基于深度学习的推荐算法,以期提高推荐系统的智能化水平和用户体验。然而,国外的推荐系统在面对不同国家教育体系和文化差异时需要进行相应的调整,且对于处理大规模数据时的效率和隐私保护问题亦是研究的热点。
主要研究内容
本系统在开发过程中选用Java作为后端开发语言,并引入了基于用户相似度的协同过滤算法,用于提供个性化的推荐功能。采用了Spring Boot框架。Spring Boot框架为我们带来了开箱即用的便利性,大大加快了开发速度。在数据存储和操作方面,我们选择了MySQL数据库。前端开发部分,我们使用了HTML、CSS、JavaScript以及流行的前端框架Vue.js,这使得界面设计和用户交互变得更加直观和便捷。在开发工具方面,我们选用了Eclipse和Navicat。Eclipse作为一款成熟的开发工具,为我们提供了丰富的功能和强大的支持。而Navicat作为数据库管理工具,拥有友好的用户界面和强大的SQL处理能力,从而大大提高了我们的开发效率。系统主要分为管理员和用户两个角色,主要功能包括系统首页,用户管理,地区管理,院校信息管理,专业资讯管理,院校类型管理,成绩查询管理,志愿类型管理,志愿填报管理,在线交流,系统管理,我的信息等进行解析。
部分源码
/*** 专业资讯评论表* 后端接口* @author * @email * @date */
@RestController
@RequestMapping("/discusszhuanyezixun")
public class DiscusszhuanyezixunController {@Autowiredprivate DiscusszhuanyezixunService discusszhuanyezixunService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,DiscusszhuanyezixunEntity discusszhuanyezixun,HttpServletRequest request){EntityWrapper<DiscusszhuanyezixunEntity> ew = new EntityWrapper<DiscusszhuanyezixunEntity>();PageUtils page = discusszhuanyezixunService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, discusszhuanyezixun), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,DiscusszhuanyezixunEntity discusszhuanyezixun, HttpServletRequest request){EntityWrapper<DiscusszhuanyezixunEntity> ew = new EntityWrapper<DiscusszhuanyezixunEntity>();PageUtils page = discusszhuanyezixunService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, discusszhuanyezixun), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( DiscusszhuanyezixunEntity discusszhuanyezixun){EntityWrapper<DiscusszhuanyezixunEntity> ew = new EntityWrapper<DiscusszhuanyezixunEntity>();ew.allEq(MPUtil.allEQMapPre( discusszhuanyezixun, "discusszhuanyezixun")); return R.ok().put("data", discusszhuanyezixunService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(DiscusszhuanyezixunEntity discusszhuanyezixun){EntityWrapper< DiscusszhuanyezixunEntity> ew = new EntityWrapper< DiscusszhuanyezixunEntity>();ew.allEq(MPUtil.allEQMapPre( discusszhuanyezixun, "discusszhuanyezixun")); DiscusszhuanyezixunView discusszhuanyezixunView = discusszhuanyezixunService.selectView(ew);return R.ok("查询专业资讯评论表成功").put("data", discusszhuanyezixunView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){DiscusszhuanyezixunEntity discusszhuanyezixun = discusszhuanyezixunService.selectById(id);return R.ok().put("data", discusszhuanyezixun);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){DiscusszhuanyezixunEntity discusszhuanyezixun = discusszhuanyezixunService.selectById(id);return R.ok().put("data", discusszhuanyezixun);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody DiscusszhuanyezixunEntity discusszhuanyezixun, HttpServletRequest request){//ValidatorUtils.validateEntity(discusszhuanyezixun);discusszhuanyezixunService.insert(discusszhuanyezixun);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody DiscusszhuanyezixunEntity discusszhuanyezixun, HttpServletRequest request){//ValidatorUtils.validateEntity(discusszhuanyezixun);discusszhuanyezixunService.insert(discusszhuanyezixun);return R.ok();}/*** 获取用户密保*/@RequestMapping("/security")@IgnoreAuthpublic R security(@RequestParam String username){DiscusszhuanyezixunEntity discusszhuanyezixun = discusszhuanyezixunService.selectOne(new EntityWrapper<DiscusszhuanyezixunEntity>().eq("", username));return R.ok().put("data", discusszhuanyezixun);}/*** 修改*/@RequestMapping("/update")@Transactional@IgnoreAuthpublic R update(@RequestBody DiscusszhuanyezixunEntity discusszhuanyezixun, HttpServletRequest request){//ValidatorUtils.validateEntity(discusszhuanyezixun);discusszhuanyezixunService.updateById(discusszhuanyezixun);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){discusszhuanyezixunService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 前端智能排序*/@IgnoreAuth@RequestMapping("/autoSort")public R autoSort(@RequestParam Map<String, Object> params,DiscusszhuanyezixunEntity discusszhuanyezixun, HttpServletRequest request,String pre){EntityWrapper<DiscusszhuanyezixunEntity> ew = new EntityWrapper<DiscusszhuanyezixunEntity>();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 = discusszhuanyezixunService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, discusszhuanyezixun), params), params));return R.ok().put("data", page);}}
结论
系统的开发通过简单明了的方式实现高考择校推荐系统,主要论述怎样利用JAVA技术来开发出对界面简洁、性能优化、可扩展性强和安全可靠操作简单的高考择校推荐系统运营。系统主要分为管理员和用户两部分,主要包括系统首页,用户管理,地区管理,院校信息管理,专业资讯管理,院校类型管理,成绩查询管理,志愿类型管理,志愿填报管理,在线交流,系统管理,我的信息等功能进行管理。然后根据这些功能对系统进行分析设计,对所用到java、springboot、MySQL和B/S结构等相关技术进行介绍,接着进行需求分析的描述。接着是概要设计和详细设计。描述系统功能实现的方案及过程,以及如何实现系统的测试工作和后期系统的维护。
该设计实现了高考择校推荐系统,根据整体的设计实现了高考择校推荐系统的基本功能。由于时间有限和我学到的东西有限,系统仍需要在很多地方进行改进,而且还有很多我还没有接触过的功能。我将在接下来的时间里逐步却说加强并完善。
相关文章:
基于springboot的“协同过滤算法的高考择校推荐系统”的设计与实现(源码+数据库+文档+PPT)
基于springboot的“协同过滤算法的高考择校推荐系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:springboot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 局部E-R图 系统…...
制作前的关键筹备:考试考核系统之核心要点
明确系统使用目的 制作考试考核系统前,企业需明确系统使用目的,这是开发基石,不同目的决定系统功能特性。用于员工培训考核时,系统要与培训内容结合,能生成相应考题,检验员工知识掌握程度,具备…...
【动手学深度学习】现代卷积神经网络:ALexNet
【动手学深度学习】现代卷积神经网络:ALexNet 1,ALexNet简介2,AlexNet和LeNet的对比3, AlexNet模型详细设计4,AlexNet采用ReLU激活函数4.1,ReLU激活函数4.2,sigmoid激活函数4.3,为什…...
Linux自启动脚本 systemctl
1.编写好脚本 #!/bin/bash /home/china/Linux/code/a.out2. 创建 Systemd 服务文件 sudo gedit /etc/systemd/system/my_script.service3.编写服务配置 将以下内容写入文件(根据需求修改字段): [Unit] DescriptionMy Custom Shell Script…...
2024年KBS SCI1区TOP:信息增益比子特征分组赋能粒子群算法ISPSO,深度解析+性能实测
目录 1.摘要2.信息度量3.改进策略4.结果展示5.参考文献6.代码获取 1.摘要 特征选择是机器学习中的关键预处理步骤,广泛应用于实际问题。尽管粒子群算法(PSO)因其强大的全局搜索能力被广泛用于特征选择,但要开发一种高效的PSO方法…...
餐饮厨房开源监控安全系统的智能革命
面对日益严格的合规要求和消费者对卫生的信任危机,传统人工监督已力不从心:卫生死角难发现、违规操作难追溯、安全隐患防不胜防。如何让后厨更透明、更安全、更可信?餐饮厨房视频安全系统横空出世!这套系统融合实时监控与AI技术&a…...
Ansys Electronics 变压器 ACT
你好, 在本博客中,我将讨论如何使用 Ansys 电子变压器 ACT 自动快速地设计电力电子电感器或变压器。我将逐步介绍设计和创建电力电子变压器示例的步骤,该变压器为同心组件,双绕组,采用正弦电压激励,并应用…...
Redis与Lua原子操作深度解析及案例分析
一、Redis原子操作概述 Redis作为高性能的键值存储系统,其原子性操作是保证数据一致性的核心机制。在Redis中,原子性指的是一个操作要么完全执行,要么完全不执行,不会出现部分执行的情况。 Redis原子性的实现原理 单线程模型&a…...
Shell 脚本开发从入门到实战
第1章:什么是 Shell 与 Shell 脚本? 一、Shell 是什么? Shell 是一个命令解释器,是你在 Linux 里敲命令的地方。你平时用的命令如 cd、ls、echo,其实都由 Shell 来解析执行。最常见的 Shell 是 Bash,绝大…...
宇视设备视频平台EasyCVR打造智慧酒店安防体系,筑牢安全防线
一、需求背景 酒店作为人员流动频繁的场所,对安全保障与隐私保护有着极高的要求。为切实维护酒店内部公共区域的安全秩序,24小时不间断视频监控成为必要举措。通常情况下,酒店需在本地部署视频监控系统以供查看,部分连锁酒店还希…...
深度解读分销小程序商城源码系统:从搭建到运营的关键指南
在移动互联网浪潮的席卷下,电商领域持续变革与创新。分销小程序商城凭借其独特优势,如依托社交平台流量、便捷的购物体验、高效的分销推广模式等,成为众多企业和创业者开展线上业务的热门选择。深入了解分销小程序商城源码系统,从…...
BeeWorks:打造安全可控的企业内网即时通讯平台
在数字化办公时代,企业对即时通讯工具的需求日益增长,尤其是对数据安全和隐私保护有严格要求的行业,如金融、政府、医疗等。BeeWorks 作为一款专注于内网部署的即时通讯软件,凭借其卓越的安全性、稳定性、丰富的功能以及全面的信创…...
微信小程序开发:废品回收小程序-功能清单
用户端:便捷体验,触手可及 废品百科与估价指南:平台以直观的方式展示各类废品的分类标准与实时市场价格,让用户轻松掌握废品价值,决策更从容。 一键预约,轻松回收:用户只需轻触屏幕,…...
【Grok 大模型深度解析】第一期:技术溯源与核心突破
一、Grok的技术基因:从Transformer到混合架构的演进 1.1 Transformer架构的局限性 2017年Google提出的Transformer架构彻底改变了自然语言处理领域,其自注意力机制(Self-Attention)在长序列建模上表现优异。然而,随着模型规模的增大,传统Transformer暴露出以下问题: 计…...
性能比拼: Redis vs Memcached
本内容是对知名性能评测博主 Anton Putra Redis vs Memcached Performance Benchmark 内容的翻译与整理, 有适当删减, 相关指标和结论以原作为准 在本视频中,我们将对比 Redis 和 Memcached。我会介绍一些功能上的不同,但主要关注 性能。 首先…...
Mujoco xml actuator
actuator general(通用执行器)motor(电机执行器)position(位置伺服)velocity(速度伺服)intvelocity(积分速度伺服)damper(主动阻尼器)…...
Mybatis Plus分页查询返回total为0问题
概述 最近开发公司新项目,使用 Mybatis Plus 分页,发现总数和总页数为0,在此记录问题和解决方案。 添加 MybatisPlusConfig /*** author: lanys* version: 1.0* 创建时间:2025年4月9日 14:24:40* Description: MybatisPlus分页…...
多卡分布式训练:torchrun --nproc_per_node=5
多卡分布式训练:torchrun --nproc_per_node=5 1. torchrun 实现规则 torchrun 是 PyTorch 提供的用于启动分布式训练作业的实用工具,它基于 torch.distributed 包,核心目标是简化多进程分布式训练的启动和管理。以下是其主要实现规则: 进程启动 多进程创建:torchrun 会…...
网络层-IP地址计算
例1:IP地址二进制与十进制互转 题目: 将二进制IP 11000000.10101000.00000001.00001010 转换为点分十进制。将IP地址 172.16.254.1 转换为二进制格式。 答案与解析: 转换步骤: 每个8位二进制转为十进制: 11000000 →…...
BeagleBone Black笔记
目录 参考资料开机led控制GPIO输入输出插网线联网安装gcc编译工具镜像备份验证备份完整性将内存卡插入目标BBBboot启动开关 参考资料 链接: BeagleBone Black使用(一):狗板简介 链接: 使用Beaglebone Black的IO口 开机 直接用usb连接到电脑…...
【25软考网工笔记】第一章 计算机网络概述
目录 一、计算机网络发展与分类 1. 计算机网络形成和发展 1)ICT 2)计算机网络的发展 3)我国互联网发展 2. 计算机网络分类 1)通信子网和资源子网 2)PAN、LAN、MAN、WAN 3)其他分类方式 3. 计算机…...
Soybean Admin 配置vite兼容低版本浏览器、安卓电视浏览器(飞视浏览器)
环境 window10 pnpm 8.15.4 node 8.15.4 vite 5.1.4 soybean admin: 1.0.0 native-ui: 2.38.0 小米电视 MIUI TV版本:MiTV OS 2.7.1886(稳定版) 飞视浏览器:https://www.fenxm.com/1220.html在小米电视安装飞视浏览器可以去小红书查安装教程:…...
MicroPython 开发ESP32应用教程 之 I2S、INMP441音频录制、MAX98357A音频播放、SD卡读写
本课程我们讲解Micropython for ESP32 的i2s及其应用,比如INMP441音频录制、MAX98357A音频播放等,还有SD卡的读写。 一、硬件准备 1、支持micropython的ESP32S3开发板 2、INMP441数字全向麦克风模块 3、MAX98357A音频播放模块 4、SD卡模块 5、面包板及…...
从零到一:基于DeepSeek-R1的智能贪吃蛇开发实战
《基于DeepSeek-R1的AI驱动高性能贪吃蛇游戏开发全流程解析》 一、技术选型与环境搭建 开发工具链 • 编辑器:VSCode/Sublime(支持代码生成插件) • 运行环境:Node.js v16+(用于API调用及后端服务) • 图形库:HTML5 Canvas(网页端)或OLED驱动(单片机场景) • AI引擎…...
数据结构与算法-动态规划-区间dp,状态机dp,树形dp
3-区间 DP 介绍 通常用 (dp[i][j]) 表示区间 ([i, j]) 上的某种最优值,比如 (dp[i][j]) 可以表示从下标 (i) 到 (j) 的元素进行某种操作所得到的最大收益、最小花费等。 状态转移方程:这是区间 DP 的关键。它描述了如何从较小的区间的最优解得到较大区…...
文件内容课堂总结
Spark-Core编程 Key-Value类型: partitionBy函数根据指定Partitioner重新进行分区,默认使用HashPartitioner groupByKey函数根据key对value进行分组,有三种函数签名 reduceByKey函数将数据按相同Key对Value进行聚合,与groupByKey相…...
【树莓派Pico FreeRTOS】-任务通知
任务通知 文章目录 任务通知1、硬件准备2、软件准备3、FreeRTOS的任务通知介绍4、任务通知数据传输实例RP2040 由 Raspberry Pi 设计,具有双核 Arm Cortex-M0+ 处理器和 264KB 内部 RAM,并支持高达 16MB 的片外闪存。 广泛的灵活 I/O 选项包括 I2C、SPI 和独特的可编程 I/O (…...
c++11新内容补充
1.列表初始化 1.1传统{ }初始化 c98的{ }初始化主要是用于数组,以及结构体 1.2c11{ }初始化 1.让内置类型和自定义类型都可以用{ }实现多个数据初始化,而自定义类型的实现原理是类型转换(没优化的版本是先构造临时对象,然后拷贝构…...
动态规划基础
动态规划 动态规划概论楼梯最短路最长上升子序列(LIS)最长公共子序列(LCS)最长回文子串 概率动态规划区间动态规划石子合并括号序列石子合并(环形) 树形动态规划统计人数没有上司的舞会 背包01背包完全背包多重背包分组背包 动态规…...
导入 Excel 批量替换文件名称及扩展名
重命名的需求是多种多样的,我们一个方法或一个工具很难说完全满足 100% 的文件重命名的需求。如果我们的文件重命名的需求非常的复杂的时候,我们能否有一个万全的方法来帮我们实现呢?那今天就给大家介绍一下导入 excel 的方式批量修改文件名称…...
降低AIGC检测率的AI润色提示词模板
以下是针对降低AIGC检测率的 AI润色提示词模板,涵盖语言风格优化、逻辑重构、学术规范强化等维度,结合反检测策略设计,可直接用于DeepSeek等工具: 一、标题与摘要优化 1. 标题去AI化 提示词: 请将以下标题改写成更学…...
系统思考—提升解决动态性复杂问题能力
感谢合作伙伴的信任推荐! 客户今年的人才发展重点之一,是提升管理者应对动态性、复杂性问题的能力。 在深入交流后,系统思考作为关键能力模块,最终被纳入轮训项目——这不仅是一次培训合作,更是一场共同认知的跃迁&am…...
spring--整合Mybatis详解
整合Mybatis 步骤: 1.导入相关Maven依赖 junit mybatis mysql数据库连接 spring相关的 aop织入 mybatis-spring 2.编写配置文件 3.测试 回忆mybatis 还需连接数据库 导入依赖: <dependencies><dependency><groupId>juni…...
深入理解 HTML5 Audio:网页音频播放的新时代
在网页开发领域,音频的嵌入和播放一直是一个重要且不断演进的话题。HTML5 的出现,为网页音频播放带来了标准化的解决方案,极大地改善了开发者和用户的体验。 一、HTML5 之前的音频播放状况 在 HTML5 诞生之前,互联网上缺乏统一的网页音频播放标准。当时,大多数音频播放依…...
Cloudflare 缓存工作原理
Cloudflare 缓存是 Cloudflare 内容分发网络(CDN)的一个关键组成部分,通过在靠近用户的全球网络边缘服务器上存储和交付内容,显著提升网站性能。以下是关于 Cloudflare 缓存的相关内容: 工作原理 内容请求:…...
【Unity3D中UI与物体可见性的判断方法】
系列文章目录 unity知识点 文章目录 系列文章目录👉前言👉一、判断UI的可见性1-1、第一种1-2、通过RectTransform计算可视区域1-3、滚动容器内可见性检测(Scroll View) 👉二、判断物体的可见性2-1、视锥体检测方法2-2…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(1):承上启下,继续上路
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(1):承上启下,继续上路 1、前言(1)情况说明(2)工程师的信仰2、知识点(1)普通形(ふつうけい)と思います(2)辞書形ことができます(3)Vたことがあります。(4)Vた とき & Vる とき3、单词(1)日语单词(2…...
ubuntu24.04 cmake 报错 libldap-2.5.so.0 解决办法
apt cmake有毛病 换源重新安装 wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add - sudo apt-add-repository "deb https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main" sudo apt update sudo apt in…...
Mac 关闭浏览器左右滑动切换页面的问题
在使用触控板,操作浏览器时,左右滑动时,浏览器容易触发前进或者后退去查看历史记录。 如何关闭呢? 打开Mac- 系统设置-触控板 -更多手势 将轻扫切换页面设置为关,就可以了...
在 openEuler 24.03 (LTS) 操作系统上添加 ollama 作为系统服务的步骤
以下是在 openEuler 操作系统上添加 ollama 作为系统服务的步骤: 创建 systemd 服务文件 sudo vi /etc/systemd/system/ollama.service将以下内容写入服务文件(按需修改参数): [Unit] DescriptionOllama Service Afternetwork.…...
华为昇腾服务器上查看固件、驱动和CANN版本的常用方法
Hey小伙伴们~👋 今天来聊聊怎么在华为昇腾服务器上查看固件、驱动和CANN版本吧!💻 这些信息对于确保你的服务器运行顺畅可是超级重要的哦!下面就来给大家介绍几种常用的查看方法!👇 🌟 1. 查…...
击球手怎么玩·棒球1号位
以棒球运动为例,在棒球运动中,击球手(Batter)是进攻方的核心角色,负责通过击球创造得分机会。以下是结合棒球运动的详细介绍和击球技巧指南: 一、棒球基础规则 比赛目标 击球手需将投手(Pitch…...
java基础多态------面试八股文
是什么是多态 类引用指向子类对象,并调用子类重写的方法,实现不同的行为 例子 class Animal {void sound() {System.out.println("动物发出声音");} }class Dog extends Animal {Overridevoid sound() {System.out.println("狗叫&…...
Python中的字典
文章目录 一、Python中的字典1. 字典的特点2. 字典的创建3. 字典的常见操作1. **访问字典中的值**2. **修改字典中的值**3. **添加键值对**4. **删除键值对**5. **检查键是否存在**6. **获取字典的长度**7. **遍历字典** 4. 字典的方法5. 嵌套字典6. 字典的优点7. 示例总结 二、…...
C++对象生命周期管理:从构造到析构的完整指南
在C开发中,准确掌握对象的生命周期管理是避免内存泄漏和资源竞争的关键。本文通过完整代码示例和内存布局分析,深入解析构造/析构顺序、继承体系、智能指针等核心机制,并分享实用调试技巧。 一、成员变量构造顺序:声明即命运 cl…...
代码随想录第14天:(二叉树)
一、找树左下角的值(Leetcode 513) 递归法: class Solution:def findBottomLeftValue(self, root: TreeNode) -> int:# 初始化最大深度为 -1,表示当前尚未遍历任何节点# 初始化 result 为 None,最终将存储最左边的…...
TCP/UDP的连接和数据发送过程详解
TCP TCP三次握手 在服务端启动好后会调用 listen() 方法,进入到 LISTEN 状态,然后静静等待客户端的连接请求到来。 而此时客户端主动调用 connect(IP地址) ,就会向某个IP地址发起第一次握手,会先建立个半连接,发送SYN…...
2. 单词个数统计
【问题描述】 编写一个程序,输入一个句子,然后统计出这个句子当中不同的单词个数。例如,对于句子“one little two little three little boys",总共有5个不同的单词,one, little, two, three, boys。 说明&…...
Js生成螺旋数组。
这段代码定义了一个名为 vetux 的函数,用于生成一个螺旋矩阵。螺旋矩阵是一种按照螺旋顺序填充数字的二维数组。以下是代码的详细解释: 函数定义 function vetux(n, m) {// 创建一个 m 行 n 列的二维数组,初始值为 0const a new Array(m).…...
《Vue.js组件化开发实战:从安全纵深到性能跃迁》
开篇:组件化开发的工业革命 当全球500强企业的核心业务系统在12.12大促中经受每秒38万次请求冲击时,我们突然意识到:现代前端组件已不再是简单的UI积木,而是承载业务逻辑、安全防护、性能优化的纳米级作战单元。本文将从军工级系统…...