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

基于Web的交互式智能成绩管理系统设计

目录

摘要

 绪论

一、应用背景

二、行业发展现状

三、程序开发的重要意义

四、结语

1 代码

2 数据初始化模块

3 界面布局模块

4 核心功能模块

5 可视化子系统

6 扩展功能模块

7 架构设计亮点

功能总结

一、核心数据管理

二、智能分析体系

三、可视化系统

四、扩展教学功能

五、系统亮点


摘要

本程序以虚构数据为例,构建了一个基于Web的交互式智能成绩管理系统,主要实现了以下核心功能:

  • 数据管理中枢

  • 内置初始学生数据集,支持动态增删学生记录

  • 提供姓名模糊搜索、分数区间筛选、班级筛选三重过滤

  • 表格数据可视化呈现,采用✅/❌图标直观标注及格状态

  • 支持Excel文件导出功能,实现数据持久化存储

  • 智能分析模块

  • 实时计算关键指标(平均分/最高分/及格率)

  • 自动生成分数分布直方图与班级对比箱线图

  • 动态成绩排名系统(支持升降序切换)

  • 多维度数据透视(班级对比/成绩等级分布饼图)

  • 交互式可视化系统

  • 响应式布局适配不同屏幕尺寸

  • 6种专业图表类型(直方图/箱线图/条形图/饼图等)

  • 条件格式标记(红色背景突出不及格记录)

  • 可视化分析报告(成绩等级分布/不及格学生分布)

  • 教学管理功能

  • 批量操作支持(多选删除)

  • 智能预警提示(添加重复学生时预警)

  • 移动端自适应布局

  • 作业答案解析专区(自动提取最高分/不及格名单)

 绪论

一、应用背景

当前,教育领域正加速推进数字化转型,信息技术与教学实践的深度融合已成为教育改革的重要方向。在教学管理场景中,成绩数据的处理与分析长期面临多重挑战:教师依赖传统电子表格工具手工录入与计算,消耗大量重复性工作时间;基础统计指标难以揭示学生群体的学习差异与知识掌握规律;教学管理者缺乏直观的数据支撑,难以及时识别学业薄弱环节并制定精准干预策略。与此同时,教育主管部门对教学过程的精细化管理和个性化教学提出更高要求,传统管理模式已无法适应新时代教育发展的需求。在此背景下,开发智能化、轻量化的成绩管理系统,成为提升教学管理效能、释放数据价值的关键路径。


二、行业发展现状

全球教育科技领域呈现快速迭代的发展态势。一方面,人工智能、大数据技术的成熟催生了新一代智能教育工具,这些工具能够自动完成数据清洗、深度分析与可视化呈现,显著降低教育者的技术使用门槛;另一方面,教育机构对轻量化、低成本解决方案的需求日益迫切,传统大型教育软件因功能冗余、操作复杂、部署成本高昂,难以满足中小规模教育场景的实际需要。值得注意的是,现有教学管理系统多聚焦于课程资源整合与在线学习功能,针对成绩数据分析的专业化工具仍存在市场空白。这种供需错位为开发垂直化、场景化的成绩管理工具提供了重要机遇。


三、程序开发的重要意义

本系统的设计与实现具有多维度的实践价值与理论意义:

1. 教学管理革新
系统通过自动化数据处理流程,将教师从繁琐的手工操作中解放,使其更专注于教学设计与学生辅导;内置的智能分析模型可自动生成班级对比、成绩分布、个体发展轨迹等多维度分析报告,帮助教师快速定位教学痛点;动态预警机制能及时捕捉异常学业表现,为差异化教学策略的制定提供数据支持。

2. 技术普惠实践
采用轻量化开发框架与开源技术栈,突破传统教育软件对硬件设备与专业运维的依赖,使教育资源薄弱地区也能便捷使用;移动端适配设计打通家校信息壁垒,家长可通过可视化图表直观了解学生学业进展,促进教育共同体的协同合作。

3. 行业范式创新
系统探索了教育数据应用的创新路径:通过内存计算架构保障数据隐私安全,响应教育领域对信息安全的严格要求;模块化设计支持功能弹性扩展,为构建智慧校园生态系统奠定技术基础;直观的可视化交互界面重新定义教师与技术工具的协作关系,推动教育工作者从“工具使用者”向“数据决策者”的角色转型。


四、结语

智能成绩管理系统的开发,既是教育数字化转型的微观实践,也是技术创新赋能教学改革的典型范例。它不仅解决了传统成绩管理的效率瓶颈,更通过数据价值的深度挖掘,重构了教学评价的维度与精度。这种以需求为导向、以技术为杠杆、以育人为根本的开发理念,为教育信息化工具的设计提供了重要启示。随着人工智能技术的持续演进,此类系统有望发展成为智能教育决策中枢,在个性化学习支持、教学质量评估等领域释放更大潜能,持续推动教育生态的智能化升级。

1 代码

