长沙微信网站/公司网站建设平台
2023年末,做的移动应用开发课设,分还算高,项目地址:有帮助的话,点个赞和星呗~
GitHub - blhqwjs/-GenShin_imp: 2023年移动应用开发课设
本文按照毕业论文要求来写,希望对大家有所帮助。
移动应用开发课设——原神小助手文档(1)-CSDN博客
第5章 系统测试
5.1 黑盒测试
为了全面评估系统的外部功能,深入了解程序的执行路径并验证不同的条件和分支,选择了黑盒测试的方法。测试策略包括定义测试范围、指定测试阶段等黑盒测试方法。测试用例设计包括各种输入,覆盖正常、边界和异常情况,并考虑外部预期结果。
5.2 单元测试
本次测试分别对项目核心代码:CharacterDetailsActivity、MainActivity、AddCharacterActivity、ManageMonsterActivity、AddMonsterActivity、进行插桩测试,并对项目进行整体的单元测试。测试用例以及方法如下:
表5.1 测试用例
测试方法名称 | 输入数据(或描述) | 预期输出 | 预期行为 | 实际输出 | 是否通过 |
---|---|---|---|---|---|
testValid Character Insertion | 名称: "角色1", 属性: "属性1", 技能: "技能1", 元素: "元素1", 喜好: "喜好1", 攻击: 100, 元素伤害: 1.5, 暴击率: 0.8, 暴击伤害: 2.0 | 预期ID: Long (插入角色的ID) | 当有效角色信息被插入时,预期返回插入的角色ID | 实际ID: Long (实际插入角色的ID) | 是 |
testEmpty Character Insertion | 名称: "", 属性: "", 技能: "", 元素: "", 喜好: "", 攻击: 0, 元素伤害: 0, 暴击率: 0, 暴击伤害: 0 | 预期ID: -1 | 当空白/无效角色信息被插入时,预期返回-1 | 实际ID: -1 | 是 |
testNegative AttackValue | 名称: "角色2", 属性: "属性2", 技能: "技能2", 元素: "元素2", 喜好: "喜好2", 攻击: -50, 元素伤害: 1.0, 暴击率: 0.5, 暴击伤害: 1.5 | 预期ID: -1 | 当攻击值为负数时,预期返回-1 | 实际ID: -1 | 是 |
续表5.1 测试用例
testZero Critical Rate | 名称: "角色3", 属性: "属性3", 技能: "技能3", 元素: "元素3", 喜好: "喜好3", 攻击: 80, 元素伤害: 2.0, 暴击率: 0.0, 暴击伤害: 2.5 | 预期ID: Long | 当暴击率为0时,预期成功插入角色并返回插入的角色ID | 实际ID: Long (实际插入角色的ID) | 是 |
test Maximum Attribute Length | 名称: "角色4角色4角色4角色4角色4角色4角色4角色4角色4", 属性: "属性4", 技能: "技能4", 元素: "元素4", 喜好: "喜好4", 攻击: 120, 元素伤害: 1.0, 暴击率: 0.6, 暴击伤害: 1.8 | ID: Long (插入角色的ID) | 当属性名称长度超过限制时,预期成功插入角色并返回插入的角色ID | 实际ID: Long (实际插入角色的ID) | 是 |
testNull Element Input | 名称: "角色5", 属性: "属性5", 技能: "技能5", 元素: null, 喜好: "喜好5", 攻击: 90, 元素伤害: 1.2, 暴击率: 0.7, 暴击伤害: 1.7 | 预期ID: Long (插入角色的ID) | 当元素输入为空时,预期成功插入角色并返回插入的角色ID | 实际ID: Long (实际插入角色的ID) | 是 |
testDouble Elemental Damage Value | 名称: "角色6", 属性: "属性6", 技能: "技能6", 元素: "元素6", 喜好: "喜好6", 攻击: 100, 元素伤害: 2.5, 暴击率: 0.8, 暴击伤害: 2.3 | 预期ID: Long (插入角色的ID) | 当元素伤害值为浮点数时,预期成功插入角色并返回插入的角色ID | 实际ID: Long (实际插入角色的ID) | 是 |
testCalculate Damage _FireIce Reaction | 火属性角色,冰属性怪物;攻击力100,元素伤害1.5,暴击率0.8,暴击伤害2.0 | 触发融化、暴击了、伤害值符合计算公式 | 火属性与冰属性的融化反应下计算伤害值 | 暴击了、伤害值(按照计算公式)符合预期 | 是 |
testCalculate Damage_ WaterIce Reaction | 水属性角色,冰属性怪物;攻击力90,元素伤害1.2,暴击率0.7,暴击伤害1.7 | 触发冻结、普通一击、伤害值符合计算公式 | 水属性与冰属性的冻结反应下计算伤害值 | 冻结、普通一击、伤害值(按照计算公式)符合预期 | 是 |
续表5.1 测试用例
testCalculate Damage_Fire WaterReaction | 火属性角色,水属性怪物;攻击力100,元素伤害1.5,暴击率0.8,暴击伤害2.0 | 触发蒸发、暴击了、伤害值符合计算公式 | 火属性与水属性的蒸发反应下计算伤害值 | 蒸发、暴击了、伤害值(按照计算公式)符合预期 | 是 | |
testCalculate Damage _NormalHit | 草属性角色,水属性怪物;攻击力90,元素伤害1.2,暴击率0.7,暴击伤害1.7 | 普通一击、伤害值符合计算公式 | 未触发元素反应下计算伤害值 | 普通一击、伤害值(按照计算公式)符合预期 | 是 | |
testCalculate Damage _Immunity | 雷属性角色,雷属性怪物;攻击力100,元素伤害1.5,暴击率0.8,暴击伤害2.0 | 免疫! 免疫! | 雷属性对雷属性怪物免疫 | 免疫! 免疫! | 是 | |
testGet AllMonsters | 数据库中有多个怪物记录,例如(id=1, name="Slime", attack=20) | 返回怪物列表,列表包含数据库中所有怪物的信息 | 获取数据库中所有怪物信息并创建相应的Monster对象,添加到列表中 | 实际输出符合预期 | 是 | |
Adapter | 怪物列表包含多个怪物对象,例如(id=1, name="Slime", attack=20) | ListView中显示了所有怪物的名称和相关信息 | 使用MonsterAdapter将怪物数据绑定到ListView,显示怪物的名称和信息 | 实际输出符合预期 | 是 | |
testOnItem Click | 用户点击某个怪物列表项,例如(id=1, name="Slime", attack=20) | 启动EditMonsterActivity,并传递选中怪物的ID | 监听ListView的点击事件,获取点击项对应的Monster对象,启动编辑页面 | 实际输出符合预期 | 是 | |
testOnItem ClickInvalid | 用户点击无效的列表项,例如(id=99, name="Invalid", attack=0) | 无启动任何新活动 | 点击ListView中不存在的项,不应启动新的活动 | 实际输出符合预期 | 是 |
续表5.1 测试用例
testEmpty Monster List | 数据库中没有怪物记录 | 空的怪物列表,ListView不显示任何项 | 查询数据库,如果没有怪物记录,Monster列表应为空 | 实际输出符合预期 | 是 |
testEmpty Fields | 名称:空 攻击力:空 防御力:空 等级:空 元素类型:空 生命值:空 | 添加失败 | 添加空白的怪物数据时应显示失败提示 | 显示失败提示 | 是 |
test Invalid Data | 名称:龙 攻击力:abc 防御力:xyz 等级:! 元素类型:不明 生命值:2000 | 添加失败 | 添加无效的怪物数据时应显示失败提示 | 显示失败提示 | 是 |
testInvalid Attack | 名称:火元素史莱姆 攻击力:-10 防御力:30 等级:8 元素类型:火 生命值:150 | 添加失败 | 添加无效的攻击数据时应显示失败提示 | 显示失败提示 | 是 |
testInvalid Defense | 名称:电击史莱姆 攻击力:40 防御力:-5 等级:10 元素类型:雷 生命值:120 | 添加失败 | 添加无效的防御数据时应显示失败提示 | 显示失败提示 | 是 |
testInvalid Level | 名称:冰霜史莱姆 攻击力:60 防御力:25 等级:0 元素类型:冰 生命值:80 | 添加失败 | 添加无效的等级数据时应显示失败提示 | 显示失败提示 | 是 |
testDelete Character | 存在选中的角色ID,例如选中ID为1的角色 | 角色被删除,活动关闭 | 点击删除按钮,弹出确认对话框,选择确定后执行删除 | 角色被删除,活动关闭 | 是 |
testDelete Character NoID | 不存在选中的角色ID | 无删除操作,活动保持不变 | 点击删除按钮,由于没有选中的角色,保持活动不变 | 无删除操作,活动保持不变 | 是 |
testCalculate Damage | 存在选中的怪物和角色,例如选中ID为1的怪物和ID为2的角色 | 显示伤害值 | 点击"战斗怪物"按钮,计算伤害值并将其显示在文本视图中 | 显示计算后的伤害值 | 是 |
续表5.1 测试用例
testCalculate Damage NoMonster | 存在选中的角色,但不存在选中的怪物,例如选中ID为2的角色 | 不显示伤害值,文本视图为空 | 点击"战斗怪物"按钮,由于没有选中的怪物,文本视图为空 | 不显示伤害值,文本视图为空 | 是 |
testCalculate Damage NoCharacter | 不存在选中的角色,但存在选中的怪物,例如选中ID为1的怪物 | 不显示伤害值,文本视图为空 | 点击"战斗怪物"按钮文本视图应为空 | 不显示伤害值,文本视图为空 | 是 |
testCalculate Damage Element Reaction | 存在选中的怪物和角色,且它们有相克的元素,例如选中ID为1的怪物和ID为2的角色 | 显示相应的元素反应伤害值 | 角色的元素为火,怪物的元素为水,应触发"蒸发"元素反应,计算伤害值并显示 | 显示相应的元素反应伤害值,触发蒸发 | 是 |
testCalculate Damage NoElement Reaction | 存在选中的怪物和角色,但它们没有相克的元素,例如选中ID为1的怪物和ID为3的角色 | 显示普通伤害值 | 角色的元素为火,怪物的元素为草,不应触发元素反应,计算普通伤害值并显示 | 显示普通伤害值,未触发元素反应 | 是 |
testCalculate Damage Critical | 存在选中的怪物和角色,且发生了暴击, ID为1的怪物和ID为2的角色 | 显示暴击伤害值 | 角色的暴击率较高,应计算暴击伤害值 | 显示暴击伤害值 | 是 |
testCalculate Damage NoCritical | 存在选中的怪物和角色,但未发生暴击,例如选中ID为1的怪物和ID为3的角色 | 显示普通伤害值 | 角色的暴击率较低,应计算普通伤害值并显示 | 显示普通伤害值 | 是 |
testWeb View Button | 点击WebView按钮 | 启动WebViewActivity | 点击WebView按钮,启动 | 启动WebViewActivity | 是 |
testPlay Videos Button | 点击Play Videos按钮 | 启动VideosActivity,并传递选中角色的名字 | 点击Play Videos按钮,启动VideosActivity,并传递选中角色的名 | 启动VideosActivity,并传递选中角色的名字 | 是 |
,符合预期行为。各个功能均能正常触发,未出现明显的错误或异常情况。通过黑盒测试,验证了系统在用户角度下的功能和性能。
(1)测试结果:
测试结果表明应用程序在正常和异常情况下都表现良好,符合预期行为。各个功能均能正常触发,未出现明显的错误或异常情况。通过黑盒测试,验证了系统在用户角度下的功能和性能。
(2)缺陷分析
① 用户体验问题:
缺乏友好的错误提示信息,可能使用户难以理解和解决问题。
针对无效输入,系统未提供足够详细的错误反馈,可能导致用户困惑。
②功能验证不充分:
部分功能虽然被测试,但对目标活动是否正确使用传递的数据缺乏验证,可能导致目标活动中显示不正确的信息。
5.3 集成测试
依据集成测试结果表明在不同组件之间的集成中,系统表现出良好的稳定性和正确性。组件之间的信息传递和功能调用正常,页面之间的集成也符合预期。具体如下表(表5.2)所示
表5.2 集成测试情况
类名 | 集成测试目标 | 测试步骤 | 测试结果 |
Main Activity | 验证主界面与其他关键模块的集成,确保启动其他活动的按钮功能正常。 | 1. 启动MainActivity。 2. 点击启动CharacterListActivity的按钮。 3. 点击启动WebViewActivity的按钮。 4. 点击启动VideosActivity的按钮。 | 启动其他活动的按钮功能正常。 |
Character ListActivity | 确保角色列表页面能够正确显示并与CharacterDetailsActivity集成。 | 1. 启动Character ListActivity。 2. 点击角色列表中的某个角色。 3. 验证是否能够正确启动Character DetailsActivit并显示选定角色的详细信息。 | 角色列表页面正确显示,与CharacterDetailsActivity正常集成。 |
Character Details Activity | 测试角色详情页面与相关管理器、其他页面(WebViewActivity和VideosActivity)的集成,确保计算伤害、页面跳转等功能正常。 | 1. 启动CharacterDetailsActivity。 2. 验证角色管理器与角色详情页面的集成。3. 验证怪物管理器与角色详情页面的集成。4. 点击"Play Videos"按钮,验证是否成功启动VideosActivity。5. 点击"WebView"按钮,验证是否能够成功启动WebViewActivity | 功能正常,各管理器与页面集成正常,页面跳转功能正常。 |
续表5.2 集成测试情况
Web View Activity | 确保WebViewActivity能够正常加载网页,验证与其他页面的集成。 | 1. 启动WebViewActivity。 2. 验证WebView能够正常加载网页。 3. 点击返回按钮,验证是否能够返回到上一个页面(Character DetailsActivity)。 | WebViewActivity正常加载网页,与其他页面集成正常。 |
Videos Activity | 确保VideosActivity能够正常显示相关视频,验证与其他页面的集成。 | 1. 启动VideosActivity。 2. 验证VideosActivity能够正常显示相关视频。3. 点击返回按钮,验证是否能够返回到上一个页面CharacterDetailsActivity) | VideosActivity正常显示相关视频,与其他页面集成正常。 |
Manage Monster Activity | 测试怪物列表页面与EditMonsterActivity、怪物管理器的集成。 | 1.启动ManageMonster Activity。 2. 点击怪物列表中的某个怪物。 3. 验证是否能够正确启动EditMonsterActivity并显示选定怪物的详细信息。 | 怪物列表页面正确显示,与EditMonsterActivity正常集成。 |
Edit Monster Activity | 确保EditMonsterActivity能够正常编辑怪物信息,验证与ManageMonsterActivity和怪物管理器的集成。 | 1. 启动EditMonsterActivity。2. 编辑怪物信息(例如修改怪物属性)。3. 保存修改。4. 返回ManageMonsterActivity,验证是否能够正确刷新怪物列表,显示修改后的怪物信息。 | EditMonsterActivity能够正常编辑怪物信息,与ManageMonsterActivity和怪物管理器集成正常。 |
5.4 系统测试
在本项目中,由于其规模相对较小,复杂性低同时受限于资源环境,测试深度较浅。只是对系统的基本稳定性、性能、安全性等方面进行初步验证,结果如下(表5.3)
表5.3 系统测试
测试项目 | 测试目标 | 测试步骤 | 预期结果 | 实际结果 | 是否通过 |
性能测试 | 评估系统在正常负载下的性能表现,确保响应时间合理。 | 模拟正常负载下执行系统操作,记录响应时间。 | 系统能够在正常负载下保持合理的响应时间。 | 实际测试结果符合预期,响应时间合理。 | 是 |
可靠性测试 | 检查系统在长时间运行中的稳定性,防止崩溃。 | 运行系统长时间,记录运行期间是否出现崩溃。 | 在长时间运行中,系统不出现崩溃。 | 实际测试结果符合预期,系统稳定可靠。 | 是 |
安全性测试 | 验证系统是否能够防御常见的安全攻击,确保数据安全。 | 模拟常见的安全攻击,如SQL注入,验证系统是否能够防御。 | 系统能够有效防御常见的安全攻击。 | 实际测试结果符合预期,安全性较好。 | 是 |
兼容性测试 | 验证系统在不同设备和Android版本下的兼容性。 | 在不同设备上安装并运行应用,包括手机和平板,以及在不同版本的Android系统上运行。 | 系统能够在不同设备和Android版本下正常运行。 | 实际测试结果符合预期,兼容性良好。 | 是 |
可维护性测试 | 评估系统代码结构和易于维护性。 | 仔细阅读系统代码,检查代码结构和注释。 | 系统代码结构清晰,易于维护。 | 实际测试结果符合预期,易于维护。 | 是 |
总结
(1)实现的功能:
在此次课程设计中,成功地完成了《原神游戏小助手》的开发。这款应用程序具备以下主要功能:
① 角色和怪物管理:用户可以轻松地对角色进行增删改查操作。
② 伤害模拟:用户可以了解角色属性对应的伤害模拟。
③ 元素反应体验:用户可以简要体验元素反应的基本机制。
④ 视频播放功能:用户可以观看当前所选角色的PV。
⑤ WebView功能:用户可以直接访问并在应用内展示官方网站信息。
(2)不足之处
尽管我们已经实现了这些功能,但仍有一些不足之处需要改进。
① 元素反应体验的局限性:目前,程序只提供了基本的元素反应体验,对于更复杂的元素反应机制,应用可能无法提供足够的支持。例如,对于一些需要特定元素组合才能触发的特殊反应,我们的应用可能无法准确模拟。
② 视频播放功能的单一性:当前视频播放功能目前仅限于播放角色的PV,未来考虑扩展此功能,以支持更多类型的视频内容,如游戏攻略、角色故事等。
③ 用户界面的友好性:虽然我们的应用提供了一些基本的角色管理和伤害模拟功能,但用户界面可能不够直观和友好,可能需要用户花费一些时间来熟悉。
④ 数据的准确性和完整性:我们的应用依赖于游戏数据来进行伤害模拟和元素反应体验,如果这些数据不准确或不完整,可能会影响到应用的功能表现。未来的数据展现将在服务器端进行存储和展示。
总的来说,尽管《原神游戏小助手》在某些方面还有待改进,但它为原神玩家提供了一套简单但却比较实用的游戏辅助工具。我们期待在未来的版本中,通过不断的优化和改进,使《原神游戏小助手》能够更好地满足用户的需求。
—————————————————— ~完结线~ ————————————————————
以上就是移动应用开发Android的全部课程设计报告了,有帮助的话点个赞和收藏吧~
GitHub - blhqwjs/-GenShin_imp: 2023年移动应用开发课设2023年移动应用开发课设. Contribute to blhqwjs/-GenShin_imp development by creating an account on GitHub.https://github.com/blhqwjs/-GenShin_imp
相关文章:

移动应用开发课设——原神小助手文档(2)
2023年末,做的移动应用开发课设,分还算高,项目地址:有帮助的话,点个赞和星呗~ GitHub - blhqwjs/-GenShin_imp: 2023年移动应用开发课设 本文按照毕业论文要求来写,希望对大家有所帮助。 接上文:…...

智能聊天机器人:使用PyTorch构建多轮对话系统
使用PyTorch构建多轮对话系统的示例代码。这个示例项目包括一个简单的Seq2Seq模型用于对话生成,并使用GRU作为RNN的变体。以下是代码的主要部分,包括数据预处理、模型定义和训练循环。 数据预处理 首先,准备数据并进行预处理。这部分代码假…...

昇思25天学习打卡营第16天 | 文本解码原理-以MindNLP为例
基于 MindSpore 实现 BERT 对话情绪识别 上几章我们学习过了基于MindSpore来实现计算机视觉的一些应用,那么从这期开始要开始一个新的领域——LLM 首先了解一下什么是LLM LLM 是 “大型语言模型”(Large Language Model)的缩写。LLM 是一种…...

Unity之Text组件换行\n没有实现+动态中英互换
前因:文本中的换行 \n没有换行而是打印出来了,解决方式 因为unity会默认把\n替换成\\n 面板中使用富文本这个选项啊 没有用 m_text.text m_text.text.Replace("\\n", "\n"); ###动态中英文互译 using System.Collections; using…...

