SpringBoot+Vue+MySQL教学辅助系统:从设计到部署全流程解析
几个朋友最近都在问毕业设计怎么选方向我提了一句自己当年做过的“SpringBootVueMySQL 教学辅助系统”结果被连环追问了好几天。索性把当初从立项、设计、写代码到写论文、部署上线的完整过程整理成这篇东西。如果你正准备做类似的Web全栈项目或者正在为毕设选题发愁这篇内容应该能帮你省掉不少弯路。文中涉及的核心技术栈就是标题里那三样——SpringBoot、Vue、MySQL再加一份能直接改用的数据库脚本和部署文档。这个系统本质上是一个面向高校课堂场景的辅助管理平台覆盖了课程管理、作业发布与提交、成绩登记、公告通知、学生选课等一整套常见教学业务流程。难点不在某个单一技术点而是怎么把这些业务模块串成一条完整、可运行、能演示的链路。对毕设来说这恰恰是最合适不过的选题前后端分离、CRUD全覆盖、权限控制、文件上传、报表统计一个都不少简历上也好写答辩时也好讲。1. 项目定位教学辅助系统到底要解决什么问题1.1 先说清楚这个系统是给谁用的我在实际做这个项目前花了两天时间在学院里找了几位老师和本科生聊了聊问他们日常教学中最烦的事情是什么。得到的反馈出奇一致课程资料分发靠U盘和QQ群、作业收交靠邮箱和聊天记录、成绩统计靠Excel手工核对。小班还好一旦选修课上百人光是催交作业、录成绩就能耗掉一个助教大半条命。所以这个教学辅助系统的核心定位就很明确了——它是一个让老师能在线发布课程资料、布置作业、在线批改、登记成绩让学生能在线选课、查看课件、提交作业、查看成绩的轻量级业务平台。做出来之后要能回答这三个问题老师端能不能快速开课、发作业、批改并给学生反馈成绩学生端能不能自助选课、下载课件、交作业、看到自己的成绩管理员端能不能管用户、管课程、管公告而不是靠SQL去手工删数据1.2 为什么说SpringBootVueMySQL是毕设的最优解当年选这套技术栈不是偶然。先看后端SpringBoot把Spring那套繁琐的XML配置几乎消灭了一个SpringBootApplication注解就能起服务内嵌Tomcat打jar包直接跑这对不擅长运维的在校学生来说非常友好。再看前端Vue渐进式的特点决定了你可以只把它当普通模板引擎用也可以搭配Vuex和Router做成标准SPA学习曲线平滑。MySQL更不用说了学校机房标配eduschema设计得合理一点后面所有业务逻辑都能顺理成章地落库。我还对比过另外两个方案。一个是ServletJSP做单体应用优点是没有跨域问题但前端代码和后端Java混在一起后期想扩展新页面非常费劲另一个是Python Django方案确实写起来省事但在国内很多高校的毕设语境下Java技术栈的受众面更广答辩时老师挑刺的概率也相对小。最后敲定SpringBootVueMySQL理由无非是三件事生态成熟、资料齐全、坑少。1.3 适合谁来参考这份方案如果你是计算机相关专业的本科生正被毕设折磨得头大这篇内容可以直接当成一份“拆解手册”来用照着里面的模块设计、数据库字段、核心代码逻辑去复现能省掉至少两周的摸索期。如果你已经在公司实习想做一套内部培训辅助系统同样可以参考这里面的权限设计和文件上传方案只是要把数据库换成生产级的配置而已。2. 需求与模块拆解先画好边界再动手写代码2.1 用户角色与权限边界这个系统在设计之初就确定了三种角色严格区分权限绝不搞成“一个账号走天下”管理员拥有全部权限包括用户管理、课程审批、系统公告、数据统计。教师可以创建课程、维护课程资料、发布作业、批改作业、导出成绩。学生可以浏览课程、选课退课、查看资料、提交作业、查看成绩和公告。权限控制的落点在后端。我用了Spring Security加JWT的方案登录成功后签发Token之后每次请求都带上Token后端通过拦截器解析身份再通过角色判断能否访问某个接口。这样前端的按钮显隐只是“面子”真正的“里子”在后端的PreAuthorize注解上。2.2 核心功能模块梳理整个系统我划分成了七个模块每个模块本质上就是一组接口加一组页面登录注册模块账号密码登录、JWT签发、角色识别。用户管理模块管理员用户列表、新增用户、禁用用户、重置密码。课程管理模块教师创建课程、课程列表、课程详情、学生选课退课。教学资料模块课件/资料上传、在线预览、下载。作业管理模块发布作业、提交作业、截止日期控制、批改打分、成绩反馈。成绩管理模块成绩登记、成绩查询、成绩统计柱状图。公告通知模块管理员/老师发公告学生在首页看到滚动通知。2.3 模块拆解的几个心得这里有一个特别重要的经验模块拆解别贪多。我最初列的清单里有“在线讨论区”、“课程直播预约”、“学生互评”这些乱七八糟的功能后来发现每一个都会大幅增加前后端工作量。指导老师看过我的方案后只说了句“你把作业流程闭环做好比堆十个半成品功能强得多”。最后我砍掉了所有非核心模块集中精力把“发布作业-提交作业-批改-归档成绩”这条链路打磨顺了答辩时老师恰恰对这个闭环最感兴趣。结论毕设项目做“深”比做“宽”重要。一个核心业务闭环做到位胜过十个点赞收藏类的鸡肋功能。3. 数据库设计字段命名克制成习惯3.1 核心数据表结构先放我当时建表的整体设计。教学辅助系统的数据库我命名为edu_system核心表一共11张。为了避免代码里出现大量别名我把表名字段名做了统一规范每张表都有主键id时间字段统一叫create_time和update_time逻辑删除字段统一叫deleted。下面挑几张关键表说用户表sys_user包括字段id、username、passwordBCrypt加密后存储、real_name、role0管理员/1教师/2学生、email、phone、avatar、status0禁用/1启用、create_time、update_time、deleted。课程表course包括字段id、course_name、course_code课程编号、teacher_id关联sys_user、description、start_time、end_time、status0未开始/1进行中/2已结束、create_time、update_time、deleted。选课表course_selection用复合唯一索引约束同一个学生不能重复选同一门课id、course_id、student_id、create_time、deleted配合UNIQUE KEY uk_course_student (course_id, student_id)。作业表homework包括字段id、course_id、title、content、deadline、attachment_url、create_time、update_time、deleted。提交表homework_submit记录每个学生每次作业的提交情况id、homework_id、student_id、submit_content、attachment_url、submit_time、status0未交/1已交/2已批改、score、comment、update_time、deleted。3.2 为什么很多字段要冗余设计这里要解释一个新手容易困惑的地方为什么作业提交表里既存student_id又存homework_id而不是去关联查原因很简单——高频查询场景下一次表关联的代价远比多存一两个字段要大。比如老师查看“某门课的作业提交情况”时SQL如果写成多表JOIN数据量一上来性能就不好看。冗余字段可以避免大量联表查询代价仅仅是多占一点磁盘空间对毕设这个量级完全无所谓。3.3 初始化数据一定要仔细造很多同学数据库设计得很漂亮但一运行起来页面空空如也演示效果极差。我当时的做法是造了三套测试数据基础数据3个角色各两个账号密码统一为123456登录逻辑中用BCrypt校验。业务数据2门课程、每门课分配1位老师和20个学生选课、每门课3个作业、部分学生提交了作业并已批改。时间数据让其中一门课的截止时间在过去另一门在将来方便演示“已截止”和“进行中”两种状态。注意测试数据一定不要全部用“今天”的时间。必须有历史数据、当前数据和未来数据交错这样在做时间状态判断的时候才能看到不同效果。4. 后端核心实现从登录鉴权到作业闭环4.1 后端项目结构与通用组件后端工程我是用Maven搭建的标准三层结构controller、service、mapper再加一个common包放通用工具。SpringBoot版本用的2.7.xJava 8这样在部署环境上基本不会出幺蛾子。ORM框架选了MyBatis-Plus理由很简单单表CRUD几乎不用手写SQL遇到复杂查询再写XML即可效率能翻一倍。一个完整项目先得准备好几个通用组件否则后续每个接口都会重复代码统一返回结果类ResultT字段包括code、msg、data成功返回200业务异常返回自定义错误码。所有接口返回这个结构前端的Axios响应拦截器就可以统一处理。全局异常处理器用RestControllerAdvice注解捕获异常区分业务异常和系统异常。这一招在答辩时很好讲系统不会把异常堆栈直接抛给前端而是返回一个友好的提示信息。登录接口是核心。逻辑是这样前端传username和password后端查库比对BCrypt密文通过后生成JWT。JWT里我放了三个字段userId、username、role过期时间设置为24小时。public String generateToken(User user) { return Jwts.builder() .claim(userId, user.getId()) .claim(username, user.getUsername()) .claim(role, user.getRole()) .setExpiration(new Date(System.currentTimeMillis() 86400000)) .signWith(SignatureAlgorithm.HS256, SECRET_KEY) .compact(); }拦截器里解析Token在HandlerInterceptor的preHandle方法中校验合法性并把用户信息放入ThreadLocal方便后续业务方法直接取用。4.2 作业提交流程的前后端协作逻辑这套流程最能体现“辅助教学”的核心价值。我梳理一下完整的时序逻辑教师在前端选择某门课发布作业时填写标题、内容、截止时间可选上传附件调用POST /homework。学生进入“作业列表”页面看到该课程下所有作业处于未截止时间内的可以点击“提交作业”上传文档后调用POST /homework/submit。教师进入“批改作业”页面可查看某门课程下所有已提交作业列表点击某个学生提交的记录填写分数和评语调用POST /homework/grade。学生再次查看作业详情时看到自己的分数和老师评语状态显示“已批改”。这里有一个很容易踩坑的点提交作业接口要做“重复提交校验”。学生可能交了第一次觉得写错了还想再交一次。我在homework_submit表设计时就考虑到了提交记录的status字段在第一次提交时置为1已交老师批改后改成2已批改。如果学生再次调用提交接口后端要先判断这条作业在库里的状态只有“未提交”和“已批改”批改后可重交的情况才允许覆盖旧记录。4.3 文件上传处理的几个细节教学辅助系统里绕不开文件上传课件、作业附件、头像统统是文件。我在后端的文件存储策略是本地磁盘存储配置一个upload.path的绝对路径文件按日期建子目录存放上传时用UUID生成新文件名以避免中文乱码和重名问题。upload: path: /data/edu/upload/ urlPrefix: /files/同时配置了静态资源映射把/files/**映射到本地磁盘/data/edu/upload/。这样前端拿到文件URL直接拼上域名就能访问。如果将来真要上线生产可以把本地存储换成对象存储但核心代码逻辑不需要大改——因为对外暴露的始终是FileService接口要扩展时换实现类就行。经验文件上传一定要限制后缀名和大小。我当时允许的类型是doc、docx、pdf、jpg、png、zip单文件限制10MB。别小看这个限制部署到服务器后如果用户传了个超大文件内存溢出是分分钟的事。4.4 成绩统计报表的实现成绩统计用了一个很简单的方案后端提供一个聚合接口返回某门课的成绩分布数据60以下、60-69、70-79、80-89、90-100几个分数段的人数。这个接口用一条带CASE WHEN的SQL就能搞定前端用ECharts画成柱状图。虽然技术含量不高但演示效果拔群答辩的时候很容易引起老师兴趣。5. 前端Vue实现从搭建骨架到联调上线5.1 Vue工程结构与基础配置前端用的是Vue 2.6 Element UI Axios Vue Router Vuex构建工具是Vue CLI。之所以没有上Vue 3是因为这套组合在两年多的生态沉淀下资料更全遇到的问题几乎都能搜到答案适合毕设阶段求稳的心态。目录结构分成views页面、components公共组件、router路由配置、storeVuex、utils工具函数、api接口封装。项目搭建完成后的第一件事不是写页面而是封接Axios。我在utils/request.js里做了统一处理请求拦截器从localStorage读Token并放到请求头响应拦截器判断返回状态码401就跳回登录页其他错误统一弹Message提示。service.interceptors.request.use(config { const token localStorage.getItem(token) if (token) { config.headers[Authorization] Bearer token } return config }) service.interceptors.response.use( response { const res response.data if (res.code ! 200) { Message.error(res.msg || 系统异常) return Promise.reject(new Error(res.msg)) } return res }, error { Message.error(error.response?.data?.msg || 网络异常) return Promise.reject(error) } )5.2 路由守卫与菜单权限由于后端是角色权限模型前端也要配合做路由级别的控制。做法是在路由表里给每条路由设置meta.roles字段路由守卫里判断当前用户角色是否在允许列表里不通过就重定向到403页面。router.beforeEach((to, from, next) { const token localStorage.getItem(token) const role localStorage.getItem(role) if (to.path /login) { next() } else if (!token) { next(/login) } else if (to.meta.roles !to.meta.roles.includes(role)) { next(/403) } else { next() } })侧边栏菜单我分了三套配置管理员看到的是“用户管理课程管理系统公告”教师看到的是“我的课程作业批改成绩统计”学生看到的是“选课中心我的作业我的成绩”。其实菜单本身可以从后端动态返回但毕设项目用静态菜单按角色显隐就够了代码写起来简单得多。5.3 核心页面的设计思路登录页要注意的细节是两个回车触发登录、登录按钮Loading效果防止重复提交。课程列表页用了Element UI的el-table加分页组件搜索框支持课程名和课程编号模糊查询。作业提交页用el-upload组件上传文件上传成功回调里拿返回的URL再随表单一起提交而不是把文件和表单数据同时提交——这个顺序很多新手会搞反导致后端收不到文件或收不到业务字段。轮播图或者公告栏放在首页顶部接口返回最新的5条公告用el-carousel组件展示。整个前端做完后配合后端接口进行联调。联调阶段我用的是应用自己配置的代理转发Vue CLI 的vue.config.js里设置devServer.proxy把/api前缀的请求代理到http://localhost:8080这样就规避了开发环境的跨域问题。联调心得一定不要等后端全部接口写完才开始联调。最佳实践是后端先定义好接口文档哪怕是Swagger或简单的Word文档前端拿到接口定义后先Mock数据开发页面后端接口完成后把Mock地址切到真实地址即可。这样两边并行开发进度至少快一倍。6. 数据库脚本与部署文档这才是一键跑通的关键6.1 初始化脚本怎么设计才算合格很多人交付数据库脚本就是一张建表SQL没有初始化数据没有测试账号这其实是不合格的。我当时提供的SQL脚本包含了三部分建库建表语句、初始化菜单和用户数据、演示业务数据。整个脚本可以重复执行通过DROP TABLE IF EXISTS保证幂等性。脚本注释里说明了默认账号管理员admin / 123456教师teacher01 / 123456学生student01 / 123456123456在库中存的是BCrypt加密后的密文不是明文这个细节最好在论文的技术选型章节提一下能体现你对安全的关注。6.2 部署文档要写到什么程度给同学演示的时候他们的困惑普遍来自“我按步骤做了但为什么跑不起来”。所以我写的部署文档是按“从零到一”的顺序排的本地开发环境部署、服务器生产部署、常见问题排查三部分。本地部署的步骤包括安装JDK 8、Maven 3.6、MySQL 5.7、Node 14导入SQL脚本修改后端application.yml里的数据库账号密码和文件存储路径启动后端然后前端npm install装依赖、npm run serve启动开发服务器最后浏览器访问。服务器部署的方式后端在本地打成jar包传到服务器用nohup java -jar edu-admin.jar启动或者用systemd服务管理前端npm run build生成dist目录配置Nginx把根目录指向dist同时把/api反向代理到后端端口静态文件请求被Nginx直接返回。server { listen 80; server_name your-domain.com; root /usr/share/nginx/html/edu; index index.html; location /api/ { proxy_pass http://127.0.0.1:9090/api/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } location /files/ { proxy_pass http://127.0.0.1:9090/files/; } }6.3 部署环节最容易翻车的几个坑后端端口被占用、MySQL密码含有特殊字符导致连接串解析失败、前端npm install时依赖下载不下来、服务器防火墙没放开端口——这些都遇到过。最冤枉的一次是同学自己电脑能跑通部署到服务器后死活登录失败排查半天发现是数据库初始化脚本没执行成功库里的表是空的。所以部署文档里专门加了一篇“验证清单”后端启动后看启动日志有没有Started关键字数据库里查sys_user表有没有3行测试数据前端页面能否打开登录页。把这三步走完系统基本就算通了。7. 论文结构设计与写作顺序代码写完了怎么落成文字7.1 论文的标准章节构成毕设论文和写技术博客完全是两回事它有固定套路。我当时的论文目录是这样安排的第1章绪论写课题背景、国内外研究现状、研究内容与意义。第2章相关技术介绍把SpringBoot、Vue、MySQL、JWT几个关键词展开讲清楚。第3章系统分析从可行性分析到需求分析画出用例图整理功能需求和非功能需求。第4章系统设计画总体架构图、功能模块图、E-R图附上核心数据表结构。第5章系统实现按模块贴关键代码和页面截图配合文字说明。第6章系统测试写测试用例表、功能测试结论、性能测试结果。7.2 论文写作的先后顺序这里有个建议论文不要按章节顺序写。我当时的顺序是先把第3章和第4章写了因为这部分完全基于设计和数据库结构不受代码实现细节影响然后写第5章挑每个模块最核心的代码贴进去最后写第1章和第2章因为你做完一个项目后对背景和技术的理解会比动手前深刻得多写起来反而流畅。7.3 图表整理的经验老师们看论文时对图表格外敏感。E-R图建议用Visio或Draw.io画清楚实体、属性和关系用例图用PlantUML快速生成架构图分前后端两层画时序图挑“学生提交作业”一个场景画通即可不用面面俱到。页面截图要用真实系统界面宁可丑一点也不能为了好看手绘原型替代因为答辩时老师会现场要求演示截图和实物不一致会非常被动。7.4 测试章节不要编数据系统测试部分很多同学喜欢编造“测试全部通过”的假数据这其实是最蠢的做法。我当时把所有测试用例都做了归档哪怕有失败的用例也照实写但后面补一句“该问题已在某版本修复回归测试通过”。论文有失败记录反而显得研究过程真实答辩时还能作为“项目迭代”的例证。8. 常见问题与排查技巧实录8.1 从开发到部署的典型问题速查表我把实际操作中遇到的高频问题按现象、原因、解决办法整理成了一张表格方便直接对号入座。现象可能原因解决办法前端请求接口报跨域错误开发环境未配置代理或生产环境Nginx未转发开发环境在vue.config.js配置devServer.proxy生产环境配置/api反向代理启动后端报数据库连接失败MySQL地址、端口、账号密码配置错误核对application.yml中的jdbc连接串MySQL密码含特殊字符时用URL编码上传文件后访问URL报404静态资源映射未配置或路径不对检查WebMvcConfigurer里addResourceHandlers的映射路径是否与配置中的urlPrefix一致登录后前端没有菜单显示Token解析角色为空、路由守卫拦截打印后端返回的LoginResponse看role字段是否赋值成功学生重复提交作业成功后端未按homework_id和student_id校验提交状态提交前查询homework_submit表确认status状态前端build后访问白屏静态资源路径是绝对路径而非相对路径vue.config.js里设置publicPath: ./中文乱码MySQL连接参数缺少characterEncodingjdbc连接串加useUnicodetruecharacterEncodingutf8时间差8小时数据库连接时区与服务器时区不一致jdbc连接串加serverTimezoneAsia/Shanghai8.2 排查套路从日志中找到线索很多同学遇到问题第一反应是瞎试然后越试越乱。我的排查习惯是“先看日志再断前后端最后定位代码”。后端启动日志和接口调用日志能暴露70%的问题前端浏览器F12的Network面板能确认请求是否发出、返回什么状态码Console面板能看到JS报错。只有这三步都没定位到问题时才去断点调试服务端代码。8.3 答辩时被问得最多的技术问题答辩环节老师问的问题其实高度集中提前准备好就没问题。一是“你的项目有哪些角色权限怎么控制的”可以回答JWT角色字段后端注解校验。二是“如果数据库表数据量变大了怎么优化”可以说分页查询、索引优化、加Redis缓存哪怕你没真做但思路对就能拿分。三是“文件上传接口安全性怎么保证”可以回答限制文件类型、限制大小、对存储目录做访问控制。9. 复盘与扩展方向整套系统做完、论文归档之后我复盘了一下整个过程中最值得沉淀的经验。第一点做毕设项目前一定要先定业务闭环。宁可功能少而精也不要贪多嚼不烂。我在课程设计阶段砍掉的那些“附加功能”不但没拖慢进度反而让我把核心流程打磨得更扎实这在后面的答辩演示中发挥了关键作用。第二点前后端联调是最容易低估时间成本的环节。接口字段名约定不统一、返回结构不约定、错误码不统一都会导致联调时来回改代码。建议在项目动工前先定好一份简单的接口约定文档哪怕就是一页纸也能避免大量无效沟通。第三点部署文档一定要从“零基础”视角来写。我当时写部署文档时还没有部署到真实服务器完全是按照自己本地跑通的步骤写的后来帮同班同学部署时才发现漏掉了防火墙端口放行这一步立刻补了上去。说明演示环境的完整步骤必须实际走一遍才能写准确。第四点做完项目后不要急着删代码。把数据库建表脚本、接口文档、部署记录、踩坑笔记整理到一个项目仓库里一份是给老师的一份是自己的这份沉淀在面试时还能拿出来讲项目经历用处远比想象中大。至于这个系统还能怎么扩展我当时后续也想过几个方向。比如可以接一个在线编辑器让学生直接在线提交代码作业可以把作业查重功能做进去针对文本类作业做相似度检测可以加入消息通知机制作业截止前24小时推送到学生端。哪怕这些功能最后没有全部做出来但把它们写进“展望”部分论文的逻辑完整性会更好答辩时也能展示你对系统演进的思考。

相关新闻

硬盘突然爆满怎么办?一套安全清理与瘦身实操指南

硬盘突然爆满怎么办?一套安全清理与瘦身实操指南

你点开这篇,多半是电脑或手机最近突然红了盘、只剩几个G,或者看着磁盘空间一天比一天少,也不知道该从哪里下手。硬盘爆满这事儿不新鲜,但每次看到进度条全红,还是让人头皮发麻。我这些年处理过不少类似的求助&#xff…

2026/10/15 21:51:02 阅读更多 →
智能驾驶基础理论全解析:从感知到控制的系统框架与工程实践

智能驾驶基础理论全解析:从感知到控制的系统框架与工程实践

1. 从“会开”到“开得明白”:智能驾驶基础理论到底在解决什么问题很多人第一次接触智能驾驶,脑子里冒出来的画面是激光雷达转圈、摄像头识别人脸、车子自己打方向盘。但真到动手做项目或者面试被追问的时候,才发现真正卡住自己的不是某个算法…

2026/10/15 21:51:02 阅读更多 →
基于微信小程序的研究生之路:任务、文献与打卡全栈开发实战

基于微信小程序的研究生之路:任务、文献与打卡全栈开发实战

最近在准备毕业设计的朋友,或者正在被研究生阶段各种任务、进度和节点折磨的同学,多少都会对"研究生之路"这个选题产生条件反射般的兴趣。它听上去不像一个冷冰冰的系统,而更像一个学习伙伴。实际上,这个小程序要做的正…

2026/10/15 21:51:02 阅读更多 →

最新新闻

Lunar 6.7.11 修复说明:Sync Mode 在 MacBook Air 与 iMac 上改用 nits 同步

Lunar 6.7.11 修复说明:Sync Mode 在 MacBook Air 与 iMac 上改用 nits 同步

桌面应用 【免费下载链接】Lunar Intelligent adaptive brightness for your external monitors 项目地址: https://gitcode.com/gh_mirrors/lu/Lunar 点击查看 免费下载 Lunar 6.7.11 是一个针对 Sync Mode(同步模式) 的定向修复版本。此次…

2026/10/16 6:27:53 阅读更多 →
MooTool Next-Compose 增量演进:MCP stdio 工具链、F03 格式化引擎与更新下载流的工程化落地

MooTool Next-Compose 增量演进:MCP stdio 工具链、F03 格式化引擎与更新下载流的工程化落地

桌面应用开发工具 【免费下载链接】MooTool Handy tool set for developers 项目地址: https://gitcode.com/gh_mirrors/mo/MooTool 点击查看 免费下载 导读 本篇以仓库中的增量开发记录 next-compose/docs/diff/561-mcp-reformat-update-env-net-vault-css-slice…

2026/10/16 6:27:53 阅读更多 →
AtCoder Beginner Contest 478

AtCoder Beginner Contest 478

AtCoder Beginner Contest 478 A - Grapes 题意:有N个人,编号为1到N,现在要把M颗葡萄分给他们。每次按照1, 2, …, N的顺序,每人分一颗,分到第N个人以后再从第1个人开始,直到所有葡萄分完。最后输出每个人分…

2026/10/16 6:27:53 阅读更多 →
google-api-nodejs-client 的 ondemandscanning 模块演进全解读:从 CHANGELOG 版本脉络到容器镜像漏洞扫描实战

google-api-nodejs-client 的 ondemandscanning 模块演进全解读:从 CHANGELOG 版本脉络到容器镜像漏洞扫描实战

后端 【免费下载链接】google-api-nodejs-client Googles officially supported Node.js client library for accessing Google APIs. Support for authorization and authentication with OAuth 2.0, API Keys and JWT (Service Tokens) is included. 项目地址: h…

2026/10/16 6:27:53 阅读更多 →
用Python和SQLite自建个人财务数据中台:从记账到自由分析

用Python和SQLite自建个人财务数据中台:从记账到自由分析

1. 从"financial-services"到个人财务数据中台:我为什么自建了一套记账分析系统先说个背景。我一直在关注"financial-services"这个方向,但说实话,金融服务的概念太大了——从银行App到支付工具,从个人记账软…

2026/10/16 6:27:53 阅读更多 →
Zabbix 监控 TACACS 服务实战:App TACACS Service 模板(net.tcp.service 简单检查)全解析

Zabbix 监控 TACACS 服务实战:App TACACS Service 模板(net.tcp.service 简单检查)全解析

【免费下载链接】community-templates Zabbix Community Templates repository 项目地址: https://gitcode.com/gh_mirrors/co/community-templates 点击查看 免费下载 本文围绕 Zabbix Community Templates 仓库中的 App TACACS Service 模板展开,讲解…

2026/10/16 6:26:53 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →