Java+SSM+Flask家乡特产网上商城项目全复盘:从需求到答辩
做电商类项目的同学十个里有八个绕不开“网上商城”这四个字。但同样是商城有人做出来像玩具有人做出来就是能拿得出手的作品。最近完整复盘了一个“基于JavaSSMFlask的家乡特产网上商城”项目源码、论文、调试文档、讲解配套都齐全我前后跑通、改了一轮最大的感触是这项目在思路上比常规的SSM商城多走了一步用Flask单独扛了一个辅助服务既把SSM该有的基本功练了又给整个系统加了个“技术亮点”。这篇就是完整复盘从需求拆解、技术选型、数据库设计、核心代码实现到调试部署、论文写作、答辩讲解一条线捋下来。做毕设、课设或者想自己搭一套特产电商小站练手的可以直接照着抄。1. 先拆需求家乡特产商城到底在卖什么很多同学拿到“网上商城”就开始写代码写到一半发现稀里糊涂。我习惯先把需求拆透因为需求决定表结构、决定接口设计、决定后续所有开发路径。1.1 商品体系是核心家乡特产这个主题商品天然分两类一类是农产品比如茶叶、核桃、腊肉、干菜有产地、有季节、有斤两规格另一类是手工艺品和特色小吃比如竹编、刺绣、糕点礼盒重图片展示、重文化描述、重礼盒包装。所以商品模块不能只做一张简单的商品表了事。我拆下来至少得有商品基本信息名称、简介、详情描述、主图、轮播图、价格、库存、销量商品分类一级分类农产品、手工艺品、特色小吃 二级分类茶叶、坚果、腊味……商品规格比如茶叶分“250g装”和“500g礼盒装”价格库存都不一样商品产地信息家乡特产必须强调产地可以加“产地”字段列表页按产地筛选这个在数据库里通常体现为分类表、商品表、规格表/SKU表。很多同学偷懒不做规格表一个商品就一个价格一个库存短期看省事但写论文时业务复杂度不够答辩时也容易被问“你和其他商城有什么区别”。特产类商品规格多这刚好是能讲出内容的地方。1.2 用户角色的边界商城系统最常见的角色划分是三类游客、普通用户、管理员。游客能看首页、看商品列表、看商品详情但下单、加购物车、个人中心这些必须登录。普通用户就是在游客基础上加了用户认证和订单相关功能。管理员走的是另一个后台入口管分类、管商品上下架、管订单发货、管用户状态。我当时把前后台分成两套页面用户端访问根路径管理端单独搞一个/admin前缀。Controller层的url也按这个习惯来分后面做拦截器会轻松很多一张表就能把事情说清楚。这里有个容易忽略的点管理员账号的初始化。很多项目都写死在配置里但正规做法是在数据库初始化脚本里插入一条admin记录密码用MD5加盐存登录时比对。论文里也能写出“基于角色的访问控制”这种规范描述。1.3 订单流程和状态机特产生意的订单流程比普通日用品要长半截下单、支付、备货、发货、收货、评价。为什么多一个备货因为很多农产品是现摘现发或者手工制作不是标准件。订单状态在设计时要一次想清楚待支付用户下了单但没付款待发货已付款等商家处理待收货已发货物流在途已完成用户确认收货已取消用户未支付主动取消或者超时关闭状态流转要画成状态机但注意不要在博文里画图。我写论文时也遇到过这个问题——导师说“画个状态图”但答辩时如果你说状态是自己写死在一堆if-else里的那基本就完了。正确做法是订单表里放一个order_status字段但所有状态变更都走统一的方法不散落在各个Controller里。2. 为什么是SSMFlask混搭技术选型复盘这个项目标题里同时出现了SSM和Flask很多同学第一反应是“这俩怎么凑一块了”。其实这正是项目的刻意设计也是在答辩时能讲出彩的地方。2.1 主站用SSM的理由SSM是Spring SpringMVC MyBatis的缩写是Java后端最经典的组合之一到现在依然是很多高校课程和毕业设计的主力框架。Spring管对象SpringMVC管请求分发MyBatis管数据库操作。这套组合的好处是职责清晰Controller层只接收请求和返回视图Service层写业务逻辑Mapper层操作数据库。三层架构用餐厅打比方就是服务员Controller接单后厨Service做菜采购Mapper进货各干各的互不干扰。对于商城主站这些功能用SSM做最顺手商品展示、用户登录、购物车、订单。网上资料多遇到bug搜一下就能解决而且Maven依赖管理比手动导jar包省心太多。尤其Spring的IOC容器在项目大了之后的好处能体现出来——对象不用自己new全部交给容器管理改一处配置全局生效。2.2 Flask进来做什么Flask是Python的轻量级Web框架特点就是轻、快、灵活。在这个项目里它不抢SSM的主业务而是负责两件辅助的事一是特产数据分析与推荐接口。SSM主站将商品点击数据、购买记录通过HTTP请求或共享数据库送到Flask服务Flask用简单的统计或协同过滤逻辑算出“你可能还喜欢”的推荐列表再以JSON接口形式返回给主站前端展示。二是数据采集或者数据可视化支撑。比如给系统提供一个后台管理用的销售统计接口Flask端用pandas读数据库做聚合统计输出图表数据。这个设计背后是有讲究的很多纯SSM商城项目功能上齐全但缺乏亮点答辩时被问“你项目难点在哪”只能答“CRUD”。而引入Flask之后整个系统变成多语言、多服务协作的结构可以讲“微服务思想”、可以讲“异构系统交互”技术深度一下子就上去了。从实现上讲SSM的Controller通过RestTemplate或者HttpClient调用Flask暴露的接口两个服务之间用JSON交换数据不直接共享代码这本身就是一种很朴素的分布式思想。2.3 前后端交互与数据流这个项目用的是服务端渲染为主、局部接口为辅的模式。SSM的JSP页面直接用EL表达式和JSTL渲染数据商品列表、详情页这些走传统方式而推荐位、销量排行榜、数据图表这些动态性强的区域由前端通过Ajax请求Flask接口拿到JSON后局部刷新。这样分的好处是主流程稳定可靠不会被Python端的抖动影响Flask那边即使挂了商城核心流程照样能用只是推荐位没数据。系统容错性有了论文里的“系统设计”章节也有内容写了。我实际测试下来SSM和Flask通信跨域的问题要注意。开发时SSM跑在8080端口Flask跑在5000端口前端页面从8080发起Ajax到5000必然会遇到跨域。解决方法是Flask端使用CORS插件统一放行或者做一个简单的接口网关把所有Python接口统一代理到SSM域名下。前者实现简单适合开发期后者更像生产环境做法写论文更体面。3. 数据库设计三十张表的取舍数据库是商城项目的地基。表设计得好后面写代码就是填空题表设计得乱后面每做一个功能都要补补丁。这个项目的库大致需要20张表左右核心的几张我拆开说。3.1 核心表结构总览用户表id、username、password加盐MD5、real_name、phone、email、status、create_time地址表id、user_id、receiver_name、receiver_phone、province、city、district、detail、is_default分类表id、name、parent_id、sort_order商品表id、category_id、name、subtitle、main_image、detail、origin产地、price、stock、sales、status、create_time商品规格表SKUid、product_id、spec_name如“250g/盒”、price、stock、image轮播图表id、image、target_url、sort_order购物车表id、user_id、product_id、quantity、checked订单表id、order_no、user_id、total_amount、pay_amount、status、create_time、pay_time、ship_time、finish_time订单项表id、order_id、product_id、product_name、product_image、price、quantity、total_price评价表id、order_id、user_id、product_id、content、rating、create_time这套结构覆盖了从一个访客浏览到下单收货评价的完整链路。特别注意订单项表是订单和商品的关联表必须冗余商品名称和图片快照。因为商品信息随时可能改如果订单只存product_id商品改名后历史订单显示就乱了这是很多初学者踩过的坑。3.2 商品表与分类表的细节分类表用parent_id实现无限级分类一级分类下面挂二级分类。查询的时候在Service层做一次二级分类的组装返回给前端一个树形结构。这里不建议用递归查数据库数据量一大性能就崩。正确做法是一次性查出所有分类在内存里组装成树。商品表有一个隐藏字段status。这个字段控制上下架1为上架、0为下架。删除商品要用软删除就是把status置为0而不是物理DELETE。原因很简单历史订单需要关联商品信息物理删了订单详情就缺了数据。商城项目里所有主数据基本都建议软删除这是生产级习惯不是课程作业思维。价格字段一定要用DECIMAL类型不能用FLOAT或DOUBLE。因为金额是精确计算浮点运算会出现0.10.2不等于0.3的经典问题。DECIMAL(10, 2)可以存最大99999999.99元对特产商城来说绰绰有余。3.3 订单表与库存扣减下单的核心难点不是写insert语句而是库存扣减的并发控制。两个用户同时抢购最后一件商品如果先查库存、再update库存可能两个人都查到了库存为1都执行了update最后超卖。解决方式有两种第一种是乐观锁在库存扣减SQL里加条件判断UPDATE product SET stock stock - 1 WHERE id #{productId} AND stock 1库存减不了行数返回0说明扣减失败再提示用户“库存不足”。这是最简单、也够用的方案。第二种是Redis分布式锁适合高并发场景。毕设项目用乐观锁完全够。下单过程还要配合事务。Service层方法上打上Transactional把“扣库存 生成订单 清空购物车对应项”这三件事绑在一个事务里任何一个失败全部回滚避免出现钱扣了订单没生成之类的严重bug。这个点讲解时多讲几句老师会觉得你有工程意识。4. 核心功能落地代码层面的关键细节表结构定了代码就是照着填。但有几个功能实现时有很多暗坑我把我趟过的细节整理出来。4.1 登录态与会话管理SSM的登录态管理有两种主流方式Session或者Token。Session方式简单直接用户登录成功后把用户对象放进Session中拦截器从Session里取用户取不到就跳转登录页。这个方案适合服务端渲染的页面缺点是集群部署时Session不共享但对单机项目完全没问题。拦截器这块我在SpringMVC里配置了自定义的LoginInterceptor并且要正确处理“放行哪些路径”public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { HttpSession session request.getSession(); Object user session.getAttribute(user); if (user ! null) { return true; } // 判断是否为Ajax请求如果是就返回Json响应而不是重定向 String requestedWith request.getHeader(X-Requested-With); if (XMLHttpRequest.equals(requestedWith)) { response.setContentType(application/json;charsetUTF-8); response.getWriter().write({\code\:401,\msg\:\未登录\}); return false; } response.sendRedirect(request.getContextPath() /login); return false; }这个Ajax判断很关键在用户加购或下单时如果Session过期Ajax请求被重定向到登录页前端拿到的是一整个HTML页面解析JSON必然报错。很多同学的bug就是在这一块出现的——页面不跳转控制台却报一堆解析错误。缓存静态资源放行路径也要配好比如CSS/JS/images/upload等路径必须排除拦截器。4.2 商品列表、搜索和详情商品列表页要支持分类筛选、产地筛选、价格排序和分页。分页我用的是PageHelper插件配置一行拦截器就可以自动拼LIMIT语句比手写分页爽太多。三行配置plugin interceptorcom.github.pagehelper.PageInterceptor property namehelperDialect valuemysql/ property namereasonable valuetrue/ /plugin搜索功能用商品名称的LIKE查询即可起步阶段不需要上搜索引擎。但如果想在论文里多点内容可以提一嘴“后续可接入Elasticsearch”以及一个关键词命中两个分类时的策略——比如用户搜“茶叶”既在标题里命中又在分类名里命中优先展示分类结果再展示标题结果。这个思路用SQL的CASE WHEN就能粗略实现。商品详情页要同时加载商品基本信息、轮播图列表、SKU列表、产地信息、历史评价。这块建议组装成一个DetailVO一次查询全部塞给页面避免前端多次请求。MyBatis的resultMap可以配好关联查询一次搞定。4.3 购物车与下单流程购物车表记录用户选中的商品和数量但页面加载购物车时商品价格要以商品表的实时价格为准不能直接把加购物车那一刻的价格直接显示给用户。为什么不直接用购物车里的冗余价格因为特产能搞促销活动活动价一变购物车价格还停留在一个陈旧数据上用户体验很差。下单时我做了三个校验校验商品状态是否为上架校验库存是否充足校验总金额是否与前端传过来的一致防止恶意篡改价格第三点尤其重要。前端页面虽然隐藏了价格字段但用户可以改请求参数。后端下单时要把购物车勾选的明细重新查一遍出来用数据库里的真实价格重新计算再用计算出来的金额入订单表而不是用前端传的totalAmount。永远不要信任前端传的金额这是商城开发的第一条军规。4.4 支付模拟与订单回调商城项目对接真实支付平台涉及商户资质申请对毕设来说不现实。普遍做法是模拟支付用户点击“去支付”后端生成一笔“待支付”订单进入一个模拟收银台页面点击“确认支付”就把订单状态改成已支付。但模拟支付也要有回调的意思。我实现时是支付确认时调用paymentService.pay(orderNo)方法在里面完成两件事改订单状态为“待发货”同时给用户加积分。这和真实支付平台回调逻辑是相似的——页面请求只是触发数据层面的状态流转通过Service方法完成。发货这个动作由管理员在后台上操作点“发货”时写入物流单号和发货时间状态推进到“待收货”。用户确认收货后状态到“已完成”此时才允许对商品发起评价。整个流程用一张状态机表在代码里维护每个状态只允许往固定方向跳转非法流转直接抛业务异常。5. 调试与部署从源码到能跑通的完整链路很多人拿到项目第一关就卡在环境上。源码是好源码就是跑不起来这时候就需要真东西了。我把跑通这个项目的完整链路捋一遍。5.1 环境准备Java版本建议JDK 1.8不要图新鲜用17或21。因为很多高校的毕设项目基于老版本Spring框架JDK高版本可能会遇到CGLIB代理不兼容之类的问题折腾半天纯属浪费时间。Maven用3.6.3Tomcat用8.5或者9.0IDE用IDEA即可。Python端需要3.7以上安装Flask、Flask-CORS、pandas这些依赖pip install flask flask-cors pandas如果你用MySQL版本5.7或8.0都行。注意8.0的驱动名变成了com.mysql.cj.jdbc.DriverURL上要加时区参数jdbc:mysql://localhost:3306/specialty?useUnicodetruecharacterEncodingutf8serverTimezoneAsia/Shanghai时区不配置会报异常这是最常见的起手式拦路虎。5.2 数据库初始化和数据测试项目里通常会附带SQL脚本但不要拿到手就无脑执行。先看脚本里有没有测试数据有测试数据的项目省去了你盲人摸象的功夫。我之前调试时把特产数据加了一批测试项商品图片用的是占位图本地启动后首页看着太素。后来自己找了些免费图库的图片链接替换掉。建议你也做这一步演示效果好不好图片占一半。同样一个商品一张实拍图和一张灰色占位图给答辩老师的印象完全不同。数据导入后务必检查中文乱码问题。脚本文件的编码设置错了导入之后表里全是问号。用Navicat导入时确认文件编码是UTF-8导入前先建好库设置character_set_serverutf8mb4。5.3 常见问题速查表问题现象根因解法Tomcat启动后报端口被占用8080被别的进程占用找到占用进程结束或改server.xml端口数据库连不上用户名密码错误/驱动版本问题检查jdbc.properties核对MySQL账号和驱动坐标页面中文乱码JSP页面编码不一致页面统一UTF-8filter配置CharacterEncodingFilterFlask接口返回的不是JSON跨域导致前端解析失败后端加CORS检查响应头Content-TypePageHelper分页不生效插件没正确注入检查mybatis-config.xml里的plugin配置图片上传后访问404虚拟路径没配置Tomcat配置映射upload目录到项目外真实路径下单时库存为负数并发扣减没加条件改成带stock 数量条件的更新语句前台Ajax拿不到Session跨域请求默认不带Cookie前端设置withCredentialstrue后端允许credentials这里面最阴间的一个坑是图片上传后刷新页面图片还在、换台电脑就没了。原因是图片存在了项目内的upload目录下下次重启Tomcat或换了环境就被清理或者路径变了。建议单独建一个本地目录存上传文件然后配置Tomcat虚拟路径映射。这样资料和使用体验都会好很多。5.4 部署上线思路如果只是在本地演示IDEA配好Tomcat直接跑就行。Flask端命令行启动即可。但如果想把项目部署到云主机需要调整几个东西MySQL和Tomcat配到Linux环境项目打成WAR包部署到Tomcat webapps目录Flask用gunicorn启动搭配Nginx做反向代理静态资源和上传文件用Nginx单独处理部署过程的完整踩坑经历足够再写一篇提炼要点就是先本地双服务跑通再各自部署到线上最后把跨域和虚拟路径问题解决掉基本就稳了。6. 论文、调试文档和讲解视频的打开方式项目最后交付的不只是代码还有配套的论文LW、调试文档和讲解视频。很多同学以为这是“添头”其实这几样才是让项目从代码升维成作品的关键。6.1 论文的写作思路论文的核心是把“做了什么”升级成“为什么要这样做、怎么做才更好”。SSMFlask混搭架构在论文里可以单独开一章标题可以叫“系统架构设计”内容包括整体架构图、功能模块划分、数据库设计、关键接口设计。我建议论文里的重点章节是这几块需求分析把功能需求和非功能需求分清楚系统设计架构图 数据库E-R图 核心表结构系统实现选3-4个核心功能详细写比如用户登录、商品浏览、订单管理、特产推荐系统测试功能测试用例表 部分性能测试数据写论文最怕的是“流水账”解决方法是每个功能都配上“设计思路 核心代码 运行效果图”三段式。答辩老师翻论文的速度比你想的快得多图文并茂比纯文字好拿分得多。6.2 调试文档的正确用法调试文档是给“第一次接触这个项目的人”看的。我拿到调试文档后第一件事是找到“环境要求”部分确认JDK版本、MySQL版本、Python版本再找“部署步骤”按顺序执行。如果文档里连数据库脚本的位置和图标的配置都标清楚了那调试效率会高很多。对于要交付这种项目的同学写调试文档时记住一个原则把下一步操作写具体不要写“配置数据库连接”这种抽象描述要写成“打开src/main/resources/jdbc.properties把第3行的url改成jdbc:mysql://localhost:3306/specialty第4行的用户名改成root第5行的密码改成你自己的数据库密码”。我见过太多人把时间耗在“环境配不对”上一份清晰的调试文档能帮人省下至少半天时间。写的时候多花30分钟后面能省几小时特别划算。6.3 讲解准备的重点讲解视频和答辩的核心逻辑是“讲清楚你的项目解决什么问题你怎么解决的你有什么和别人不一样的”。我建议讲的时候围绕三条线业务线这个商城卖什么用户能在上面做什么从注册到下单完整讲一遍技术线用了什么框架为什么SSM做主体、Flask做辅助两个服务怎么配合数据库怎么设计亮点线推荐接口怎么做的、并发扣库存怎么处理的、上传图片怎么管理的每一条线控制在3-5分钟内讲完总计15分钟左右。答辩时比讲更重要的一环是被问住了怎么处理。常见的深渊问题包括“你这个推荐算法准确率怎么评估”“如果用户量很大MySQL扛不住怎么办”。不用慌被问住时可以说“这部分目前采用的是简化方案生产环境可以考虑引入XX方案来改进”重点展示你知道问题的存在和方向而不是现场编造一个答案。提前准备几个“升级方向”属于标准的加分操作。我个人在实际操作中的体会是这类商城项目最大的价值不是“做出来”而是“做出来之后你能把每个决策讲清楚”。SSMFlask这套组合天然给了你一条可以深挖的故事线主业务和辅助服务的边界在哪里、跨服务通信怎么做、数据一致性怎么保证。这些问题的答案比项目本身更值钱。最后再分享一个小技巧演示时不要把Tomcat的控制台日志和Flask的终端日志关掉让它们平铺在屏幕两侧。老师看到请求进来、SQL打印、接口返回这一连串过程比你说一百句“这个功能实现了”都更有信服力。这种“物理层面”的证据是任何讲解都替代不了的。

