JavaWeb作业管理系统实战:基于JSP+Servlet+Druid的课程设计完整方案
简介基于JavaWeb的作业管理网站课程设计项目源码面向计算机、通信、人工智能、自动化等专业学生适用于期末课程设计、课程大作业以及毕业设计也可作为JavaWeb入门到进阶的实践参考。项目为个人毕设成果答辩评审分高达95分代码经过充分调试测试确保可直接运行整体质量有保障。压缩包共54个文件、约7.73MB内容涵盖java源码、jsp页面、jar依赖库、css样式、js脚本、druid.properties配置等同时集成Bootstrap与jQuery前端库项目内置登录、作业提交、作业汇总、信息管理等完整功能页面JSP视图与Java后台类配合实现业务逻辑代码分层清晰、目录规范并附有项目介绍文档便于理解整体设计。已有237人学习下载学习者可在现有业务模块基础上修改扩展以适配不同管理需求亦可借鉴其分层目录与代码结构完成同类系统设计。1. 这套作业管理网站到底解决什么问题如果你现在正为课程设计或毕业设计发愁大概率会遇到一个尴尬选题太简单的怕答辩过不了选题太复杂的又怕自己啃不动。作业管理系统这个方向刚好卡在中间——它属于典型的JavaWeb管理系统功能边界清楚、数据库关系不复杂、演示效果直观是高校计算机、通信、人工智能等专业课设和毕设里的高频选题。但网上能找到的参考代码往往有两个毛病要么是拆开的零散Demo要么是跑不起来的半成品。这套基于JavaWeb的作业管理网站源码把登录、布置作业、学生提交、教师汇总这一整条流程做完整了拿来可以直接部署运行也能在此基础上二次扩展。它的定位就是给准备交课程设计或毕业设计的人一份可以落地、可以讲清楚、可以答辩的完整方案。2. 需求分析与技术选型为什么是JSPServletDruid这套组合2.1 先拆清楚三类用户的核心诉求作业管理网站这个题目看起来简单但需求拆得不细代码写着写着就会翻车。通常我会把用户分成三类管理员、教师、学生。管理员负责维护基础数据比如班级信息和用户账号教师的核心操作是布置作业、查看提交情况、下载学生提交的内容学生要能看作业列表、提交作业、查看自己历史提交记录。这里有个容易忽略的点作业管理不只是上传下载文件它还需要一条完整的状态流转——作业从布置到已提交再到已批阅每一步都要有记录。原料里出现的issue.jsp布置、work.jsp作业列表、submit.jsp提交、gather.jsp汇总四个页面正好对应了这条主链路。在这个基础上还要考虑展示层的落地。项目里引入了bootstrap-4.3.1-dist和jquery-3.2.1.min.js这在小体量的JSP项目里很常见。Bootstrap负责把登录页、信息页这些界面撑起来不至于答辩演示时界面太简陋jQuery主要用在异步校验和局部刷新上比如登录时前端先做非空校验再请求后端。别小看这些细节答辩时老师很吃这一套——纯JSP不引入前端框架的项目一抓一大把但你如果能把前端请求的链路讲清楚印象分会明显不一样。2.2 技术选型不跟风Spring Boot的克制选择现在很多新项目一上来就Spring Boot MyBatis Plus但这类课设项目里JSP Servlet Druid连接池的组合反而更合适。原因有三个第一JSP生命周期和Servlet映射关系是JavaWeb课程考察的重点答辩时老师大概率会问请求从浏览器到数据库经历了什么用这套技术栈你能把整个过程讲完整第二项目部署到Tomcat后直接运行不涉及Maven依赖冲突这类环境问题这对要交作业的学生来说是实实在在的省心第三JavaWeb规范里的过滤器、监听器、会话管理都是必修考点这套项目里正好有filter处理字符编码和登录拦截的场景。数据层用Druid连接池也是一个值得在答辩时展开的点。src目录下有个druid.properties典型的配置是driverClassNamecom.mysql.jdbc.Driver urljdbc:mysql://localhost:3306/homework_db?useUnicodetruecharacterEncodingutf-8useSSLfalse usernameroot password123456 initialSize5 maxActive20 maxWait3000这里几个参数在设计上是有讲究的。initialSize设成5是为了避免刚启动时并发请求全部去创建连接的瞬时压力maxActive设成20是防止高并发下连接数无上限膨胀拖垮数据库maxWait设成3000毫秒表示获取连接超时时间超过就直接报错而不是无限阻塞。答辨时如果被问到连接池的作用把这三行参数的语义讲清楚基本就能把这个技术点答扎实。Druid相比裸JDBC最大的优势就是不用每次new Connection每次请求都创建连接然后又释放在高并发场景下是灾难级的低效。除此之外项目里能看到src下分包结构标准的JavaWeb三层模型展现层、业务层、数据访问层。JSP页面放在web目录下Java代码放在com目录下的包里jQuery和Bootstrap按类型分目录存放。这种分层带来的直接好处是你想要改成Spring Boot版本时Servlet那一层的逻辑可以很容易迁移成Controller因为业务逻辑和页面交互没有被揉进Servlet里。3. 总体架构设计三层结构、请求链路与页面职责划分3.1 核心请求链路与Servlet映射设计整套系统的运转链路可以用一句话概括浏览器发起请求web.xml里的Servlet映射决定交给哪个Java类处理Java类通过Druid连接池访问MySQL处理完结果后转发或重定向到对应的JSP页面渲染。这个链路里web.xml是关键的中枢它定义了Servlet和浏览器URL地址之间的对应关系servlet servlet-nameloginServlet/servlet-name servlet-classcom.gdes.web.LoginServlet/servlet-class /servlet servlet-mapping servlet-nameloginServlet/servlet-name url-pattern/login/url-pattern /servlet-mapping servlet servlet-nameissueServlet/servlet-name servlet-classcom.gdes.web.IssueServlet/servlet-class /servlet servlet-mapping servlet-nameissueServlet/servlet-name url-pattern/issue/url-pattern /servlet-mapping这里有个设计习惯值得学习URL采用精简的单词而不是直接访问JSP页面。学生端访问的不是submit.jsp这个物理文件而是/submit这个映射地址Servlet内部再做逻辑处理后转发到submit.jsp。这样做的好处在于页面文件放在WEB-INF目录下不能被直接访问用户必须经过Servlet的鉴权逻辑才能看到页面避免绕过登录直接打开页面的安全问题。从目录结构看web目录下有login.jsp、index.jsp作为入口页面issue.jsp、work.jsp、gather.jsp、submit.jsp构成四条业务主线information.jsp负责展示详情另外还有header.jsp和footer.jsp这种公共片段。公共头尾抽离在JSP项目里是个容易被忽略的细节大多数课设代码是每个页面都复制粘贴一遍导航条后面想改导航文字就要改七八个文件。抽离成公共片段后用include引入修改一次全局生效这种代码洁癖在答辩时是加分项。3.2 数据库设计的核心表关系作业管理网站的表结构并不复杂但两张核心表的关系一定要梳理清楚。第一张是用户表包含用户ID、用户名、密码、角色字段角色用整数区分教师和学生第二张是作业表包含作业ID、标题、内容、布置时间、截止时间、布置教师ID。如果要有学生提交记录还需要一张提交表关联作业ID和用户ID记录提交内容和提交时间。设计表的时候有一个常见的坑作业表和提交表如果不做关联就会出现老师能看到作业但不知道谁交了谁没交的问题。正确做法是在提交表里同时保存作业ID和用户ID两个外键查询汇总数据时用JOIN关联这样gather.jsp才能展示出一个完整的提交列表——作业标题对应哪些学生已经提交、哪些还没动作。另外截止时间的字段类型推荐用datetime而不是分开存日期和时间字符串因为后期做逾期未交统计时直接比较时间戳是最高效的。4. 关键模块实现登录会话、作业主流程与提交状态管理4.1 登录模块与角色权限控制登录在课设项目里很容易被做成摆设很多代码只要数据库里有这条记录就能跳转完全不区分角色。但这个项目在登录后就分流了教师角色进到布置作业和管理汇总的界面学生角色进到作业列表和提交界面。实现思路是在用户表里存一个role字段登录成功后将用户信息和角色写入session后续每个受保护请求都先检查session里是否有用户对象。登录请求的处理逻辑大致是这样的String username request.getParameter(username); String password request.getParameter(password); User user userDao.findByUsernameAndPassword(username, password); if (user null) { response.sendRedirect(login.jsp?error1); return; } HttpSession session request.getSession(); session.setAttribute(currentUser, user); if (user.getRole() 1) { response.sendRedirect(index.jsp?roleteacher); } else { response.sendRedirect(index.jsp?rolestudent); }这段代码里两个细节值得注意。第一密码校验在Dao层执行不把查询逻辑写在Servlet里这就保持了分层结构的一致性第二登录失败后采用重定向并带error参数页面端读取这个参数弹出提示框而不是直接把错误信息拼在URL里。重定向的第二个作用是防止刷新页面时重复提交表单这是JavaWeb里非常基础但常被忽略的写法。角色区别最直接的体现是index.jsp首页教师登录后看到的是布置作业入口和汇总入口学生登录后看到的是作业列表和提交入口。这就是为什么index.jsp里需要判断session中的用户角色来渲染不同的功能菜单这个判断逻辑建议放在页面最顶部避免整个页面都加载完再通过JS去隐藏DOM导致的权限绕过隐患。4.2 作业布置与列表展示issue.jsp和work.jsp教师端的核心操作在issue.jsp里完成。表单字段通常包含作业标题、作业要求、截止时间三个必填项提交地址指向/issue这个Servlet。后端Servlet在接收参数后要先把当前登录用户的ID取出来作为作业表的教师ID字段然后通过JDBC插入作业表。布置成功后通常会重定向到作业列表页这个流程和登录模块的重定向思路一脉相承。学生端的work.jsp则是读取当前有效作业列表。这里有个关键点学生端不应该看到所有历史作业而应该只看在有效期内的作业。通常做法是SQL查询里加一个截止时间大于当前时间的条件SELECT * FROM homework WHERE deadline NOW() ORDER BY publish_time DESC这里的NOW()是数据库当前时间直接在SQL里比较而不是先查出全部数据再在Java里过滤数据量大的时候性能差距明显。展示时还可以给每行作业加一个状态标记——未提交显示去提交按钮已提交显示已提交灰色标签。这个状态需要通过关联查询提交表来判断SELECT h.*, EXISTS(SELECT 1 FROM submit s WHERE s.homework_id h.id AND s.user_id ?) AS submitted FROM homework h WHERE h.deadline NOW()EXISTS子查询返回0或1在Java里读取后直接控制页面上的按钮状态。这种写法比你先把两张表的数据分别查出来再在内存里匹配要干净得多而且答辩时讲到子查询判断状态会显得你SQL功底扎实。4.3 作业提交与状态更新submit.jsp的实现要点submit.jsp是整套系统里字段最多、最容易出问题的页面。学生进入submit.jsp时需要传递作业ID参数页面根据作业ID展示对应的作业标题和截止时间。提交表单除了文本输入框还可能包含文件上传控件。文件上传涉及三个问题一是表单要设置enctypemultipart/form-data不设置的话后端就获取不到上传文件二是文件要重命名保存通常用时间戳加原文件名避免同名覆盖三是提交记录表里除了存文件路径还要把提交时间存进去方便做按时和逾期的区分。提交成功后的反馈非常重要一旦没有明确的成功提示学生可能会连续点击多次提交按钮造成重复记录。处理办法有两个层面后端在Servlet里先查一次该学生该作业是否已有提交记录如果有就不允许再次提交前端在提交按钮上做一个锁定点击一次后置灰按钮。这里要用到一个容易被忽略的细节——提交表的主键建议设计成学生ID作业ID联合唯一索引这是数据库层面的最后一道防线即使前端和后端都漏了数据库也会拒绝重复插入。4.4 作业汇总gather.jsp怎么统计提交情况gather.jsp是答辩演示最出效果的一个页面。它本质上是一个视图表的查询把作业表、提交表、用户表三张表连接起来输出每位学生的提交情况。页面一般用表格来展示每行包含作业标题、学生姓名、提交状态、提交时间还可以加一个查看详情按钮跳转到information.jsp查看学生提交的具体内容。这个页面的SQL核心是LEFT JOINSELECT h.title, u.username, s.submit_time, s.content FROM homework h JOIN submit s ON h.id s.homework_id JOIN user u ON s.user_id u.id WHERE h.id ? ORDER BY s.submit_time DESC为什么用JOIN而不用子查询因为这里要同时展示多张表的字段JOIN直接把表拼成宽表Java端遍历ResultSet时无需再做额外的查询。如果每行都去数据库查一次用户名这一页20条记录就会多出20次数据库往返这就是林黛玉式的性能问题。information.jsp作为详情页主要展示单个学生的提交内容。它接收两个参数——作业ID和用户ID然后精确查出一条提交记录展示在页面上。这个页面虽然简单却是完整闭环里不可缺少的环节答辩时老师很可能会点开看这一页验证系统不是只有列表没有详情。5. 部署与排查从环境配置到运行时最常见的翻车点5.1 数据库连接不上连接池配置的玄学现象Tomcat启动后页面能打开但一登录就报空指针或SQLException控制台提示Cannot create PoolableConnectionFactory。原因通常是druid.properties里的数据库地址、账号密码和本地MySQL不一致。密码不对、数据库名不存在、MySQL服务没启动这三种情况占了九成。解决办法是先在Navicat或命令行里把url里的地址能连通再启动项目。我见过太多同学跳过了验证这步直接在Tomcat里调结果翻车了半小时才发现是MySQL服务没开。注意url里useSSLfalse这个参数MySQL 8.0以上版本如果不显式关闭SSL会报错这是高版本MySQL最常见的兼容性坑。5.2 中文乱码过滤器位置和编码不一致的双重坑现象从表单提交的中文到数据库变成问号从数据库读出来到页面又变成乱码。原因有两个层面一是web.xml里没有配置CharacterEncodingFilter或者配置了但过滤器的位置在Servlet映射之后导致请求进入Servlet时已经是乱码二是数据库连接url里的characterEncoding和数据库表本身的字符集不一致。解决办法是先确认web.xml里过滤器的url-pattern写成/*保证所有请求都经过编码过滤再用一条SQL检查表字符集SHOW CREATE TABLE homework确保表是utf8而不是latin1。两处都对了乱码基本能消失。如果还乱检查druid.properties里的url是否带了characterEncodingutf-8参数三个地方必须统一用UTF-8。5.3 Tomcat部署路径导致CSS和JS加载失败现象首页能打开但页面上所有图片都裂开样式全乱了。原因很典型JSP里引用了/bootstrap-4.3.1-dist/css/bootstrap.min.css这类绝对路径但项目部署后的上下文路径不是根目录而是/homework导致浏览器去查找的地址是localhost:8080/bootstrap-4.3.1-dist/css/bootstrap.min.css自然404。解决办法是把JSP里的静态资源引用全部改成动态上下文路径用${pageContext.request.contextPath}前缀拼出完整路径link relstylesheet href${pageContext.request.contextPath}/bootstrap-4.3.1-dist/css/bootstrap.min.css。这个坑极其隐蔽因为在IDEA内置Tomcat里默认访问根路径时一切正常一旦打成WAR包发布到独立Tomcat就出问题属于验收部署时才爆出来的坑。5.4 session失效导致页面跳转死循环现象登录后正常操作几分钟再点链接跳到登录页再登录又跳回首页偶尔出现循环。原因是session设置了过期时间又用了filter做登录拦截但放行规则里没有排除静态资源和登录请求本身。比如filter判断session里没有用户就强制跳转login.jsp但login.jsp页面本身也经过filter如果filter在判断时又把login.jsp请求跳转到login.jsp就会形成无限重定向。解决办法是在filter拦截逻辑里先判断请求的uri是否包含login、css、js、images这些直接放行再判断是否登录。这里有个小习惯filter放行静态资源时不要用字符串contains去匹配.jpg这种单一后缀因为页面里可能还有.ico、.png、.svg直接维护一个放行后缀列表或前缀列表更稳妥。5.5 文件上传后找不到保存的文件现象提交作业显示成功但gather.jsp里点开详情链接显示图片或附件打不开。原因通常是程序把文件写到了IDEA或Tomcat的工作目录而不是项目部署的真实路径。开发环境下你可能用的是File(upload/xxx.jpg)这种相对路径但相对路径的实际位置一直在变——直接运行main类时在项目根目录部署到Tomcat时在Tomcat的bin目录。解决办法是不要用相对路径而是把文件上传目录配置成绝对路径比如Windows下的D:/homework_upload/在Servlet里通过getServletContext().getRealPath(/)拼接绝对目录。这个坑在本地跑的时候几乎不暴露但答辩现场如果换一台电脑演示或重新部署之前提交的文件全部找不到场面会非常尴尬。6. 验收清单与答辩演示三个必讲亮点和两条必走流程项目能不能拿到高分一半看功能另一半看演示节奏。我自己总结了一套固定流程第一遍先完整走一遍教师布置作业到学生提交的闭环这个过程控制在两分钟内第二遍专门展示一个边界场景比如提交截止后不能再提交第三遍展示数据层——直接打开MySQL里的三张表让老师看到数据是真实落库的不是写死在页面上的假演示。答辩时建议重点讲三个点。第一讲连接池的配置而不是讲JDBC——强调连接复用和超时控制这是从烂大街的JDBC方案里脱颖而出的地方。第二讲作业状态判断的SQL设计——EXISTS子查询联合唯一索引保证不重复提交。第三讲权限控制——session里存角色、过滤器里做拦截、页面按角色渲染功能菜单这条完整的链路讲下来JavaWeb三大核心知识点的考察点全覆盖到了。验收环节可以考虑一条自查清单部署一台全新的Tomcat后从零开始走一遍教师注册、学生注册、布置作业、提交作业、查看汇总再强制session过期后访问内部页面时能否正确跳回登录页最后在MySQL里删掉一条数据看页面是否提示正常而不是抛异常。这三步走完基本可以确认无低级错误放心交给导师验收。如果时间充裕建议在information.jsp的详情页里加一个简单的提交时间距截止时间相差多少小时的展示这段小小的差时计算代码往往成为作业提交页面里最让人觉得做了功课的细节。从那以后我自己每次做这类带会话管理和状态流转的项目都会强制走一遍新环境部署-完整功能闭环-异常请求拦截的验收流程——这套顺序看似朴素却帮我在不止一次的项目检查和答辩演示中兜住了底。希望这一篇拆解也能给你的作业管理网站项目省下几晚赶工时间。本文还有配套的精品资源点击获取