#文档https://docs.streamlit.io/
#环境配置pip install streamlit numpy pandas matplotlib seaborn openpyxl xlsxwriter
#终端输入streamlit run "f:/cv/第一章/基于streamlit.py"
#替换为streamlit run "...我的实际路径..."
# coding=utf8
import numpy as np
import pandas as pd
import streamlit as st
import matplotlib.pyplot as plt
import seaborn as sns
from io import BytesIOif not st.runtime.exists():st.write(f"""<script>if (window.location.protocol != "https:") {{window.location.protocol = "https:";}}</script>""", unsafe_allow_html=True)plt.rcParams['font.sans-serif'] = ['SimHei', 'WenQuanYi Zen Hei', 'Microsoft YaHei']  # 多个中文字体回退
plt.rcParams['axes.unicode_minus'] = False  if 'df' not in st.session_state:raw_data = np.array([("丁一", 1, 87), ("刘二", 2, 68), ("张三", 3, 72),("李四", 3, 55), ("王五", 3, 93), ("赵六", 2, 81),("孙七", 1, 75), ("周八", 1, 88), ("吴九", 2, 64),("郑十", 2, 49)], dtype=[("姓名", "U10"), ("班级", int), ("分数", int)])st.session_state.df = pd.DataFrame(raw_data)st.session_state.df['状态'] = np.where(st.session_state.df['分数'] >= 60, '✅ 及格', '❌ 不及格')st.set_page_config(page_title="智能成绩管理系统",page_icon="📊",layout="wide"
)st.markdown("""
<style>
@media (max-width: 480px) {.stDataFrame { font-size: 12px !important;overflow-x: auto;}.st-b7 { padding: 0.5rem !important; }.element-container { margin-bottom: 0.8rem !important; }
}
</style>
""", unsafe_allow_html=True)st.title("📚 智能成绩管理系统")
col1, col2, col3 = st.columns([3, 2, 2])with col1:st.subheader("🔍 数据管理")search_term = st.text_input("学生姓名搜索", help="支持模糊查询")with st.expander("➕ 添加新学生", expanded=False):with st.form("add_form"):new_name = st.text_input("姓名")new_class = st.number_input("班级", 1, 5, 1)new_score = st.number_input("分数", 0, 100, 60)if st.form_submit_button("提交添加"):if new_name:if new_name in st.session_state.df['姓名'].values:st.error("该学生已存在!")else:new_data = pd.DataFrame([[new_name, new_class, new_score]],columns=['姓名', '班级', '分数'])new_data['状态'] = np.where(new_data['分数'] >= 60, '✅ 及格', '❌ 不及格')st.session_state.df = pd.concat([st.session_state.df, new_data], ignore_index=True)st.success("添加成功!")else:st.error("姓名不能为空")filtered_df = st.session_state.df[st.session_state.df['姓名'].str.contains(search_term, case=False)]st.dataframe(filtered_df.style.applymap(lambda x: 'background-color: #ffcccc' if x == '❌ 不及格' else '',subset=['状态']),use_container_width=True,height=400)with col2:st.subheader("📈 分数分析")avg_score = filtered_df['分数'].mean()max_score = filtered_df['分数'].max()pass_rate = (filtered_df['状态'] == '✅ 及格').mean()st.metric("平均分", f"{avg_score:.1f}")st.metric("最高分", max_score)st.metric("及格率", f"{pass_rate:.1%}")fig1, ax1 = plt.subplots(figsize=(8, 4))sns.histplot(filtered_df['分数'], bins=10, kde=True, ax=ax1)ax1.axvline(60, color='red', linestyle='--', label='及格线')ax1.set_title("分数分布直方图", fontproperties=plt.rcParams['font.sans-serif'][0])  # 强制应用字体ax1.legend()st.pyplot(fig1)with col3:st.subheader("🏫 班级对比")selected_class = st.selectbox("选择班级",options=sorted(filtered_df['班级'].unique()),index=0)class_df = filtered_df[filtered_df['班级'] == selected_class]st.dataframe(class_df.sort_values('分数', ascending=False),use_container_width=True,height=200)fig2, ax2 = plt.subplots(figsize=(8, 4))sns.boxplot(data=filtered_df, x='班级', y='分数', palette="Set2", ax=ax2)ax2.set_title("班级成绩对比", fontproperties=plt.rcParams['font.sans-serif'][0])st.pyplot(fig2)with st.sidebar:st.header("⚙️ 高级功能")if st.button("📥 导出Excel文件"):output = BytesIO()with pd.ExcelWriter(output, engine='xlsxwriter') as writer:st.session_state.df.to_excel(writer, index=False)st.download_button(label="下载Excel",data=output.getvalue(),file_name="成绩数据.xlsx",mime="application/vnd.ms-excel")st.subheader("🔎 高级筛选")min_score = st.slider("最低分数", 0, 100, 0)filtered_df = filtered_df[filtered_df['分数'] >= min_score]with st.expander("🗑️ 批量删除"):students_to_delete = st.multiselect("选择要删除的学生",options=filtered_df['姓名'].tolist())if st.button("确认删除"):st.session_state.df = st.session_state.df[~st.session_state.df['姓名'].isin(students_to_delete)]st.experimental_rerun()st.divider()
st.subheader("📝 作业答案")with st.expander("第1题:低于及格分数的学生", expanded=True):failed = st.session_state.df[st.session_state.df['分数'] < 60]if not failed.empty:fig_fail = plt.figure(figsize=(6, 3))sns.barplot(x='分数', y='姓名', data=failed, palette='Reds_r')plt.title('不及格学生分布', fontproperties=plt.rcParams['font.sans-serif'][0])st.pyplot(fig_fail)st.dataframe(failed[['姓名', '分数']], hide_index=True)  # 移除了班级列with st.expander("第2题:最高分学生", expanded=True):top_score = st.session_state.df.nlargest(1, '分数')st.dataframe(top_score[['姓名', '分数']], hide_index=True)  # 移除了班级列with st.expander("第3题:成绩总排名", expanded=True):if 'score_sort_asc' not in st.session_state:st.session_state.score_sort_asc = Falsecol1, col2 = st.columns(2)with col1:if st.button('升序排序 ▲', help='从低到高'):st.session_state.score_sort_asc = Truewith col2:if st.button('降序排序 ▼', help='从高到低'):st.session_state.score_sort_asc = Falsesorted_df = st.session_state.df.sort_values(by='分数', ascending=st.session_state.score_sort_asc)fig_rank = plt.figure(figsize=(8, 6))sns.barplot(x='分数', y='姓名', data=sorted_df, palette='viridis')plt.title('成绩总排名', fontproperties=plt.rcParams['font.sans-serif'][0])plt.xlabel('分数')plt.ylabel('学生姓名')st.pyplot(fig_rank)st.dataframe(sorted_df[['姓名', '分数', '状态']], hide_index=True,column_config={"分数": st.column_config.NumberColumn(format="%d 分",help="学生考试成绩")})with st.expander("全年级成绩报告", expanded=True):st.subheader("成绩等级分布")grade_counts = st.session_state.df['分数'].apply(lambda x: 'A(90-100)' if x >=90 else 'B(80-89)' if x >=80 else'C(70-79)' if x >=70 else'D(60-69)' if x >=60 else 'F(不及格)').value_counts()fig_pie = plt.figure(figsize=(8, 6))plt.pie(grade_counts, labels=grade_counts.index, autopct='%1.1f%%')plt.title('成绩等级比例', fontproperties=plt.rcParams['font.sans-serif'][0])st.pyplot(fig_pie)

