老陈爱刷机的博客

老陈爱刷机的博客



25年三十周周记 | 班干竞选、开发软件、CSP

FlashingChen · 2025-09-20 · 57浏览 · 周记



本篇涵盖范围: 2025/9/15 - 2025/9/20

写在前面

今天是2025年9月20日,也是CSP-J/S(CCF非专业级软件能力认证)考试的日子。我考完试就马上回来写周记啦~

本周是正常的一周,没有什么大好事,也没有什么坏事,平平无奇的一周。

班干竞选

这周唯一感觉大的就是班干竞选了。

别看我上台讲了,实际上那是老师叫我上去硬讲两句的。至于是为什么呢?且听我细细道来。先把班干部的名单列一下吧:

  • 班长(1人)
  • 副班长(2人)
  • 值日班干(5人)
  • 班主任助理(1人)
  • 学习委员(2人)
  • 纪律委员(4人)
  • 劳动委员(2人)
  • 班机助理(1人)
  • 文娱委员(2人)
  • 眼操检查负责人(1人)
  • 仪容仪表负责人(1人)

其实这些职位我都不想当,自我感觉也不配当(但看完竞选后好像发现这个观点不太正确呢)。所以我一个都没有竞选。

那班机助理这个玩意是怎么来的呢?其实是老师直接任命我当的,因为我开学三周已经修了好多东西了?毕竟我也折腾过服务器(不然也没有这个博客了),所以我认为虽然我们班OI(打信息学奥赛的)大佬很多,但我在工业开发方面的经验虽不如专门搞这方面的(大佬们%%%),但是在班里我认为还是蛮不错的,毕竟也上线了大大小小几十个网站。也许不是自己开发的,但是运维的基础我还是懂的,应对学校电脑的各种奇葩问题基本也都能解决。注意啦,这是要点,后面会用到。

Q:这里这段话有什么用?

A:不仅阐述了为什么当上班机助理,还为下文做了铺垫。

然后这个职位是老师直接任命的,其实要不要职位都无所谓,反正我本来也喜欢搞这些。老师就说让我上去随便讲两句,那刚好就有了这篇文章的封面。

感觉大家的经历都蛮丰富的,很多我认为不“虚有其名”的班干部们都是在小学任班长、大队委等职务的,好像我小学都在玩嘞……不过没事儿,小学不玩到初中、高中就更没空了,我认为小学玩是一个很正确的选择。


[tip type="warning" title="免责声明"]个人观点仅供参考[/tip]

希望班干部们真的能像竞选时所说。不为同学服务我觉得倒还好,只要不“压榨”同学我就觉得没毛病,不然可能要上演《同学的名义》了(bushi)

开发软件

书接上回内容

上文说到我当上了“班机助理”,没想到任务那么快就来了。

班主任和我说:

找一个能够用小球动画显示出教室吵闹情况的app,自习课的时候同学们太吵了,放来使用。

我当时其实就寻思着,这种软件网上可能有,但是我让AI开发一个试试?刚好还能装个B练练手,自定义程度和安全性肯定会有保障很多。于是我就开始了开发。

开发过程

我认为这个过程是可以录一个视频的,我明天(9/21)就更新!

其实很简单,把我的需求(上文引用的内容)加上我偏向的风格(我希望是黑底,紫色小球(这个是老师指定的),白字和简约的风格)。丢给任意一个AI,我用的是豆包,它就会生成一个非常Perfect的提示词,他写的是这样的:

# 老陈噪音检测器需求文档(修订版)

## 1. 项目概述
### 1.1 项目名称
老陈噪音检测器

### 1.2 项目目标
开发一款运行于Windows系统的噪音监测软件,通过麦克风实时采集环境声音,以可视化动画(小球跳动)和数值(分贝)形式直观展示噪音强度,辅助班级自习课的噪音管理。

### 1.3 应用场景
主要用于中小学班级自习课环境,教师可通过软件实时掌握班级噪音情况,及时进行管理干预。
## 2. 功能需求
### 2.1 核心功能
- 麦克风音频实时采集:支持自动识别并调用系统默认麦克风
- 噪音强度分析:实时计算环境噪音的分贝值(dB)
- 可视化展示:
  - 动态小球动画:跳动幅度与噪音强度正相关
  - 数值显示:精确到小数点后1位的分贝值
- 基础控制:
  - 开始/暂停监测按钮
  - 重置按钮(重置小球状态和数值基线)
  - 退出程序按钮
