SSM+Vue家乡旅游宣传册系统:毕设全流程实战指南

每年到了毕设选题的时候,总有一批计算机专业的同学站在表格面前反复纠结。如果你看中了“基于SSM和Vue的家乡旅游宣传书册系统”这个方向,我可以直接告诉你:这个题目选得相当稳妥。它的难度不在某个单项技术上,而在于把Spring、SpringMVC、MyBatis、Vue、MySQL这一整套主流技术栈串起来,最后交付“能跑的程序+对应的论文”两样东西。这篇就以2026届毕设的视角,把整个项目从选题拆解、数据库设计、前后端实现,到论文写作和答辩演示的完整路线梳理一遍,重点标注那些常规教程里不会写的坑。

顺带说一句,这类题目的本质是把传统的纸质旅游宣传册搬到网上:景点介绍、路线规划、美食住宿、资讯动态,再配一个后台让管理员维护内容。业务足够贴近生活,老师理解起来零成本,你又能在项目里把大学四年学的东西基本全用上。对大多数同学来说,这是性价比非常高的一个选择。

1. 选题价值与整体设计思路

1.1 为什么这个题目的性价比高

毕设选题有一条隐藏原则:题目直接决定你接下来几个月的活法。选得太偏,参考资料难找,环境问题能卡你一周;选得太浅,比如只做个静态网页,答辩时老师三句话就把你问穿。家乡旅游宣传书册这个题目,基准难度恰好落在中等偏下的位置,绝大多数同学伸手就够得到。

从工作量拆解来看,它天然分成三块独立的活:用户面前的前台展示页面、管理员维护内容的后台管理、以及把两者连起来的接口层。三块可以分头推进,每一块做完都有明确的阶段性成果,进度可控,心态不容易崩。从技术覆盖面看,Java基础、数据库设计、Web开发、前端框架、软件工程文档流程全部能沾上边,哪个学校、哪个方向都挑不出毛病。从答辩角度看,旅游宣传贴近生活,讲需求分析时不需要向老师铺垫行业背景,提问也能集中在SpringMVC工作流程、MyBatis映射、前后端联调这些你确实做过的技术上。

还有一个很现实的好处:这个方向的参考资源特别充足,无论你完全自己写,还是参考开源项目做二次改造,都不至于因为选题冷门而无从下手。但有一点必须说清楚——参考归参考,核心代码和论文写作一定要自己消化一遍,现在学校对代码查重和论文查重盯得都非常紧,答辩现场一追问就露馅的情况每年都有。

1.2 技术栈搭配的底层逻辑

题目点名了SSM+Vue,这几乎是目前毕设圈里最标准的“套餐”,因为分工实在太清晰了。

后端SSM是三个框架的组合:Spring负责对象的创建和依赖管理,相当于整个系统的“大管家”;SpringMVC负责接收浏览器请求,分发给对应的业务处理逻辑,相当于“前台接待”;MyBatis负责Java对象和数据库记录之间的转换,相当于“仓库管理员”。三者各管一摊,出了问题也容易定位——页面没响应查SpringMVC的映射配置,数据不对就查MyBatis的SQL语句。

前端Vue负责用户看到的界面和交互。在这个系统里,Vue主要做三类事情:从后端接口拉取景点、路线、美食等数据并渲染成页面;处理搜索、分页、轮播图这类交互;通过路由控制页面跳转。我建议用Vue 2配合Element UI组件库,原因很朴素:Vue 3虽然已经普及,但大量教程、博客和毕设参考代码还停留在Vue 2生态,选Vue 2在遇到问题时有海量现成答案,踩坑成本低很多。你如果基础好想用Vue 3完全没问题,但前提是答辩前把相关语法彻底弄懂,别留着半懂不懂的知识点上台。

数据库选MySQL基本没有悬念:免费、轻量、教程多,一台普通笔记本就能跑。搭配MyBatis时SQL自己掌控,遇到多表查询也比全自动化的ORM工具更直观,论文里贴SQL也好解释。这里我特别想聊聊前后端分离的取舍。如果做成“后端只出接口、前端完全独立”,技术上最现代,但对毕设有一个隐藏麻烦:部署时需要处理打包、跨域、进程启动顺序,演示当天容易手忙脚乱。我推荐的折中方案是:开发阶段前后端分离跑,用代理解决跨域;最终部署时把Vue打包生成的静态文件放进后端webapp目录,让SpringMVC直接托管页面。这样演示时只需要启动一个Java进程,浏览器打开就能看到完整网站,现场翻车的概率降到最低。

2. 功能模块拆解与数据库设计

2.1 功能范围怎么定才不失控

定功能清单时我给自己画了一条红线:不能太少,否则论文没内容可写;也不能太贪,否则做不完还天天焦虑。最后敲定的模块是这样分布的。

用户端核心是五块内容:景点信息、旅游路线、美食推荐、住宿指南、旅游资讯。这五块正好对应“宣传书册”的内容属性,也方便在首页做五个醒目的入口。每个景点单独一个详情页,除了文字介绍,再加轮播图、地理位置、开放时间、门票参考价,条件允许可以嵌入一个地图坐标。用户能在详情页留言评分,这一个点就撑起了“前后端交互”的含金量。再配一个全局搜索,支持按景点名称和地区模糊查询,实用又好实现。

管理端围绕“内容维护”来设计:景点管理(增删改查、图片上传)、路线管理、美食管理、资讯管理、留言审核、管理员账号管理。这六块全是标准CRUD,技术含量不高但必须覆盖,因为论文第四章就是靠这些模块逐段撑起来的。我另外加了一个简单的数据统计模块,统计每日访问量和景点浏览次数排行,这个模块在论文里画图表、在答辩PPT里放截图都特别加分。

功能清单定下来之后,第一件事不是写代码,而是画用例图、数据流图、功能模块图。虽然你心里清楚功能是什么,但画图的过程能逼你把细节想明白——比如你会突然意识到:留言删了之后统计数字要不要变?图片上传之后旧文件要不要清理?管理员操作日志要不要留?这些都是在设计阶段想清楚比在开发中后期改要划算得多的问题。

2.2 数据库表设计的核心心得

数据库设计是整个项目里最值得认真对待的部分,因为后端每个接口、前端每个列表,归根到底都是对表的查询和组合。表设计合理,后面写代码就像抄答案;表设计不合理,Service层的代码会越写越脏,改一个功能牵一发动全身。

我最终设计了八张核心表:管理员表、用户表、景点表、景点图片表、路线表、美食表、资讯表、留言表。为什么景点图片要单独拆一张表?因为一个景点通常有多张图片,如果图片字段直接塞进景点表,要么用逗号拼接的字符串,查询展示都很别扭,要么直接违反第一范式。拆成子表后,主表存景点基本字段,子表存图片路径和排序号,用景点ID关联,干净利落。这个设计在论文里还能作为“数据库范式分析”的例子专门写一段。

以景点表为例,核心字段大概是这样:

  • id:主键,自增
  • name:景点名称
  • region:所属地区,供首页按地区筛选
  • summary:一句话简介,列表页展示
  • content:详细介绍,详情页展示,支持富文本
  • cover_image:封面图路径
  • open_time:开放时间
  • ticket_price:门票参考价,用decimal类型
  • visit_count:浏览次数,用于排行统计
  • status:上下架状态,用0和1表示
  • create_time:创建时间

像visit_count这种字段,虽然可以用子查询实时算,但直接在表里冗余一个字段,让列表接口按它排序,性能和代码复杂度都更好。毕设阶段数据量不大,根本不需要过度担心冗余问题,怎么简单怎么来。create_time时间字段一定要保留,论文里能写“系统记录内容发布时间、列表按时间倒序”,这些都是实实在在的功能点。

关于外键,我采用逻辑外键、不建物理外键约束的做法。也就是说,景点图片表里的scenic_id只是个普通索引,保证一致性靠代码层的删除顺序控制。原因很简单:建物理外键之后,删除景点时数据库层面就限制必须先删子表记录,做批量操作时疯狂报错,对毕设这种小项目没有必要。写论文时可以把这个取舍写进去,反而显得你是认真思考过设计方案的。

3. 核心功能实现与实操要点

3.1 后端接口开发的标准套路

后端我强烈建议老老实实按照Controller-Service-Mapper三层结构来写,这不是形式主义,而是为了论文好写、答辩好讲。每一层职责单一:Controller只负责接收参数和返回结果,Service负责业务逻辑,Mapper负责SQL。拿“获取景点列表”举例,Controller接收分页参数,Service先校验再调Mapper,Mapper执行带条件的limit查询,Controller把结果封装成统一格式返回前端。

统一返回结果这个事一定要做。我定义了一个Result类,包含code、message、data三个字段,成功返回200,业务异常返回500,前端只需要判断code字段就能决定下一步。这个设计极其简单,但能让前后端协作顺畅很多,也显得项目规范。核心代码大概是这样:

public class Result<T> { private Integer code; private String message; private T data; public static <T> Result<T> success(T data) { Result<T> result = new Result<>(); result.setCode(200); result.setMessage("操作成功"); result.setData(data); return result; } public static <T> Result<T> error(String message) { Result<T> result = new Result<>(); result.setCode(500); result.setMessage(message); return result; } }

分页查询是后端最容易出细节问题的地方。我的做法是Service层接收pageNum和pageSize,MyBatis里用limit做分页,先查总数再查当前页数据,封装成PageResult返回。这里有一个隐蔽的坑:查总数和查当前页是两条SQL,如果查询条件拼接不一致,总数和列表就对不上。我的习惯是把查询条件封装成一个Query对象,两条SQL都基于同一个对象拼接条件,从根源上避免条件漂移。

图片上传是另一个高频踩坑点。我的方案是后端提供一个upload接口,接收multipart文件,保存到本地磁盘指定目录,返回可访问的URL。最关键的是目录路径问题——我一开始用相对路径,部署后图片怎么都访问不到,排查了半天发现是Tomcat工作目录的问题。后来改成在配置文件里写绝对路径,同时把磁盘保存路径和URL访问路径的映射关系在SpringMVC里配好,一劳永逸。文件命名也不能直接保留原始文件名,中文文件名会乱码,同名文件会覆盖,用UUID重命名最省心。

@RequestMapping("/upload") public Result<String> upload(@RequestParam("file") MultipartFile file) throws IOException { String originalFilename = file.getOriginalFilename(); String ext = originalFilename.substring(originalFilename.lastIndexOf(".")); String fileName = UUID.randomUUID().toString().replace("-", "") + ext; file.transferTo(new File(uploadPath + fileName)); return Result.success("/images/" + fileName); }

3.2 前端Vue项目的搭建与页面实现

前端骨架我用Vue CLI初始化标准工程,src目录下分views、components、router、api四块。views放页面级组件,components放可复用小组件,router配路由表,api统一封装axios请求。这个分层看起来啰嗦,但对毕设项目非常必要——查问题的时候你知道该去哪找代码,论文里画架构图也更清晰。

axios封装值得重点说说。我在api目录建了request.js,统一配置baseURL和拦截器。baseURL在开发环境走代理地址,生产环境改成空字符串走相对路径,这样前后端联调和最终部署完全不需要改业务代码,只需要动环境配置。开发环境的跨域问题,通过vue.config.js里的devServer.proxy配置解决,把/api开头的请求转发到后端端口,避免浏览器直接跨域。

const service = axios.create({ baseURL: process.env.VUE_APP_BASE_URL, timeout: 10000 }); service.interceptors.response.use( response => { if (response.data.code === 200) { return response.data.data; } else { Message.error(response.data.message); return Promise.reject(response.data.message); } }, error => { Message.error("网络请求失败,请检查后端服务"); return Promise.reject(error); } );

页面层面,首页的观感决定了这个系统的第一印象。我用Element UI的轮播组件放景点大图,下面做五个功能入口卡片,再来一个按地区筛选的景点列表和一个资讯列表。轮播图的数据我专门写了一个接口,取visit_count最高的前5条景点记录,正好呼应“宣传亮点”这个主题。这些组件基本是现成的,真正的工作量在把数据接对、把样式调好看。

景点详情页是典型的“信息展示页”:调详情接口拿景点对象,渲染富文本内容和图片集合,再用一个轻量图表展示近七日访问量趋势。这里注意,图表库体积不小,如果只为一张小图就引入全量库,略浪费;但论文里有一张数据图表会让系统显得有“数据分析”的层次。这个取舍建议你根据自己的剩余时间决定。

旅游路线模块我设计成“列表+详情”的结构,每条路线包含标题、天数、途径景点、人均预算、适合人群。途径景点用字符串存ID序列,展示时拆分处理,点击能跳到对应景点详情。用多对多关联表更规范,但毕设阶段用字符串加拆分也完全说得通,重点是论文里把取舍逻辑写清楚。如果你想给系统增加一点“含金量”,可以做成多对多关联表,答辩被问“关系表怎么设计”的时候就有东西可讲了。

管理端页面要朴素实用:左侧栏菜单,右侧内容区。每个管理页都是“搜索条件区+表格+分页+新增编辑弹窗”的经典结构,用Element UI的Table、Dialog、Pagination组件拼装。管理端最大的工作量不在写代码,而在把每个CRUD接口和前端字段对清楚。我原本以为管理端是大头,做完才发现用户端页面和接口的对应梳理更费时间,因为涉及的业务字段和展示形式更杂。

4. 论文写作与答辩准备的实战经验

4.1 论文结构怎么组织最稳

毕设论文最忌讳“程序写完了才开始写论文”,那样你根本回忆不起设计时的想法。正确做法是开发之前就把大纲定下来,每完成一个模块就在论文文档里写一段对应小节,最后整体串联润色。这样论文的每一段都基于真实开发过程,查重、追问都不怕。

标准结构大概是:第一章绪论,写背景意义、国内外研究现状;第二章需求分析,写功能性和非功能性需求,配用例图;第三章总体设计,写架构图、功能模块图、数据库ER图和表结构;第四章详细设计与实现,按模块逐个写设计思路、核心代码和运行截图;第五章系统测试,写测试用例表和测试结果;最后总结致谢。这个结构几乎是所有管理系统类毕设的默认模板,你直接套就行。

需求分析这一章特别提醒:不要照抄模板话。你的系统能干什么、每个角色能操作什么,必须和代码一一对应。你写了“管理员可以审核留言”,代码里就必须真的有审核状态字段和对应接口。答辩老师见过的毕设比学生吃过的盐还多,随便挑一个功能问是哪个接口哪个表字段实现的,答不上来就很尴尬。

数据库设计这一章是提分重点。把ER图画清楚,每张表字段列全,再补几条“设计考虑”,比如为什么图片单独建表、为什么用逻辑外键、为什么状态字段用tinyint不用varchar。这些内容前面都提到了,写论文的时候直接组织成段落即可。ER图和用例图我建议用绘图工具画成矢量图,答辩PPT和论文里都放,观感比手画截图强太多。

4.2 答辩演示的实操准备

答辩现场的翻车点,往往不在代码本身,而在演示流程和环境准备。结合我自己和周围同学的经历,整理几条特别实在的注意事项。

第一,演示必须用本地环境,不要指望现场连服务器。提前把后端、数据库、前端打包文件全部准备好,最终能做到只启动一个Java进程就完整跑通系统。这就要用到前面说的部署方案——前端打包后放进后端webapp目录统一托管。数据库也要提前启动好,别在演示现场才打开Navicat导入数据。

第二,准备一套“演示剧本”。开场先播首页,介绍系统定位;然后演示用户端的搜索、景点详情、留言功能;再登录管理员,新增一条景点信息,回用户端刷新看到新内容;最后演示修改和删除。整套流程提前演练至少两遍,时间控制在8分钟左右。操作鼠标时动作放慢放稳,不要一紧张就点错弹窗。

第三,把老师可能问的问题提前写成清单。高频问题基本是:SpringMVC的工作流程是什么?MyBatis参数映射怎么做?Vue数据双向绑定原理?前后端跨域怎么解决?分页怎么实现?这些在开发过程里都会遇到,按自己的真实实现准备应答稿。遇到不会的问题不要硬编,可以说“我用的是简化处理,生产环境会考虑XX方案”,诚实比逞强重要得多。

5. 常见问题与排查经验

5.1 开发阶段最容易踩的四个坑

SSM+Vue组合的毕设,坑非常典型。这里列出我遇到概率最高的几个,附上排查思路。

第一个是jar包版本冲突。Spring和SpringMVC版本必须一致,MyBatis版本和mysql驱动要配套,MyBatis-Spring的版本与Spring版本之间也有兼容范围。我早年直接复制网上的pom,结果版本不兼容,启动时直接抛BeanCreationException。排查方法很简单:看异常栈顶定位到哪个依赖,用Maven依赖树检查冲突版本。最稳的方案是直接找一个验证可用的SSM脚手架作为起点,不要从零拼版本号。

第二个是前端访问后端接口404或跨域。开发环境Vue跑在8080,后端跑在8081,不配代理的话请求必定跨域失败。解决方式是在vue.config.js里配置devServer.proxy,把特定前缀的请求转发到后端地址。打包部署后如果接口访问不了,通常是路由模式问题,把router模式从history改成hash,或者确认后端正确托管了前端资源。我直接用默认hash模式,省掉一堆路径问题。

第三个是MyBatis查询结果全是null。实体类属性是驼峰命名,数据库字段是下划线命名时,不配置的话映射不上。解决方式两种:MyBatis配置里开启mapUnderscoreToCamelCase,或者SQL里给每列起别名。推荐用前者,一劳永逸。这个问题特别隐蔽,页面不报错但数据全是空的。调试时先看控制台打印的SQL,复制到数据库工具里跑一遍,如果SQL结果正常,问题基本就是映射配置。

第四个是中文乱码。从数据库到前端全链路都可能出现:数据库连接URL加characterEncoding=utf8,IDEA和Tomcat配URIEncoding,页面保证UTF-8编码。最坑的是MySQL建库时就用了latin1字符集,这个只能重建数据库,没有捷径。有同学做系统时遇到的就是这个情况,重新导数据折腾了半个下午,所以建库前务必确认字符集选utf8mb4。

5.2 部署与演示的锦囊

部署阶段不要折腾Docker、Nginx这些容器化方案,对毕设而言全是多余复杂度。最小可用方案:后端用Maven打成war包丢进Tomcat的webapps目录,前端执行npm run build后把dist里的文件拷贝到Tomcat对应的应用目录。这样浏览器输入localhost:8080就能看到首页,接口走相对路径,不存在跨域问题。

演示前要做三件小事:一是清理调试数据,把测试时插入的“测试1”“测试2”删掉,换成有模有样的正式内容;二是示例数据准备齐全,每个分类至少三条记录,景点配真实照片,不要用默认占位图,观感差很多;三是录一段三十秒的完整演示备播视频,万一现场程序出问题,至少有个兜底方案。别问我为什么知道要录保底视频,问就是当年现场翻过车。

论文里的截图也要重新截。不少同学的截图直接截开发环境,地址栏还带着localhost:8081,控制台窗口还开着,桌面一堆杂乱文件。正式论文的截图一定要干净:界面完整、数据真实、无多余窗口。图注和编号也要对得上正文引用,这些小细节在盲审和答辩时都会被关注到。

5.3 时间规划建议

最后给还没开工的同学一个时间盘估。整个项目从零开始,按八周规划比较合理:第一周搭框架和数据库,第二到第三周做用户端页面和接口,第四到第五周做管理端,第六周集中完善功能和修bug,第七周写论文整理文档,第八周演示预演和收尾。每天保证两三个小时的有效投入,进度完全可控。如果你还要同时准备考研复试、实习或找工作,就要压缩功能范围,宁缺毋滥,把核心模块做精,别堆一堆半成品功能。

有些同学担心自己基础不好。其实这个项目的难度曲线非常平缓,真正难的就集中在“前后端联调”那一步,跨过去之后全是体力活。中途你一定会遇到让你抓狂的玄学问题,但百分之九十都是环境或配置问题,不是智商问题。冷静下来,把完整报错信息贴进搜索引擎,大概率能在前几条结果里找到答案——这是所有开发者成长的必经之路。

按我个人经验,做完这个毕设收获最大的不是“我会用SSM和Vue了”,而是完整经历了一个软件从需求设计到部署交付的过程。这中间做的取舍、踩过的坑、解决问题的路径,才是答辩时真正能讲出底气的素材。开发过程中的笔记、数据库设计文档、测试记录顺手留存,写论文时真的能省出大把时间。

最后再分享一个小技巧:选景点数据的时候,我会优先填自己真正熟悉的地方,配图也尽量用自己拍过的照片。把一个从小长大的城市做成一个像模像样的线上宣传册,那种成就感是纯粹刷算法题给不了的。好,这篇就聊到这里,如果你也正在做或者准备做SSM+Vue的毕设项目,希望以上内容能帮你避开几条弯路。遇到具体问题别慌,按报错信息逐层拆,大部分都能顺利解决。

相关新闻

C语言快速排序:以第一个元素为枢轴的实现与避坑指南

C语言快速排序:以第一个元素为枢轴的实现与避坑指南

先说一句掏心窝的话&#xff1a;这道题我在课程作业、面试手写代码、甚至帮人改代码时都见过无数次。“C语言实现快速排序&#xff0c;以第一个元素作为枢轴”&#xff0c;听起来像教科书里最经典的开篇案例&#xff0c;可真正动手写的时候&#xff0c;大多数人卡在了同一个地方…

2026/10/20 12:05:00 阅读更多 →
基于websocket++的C++ WebSocket通信demo与二次开发实战

基于websocket++的C++ WebSocket通信demo与二次开发实战

简介&#xff1a;基于WebSocket构建的客户端与服务端示例代码包&#xff0c;面向需要在C项目中快速实现实时双向通信的开发者&#xff0c;尤其适合结合Boost在Windows环境下搭建WebSocket应用的初学者。压缩包共2000个文件&#xff0c;大小约320.48MB&#xff0c;内容以hpp头文…

2026/10/20 12:04:00 阅读更多 →
【基于 Swoole+Hyperf 的微服务实战】第十一周 · 周四:异常检测---简单阈值告警与规则引擎

【基于 Swoole+Hyperf 的微服务实战】第十一周 · 周四:异常检测---简单阈值告警与规则引擎

今天我们进入第十一周周四&#xff0c;主题是 异常检测&#xff1a;简单阈值告警与规则引擎。在之前的统计基础上&#xff0c;我们已经能够实时查看 UV/PV&#xff0c;但被动观察不够&#xff0c;我们需要系统主动发现异常并通知我们。今天将在日志消费者中加入实时异常检测能力…

2026/10/20 12:04:00 阅读更多 →

最新新闻

MCP协议驱动智能体底座架构设计:从插件思维到接口思维

MCP协议驱动智能体底座架构设计:从插件思维到接口思维

1. 从“插件思维”到“接口思维”的认知跃迁大多数人第一次接触MCP&#xff08;Model Context Protocol&#xff0c;模型上下文协议&#xff09;时&#xff0c;脑子里蹦出来的第一个词就是“插件系统”。这也不奇怪&#xff0c;毕竟它的外在表现确实像插件&#xff1a;你写一个…

2026/10/20 12:45:32 阅读更多 →
从零搭建React企业级应用架构:REA分层设计与工程实践

从零搭建React企业级应用架构:REA分层设计与工程实践

1. 项目概述先说结论&#xff1a;REA不是某个框架的名字&#xff0c;也不是一个开源库的缩写&#xff0c;而是我近期在团队内部从零搭建并持续打磨的一套 React 企业级应用架构方案。全称我习惯叫它 React Enterprise Architecture&#xff0c;有人问为什么不叫别的名字&#x…

2026/10/20 12:45:32 阅读更多 →
Matlab实现贝叶斯优化Transformer多输入单输出时序预测

Matlab实现贝叶斯优化Transformer多输入单输出时序预测

最近整理时序预测这块的工作时&#xff0c;我发现一个问题&#xff1a;很多人一上来就搭LSTM&#xff0c;序列一长效果就拉胯&#xff1b;换了Transformer吧&#xff0c;又开始为超参数头疼。手工调参既累又不稳定&#xff0c;尤其是当输入特征有好几个、预测目标只有一个的时候…

2026/10/20 12:45:32 阅读更多 →
告别重复办公!OpenClaw 3.1.0 本地 AI 智能体部署实战

告别重复办公!OpenClaw 3.1.0 本地 AI 智能体部署实战

&#x1f4d6; 前言 本文面向 Windows 系统用户&#xff0c;系统梳理 OpenClaw 的标准化部署流程。全程无需输入任何命令行&#xff0c;所有操作均依托可视化向导完成&#xff0c;即便是零基础用户也能独立走完整套部署。文中同时汇总了高频报错的对应解决方案&#xff0c;力求…

2026/10/20 12:45:32 阅读更多 →
Context-Mode是什么?一文讲透上下文模式的三种落地形态

Context-Mode是什么?一文讲透上下文模式的三种落地形态

最近在给某智能助手做效果调优时&#xff0c;我天天被一个词轰炸&#xff1a;context-mode。测试同学说"上下文模式下的记忆老丢"&#xff0c;后端同事说"异步线程里 context 没传过去"&#xff0c;模型侧的人又说"提示词里的 context 结构得调整&quo…

2026/10/20 12:45:32 阅读更多 →
副业内容创业成本优化指南:小说、漫画、漫剧的降本增效实战

副业内容创业成本优化指南:小说、漫画、漫剧的降本增效实战

1. 副业内容创业的成本困局与破局思路1.1 为什么小说、漫画、漫剧成了副业热门赛道这两年身边搞副业的朋友越来越多&#xff0c;我观察到一个很明显的趋势&#xff1a;以前大家聊副业&#xff0c;张口就是开店、带货、跑腿&#xff0c;现在聊得最多的变成了内容创作。小说、漫画…

2026/10/20 12:44:31 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

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

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

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

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

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

2026/10/20 1:01:30 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 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/20 10:02:08 阅读更多 →
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/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练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/20 9:50:45 阅读更多 →