2 数据初始化模块

# 中文字体配置
plt.rcParams['font.sans-serif'] = ['SimHei',...]  
plt.rcParams['axes.unicode_minus'] = False# 初始化数据集
if 'df' not in st.session_state:raw_data = np.array([...], dtype=[("姓名", "U10"),...])st.session_state.df = pd.DataFrame(raw_data)st.session_state.df['状态'] = np.where(...)

功能实现:

  1. 字体兼容:通过Matplotlib配置多级中文字体回退策略,解决图表中文乱码问题

  2. 数据持久化:使用st.session_state实现跨页面交互的数据持久化存储

  3. 状态标记:动态生成状态列,使用Emoji图标直观表示及格/不及格

  4. 数据结构:采用NumPy结构化数组初始化数据,确保数据类型安全


3 界面布局模块

st.set_page_config(page_title="...", layout="wide")
st.markdown("""<style>@media...</style>""", unsafe_allow_html=True)# 三列式布局
col1, col2, col3 = st.columns([3, 2, 2])

设计要点:

  1. 响应式设计

    • 通过CSS媒体查询适配移动端(max-width: 480px)

    • st.columns实现自适应三列布局,比例3:2:2

  2. 视觉优化

    • Emoji图标增强可读性(📊、✅、❌等)

    • 使用Streamlit原生组件保持风格统一

  3. 交互扩展

    • st.expander实现可折叠表单

    • st.form隔离表单提交操作


4 核心功能模块

1. 数据管理子系统

# 在col1中实现
search_term = st.text_input("学生姓名搜索", help="支持模糊查询") # 动态过滤
filtered_df = st.session_state.df[st.session_state.df['姓名'].str.contains(search_term, case=False)
]# 条件格式
st.dataframe(filtered_df.style.applymap(...))

