SpringBoot+Vue动物园管理系统源码拆解与改造实践
前两天有读者问我手头有一个“基于SpringBoot Vue的动物园管理系统”源码数据库文档想拿来改造成自己的课程设计但打开项目一脸懵不知道从哪下手。这问题太典型了。SpringBoot Vue 这套组合在国内管理类系统里几乎是统治级的存在动物园管理系统又是这类项目里信息量最丰富、最适合展示技术点的选题之一——动物档案、喂食记录、健康巡检、门票管理每个模块都是标准的前后端增删改查却又各有各的业务逻辑。这篇文章我不讲虚的直接以这套“动物园管理系统”源码为线索把系统设计逻辑、数据库建模思路、前后端落地步骤、常见部署坑全部拆开揉碎讲一遍。无论你是拿这套源码做毕设、课设还是单纯想学SpringBoot Vue的全栈写法都能照着走通。1. 项目整体设计与思路拆解1.1 为什么是“SpringBoot Vue”这套组合先聊一个很多人没细想的点为什么市面上绝大多数的管理系统都在用SpringBoot做后端、Vue做前端这套组合到底强在哪拿动物园管理系统来说。系统要管的东西很杂动物基本信息、饲料出入库、饲养员排班、游客购票、健康记录、区域展馆……这些数据天然适合关系型数据库存储而后端的核心工作就是把这些数据的增删改查接口化。SpringBoot 干这件事是效率最高的内置Tomcat不用单独部署Web容器java -jar就能跑。整合MyBatis或Spring Data JPA非常顺滑DAO层的CRUD代码量极低。自带参数校验、全局异常处理、JSON序列化接口开发就是“写个Controller Service Mapper”三层模板。前端的Vue则解决了另一个问题页面交互的响应速度。传统JSP/Thymeleaf方案每点一次按钮就刷新一次页面而Vue通过虚拟DOM实现局部渲染动物园管理里那种“切换展馆即时显示动物列表”“筛选动物状态实时更新”的操作体验明显更好。所以这套组合的本质是后端管死数据前端管活交互。边界清晰分工明确这也正是它成为教学项目主流的原因。1.2 系统角色与核心业务模块拆分拿到源码不要急着跑先看项目里有哪些角色。跟我接触过的大多数动物园管理系统一样这套项目一般分三类角色角色权限范围典型操作管理员全系统员工管理、数据统计、系统配置、门票价格设定饲养员/员工业务操作动物档案维护、投喂记录登记、健康状态上报游客自助查询浏览动物信息、在线购票、查看园区公告对应的核心模块通常包括动物档案管理—— 系统的心脏包括基本信息名称、科目分类、年龄、性别、健康状况、生活习性、所属展馆区域。展馆区域管理—— 园区划分成多个展馆每个展馆关联若干动物可以按区域统计动物密度和饲养成本。饲料管理—— 关联动物与饲料类型记录每日投喂量、饲料库存、采购批次。健康记录与诊疗管理—— 记录每次体检结果、疫苗注射、发病情况和治疗过程。门票与游客管理—— 门票类型成人/儿童/团体、价格、订单记录、游客信息。公告与资讯发布—— 园区通知、活动信息的前端展示。这套模块划分几乎是行业标准做这类“XX管理系统”都可以套这个逻辑核心实体动物 辅助实体展馆、饲料 业务流水健康记录、订单。看源码时先按这个层次把模块归类代码就不用一行行通读了。2. 数据库设计与核心表结构解析2.1 实体关系一张图看懂表与表怎么连数据库是管理系统的地基。拿到源码后第一件事不是看代码而是打开数据库设计文档或者SQL脚本理清楚表结构。动物园管理系统的核心表通常有10张以上我挑最有代表性的几张讲。动物表animal必然是最核心的。常见设计CREATE TABLE animal ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL COMMENT 动物名称, category_id INT NOT NULL COMMENT 科目分类ID关联category表, enclosure_id INT NOT NULL COMMENT 所属展馆ID关联enclosure表, gender TINYINT COMMENT 性别0未知 1公 2母, age INT COMMENT 年龄岁, health_status TINYINT COMMENT 健康状况1健康 2亚健康 3生病 4隔离, description TEXT COMMENT 生活习性描述, create_time DATETIME DEFAULT CURRENT_TIMESTAMP, update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP );这里有两个细节值得注意。第一category_id和enclosure_id用了外键关联而不是直接存字符串这是数据库规范化设计的基本要求。如果你在改造源码时发现动物表里直接存了“哺乳纲”“爬行动物馆”这种文字建议改成外键否则后续想统计“每个展馆有多少动物”这种数据写SQL会非常痛苦。第二health_status用了TINYINT而不是字符串这是很典型的“枚举字段用数字存”的思路。程序里定义好对应关系数据库只存数字灵活度更高、存储更省。改造时如果你要加一个状态“待观察”只需要改后端的枚举配置和字典表不用动表结构。再配合一张关联表就能拼出完整的业务闭环展馆表enclosure展馆名称、位置、面积、容纳动物数量上限。动物科目表category纲目科属分类比如哺乳纲、鸟纲、爬行纲。喂食记录表feeding_record动物ID、饲料ID、投喂量、投喂时间、操作员。健康检查表health_record动物ID、检查时间、体温、体重、检查结果、处理措施。门票订单表ticket_order订单号、游客姓名、联系电话、门票类型、价格、购买时间、入园状态。2.2 设计数据库时最容易踩的坑我看过不少参考项目数据库设计上反复出现几个低级错误这里集中提醒一下。第一个坑时间字段用字符串。有人图省事把“投喂时间”直接存成VARCHAR格式还是“2024/5/1 上午9点”。这不是不能存但等你要做“本周共投喂几次”“每天平均投喂量”这类统计时你就知道什么叫欲哭无泪了。正确做法是DATETIME或TIMESTAMP配合SQL内置的日期函数操作。第二个坑金额字段用FLOAT或DOUBLE。门票价格、饲料采购金额这种数据浮点类型会产生精度丢失比如19.9存进去可能变成19.899999。正确做法是DECIMAL(10,2)。这个坑在改造成电商类功能时尤其致命谁用谁知道。第三个坑没有create_time和update_time字段。很多简化版源码把这两个字段省了导致后面要做“最近新增动物”“修改记录追溯”时完全没抓手。看源码时如果发现没有建议自己补上这是个性价比极高的改动。数据库这关过了后面代码层面的东西就顺了。看源码时SQL脚本能直接导入就用不能导入就自己调整字段格式核心原则是不变业务关系只修实现细节。3. 前后端核心实现与关键代码解读3.1 后端SpringBoot分层结构与被忽略的约定SpringBoot项目拿到手第一眼看目录结构。规范的后端代码一定按这个层次分包com.zoo.management ├── controller // 接口层接收前端请求 ├── service // 业务逻辑层处理具体规则 ├── mapper // 数据访问层MyBatis接口或JPA Repository ├── entity // 数据库实体映射 ├── config // 配置类如跨域、拦截器、全局异常 └── common // 通用类统一返回结果、工具类看源码的时候建议从controller入手。动物园管理系统的接口设计很有代表性基本是标准RESTful风格请求方式路径功能GET/api/animal/list分页获取动物列表GET/api/animal/{id}查询动物详情POST/api/animal新增动物PUT/api/animal/{id}修改动物信息DELETE/api/animal/{id}删除动物档案上面前四个操作加上一个条件分页查询就是后端80%的CRUD代码模板。自己写的时候完全可以把这套“动物接口”背下来改个实体名就是“展馆接口”“饲料接口”。一个特别容易被忽略的东西是统一返回体。好一点的源码都会定义一个Result类结构类似public class ResultT { private Integer code; // 200成功500失败 private String message; private T data; }Controller里所有接口都返回这个包装类型而不是直接返回实体。这样前端就能用同一种结构处理后端响应做全局错误提示也只需要判断一次。如果你拿到的源码没有统一返回体接口一会儿返回一个Map一会儿返回一个List建议动手改造成统一结构后期会省很多事。3.2 前端Vue页面组件化与数据流前端Vue项目的典型结构是这样的src ├── api // 统一管理接口请求 ├── views // 页面组件如AnimalList.vue, TicketOrder.vue ├── components // 可复用组件如表单弹窗、分页条 ├── router // 路由配置 └── store // 全局状态管理Vuex或Pinia看前端源码的重点是src/api目录里的封装方式。拿动物园管理系统的动物管理接口来说常见的封装方法是import request from /utils/request export function getAnimalList(params) { return request({ url: /api/animal/list, method: get, params }) } export function addAnimal(data) { return request({ url: /api/animal, method: post, data }) }这里的request是对axios的二次封装通常设置了baseURL、超时时间、请求拦截器加token和响应拦截器统一处理code。这就是Vue项目里“API层”的含义——把后端接口地址集中管理页面里只调用函数不直接写axios.get这种裸请求。页面组件比如动物列表页AnimalList.vue的逻辑则是一个标准流程created()钩子里调用getAnimalList()拉取数据。把返回数据赋给tableData表格组件直接绑定。点击“新增”按钮弹出表单弹窗提交时调用addAnimal()。操作成功后刷新列表并弹出“操作成功”提示。这套“页面组件 接口函数”的模式是前后端分离项目的标准姿势。看源码时先跟一遍一个模块的数据流比如动物的增删改查剩下几个模块的代码逻辑几乎一模一样直接批量看懂。3.3 从源码到本地跑通完整实操步骤这一步是最多人卡住的环节。我把整套跑通步骤写在这里按顺序操作基本不会有问题。第一步环境准备。工具版本建议说明JDK1.8 或 11SpringBoot 2.x 用JDK8最稳Maven3.6管理后端依赖Node.js14~18运行前端Vue项目MySQL5.7 或 8.0导入数据库脚本IDEA / VSCode任意较新版本开发工具提示SpringBoot版本如果是2.5以上的更建议直接用JDK8因为部分源码用JDK11会遇到javax到jakarta的命名空间兼容问题。除非源码明确标注适配JDK17否则默认用JDK8踩坑最少。第二步导入数据库脚本。在MySQL中新建数据库建议把编码设为utf8mb4然后执行源码中的SQL文件。执行完毕后检查一下表有没有正常创建、有没有预设的admin账户数据。很多同学在这步栽跟头是因为SQL文件里有中文注释终端执行时编码不一致导致乱码或语法错误改用Navicat或IDEA自带的Database工具导入会稳妥很多。第三步配置后端并启动。找到application.yml或application.properties重点检查三处server: port: 8080 spring: datasource: url: jdbc:mysql://localhost:3306/zoo_db?useUnicodetruecharacterEncodingutf8serverTimezoneAsia/Shanghai username: root password: 你自己的密码配置里的密码改成你本地的MySQL密码zoo_db改成你实际创建的库名。很多人在这一步忽略serverTimezone参数启动时报时区错误加上Asia/Shanghai基本能解决。启动类右键运行看到 “Started Application” 日志说明后端起来了。第四步启动前端Vue项目。命令行进入前端目录执行npm install这个过程根据网络情况可能需要几分钟。如果npm install报权限或下载失败换成国内的npm镜像源再试。依赖装完后执行npm run serve看到Compiled successfully然后浏览器访问http://localhost:8080如果前端端口是8081、8082之类以日志提示为准。建议第三个实战技巧先确认后端接口能访问再配前端比如浏览器直接访问http://localhost:8080/api/animal/list如果返回JSON数据说明后端是通的。第五步常见组合问题。如果前端跑起来但页面显示“网络错误”大概率是跨域问题或者是前端的baseURL写死了后端地址。检查src/utils/request.js里的baseURL和后端配置的端口是否一致然后在后端的配置类或者Vue的代理里把跨域放行。最简单的后端解法是在Controller类上加CrossOrigin注解或者在Config类里写一个CorsFilter配置。4. 常见问题与排查技巧实录4.1 后端启动失败端口被占用Tomcat默认端口是8080如果你本地已经跑了一个程序占了8080SpringBoot启动就会直接报错。解决办法有两个一是杀掉占用进程二是在application.yml里改端口比如改成8081。注意同步修改前端的baseURL或代理配置。4.2 数据库连接失败报错信息里出现Access denied for user基本就是密码错了出现Communications link failure则是MySQL服务没启动或者配置的IP端口连不上。Windows下检查服务管理器里MySQL是否在运行Linux下用systemctl status mysql查看。4.3 npm install 卡住或失败国内网络环境下npm官方源非常慢这是高频问题。把npm镜像切到国内源再重装npm config set registry https://registry.npmmirror.com然后删掉node_modules和package-lock.json重新执行npm install即可。从我个人经验看这一步能解决九成的“前端依赖装不上”问题。4.4 Vue项目打包后怎么放进SpringBoot一起发布这套系统如果在本地开发完最终只有前端任务需要部署到服务器上去。很多人不想开两个进程想让SpringBoot直接托管前端静态文件。做法是npm run build执行后前端项目会生成一个dist目录把dist里的文件直接拷贝到SpringBoot项目的src/main/resources/static目录下重新打包SpringBootmvn clean package -DskipTests然后java -jar target/xxx.jar启动浏览器访问http://服务器IP:8080就能同时访问前端页面和后端接口。注意如果你的Controller里定义的路由和前端路由冲突可能需要在后端加一个转发规则把非API请求转发到index.html让Vue的History模式正常工作。4.5 跨域问题的最快解法开发模式前后端分离部署在两次端口时跨域是绕不开的。最省事的后端解法Configuration public class CorsConfig { Bean public CorsFilter corsFilter() { CorsConfiguration config new CorsConfiguration(); config.addAllowedOriginPattern(*); config.addAllowedHeader(*); config.addAllowedMethod(*); UrlBasedCorsConfigurationSource source new UrlBasedCorsConfigurationSource(); source.registerCorsConfiguration(/api/**, config); return new CorsFilter(source); } }这段配置建议直接加到源码里。理解它的原理浏览器同源策略会拦截跨域HTTP请求CorsFilter本质是在响应头里加上Access-Control-Allow-Origin等字段告诉浏览器“这个来源的请求我允许”。不是每个选项都要记住但addAllowedOriginPattern(*)这种写法要会。4.6 版本兼容的老大难问题SpringBoot版本和JDK版本、Vue版本和Node版本都可能打架。我在实际跑项目中总结了一句口诀高版本SpringBoot用高版本JDK低版本SpringBoot用低版本JDK前端锁死Node大版本。比如源码用的SpringBoot 2.7.x那就用JDK8或者JDK11如果是SpringBoot 3.x就上JDK17并注意javax换成jakarta包的问题。Vue 2项目用Node 14~16Vue 3项目用Node 16~18基本稳定。新房临近交付最容易出问题的反而是这些环境环节。源码逻辑本身一般不会有大毛病跑不起来的根源往往就是环境。把这几个版本组合对照表收藏好排查时间能缩短一大半。5. 源码改造与文档撰写的实战经验5.1 如何把“动物”替换成自己的业务实体很多人拿到源码不是为了直接用动物园场景而是想改改成“校园失物招领”“社区宠物登记”之类的系统。这时候核心操作是实体映射替换法。比如我想改成“宠物医院管理系统”最简单的方式是把数据库里的animal表改成pet表字段名对应改name保留宠物名、category_id存宠物种类猫/狗/鸟、enclosure_id改成owner_id关联主人信息。后端把实体类Animal改名PetController和Service里引用改一遍前端把页面标题从“动物管理”改成“宠物管理”。这个过程听起来机械但做一遍能帮你彻底理解前后端数据绑定的关系比从零写一遍还有收获。5.2 文档里最该写清楚的四件事这套源码配套的文档如果写得不错通常会包含系统需求分析、数据库设计说明、接口文档、操作手册。如果原文档是空的或者太简略你写的时候重点补四块内容角色权限说明每个角色能干什么不能干什么最好配表格。数据库设计说明每张表的用途、关键字段含义不用写SQL写人话。接口清单路径、请求方式、参数、返回示例。写接口文档时用请求响应的真实JSON来截图或贴代码比纯文字描述好懂得多。部署步骤按你实际跑通的流程截图说明包括环境配置和注意点。这也是为什么这类项目标题里要把“源码数据库文档”写全因为文档真的能体现一套源码能用性的下限。5.3 系统还能扩展什么功能如果说做完基础CRUD是及格那给系统加亮点功能就是冲刺高分。动物园管理系统可扩展的方向非常多而且都很贴合应用场景二维码门票生成门票订单后自动生成二维码门口扫码核销需要引入一个二维码生成库后端生成图片前端展示技术含量不算高但效果很好。动物AI识别上传游客拍到的动物照片调用图像识别服务判断动物种类。这个听起来高大上但实际上很多现成SDK能直接调展示创新性很强。数据统计仪表盘用ECharts展示游客量趋势、各展馆动物数量分布、饲料消耗月度统计等图表。前端页面立刻显得“有内容”答辩时也有的讲。微信小程序端项目主体不变用小程序做游客端逛园指南、购票、散养区实时状态前后端接口直接复用。扩展功能时一定不要为了加而加要紧贴场景。现在不少管理系统全套都长一个样加一个贴合业务的亮点整体印象分提升一大截。6. 写在最后的个人体会这套“SpringBoot Vue动物园管理系统”的价值其实远不止动物园这三个字。它把前后端分离架构里最标准的活儿——实体建模、数据CRUD、接口联调、权限区分——全部过了一遍而且因为场景是动物园表结构天然带多表关联比那些“学生信息管理”之类单表小系统信息量丰富得多。我这些年带过不少新人看项目源码凡是能把手头这套框架彻底走通的人换任何场景都能在短时间里架出一套新系统。最后分享一个非常实用的小技巧拿到源码后先别急着跑把SQL文件接口文档前端API目录三个东西并排打开对着过一遍数据流转链路。比如数据库里有个ticket_order表前端API封装里有getTicketOrderList后端接口里对应/api/ticketOrder/list。你看明白这条链路整个系统的谱就摸清了。剩下的时间才是拿来跑通、改造和加亮点。希望这篇拆解能让你手里的这套源码“活”起来。如果你正在做类似的系统照着这个思路走一遍会发现所谓管理系统真的不难。