相关新闻

传送网不是管道:从SDH到Liquid OTN的业务质量演进

传送网不是管道:从SDH到Liquid OTN的业务质量演进

简介:本资源是华为官方HCIA-Transmission V2.5传送网技术认证的配套培训教材PDF,面向通信工程初学者、网络运维新人及备考HCIA传输方向认证的技术人员,系统解决传送网基础概念模糊、技术演进脉络不清、厂商方案落地不明等核心痛点。全书共1个…

2026/10/18 10:33:45 阅读更多 →
免安装版Sublime Text 3:从解压到随身开发环境的配置指南

免安装版Sublime Text 3:从解压到随身开发环境的配置指南

简介:这份资源是 Sublime Text 3 免安装版压缩包,面向需要轻量、高可定制代码编辑器的开发者,省去安装步骤,解压即可直接运行。资源内置完整插件体系,覆盖代码高亮、多列编辑、命令面板、项目管理等常用能力&#xff0…

2026/10/18 10:33:45 阅读更多 →
SSM物流管理系统部署:JDK1.8+MySQL5.7+Tomcat避坑指南

SSM物流管理系统部署:JDK1.8+MySQL5.7+Tomcat避坑指南

简介:基于SSM框架的物流管理系统毕业设计资料包,面向Java毕业设计、课程设计及期末大作业场景,提供可直接部署运行的完整项目源码,并配有代码注释,适合有Java基础的学生参考学习。压缩包约15.91MB,内容包含…