vue3+ el-tree 展开和折叠,默认展开第一项
默认第一项展开: 展开所有项: 折叠所有项: <template><el-treestyle"max-width: 600px":data"treeData"node-key"id":default-expanded-keys"defaultExpandedKey":props"defaultProps"…...

ProFormList --复杂数据联动ProFormDependency
需求: (1)数据联动:测试数据1、2互相依赖,测试数据1<测试数据2,测试数据2>测试数据1。 (2)点击添加按钮,添加一行。 (3)自定义操作按钮。 ࿰…...

Git、Github、tortoiseGit下载安装调试全套教程
一、Git 1.下载安装Git 编辑器可默认Vim,可换成别的,此处换成VScode,换成VScode或别的都需要单独下载和调用 (1)Git安装:https://www.cnblogs.com/xiuxingzhe/p/9300905.html 超级完整的 Git的下载、安…...

老师怎么快速发布成绩?
期末考试的钟声刚刚敲响,成绩单的发放却成了老师们的一大难题。每当期末成绩揭晓,老师们便要开始一项繁琐的任务——将每一份成绩单逐一私信给家长。这不仅耗费了大量的时间和精力,也让本就忙碌的期末工作变得更加繁重。然而,随着…...

央视揭露:上百元的AI填报高考志愿真的靠谱吗?阿里云新增两位AI圈“代言人”!|AI日报
文章推荐 MiniMax闫俊杰:国内模型远不及GPT-4;OpenAI隐瞒黑客曾入侵其内部系统|AI日报 今日热点 月之暗面、智联招聘成为阿里云新“代言人”,使用阿里云强大算力和大模型服务平台提升模型推理效率 7月8日,阿里云官…...