- **噪音预警功能**:
  - 支持自定义分贝阈值设置(如60dB)
  - 当实时分贝值超过设定阈值时,软件背景瞬间变为红色(保持0.5-1秒后恢复正常)
  - 预警状态不影响其他功能操作(继续监测、按钮响应等)
### 2.2 辅助功能
- 分贝值范围标识:显示当前分贝对应的噪音等级(安静/适中/嘈杂)
- 历史峰值记录:显示监测期间的最大分贝值
- 窗口置顶:支持设置软件窗口始终显示在最上层
- 阈值设置面板:可通过弹窗设置、保存噪音预警阈值
## 3. 非功能需求
### 3.1 性能要求
- 响应速度:音频采集与可视化延迟≤300ms
- 资源占用:CPU使用率≤10%,内存占用≤100MB
- 连续运行:支持≥4小时不间断稳定工作
### 3.2 兼容性要求
- 操作系统:支持Windows 10/11(32位/64位)
- 硬件:支持主流内置/外置麦克风设备
### 3.3 易用性要求
- 零学习成本:操作逻辑直观,无需说明书即可使用
- 启动速度:从双击到正常工作≤5秒
- 容错处理:麦克风异常时显示友好提示,而非崩溃
### 3.4 安全性要求
- 仅获取麦克风访问权限,不收集任何其他用户数据
- 无网络通信模块,确保本地运行安全性
## 4. UI/UX设计规范
### 4.1 风格定位
- 设计语言:苹果风格(iOS/macOS设计语言)
- 配色方案:黑白为主,辅以少量灰色过渡
  - 主色:纯黑(#000000)、纯白(#FFFFFF)
  - 辅助色:浅灰(#F5F5F5)、深灰(#333333)
  - 预警色:红色(#FF3B30,用于超过阈值时的背景)
- 视觉特点:简洁、扁平化、圆角元素、适度阴影
### 4.2 布局规范
- 主窗口:无边框设计,圆角矩形(圆角半径12px)
- 背景区域:占窗口80%空间,用于展示小球跳动动画(支持预警时变红)
- 控制区域:
  - 位置:中间偏上
  - 样式:半透明白色背景(透明度70%),圆角矩形框
  - 内容:分贝数值(大号字体)、噪音等级标签、控制按钮组、阈值设置入口
- 尺寸:默认800×600px,支持窗口缩放
### 4.3 交互设计
- 小球动画:默认静止状态,检测到声音后随分贝值变化跳动
- 按钮反馈:点击时有轻微缩放效果(95%缩放)和颜色变化
- 数值变化:分贝值变化时有平滑过渡动画(0.3秒渐变)
- 预警反馈:超过阈值时背景变红,伴随轻微视觉震动效果(可选)
## 5. 技术栈与开发环境
### 5.1 开发语言
- 主语言:Python 3.9(兼顾兼容性和性能)
### 5.2 核心库
- GUI框架:PyQt6(提供现代化UI组件和动画支持,实现苹果风格界面)
- 音频处理:
  - sounddevice(麦克风音频流采集)
  - numpy(音频数据计算处理)
  - scipy(音频信号分析,计算分贝值)
- 动画引擎:PyQt6内置QPropertyAnimation(实现小球平滑动画)
### 5.3 打包工具
- PyInstaller(将程序打包为单文件EXE,支持Windows平台)
### 5.4 网络环境适配(关键补充)
- 依赖安装限制:开发环境无法直接访问国外网站(如PyPI官方源、GitHub等)
- 解决方案:
  - Python依赖安装:使用国内PyPI镜像源,如:
    - 清华镜像:https://pypi.tuna.tsinghua.edu.cn/simple
    - 阿里云镜像:https://mirrors.aliyun.com/pypi/simple/
    - 配置方式:`pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple`
  - 资源获取:如需第三方资源(如图标、示例代码),优先通过国内镜像站或已缓存资源获取
  - 离线安装:对于无法通过镜像获取的依赖,提前下载whl包进行离线安装
## 6. 交付物
- 单文件可执行程序(.exe)
- 程序图标(符合苹果风格的黑白图标)
- 简易使用说明(TXT格式,包含启动方法、基本操作及阈值设置说明)
- 离线依赖包备份(可选,用于后续维护时的环境重建)
## 7. 验收标准
- 功能完整性:所有核心功能正常工作,噪音超阈值时屏幕变红功能响应准确
- 性能指标:满足3.1节性能要求,在主流配置电脑上流畅运行
- UI一致性:严格遵循4.1节设计规范,体现苹果风格和黑白配色
- 易用性:首次使用的用户能在30秒内掌握基本操作及阈值设置
- 稳定性:连续运行4小时无崩溃、无内存泄漏
- 环境适配:开发过程文档需包含完整的国内镜像配置流程,确保在受限网络环境下可重复构建
## 8. 扩展建议(可选)
- 未来可增加噪音超标提醒(声音/视觉警报)
- 支持自定义分贝阈值和灵敏度调节
- 增加噪音趋势图表展示(近5分钟噪音变化曲线)
- 支持多麦克风选择功能

整体的逻辑性还是很强的,相较于我直接丢给TRAE这样笼统的讲述会更好,效率更高,也能帮助我了解自己的真正需求。

我觉得还行,初步交付没啥问题,就是后续UI可能还得优化一下(这个网站上放的视频不太流畅,实际上动画还不错)


[tip type="info" title="求助"]我的艺术细菌可能把艺术细胞杀死了,不太有更好的想法了,恳请各位大佬给我提提UI优化的建议,好的建议我一定采纳~[/tip]

最终打包成单文件EXE就行,我让AI给我画个图标~

CSP

一年复盘

今年是我参加的第二次的CSP-J了。

还记得去年备赛三周参加初赛得了77.5分。我现在估分大概是70.5吧这一次(没有答案,只能按照我100%确定的估的)。题目整体难度上涨了,多方都是这么评价的。

虽然我觉得我这一年感觉没学什么算法,但实际上看了一下还是有进步的,只不过不如当时从0到1的过程感觉那么明显了。而且认识的大佬也多了,自然就感觉自己垃圾进步略小了。

不过我回想了一下:换做去年的我来做这套题,肯定连30分都拿不到,毕竟有二维DP之类的东西求最长公共子序列,去年我还没接触到呢。现在自信心又上来了一点儿。

不知道今年广西的分数线是多少呢?去年是45分可以进复赛,今年不给12周岁以下的选手参加了,题目难度变大了,不清楚分数线是会上涨呢还是下跌呢?反正交的钱是上涨了:去年J和S都是50元的初赛,今年都涨到了100元。

奇迹的蒙题

去年我也报了S(提高)组,但是一方面是考完J就觉得自己实力不够了,另一方面是觉得有点儿累,就不去了。而今年我的水平还是没有达到S的水平,但是凭运气or做题的经验?反正赛后与网上流传的答案对比了一下大概可以是45分这样,其中只有6-8分是我考场上100%确定能拿到的分数,剩下的都是蒙和做题的小技巧(不懂从哪来的,反正“直觉告诉我”)弄的。同样的问题:不清楚今年分数线是多少呢?2023年是28,2024年是35.5。

S组的题目相较于去年也有了较大的难度提升,Linux指令和GCC编译指令完全没考,都是算法类的,比如线段树、前后缀树(还是叫啥的)等等。阅读程序太长了,也都是我不会的算法,我连模拟都不想模拟了,就“摆烂”了,全靠蒙,只能说运气蛮好的,还好昨天只做了模拟题的不到一半,不然运气全点昨天了,今天的就没了。

最后希望:


[tip type="info" title="希望"]健健康康、RP++[/tip]

尾声

额外的小感受

随着第三周的到来,我也慢慢适应了初中的节奏。不再感到像第一周那么累了,本来就只有一点的怨气似乎没了,也学到了许多和小学不一样的知识,特别是在语文方面(赏析句子小学的公式把我们毒害得有点深,没有透露自己真实的感受,导致分没了)。

还有道法、历史、生物等学科,不仅是全新的,答题方面也是有要求的,不能想当然。我们全班的作业也被老师说改不下去了,因为还没讲过怎么答题。不过讲过后应该会好很多,期待下一周~

真的结尾

那么本周的周记就到这里啦,日常上学没有影像资料可用啊。

记得这周发生的事情不止这些的啊,为什么只有这么点儿写呢?(其实本文已经有4722字了,只不过事情较少而已)下周我会重新启动记录本,把我认为能写的记录下来,这样才能留住生活!

我们下周见~!



©

comment 评论区

添加新评论

face表情



  • ©2025 bilibili.com

textsms
内容不能为空
昵称不能为空
email
邮件地址格式错误
web
beach_access
验证码不能为空
keyboard发表评论


已有 1 条评论

  1. 是阿改哦     

    25-09-20 21:43 · 回复

    RP++
    班干部现在可以当一下锻炼锻炼 初三的时候尽可能辞掉 不然会出大问题




©2025 老陈爱刷机的博客

网站由火毅盾云安全提供防护及CDN加速服务

Theme Romanticism2.2 by Akashi
Powered by Typecho