2026/10/18 10:33:45 阅读更多 →

最新新闻

MySQL 定时 DDL 导致 mysqldump 备份失败:场景模拟、排查与优化建议

MySQL 定时 DDL 导致 mysqldump 备份失败:场景模拟、排查与优化建议

1. 问题背景生产环境中,MySQL 数据库每天凌晨 2 点执行定时 DDL 操作(如新增索引、修改表结构),随后触发 mysqldump 逻辑备份任务,但备份经常失败。本文通过模拟该场景,分析失败根因,并给出可落…

2026/10/18 13:45:06 阅读更多 →
前端教学3:文字中嵌入图片的几种方法

前端教学3:文字中嵌入图片的几种方法

图片嵌入文字的几种方法 图片与文字的排版关系&#xff0c;是网页设计中的基础技能。下面按"从简单到复杂"的顺序&#xff0c;逐一讲解每种方法的特点、代码和适用场景。 一、直接插入法&#xff08;<img> 行内图片&#xff09; 原理 <img> 是行内块…

2026/10/18 13:45:06 阅读更多 →
基于Python-CNN的玉米粒品质检测:图像分类模型实战指南

基于Python-CNN的玉米粒品质检测:图像分类模型实战指南

简介&#xff1a;这是一份基于 Python 与 PyTorch 的 CNN 玉米粒品质检测完整工程&#xff0c;面向入门深度学习的开发者、农业视觉方向研究者或需要快速搭建图像分类实训项目的学生。包内共256个文件&#xff0c;包含250张用于训练验证的玉米粒图像、3份环境说明与数据集标注文…