TPM管理咨询公司甄选指南
在竞争激烈的市场环境中,TPM(全面生产维护)管理咨询公司的重要性日益凸显。然而,如何在众多咨询公司中筛选出最适合自己企业的合作伙伴,成为了许多企业决策者面临的难题。本文将从专业度、行业经验、服务质量和性价比等…...

探索 Scikit-Learn:机器学习的强大工具库
Scikit-Learn 探索 Scikit-Learn:机器学习的强大工具库主要功能模块分类(Classification)回归(Regression)聚类(Clustering)降维(Dimensionality Reduction)模型选择&…...

音视频质量评判标准
一、实时通信延时指标 通过图中表格可以看到,如果端到端延迟在200ms以内,说明整个通话是优质的,通话效果就像大家在同一个房间里聊天一样;300ms以内,大多数人很满意,400ms以内,有小部分人可以感…...

如何在vue3中使用scss
一 要使用scss首先需要下载相关的包 可以在终端使用下面的命令下载相关包 npm install -D sass 二 在src文件下新建一个文件夹叫做styles 在文件夹下创建三个文件 index.scss主要用来引用其他文件 reset.scss用来清除默认的样式 variable.scss用来配置全局属性 三 需要在v…...

Gartner发布采用美国防部模型实施零信任的方法指南:七大支柱落地方法
零信任是网络安全计划的关键要素,但制定策略可能会很困难。安全和风险管理领导者应使用美国国防部模型的七大支柱以及 Gartner 研究来设计零信任策略。 战略规划假设 到 2026 年,10% 的大型企业将拥有全面、成熟且可衡量的零信任计划,而 202…...