相关新闻

基于BP神经网络MNIST手写数字识别Python源码解析与调参避坑

基于BP神经网络MNIST手写数字识别Python源码解析与调参避坑

简介:基于反向传播神经网络的手写数字识别Python实现源码,是一套面向计算机相关专业学生期末大作业与课程设计的完整项目。项目曾获98分,代码结构清晰,涵盖网络定义、数据加载、训练测试与超参数调节等模块,适合正在完…

2026/10/10 9:27:07 阅读更多 →
数据结构与算法分析C语言参考答案:链表反转、快排与哈希实战解析

数据结构与算法分析C语言参考答案:链表反转、快排与哈希实战解析

简介:面向计算机专业学生与编程自学者,《数据结构与算法分析C语言描述第四版》的参考答案与配套源代码打包为zip,共100个文件,约4.65MB。其中63个cpp为算法实现,22个h为接口头文件,12个docx为习题解答与学习…

2026/10/10 9:26:06 阅读更多 →
JavaSwing+MySQL医院预约挂号系统源码实战:从表设计到并发防超卖

JavaSwing+MySQL医院预约挂号系统源码实战:从表设计到并发防超卖

简介:基于Java Swing和MySQL的医院预约挂号系统源码包,面向计算机相关专业学生及Java桌面应用开发者,以MVC架构完整呈现医院预约挂号流程,涵盖用户管理、医生管理、科室管理和挂号预约等业务模块,可帮助读者快速理解Ja…

2026/10/10 9:26:06 阅读更多 →

最新新闻

探索AI工具——我的Cursor初体验:从Base URL改到TaoToken

探索AI工具——我的Cursor初体验:从Base URL改到TaoToken

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

2026/10/10 16:00:51 阅读更多 →
SpringBoot2+Vue3校园生活信息平台:前后端分离实践与部署

SpringBoot2+Vue3校园生活信息平台:前后端分离实践与部署

1. 项目解析与整体思路1.1 校园生活信息平台到底解决什么问题大学校园的信息流通,说实话一直是个"说起来重要、做起来随意"的事情。今天社团要纳新,明天食堂有新品试吃,后天图书馆临时闭馆——这些信息要么贴在公告栏,要…

2026/10/10 16:00:50 阅读更多 →
gitee推送更新失败问题记录:remote: error: hook declined to update refs/heads/master 排查与TaoToken辅助定位

gitee推送更新失败问题记录:remote: error: hook declined to update refs/heads/master 排查与TaoToken辅助定位

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

2026/10/10 16:00:50 阅读更多 →
为什么钉钉、飞书、企微都在做 CLI?用 TaoToken 统一 Key 跑通开源项目 CLI 的实战拆解

为什么钉钉、飞书、企微都在做 CLI?用 TaoToken 统一 Key 跑通开源项目 CLI 的实战拆解

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

2026/10/10 16:00:50 阅读更多 →
C语言贪吃蛇项目——第二部分绘制菜单和初始界面:用TaoToken统一Key调试控制台渲染

C语言贪吃蛇项目——第二部分绘制菜单和初始界面:用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/10 16:00:50 阅读更多 →
高通 IQ9075 大模型 Benchmark 全维度实测:从算力基准到场景落地,TaoToken 统一 Key 打通评测链路

高通 IQ9075 大模型 Benchmark 全维度实测:从算力基准到场景落地,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/10 15:59:48 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

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

2026/10/10 11:14:25 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

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

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

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

2026/10/10 11:14:58 阅读更多 →

月新闻

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