2026/10/18 13:45:06 阅读更多 →
多智能体AI重构国际化战略评估:从静态打分到动态博弈

多智能体AI重构国际化战略评估:从静态打分到动态博弈

1. 传统国际化评估方法&#xff0c;为什么在智能化公司这里失灵了1.1 我们过去那套"标准动作"到底卡在了哪我最早接触国际化战略评估&#xff0c;是在一家做企业级软件的公司。当时我们用的还是那套经典框架&#xff1a;SWOT分析、波特五力、再加上一个"目标国家…

2026/10/18 13:45:06 阅读更多 →
交换机接口类型:从物理层原理到真实组网决策

交换机接口类型:从物理层原理到真实组网决策

1. 这不是考背诵&#xff0c;是考网络底层思维的真实战场“交换机的接口类型”这八个字&#xff0c;表面看只是网络设备基础知识点&#xff0c;但放在面试场景里&#xff0c;它瞬间变成一块试金石——不是测你能不能复述“RJ-45、SFP、SFP、QSFP28”这些名词&#xff0c;而是看…

2026/10/18 13:45:06 阅读更多 →
快鹭办公、通达OA、奥哲、360织语怎么选:关注上手成本与日常易用性的对比横评

快鹭办公、通达OA、奥哲、360织语怎么选:关注上手成本与日常易用性的对比横评