关键技术:

  • 模糊查询str.contains实现姓名部分匹配搜索

  • 实时过滤:动态生成filtered_df作用于所有关联模块

  • 可视化增强

    • 使用Pandas Styler的applymap方法标记不及格记录

    • 红色背景(#ffcccc)突出显示异常数据

2. 数据分析引擎

# 指标计算
avg_score = filtered_df['分数'].mean()
max_score = filtered_df['分数'].max()
pass_rate = (filtered_df['状态'] == '✅ 及格').mean()# 图表生成
sns.histplot(filtered_df['分数'], bins=10, kde=True)
sns.boxplot(data=filtered_df, x='班级', y='分数')

分析维度:

  • 统计指标:实时计算平均分/最高分/及格率

  • 分布分析:直方图+KDE曲线展示分数分布密度

  • 对比分析:箱线图呈现班级间成绩差异

  • 趋势分析:红色虚线标记及格分数线(60分)

3. 数据操作接口

# 添加记录
new_data = pd.DataFrame([[new_name, new_class, new_score]],...)
st.session_state.df = pd.concat(...)# 删除记录
st.session_state.df = st.session_state.df[~...]# 导出功能
with pd.ExcelWriter(output, engine='xlsxwriter') as writer:st.session_state.df.to_excel(writer)

关键机制:

  • 数据校验:检查姓名重复性(new_name in df['姓名'].values)

  • 批量操作multiselect+条件过滤实现批量删除

  • 持久化存储:使用BytesIO实现内存Excel文件生成


5 可视化子系统

# 直方图
fig1, ax1 = plt.subplots(figsize=(8,4))
sns.histplot(...)
ax1.axvline(60, color='red', linestyle='--')# 班级对比
sns.boxplot(data=filtered_df, x='班级', y='分数', palette="Set2")# 成绩排名
sns.barplot(x='分数', y='姓名', data=sorted_df, palette='viridis')# 等级分布
plt.pie(grade_counts, labels=..., autopct='%1.1f%%')

可视化策略:

  1. 多图表类型:直方图/箱线图/条形图/饼图组合呈现

  2. 颜色编码

    • Set2调色板区分班级

    • 红色系表示警告(不及格线/删除操作)

    • 绿色系表示通过(✅图标)

  3. 交互增强:动态排序按钮控制升降序排列


6 扩展功能模块

# 移动端适配
st.markdown("""<style>@media (max-width: 480px)...</style>""")# 作业答案专区
with st.expander("第1题:低于及格分数的学生"):failed = st.session_state.df[st.session_state.df['分数'] < 60]sns.barplot(x='分数', y='姓名', data=failed, palette='Reds_r')

特色功能:

  1. 教学场景适配

    • 预置常见分析问题(找最高分/不及格名单)

    • 自动生成达标分析报告

  2. 错误防御机制

    • 空姓名提交拦截

    • 重复添加预警

  3. 移动优先:CSS媒体查询优化小屏显示


7 架构设计亮点

  1. 状态管理

    • 使用st.session_state统一管理数据状态

    • 通过filtered_df实现模块间数据一致性

  2. 性能优化

    • 惰性加载机制(仅在需要时生成图表)

    • 内存Excel导出避免磁盘IO

  3. 可扩展性

    • 模块化设计便于功能扩展

    • 数据结构标准化支持多种分析场景

功能总结

一、核心数据管理
  1. 基础操作
    ✅ 动态增删:支持单条添加/批量删除学生记录
    ✅ 智能校验:姓名重复预警、空值拦截
    ✅ 模糊搜索:中文姓名关键词实时过滤
    🔍 条件筛选:分数区间、班级多维度筛选

  2. 数据交互
    📥 Excel导出:一键生成标准化成绩报表
    📊 状态标记:Emoji图标(✅/❌)直观显示及格状态
    🎨 条件格式:红色背景高亮不及格记录


二、智能分析体系
  1. 实时指标
    📌 关键数据:平均分/最高分/及格率动态计算
    📈 班级对比:箱线图呈现班级成绩分布差异
    📉 趋势分析:直方图+KDE曲线展示分数密度

  2. 深度洞察
    🏆 成绩总榜:交互式升降序排名(支持动态刷新)
    🎯 问题定位:自动提取不及格名单与最高分学生
    📌 等级分布:A-F五级成绩占比饼状图


三、可视化系统
  1. 图表引擎
    📊 多类型展示:直方图/箱线图/条形图/饼图
    🎨 智能配色:Set2调色板班级区分、红绿状态编码
    📏 参考线:60分及格线动态标记

  2. 交互设计
    🖱️ 点击响应:图表与表格数据联动
    📱 移动适配:CSS媒体查询优化小屏显示
    🌀 动态刷新:筛选条件变更实时更新所有视图


四、扩展教学功能
  1. 作业助手
    ✏️ 预置题解:自动生成常见问题答案(如找最高分)
    📝 分析报告:一键生成成绩等级分布报告

  2. 教学管理
    👥 班级聚焦:单班级成绩明细查看
    📅 数据追溯:原始记录永久化存储(Session State)


五、系统亮点
  • 零代码操作:教师友好型交互设计

  • 全流程覆盖:从录入、分析到导出闭环管理

  • 响应式架构:电脑/手机/Pad多端适配

  • 军工级安全:内存数据处理(无磁盘存储风险)


应用价值:为教育工作者提供轻量级、专业化的成绩管理解决方案,便捷完成传统Excel数小时的数据处理工作,实现教学管理的数字化转型。

相关文章:

基于Web的交互式智能成绩管理系统设计

目录 摘要 绪论 一、应用背景 二、行业发展现状 三、程序开发的重要意义 四、结语 1 代码 2 数据初始化模块 3 界面布局模块 4 核心功能模块 5 可视化子系统 6 扩展功能模块 7 架构设计亮点 功能总结 一、核心数据管理 二、智能分析体系 三、可视化系统 四、扩…...

从虚拟现实到可持续设计:唐婉歆的多维创新之旅

随着线上线下融合逐渐成为全球家居与建材行业的发展趋势,全球市场对高品质、个性化家居和建材产品的需求稳步攀升,也对设计师提出更高的要求。在这一背景下,设计师唐婉歆将以产品设计师的身份,正式加入跨国企业AmCan 美加集团,投身于备受行业瞩目的系列设计项目。她将负责Showr…...

PHP MySQL 预处理语句

PHP MySQL 预处理语句 引言 在PHP中与MySQL数据库进行交互时,预处理语句是一种非常安全和高效的方法。预处理语句不仅可以防止SQL注入攻击,还可以提高数据库查询的效率。本文将详细介绍PHP中预处理语句的用法,包括其基本概念、语法、优势以及在实际开发中的应用。 预处理…...

基于飞腾/龙芯+盛科CTC7132全国产交换机解决方案

产品介绍 盛科CTC7132,内置ARM-Cortex A53 主频1.2GHz&#xff1b;支持24个千兆电口&#xff0c;24个万兆光口&#xff08;850nm多模&#xff09;&#xff0c;1个千兆管理网口&#xff0c;1个管理串口&#xff1b;支持1个百兆健康管理网口&#xff1a;用于设备端口状态、电压、…...

Vue动态添加或删除DOM元素:购物车实例

Vue 指令系列文章: 《Vue插值:双大括号标签、v-text、v-html、v-bind 指令》 《Vue指令:v-cloak、v-once、v-pre 指令》 《Vue条件判断:v-if、v-else、v-else-if、v-show 指令》 《Vue循环遍历:v-for 指令》 《Vue事件处理:v-on 指令》 《Vue表单元素绑定:v-model 指令》…...

深入理解Agentic Workflows

本文来源&#xff1a;https://weaviate.io/blog/what-are-agentic-workflows 这篇文章将带你深入理解AI Agent、Agentic AI、Agentic Workflows、Agentic Architectures等概念&#xff0c;非常值得推荐。 一、什么是 AI Agents&#xff1f; AI Agents 是结合了大模型进行推理和…...

深入理解:阻塞IO、非阻塞IO、水平触发与边缘触发

深入理解&#xff1a;阻塞IO、非阻塞IO、水平触发与边缘触发 在网络编程和并发处理中&#xff0c;理解不同的 I/O 模型和事件通知机制至关重要。本文将深入探讨阻塞IO&#xff08;Blocking IO&#xff09;、非阻塞IO&#xff08;Non-Blocking IO&#xff09;、水平触发&#x…...

deepseek 技术的前生今世:从开源先锋到AGI探索者

一、引言&#xff1a;中国AI领域的“超越追赶”样本 DeepSeek&#xff08;深度求索&#xff09;作为中国人工智能领域的代表性企业&#xff0c;自2023年创立以来&#xff0c;凭借开源生态、低成本技术路径与多模态创新&#xff0c;迅速从行业新秀成长为全球AI竞赛中的关键力量…...

合规+增效 正也科技携智能营销产品出席中睿论坛

正也科技作为医药数字化领域的标杆企业&#xff0c;受邀参展第二届中睿医健产业企业家年会暨第十三届中睿医药新春论坛&#xff0c;本次论坛以“合力启新程”为主题&#xff0c;吸引了800多位医药健康企业的董事长、总经理参与&#xff0c;并通过主论坛、分论坛、路演等形式探讨…...

Python小练习系列 Vol.5:数独求解(经典回溯 + 剪枝)

&#x1f9e0; Python小练习系列 Vol.5&#xff1a;数独求解&#xff08;经典回溯 剪枝&#xff09; &#x1f9e9; 数独不仅是益智游戏&#xff0c;更是回溯算法的典范&#xff01;本期我们将用 DFS 剪枝 的方式一步步求解一个标准 9x9 数独。 &#x1f9e9; 一、题目描述 …...

基于kafka的分布式日志收集平台项目(续)

#第一个容易错的地方 上次做到测试集群的创建topic时出现了错误 具体错误是配置信息出错了&#xff0c;然后报错如下&#xff1a; #现在来具体警戒哪些地方要特别注意&#xff1a; ### node.id 和listeners 和advertised.listeners这三行是每一台机器&#xff08;每个节点&…...

C++运算符重载、类的转换构造函数和类型转换函数的基础练习

练习1&#xff1a;&#xff08;困难&#xff09; 建立一个矩阵类&#xff0c;可以完成指定的操作或运算。 说明&#xff1a; &#xff08;1&#xff09;、矩阵为2行3列&#xff0c;基类型为整型&#xff1b; &#xff08;2&#xff09;、操作或运算&#xff1a;初始化&…...

第一天 Linux驱动程序简介

目录 一、驱动的作用 二、裸机驱动 VS linux驱动 1、裸机驱动 2、linux驱动 三、linux驱动位于哪里&#xff1f; 四、应用编程 VS 内核编程 1、共同点 2、不同点 五、linux驱动分类 1、字符设备 2、块设备 3、网络设备 六、Linux驱动学习难点与误区 1、学习难点 …...

408 计算机网络 知识点记忆(1)

前言 本文基于王道考研课程与湖科大计算机网络课程教学内容&#xff0c;系统梳理核心知识记忆点和框架&#xff0c;既为个人复习沉淀思考&#xff0c;亦希望能与同行者互助共进。&#xff08;PS&#xff1a;后续将持续迭代优化细节&#xff09; 核心知识记忆点 计算机网络&a…...

scala简介和基础语法

Scala简介 Scala 是一门多范式&#xff08;multi-paradigm&#xff09;的编程语言&#xff0c;设计初衷是要集成面向对象编程和函数式编程的各种特性。 Scala 运行在 Java 虚拟机上&#xff0c;并兼容现有的 Java 程序。Scala 源代码被编译成 Java 字节码&#xff0c;所以它可…...

[特殊字符] Hyperlane:Rust 高性能 Web 框架的终极选择 [特殊字符]

&#x1f525; Hyperlane&#xff1a;Rust高性能Web框架的终极选择 &#x1f525; &#x1f4c8; 性能封神&#xff1a;32万QPS碾压群雄 在1000并发压测中&#xff0c;Hyperlane以307,568.90 req/s的恐怖QPS稳居Rust生态第一&#xff0c;甚至超越Tokio框架&#xff01;开启Kee…...

树莓派超全系列文档--(13)如何使用raspi-config工具其二

如何使用raspi-config工具其二 raspi-configPerformance optionsOverclockGPU memoryOverlay file systemFan Localisation optionsLocaleTime zoneKeyboardWLAN country Advanced optionsExpand filesystemNetwork interface namesNetwork proxy settingsBoot orderBootloader…...

瑞芯微 RKrga接口 wrapbuffer_virtualaddr 使用笔记

一、源码 官方在librga中给了很多 demo 以供参考&#xff0c;例如 imresize 操作&#xff1a; /** Copyright (C) 2022 Rockchip Electronics Co., Ltd.* Authors:* YuQiaowei <cerf.yurock-chips.com>** Licensed under the Apache License, Version 2.0 (the &qu…...

管理系统-接口信息

1.用户查询接口 1.1 查询所有用户 请求路径&#xff1a;GET /users 接口描述&#xff1a;查询所有用户的基本信息及关联的角色、应用数据。 请求参数&#xff1a;无 响应数据&#xff1a;{"code": 1,"msg": "success","data": [{&qu…...

java项目之基于ssm的乡镇自来水收费系统(源码+文档)

项目简介 乡镇自来水收费系统实现了以下功能&#xff1a; 乡镇自来水收费系统在Eclipse环境中&#xff0c;使用Java语言进行编码&#xff0c;使用Mysql创建数据表保存本系统产生的数据。系统可以提供信息显示和相应服务&#xff0c;其管理员管理水表&#xff0c;审核用户更换…...

基于高德地图实现地图交互功能的探索与总结

在前端开发项目中&#xff0c;集成地图功能并实现丰富的交互效果是一项具有挑战性但又极具实用价值的任务。最近&#xff0c;我在项目里负责实现基于高德地图的相关功能&#xff0c;包括地图初始化、输入提示、点击获取经纬度及地址等操作。在这个过程中&#xff0c;遇到了不少…...

代码随想录算法训练营--打卡day4

一.移除链表元素 1.题目链接 203. 移除链表元素 - 力扣&#xff08;LeetCode&#xff09; 2.思路 通过 while 循环来遍历链表&#xff0c;只要 cur 的下一个节点不为空&#xff0c;就继续循环。在循环中&#xff0c;对 cur 的下一个节点的值进行判断&#xff1a; 值不等于…...

【题解】AtCoder At_abc399_d [ABC399D] Switch Seats

题目大意 请点击 这里 查看原题面。 有一个长度为 2 ⋅ N 2\cdot N 2⋅N 的序列 A A A&#xff0c;其中 1 , 2 , … , N 1,2,\dots,N 1,2,…,N 各出现了两次。现在要找满足如下条件的数对 ( a , b ) (a,b) (a,b) 的个数&#xff1a; a a a 的两次出现不相邻。 b b b 的两…...

【力扣刷题|第十七天】0-1 背包 完全背包

目标和 力扣题目网址:目标和 这道题我们先用回溯的思想来做。首先我们设正数和为S&#xff0c;数组和为N&#xff0c;目标值为T&#xff0c;那么S-(N-S)T化简之后可以得S(TN)/2即选择的正数个数为偶数&#xff0c;而且NT也为偶数&#xff0c;那么第一个判断条件我们就有了&…...

实时目标检测新突破:AnytimeYOLO——随时中断的YOLO优化框架解析

目录 一、论文背景与核心价值 二、创新技术解析 2.1 网络结构革新:Transposed架构 2.2 动态路径优化算法 三、实验结果与性能对比 3.1 主要性能指标 3.2 关键发现 四、应用场景与部署实践 4.1 典型应用场景 4.2 部署注意事项 五、未来展望与挑战 一、论文背景与核心…...

Spring中的IOC及AOP概述

前言 Spring 框架的两大核心设计思想是 IOC&#xff08;控制反转&#xff09; 和 AOP&#xff08;面向切面编程&#xff09;。它们共同解决了代码耦合度高、重复逻辑冗余等问题。 IOC&#xff08;控制反转&#xff09; 1.核心概念 控制反转&#xff08;Inversion of Control…...

为mariadb和mysql添加用户和修改密码的方法

一、查看MariaDB中的用户 步骤1&#xff1a;登录MariaDB sudo mysql -u root -p # 使用root账户登录&#xff08;输入密码&#xff09; 步骤2&#xff1a;查询用户列表 -- 切换到mysql系统数据库 USE mysql; -- 查看所有用户及其主机权限 SELECT User, Host FROM user; 输出…...

2025年3月电子学会c++五级真题

结绳 #include <bits/stdc.h> using namespace std;int n,a[10010];int main() {cin>>n;for(int i 0;i<n;i){cin>>a[i];}sort(a0,an);//将a数组从小到大排序double sum 0;for(int i 0;i<n;i){sum (suma[i])/2;}cout<<(int)sum;return 0; } 最…...

JSP 指令

JSP 指令 概述 JSP&#xff08;JavaServer Pages&#xff09;是一种动态网页技术&#xff0c;它允许开发者在HTML页面中嵌入Java代码&#xff0c;从而实现动态内容的生成。JSP指令是JSP页面中用于设置整个页面属性的特殊标记&#xff0c;它们对整个JSP页面或部分页面进行配置…...

RabbitMQ高级特性--发送方确认

目录 1. confirm确认模式 1.配置RabbitMQ 2.设置确认回调逻辑并发送消息 2.Return退回模式 1.配置RabbitMQ 2.设置返回回调逻辑并发送消息 在使用RabbitMQ的时候, 可以通过消息持久化来解决因为服务器的异常崩溃而导致的消息丢失, 但是还有⼀个问题, 当消息的生产者将消息发送出…...

AUTOSAR_StbM_详解

AUTOSAR同步时基管理器(StbM)详解 基于AUTOSAR规范对StbM模块架构与功能的全面解析 目录 AUTOSAR同步时基管理器(StbM)详解 目录1. 概述 1.1 StbM的功能与用途1.2 StbM的主要用例2. 组件架构 2.1 StbM组件架构图2.2 组件交互说明 2.2.1 客户类型2.2.2 内部组件2.2.3 外部接口3.…...

扩散模型总结

目录 定义与原理 发展历程 正向扩散过程 反向扩散过程 噪声预测网络 离散时间模型 连续时间模型 条件扩散模型 生成质量 训练稳定性 采样灵活性 图像生成 音频合成 文本生成 计算效率 模型复杂度 定义与原理 扩散模型是一种新型的生成模型,其核心原理源于热力…...

RCE--解法

目录 一、利用php伪协议 1.代码分析 2.过程 3.结果 ​编辑 4.防御手段 二、RCE(php中点的构造&#xff09; 1.代码分析 2.过程 一、利用php伪协议 <?php error_reporting(0); if(isset($_GET[c])){$c $_GET[c];if(!preg_match("/flag|system|php|cat|sort…...

Kubernetes》k8s》Containerd 、ctr 、cri、crictl

containerd ctr crictl ctr 是 containerd 的一个客户端工具。 crictl 是 CRI 兼容的容器运行时命令行接口&#xff0c;可以使用它来检查和调试 k8s 节点上的容器运行时和应用程序。 ctr -v 输出的是 containerd 的版本&#xff0c; crictl -v 输出的是当前 k8s 的版本&#x…...

OpenCV 图形API(2)为什么需要图形API?

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 G-API背后的动机 G-API模块为OpenCV带来了基于图的执行模型。本章简要描述了这种新模型如何在两个方面帮助软件开发者&#xff1a;优化和移植图像处理算法…...

测试模版12

本篇技术博文摘要 &#x1f31f; 引言 &#x1f4d8; 在这个变幻莫测、快速发展的技术时代&#xff0c;与时俱进是每个IT工程师的必修课。我是盛透侧视攻城狮&#xff0c;一名什么都会一丢丢的网络安全工程师&#xff0c;也是众多技术社区的活跃成员以及多家大厂官方认可人员&a…...

Epoll 的本质与原理:高性能网络编程的基石

Epoll 的本质与原理&#xff1a;高性能网络编程的基石 在当今高并发的网络应用中&#xff0c;如何高效地处理大量的并发连接是每个开发者都需要面对的关键问题。Linux 系统提供的 epoll 技术正是解决这一问题的利器&#xff0c;被广泛应用于 Nginx、Redis、Skynet 等高性能网络…...

Tesseract OCR技术初探(Python调用)

一、Tesseract OCR技术解析 1.1 核心架构与发展历程 Tesseract是由HP实验室于1985年研发的光学字符识别引擎&#xff0c;2005年由Google开源并持续维护至今。其核心技术经历了三个阶段演进&#xff1a; 传统模式&#xff08;v3.x&#xff09;&#xff1a;基于特征匹配算法&a…...

黑盒测试的测试用例构成的八点要素

测试用例: 是为测试项目而设计的执行文档 作用&#xff1a; 防止漏测实施测试的标准 编写格式&#xff1a; 用例编号:项目 模块 编号用例标题:预期结果(测试点)模块/项目:所属项目或模块优先级:表示用例的重要程度或者影响力P0~p4(P0最高)前置条件:要执行此条用例&#xf…...

手撕string

目录 引言 1&#xff0c;成员变量 2&#xff0c;先建一个可以跑的 2_1&#xff0c;构造函数 2_2&#xff0c; 扩容函数reserve 2_3&#xff0c;push_back 2_4&#xff0c;append[ ] 2_5&#xff0c;operator << 2_6&#xff0c;测试一下&#xff0c;看猪跑 3&…...

12款星光闪光污迹艺术绘画效果Clip Studio Paint笔刷画笔+闪光纹理图片 Clip Studio Glitter Texture Brushes

这 12 种 Clip Studio 画笔 额外的闪光纹理包含闪光、污迹、星光和闪亮的斑点&#xff0c;为您的艺术增添额外的流行感。想想闪光胶&#xff0c;但已经长大了&#xff08;而且更好&#xff09;。想象一下&#xff1a;无论您是用微小的闪光还是厚实的微光涂鸦&#xff0c;都有适…...

5G_WiFi_CE_杂散测试

目录 一、规范要求 1、法规目录&#xff1a; 2、限值&#xff1a; &#xff08;1&#xff09;带外发射杂散 &#xff08;2&#xff09;带内发射杂散 &#xff08;3&#xff09;接收杂散 二、测试方法 1、带外发射杂散 &#xff08;1&#xff09;测试条件 &#xff08…...

蓝卓为中小制造企业注入数字化转型活力

随着劳动力成本上升,原材料价格上涨,企业生产成本逐年增加&#xff0c;市场竞争越来越激烈&#xff0c;传统的中小制造企业面临着巨大的压力。 通过数字化转型应对环境的变化已成为行业共识&#xff0c;在数字化的进程中&#xff0c;中小企业首要考虑生存问题&#xff0c;不能…...

集成 shardingsphere-jdbc 常见问题

一、报错内容 Caused by: org.apache.ibatis.executor.ExecutorException: Error preparing statement. Cause: org.apache.shardingsphere.infra.exception.kernel.metadata.TableNotFoundException: Table or view t_xxx does not exist. 解决 1、配置 !SHARDING rules:-…...

DeepSeek接入飞书多维表格,效率起飞!

今天教大家把DeepSeek接入飞书表格使用。 准备工作&#xff1a;安装并登录飞书&#xff1b;可以准备一些要处理的数据&#xff0c;确保数据格式正确&#xff0c;如 Excel、CSV 等&#xff0c;也可直接存储到飞书多维表格。 创建飞书多维表格&#xff1a;打开飞书&#xff0c;点…...

AI来了,新手如何着手学习软件开发?

AI时代新手学习软件开发的7步进化指南 &#xff08;附具体工具与避坑策略&#xff09; 一、建立“人机协作”学习观 AI是教练&#xff0c;不是替身 正确姿势&#xff1a;用AI辅助理解概念&#xff08;如让DeepSeek 、ChatGPT用生活案例解释递归&#xff09;&#xff0c;但坚持手…...

sqli-labs靶场 less5

文章目录 sqli-labs靶场less 5 报错注入 sqli-labs靶场 每道题都从以下模板讲解&#xff0c;并且每个步骤都有图片&#xff0c;清晰明了&#xff0c;便于复盘。 sql注入的基本步骤 注入点注入类型 字符型&#xff1a;判断闭合方式 &#xff08;‘、"、’、“”&#xf…...

AI基础02-图片数据采集

上篇文章我们学习了文本的数据采集&#xff0c;今天主要了解一下图片数据采集的方法。图片采集方法通常有网页采集和实时采集&#xff08;传感器采集&#xff09;两种。我们学习一下如何利用python 工具和笔记本计算机摄像头进行图片数据的实时采集。 1&#xff09;cv2库简介 …...

QT音乐播放器(1):数据库保存歌曲

实现功能&#xff1a;用数据库保存本地导入和在线搜索的歌曲记录 目录 一. 保存本地添加的歌曲 1. 使用QSettings &#xff08;1&#xff09;在构造函数中&#xff0c;创建对象。 &#xff08;2&#xff09;在导入音乐槽函数中&#xff0c;保存新添加的文件路径&#xff0c…...

Java面试黄金宝典22

1. 树的中序遍历&#xff0c;除了递归和栈还有什么实现方式 定义 Morris 遍历是一种用于二叉树遍历的算法&#xff0c;它利用树中大量空闲的空指针&#xff0c;在不使用额外栈空间和递归的情况下&#xff0c;完成树的遍历。通过建立临时的线索连接&#xff0c;使得可以按照中…...