Flutter——最详细(Badge)使用教程
背景 主要常用于组件叠加上圆点提示; 使用场景,消息数量提示,消息红点提示 属性作用backgroundColor红点背景色smallSize设置红点大小isLabelVisible是否显示offset设置红点位置alignment设置红点位置child设置底部组件 代码块 class Badge…...

SQLServer的系统数据库用别的服务器上的系统数据库替换后做跨服务器连接时出现凭证、非对称金钥或私密金钥的资料无效
出错作业背景: 公司的某个sqlserver服务器要做迁移,由于该sqlserver服务器上数据库很多,并且做了很多的job和维护计划,重新安装的sqlserver这些都是空的,于是就想到了把系统4个系统数据库进行替换,然后也把…...

vue前端面试
一 .v-if和v-show的区别 v-if 和 v-show 是 Vue.js 中两个常用的条件渲染指令,它们都可以根据条件决定是否渲染某个元素。但是它们之间存在一些区别。 语法:v-if 和 v-show 的语法相同,都接收一个布尔值作为参数。 <div v-if"show…...

【网络安全】Host碰撞漏洞原理+工具+脚本
文章目录 漏洞原理虚拟主机配置Host头部字段Host碰撞漏洞漏洞场景工具漏洞原理 Host 碰撞漏洞,也称为主机名冲突漏洞,是一种网络攻击手段。常见危害有:绕过访问控制,通过公网访问一些未经授权的资源等。 虚拟主机配置 在Web服务器(如Nginx或Apache)上,多个网站可以共…...

unattended-upgrade进程介绍
unattended-upgrade 是一个用于自动更新 Debian 和 Ubuntu 系统的软件包。这个进程通常用于定期下载并安装安全更新,以保持系统的安全性和稳定性。 具体来说,这个命令 /usr/bin/python3 /usr/bin/unattended-upgrade --download-only 表示运行 unattend…...

SpringBoot 中多例模式的神秘世界:用法区别以及应用场景,最后的灵魂拷问会吗?- 第519篇
历史文章(文章累计500) 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 《…...

基于STM32设计的智能婴儿床(ESP8266局域网)_2024升级版_180
基于STM32设计的智能婴儿床(采用STM32F103C8T6)(180) 文章目录 一、设计需求【1】项目功能介绍【2】程序最终的运行逻辑【3】硬件模块组成【4】ESP8266模块配置【5】上位机开发思路【6】系统功能模块划分1.2 项目开发背景1.3 开发工具的选择1.4 系统框架图1.5 系统原理图1.6 硬…...

C++(第四天----拷贝函数、类的组合、类的继承)
一、拷贝构造函数(复制构造函数) 1、概念 拷贝构造函数,它只有一个参数,参数类型是本类的引用。如果类的设计者不写拷贝构造函数,编译器就会自动生成拷贝构造函数。大多数情况下,其作用是实现从源对象到目…...

第一课:接口配置IP地址:DHCP模式
希望pc1,pc2,pc3自动分配到ip地址。 实验拓扑: 配置:高级一点的路由器还是手动配置: [R1]int g0/0/0 [R1-g0/0/0]ip address 192.168.1.1 255.255.255.0 打开PC1,切换到DHCP模式,点击应用,再到命令行输入ipconfig&…...

esp32_spfiffs
生成 spiffs image python spiffsgen.py <image_size> <base_dir> <output_file> eg, python spiffsgen.py 0x2000 ./folder hello.bin Arduino 的库有例子可以直接用于 OTA 升级 spiffs 分区 HTTPUpdateResult HTTPUpdate::updateSpiffs(HTTPClient &h…...

每日一练全新考试模式解锁|考试升级
🙋频繁有小伙伴咨询:我想举办一场历时一个月的答题活动,学生可以每天打开答题,活动完结后可以导出每天的答题成绩 此前我们都会让小伙伴创建30场考试,然后使用批量分享功能组合起来,对外分享一个链接就可以…...

pyqt5图片分辨率导致的界面过大的问题
项目场景:pyqt5的图片分辨率和屏幕分辨率问题 提示:这里简述项目相关背景:图片分辨率:500*500;显示屏分辨率:600;导致界面显示不全; 在其他高分辨率显示屏中没有这个问题。 问题描述…...

(三)前端javascript中的数据结构之集合
集合的特点 1.无序 2.唯一性 3.不可重复 集合相对于前面几种数据结构,比较简单好理解,看看代码实现就能知道他的用法了 集合的创建 function MySet() {this.item {}; } MySet.prototype.has function (value) {return value in this.item; };//增 M…...

VuePress 的更多配置
现在,读者应该对 VuePress、主题和插件等有了基本的认识,除了插件,VuePress 自身也有很多有用的配置,这里简单说明下。 VuePress 的介绍 在介绍了 VuePress 的基本使用、主题和插件的概念之后,我们再来看看官…...

问题解决|Python 代码的组织形式与编码规范
一、Python中组织形式 (一)组织形式(函数,类,模块,包,库)概览 (1)概览 组织形式描述特点或用途例子函数一段具有特定功能的代码块,可以接受参数…...

Flask项目搭建及部署 —— Python
flask搭建及部署 pip 19.2.3 python 3.7.5 Flask 1.1.1 Flask-SQLAlchemy 2.4.1 Pika 1.1.0 Redis 3.3.11 flask-wtf 0.14.2 1、创建flask项目: 创建完成后整个项目结构树: app.py: 项⽬管理⽂件,通过它管理项⽬。 static: 存放静态…...