相关新闻

GitHub Copilot进阶实战:用TaoToken统一API通道打通代码补全到自动化开发全流程

GitHub Copilot进阶实战:用TaoToken统一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/18 5:59:46 阅读更多 →
数学建模C题六步实战闭环:从题干到可验证结果

数学建模C题六步实战闭环:从题干到可验证结果

简介:本资源为2025年全国大学生数学建模竞赛C题的完整解题实践包,面向参赛学生、指导教师及数学建模爱好者,聚焦真实赛题场景下的建模落地能力训练。资源包含40个文件,以7个Python脚本(含多因素优化、女性异常检测、NI…

2026/10/18 5:58:46 阅读更多 →
Java集成利器Apache Camel:路由引擎与Java DSL实战解析

Java集成利器Apache Camel:路由引擎与Java DSL实战解析

简介:针对Java开发者的Apache Camel入门指南以PDF文档形式呈现,面向有Java基础、希望掌握消息路由与系统集成技术的开发者。文档以实际可运行的Maven项目为起点,详细说明pom.xml中camel-core依赖与slf4j-simple日志实现的配置方法&#xff1b…

2026/10/18 5:58:46 阅读更多 →

最新新闻

机器学习大作业实战指南:从数据清洗到模型调优的完整流程

机器学习大作业实战指南:从数据清洗到模型调优的完整流程

简介:这份资源是电子科技大学机器学习课程大作业的完整配套资料,面向正在修读机器学习、人工智能相关课程的高校学生,以及希望系统梳理算法理论与工程实践的自学者。内容围绕监督学习、无监督学习、半监督学习与强化学习等范式展开&#xff0…

2026/10/18 6:57:58 阅读更多 →
高德地图JS API结合Loca实现3D动画的实战指南与性能优化

高德地图JS API结合Loca实现3D动画的实战指南与性能优化

做地图可视化这么多年,我一直觉得高德JS API里最被低估的模块就是Loca。早期在某中央商务区大屏项目里,需要在底图上展示几千栋楼宇的数据密度,我一开始用Marker逐栋添加,数据一上三百个页面就开始掉帧,滚动一下地图卡…

2026/10/18 6:57:58 阅读更多 →
SILENTTRINITY模块开发实战:用Boo语言编写后渗透侦察模块

SILENTTRINITY模块开发实战:用Boo语言编写后渗透侦察模块

“SILENTTRINITY”这个词,我在好几年前第一次看到时,第一反应是“又一个 C2 框架”。真正上手用了一个星期后,我改变了对它的看法——它最大的亮点不是通信方式多花哨,而是模块扩展机制:用 Boo 语言写后渗透模块。你不…

2026/10/18 6:57:58 阅读更多 →
Redis命令:RPOP

Redis命令:RPOP

Redis RPOP 命令详细教程 RPOP 移除并返回列表表尾(右侧)的最后一个元素,与 LPOP 恰好方向相反,是列表作为队列、栈使用时另一种常用的"出队"命令。它自 Redis 1.0.0 起提供,从 6.2.0 起支持可选的 count 参…

2026/10/18 6:57:58 阅读更多 →
网络工程师面试核心:从协议原理到工程直觉的五层穿透

网络工程师面试核心:从协议原理到工程直觉的五层穿透

1. 为什么“舌战面试官”不是嘴炮,而是网络工程师的生存基本功“舌战面试官——计网篇(一)”这个标题乍看像段子,实则戳中了无数求职者最真实的痛感。我带过不少刚毕业的某高校网络方向学生,也辅导过转行做后端但卡在O…

2026/10/18 6:57:58 阅读更多 →
多智能体监控与治理:构建云上AI劳力工厂的实用指南

多智能体监控与治理:构建云上AI劳力工厂的实用指南

最近圈子里都在聊“云上劳力工厂”这个概念——把一群 AI 智能体部署到云端,像流水线工人一样自动执行任务,而管理者只需要在中控台盯着一块大屏,看它们谁在干活、谁卡住了、谁在摸鱼烧钱。某 AI 实验室放出的这套方向很有意思:它…

2026/10/18 6:56:58 阅读更多 →

日新闻

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

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

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

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

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

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

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

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

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

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

周新闻

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

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

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

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

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

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

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

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

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在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/16 14:23:36 阅读更多 →