造轮子记录:交大空教室一键查询器
发表于|更新于|项目
受够了每次想找个安静的地方自习、推导公式,却还要像开盲盒一样挨个教室找?
当然要用代码解决生活痛点!
今天手搓了一个轻量级的“交大空教室查询器”。
不过感觉这种。。。自己在转专业的这些人里面没有突出点啊。。
啊,忘了提项目网址了,在这里:
🚀 在线体验传送门: SJTU 空教室查询助手 (点击直达)
相关推荐

2026-10-11
空教室雷达:别再一间一间开盲盒了
之前写过一篇空教室查询器,这里再记一下查询逻辑。 怎么判断有没有课 项目使用 Flask。查询接口接收日期、楼栋和起止节次,遍历楼层和教室的课程安排,排除时间有交集的教室。 把查询节次记作闭区间 [a, b],课程节次记作 [c, d]。两者不重叠的情况是 b < c 或 a > d;除此之外就存在重叠。这样包含、部分交叉和边界相接都可以用同一条规则处理。 课表和现场状态 当天的查询还会尝试补充现场占用信息和部分环境指标。课表反映的是排课安排,现场数据则是某个时刻的观测;没有排课并不一定代表教室里没有人。 学校接口的字段、权限和可用性可能变化,这次没有重新查询接口。使用时还是要以实际情况为准。 相关链接 项目仓库 · 查询代码

2026-10-11
别点那个链接!把反诈题目变成一次对话
《别点那个链接!》是人工智能导论的课程大作业。项目把校园反诈做成互动网页,让用户在模拟场景里选择怎么处理,再回看其中的风险线索。 三个场景 场景包括奖学金诈骗短信、陌生人催促付款和可疑自行车二维码。用户通过对话和操作推进,而不是一开始就看到所有提示。 前端使用 HTML、CSS 和 JavaScript。离线模拟模式可以直接演示交互;实时模式通过 Flask 后端连接兼容 OpenAI 格式的 API,凭据通过环境配置提供。 复盘和报告 项目会保存交互轨迹,围绕信息来源核验、资金边界、未知入口和紧迫感等方面生成复盘,也提供行动清单和 Markdown 报告导出。 这些反馈是教学项目中的设计,方便回看当时的选择,并不能作为经过验证的防骗能力测评。课程整体内容可以看人工智能导论学习记录。 相关链接 课程项目说明

2026-10-11
WebsiteSpeedRun:把视频速度调到自己想要的位置
WebsiteSpeedRun 是一个浏览器扩展,用来调整网页视频的播放速度。平台提供的速度档位有时不太合适,这个小工具提供了更多选择。 实现方式 扩展使用 Manifest V3。弹窗读取和保存速度设置,chrome.storage.local 保存设置;之后通过浏览器的脚本执行能力,在页面中操作 video 元素,并尝试处理 frame 中的媒体。 使用限制 不同网站的播放器实现不同,有些页面会重置播放速度,也有视频是在脚本执行后才动态加入的。当前代码主要处理执行时已经存在的元素,没有持续观察新增视频,因此不能保证所有网站都能持续生效。页面结构、浏览器权限和 iframe 限制也可能影响结果。 扩展代码见下面的仓库。 相关链接 项目仓库 · 扩展脚本

2026-10-15
博客在线写作入口实现
给博客加一个在线编辑入口 之前写博客,总得先打开本机的项目,写 Markdown,构建,再 commit、push。 流程并不复杂,但每次只是想写两句话,却得先把自己切换到“维护网站”的状态。电脑不在身边的时候,就更懒得动了。 所以这次干脆给博客加了一个网页写作入口。 GitHub Pages 负责展示,Cloudflare 负责处理请求 博客原来的架构没有换,仍然是 Hexo + Butterfly + GitHub Pages。 问题在于,GitHub Pages 是静态托管,不能替我保管登录密钥,也不能直接承担安全的授权和发布逻辑。 于是中间加了一个 Cloudflare Worker。 整条路径大概是这样: 12345678910111213141516浏览器里的 Markdown 编辑器 | vCloudflare Worker登录验证、权限检查、发布请求 | vGitHub 博客仓库Markdown、封面、图片白名单 | vGitHub Actions测试、He...

2026-10-11
MiniVim:原来光标后面有这么多事情
MiniVim 是基于交大 CS1958-01 课程框架的 C++17 编辑器项目。我的仓库是课程上游的 fork,下面记录一下项目中的模块和编辑流程。 模块 项目分为 Buffer、Window、Command、Renderer、Editor 和 Terminal,分别处理文本、可见区域、命令、渲染、编辑器状态和终端交互。 屏幕上的行号不一定等于文件中的行号;缓冲区修改之后,也需要由渲染部分把变化显示出来。看源码时可以从按键进入 Editor 开始,继续跟到作用于 Buffer 的操作。 模式和边界 Normal、Insert 和命令行模式下,相同按键可能有不同含义。除此之外,行首退格、光标移动到屏幕外等情况也需要明确处理。 课程提供基础要求、进阶说明和终端测试工具。这篇主要记录结构,没有重新运行完整课程测试。 相关链接 项目仓库 · 课程框架 · 源码

2026-10-11
给博客搬一次家:Hexo、Butterfly,以及没必要的折腾
之前搭博客的时候直接写 HTML,文章少的时候还能管得过来。页面和文章多起来之后,每加一点内容都要改好几个地方,于是这次把博客迁移到了 Hexo,主题使用 Butterfly。 旧文章和地址 原来的三篇文章迁移到了 Markdown,正文、代码和公式保留,post-1.html 到 post-3.html 也继续使用原来的地址。标签、分类、归档和搜索则交给生成器处理,以后加文章不用手动维护每个列表。 构建和发布 文章、配置和构建脚本作为源文件,页面、样式和搜索索引由构建生成,依赖版本记录在锁文件里。这次迁移时的发布方式仍然适配 GitHub Pages 的 main 分支根目录。 构建之后会检查本地链接、图片、搜索,以及旧文章中的代码和公式。博客后来又加了在线写作入口,发布流程也有调整。 背景图 之前想做背景轮播,但是首页封面和正文背景没有同步,两张图各换各的,看起来不太对。最后把自动轮播去掉,页头和正文共用固定背景层。列表和推荐使用压缩过的封面,也不用每次加载原始大图。 总算可以少花一点时间调整壁纸,多写点东西了。 相关链接 博客仓库 · Hexo · Butterfly