从上手成本和日常易用性出发&#xff0c;一站式 AI 智能办公平台选哪个&#xff0c;关键看搭建入口是否降低门槛、日常操作是否集中、以及上线到习惯的迁移代价。本文围绕这条主线&#xff0c;比较快鹭办公、蓝信、360织语、奥哲、通达OA 五个同产品线候选&#xff1a;快鹭办公…

2026/10/18 13:44:05 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型&#xff08;GMM&#xff09;的语音识别系统&#xff0c;很多人第一反应就是一堆数学公式&#xff0c;觉得门槛很高。但如果你真的在MATLAB里把它落地跑通&#xff0c;会发现核心其实就是三件事&#xff1a;把声音变成特征向量&#xff0c;用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人&#xff0c;但落到具体操作上&#xff0c;无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程&#xff1a;对图像做反白、改调色板、彩色转灰度&#xff0c;最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词&#xff0c;你会发现一个很有意思的现象&#xff1a;每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型&#xff0c;有人指的是运动控制系统&#xff0c;还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型&#xff08;GMM&#xff09;的语音识别系统&#xff0c;很多人第一反应就是一堆数学公式&#xff0c;觉得门槛很高。但如果你真的在MATLAB里把它落地跑通&#xff0c;会发现核心其实就是三件事&#xff1a;把声音变成特征向量&#xff0c;用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人&#xff0c;但落到具体操作上&#xff0c;无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程&#xff1a;对图像做反白、改调色板、彩色转灰度&#xff0c;最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词&#xff0c;你会发现一个很有意思的现象&#xff1a;每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型&#xff0c;有人指的是运动控制系统&#xff0c;还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 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/18 0:55:02 阅读更多 →
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/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练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/18 12:16:16 阅读更多 →