基于SpringBoot的个人健康管理系统开发实战
每年到了三月一大波计算机专业的同学就开始对着毕业设计题目发愁。如果你打开题库大概率会看到“基于SpringBoot的个人健康管理系统”这种经典前台平台后台都很成熟、可扩展性又强的题目。说实话这类题目的难点从来不是“做不出来”而是“做得平庸”——功能一堆但逻辑混乱论文套模板但图表不完整答辩时被老师问一句“你这个BMI是怎么算的”就卡壳。我做完这个项目之后最大的感受是它本质上是“数据库设计 SpringBoot CRUD 一个健康业务算法 论文包装”的组合拳每一步都有成熟的套路可循。这个系统适合谁我总结了三类人第一类是Java后端方向、需要练手完整项目的同学第二类是选了“健康管理”类题目、急需一套可复用方案的毕设党第三类是工作中接到内部健康管理小需求、想快速出活的新手程序员。它解决的问题很明确把用户的体检数据、饮食运动记录、健康档案统一管理起来算出BMI、给出简单健康建议再用图表把趋势展示出来让用户能看明白自己身体的变化。这篇文章我就从项目定位、技术选型、数据库设计、核心业务实现、论文写作到答辩准备把我踩过的坑和总结出来的可行方案全部分享出来。我尽量做到你拿着这套思路能自己把项目完整搭起来而不是看完只会喊“666”。1. 项目定位一个健康管理系统到底要解决什么问题1.1 需求背景与目标用户画个人健康管理系统核心痛点非常朴素大多数人的体检报告是纸质的或者PDF今年查完明年就找不着了体重、血压、血糖这些数据散落在各种App和备忘录里没有一个统一的地方做记录和趋势对比。所以这个系统要做的第一件事不是“智能”而是“收纳”——把零散的健康数据结构化地存起来。目标用户我建议画出两类角色就够普通用户注册登录后维护个人信息录入体检记录、饮食和运动日志查看健康评估结果和趋势图表。管理员负责用户管理、健康建议库维护、数据统计概览必要的时候审核用户提交的健康档案。这里有个设计技巧不要把角色搞得太多。有的同学喜欢加“医生”“营养师”甚至“家属”角色结果权限控制写了一堆演示的时候还很乱。毕设的核心是流程完整角色一多C端B端界面全糊在一起答辩反而不好讲。两类角色正好对应前端两套界面和两套接口逻辑清晰又撑得住篇幅。1.2 功能模块的边界划分我最终把整个系统切成了七个模块分组明确模块主要功能对应角色用户认证模块注册、登录、修改密码、个人信息维护用户/管理员健康档案模块基本信息身高、体重、年龄、既往史、档案编辑用户体检记录模块体检数据增删改查、历史记录列表、详情对比用户饮食运动模块每日饮食记录、运动打卡、热量估算用户健康评估模块BMI计算、健康评分、推荐建议生成用户提醒计划模块体检提醒、用药提醒、运动计划定时任务用户后台管理模块用户管理、建议库维护、数据统计管理员模块拆分的原则就一句话高内聚低耦合。每个模块尽量只做自己那点事后面写论文章节的时候基本上一个模块对应一章结构天然清晰。很多同学是开发的时候凭感觉写接口写完之后论文根本没法按模块展开这是很吃亏的。1.3 核心业务流程梳理系统的主流程是这样的用户注册登录后先完善健康档案身高体重等然后可以逐条录入体检数据系统依据档案和体检数据生成健康评估结果和趋势图表同时用户可以记录每天的饮食和运动形成生活方式与健康指标的交叉分析管理员在后台维护建议内容并查看整体统计数据。这个流程画像出来之后你的数据库表结构、接口设计、页面菜单基本就都定了。我建议在动手写代码之前先把这个流程画成用例图放在论文的第3章这是后话但往届不少同学是开发完再补图经常出现图和实现不一致的尴尬。2. 技术选型别让版本和框架选择拖垮你2.1 SpringBoot版本选择别跟着最新版走技术选型是我最早踩坑的地方。我用的是SpringBoot但一开始图新鲜用了3.x结果JDK没升到17隔离开servlet的包名又变了连数据库驱动都有兼容性问题折腾了两天才意识到版本太激进。现在很多教程默认还是2.x网上参考资料、CSDN帖子、StackOverflow解决方案大部分都基于2.7.x你遇到一个报错能秒搜到答案效率完全不同。我的建议很直接项目用SpringBoot 2.7.18 JDK8。这个组合经过了海量项目的验证maven依赖随便拉第三方starter适配也全论文里写“JDK提供了稳定的运行环境”也站得住脚。如果你所在实验室强制要JDK17或SpringBoot 3.x那就注意三个变化javax.*改成jakarta.*引入依赖时看清坐标。springfox生成的Swagger在3.x上有兼容问题推荐用springdoc-openapi。MyBatis-Plus要用3.5.3以上版本才支持SpringBoot 3。一句话总结不是最新版不好而是毕设求稳你的时间应该花在功能和论文上不该花在环境排查上。2.2 数据访问层MyBatis-Plus是效率最优解数据访问层我选的是MyBatis-Plus而不是原生MyBatis或者Spring Data JPA。理由很朴素它把单表CRUD的活全干完了你只需要继承一个BaseMapperT日常增删改查连SQL都不用写需要连表或复杂统计时再手写SQL。这对毕设开发节奏来说太友好了。而且MyBatis-Plus内置了逻辑删除、自动填充、乐观锁、分页插件这几个特性在论文“系统实现”和“系统测试”章节里每一个都能单独展开一段来写。比如自动填充我可以写“利用MetaObjectHandler统一处理创建时间和更新时间字段”这就比“使用了SSM框架”这种描述有含金量得多。这里要提醒一句虽然它能帮你省掉大部分SQL但你得知道它后面做了什么。比如selectById为什么能识别主键TableField(fill FieldFill.INSERT)是怎么触发自动填充的这些原理自己脑子里要过一遍因为这些问题答辩老师极大概率会追问。2.3 前端方案Thymeleaf还是Vue3前端是个分岔路口。我身边有两种主流选择方案AThymeleaf Bootstrap jQuery服务端渲染单体项目打成一个大jar包。方案BVue3 Element Plus Axios前后端分离后端出接口前端跑在Node上。两种方案各有胜负。方案A的绝对优势是省事不用配跨域、不用考虑前端单独打包部署后端启动页面就能直接用了非常适合时间紧或者前端基础薄弱的同学。方案B的优势是界面明显更好看Element Plus的组件成熟表格和表单做出来干净利落答辩演示时观感加分而且Vue3 SpringBoot的组合在当前就业市场也更常见。我个人的建议是这样如果你已经会一点Vue或者愿意花三五天过一遍Vue基础果断方案B视觉效果值得投入如果你前端确实零基础、时间只剩两周那就方案A把注意力放到后端逻辑和论文上。项目本身用API返回JSON两种前端都能对接核心逻辑不受影响。3. 数据库设计与核心表结构3.1 表结构设计的核心思想数据库设计是整个系统里最重要的一环因为后端接口写得再丑表设计好了也能用表设计乱了后面改起来就是灾难。我的经验是先画ER图再建表然后把ER图直接放进论文。表结构按模块拆分核心表大概是这七张user用户表账号密码、昵称、角色、手机号、头像health_profile健康档案表关联用户ID、身高、体重、出生日期、性别、既往病史medical_record体检记录表关联用户ID、体检日期、血压、血糖、总胆固醇、心率、体重等diet_record饮食记录表关联用户ID、餐次、食物名称、热量估算、记录日期exercise_record运动记录表关联用户ID、运动类型、时长、消耗热量、记录日期health_advice健康建议表条件字段建议内容供评估推荐使用reminder_plan提醒计划表关联用户ID、提醒类型、时间规则、状态为什么要这样拆核心逻辑是user表只管账号体系健康数据全部挂到profile和record表上。这样用户删了数据跟着走业务扩展时加字段不会影响认证逻辑。记住一点一个表只描述一种业务主体,这是老生常谈但也是最容易犯的错——比如有些同学喜欢把血压血糖体重都塞进user表看起来数据都在一张表里好查后期做评估和图表时取数逻辑会非常痛苦。3.2 关键表DDL示例这里给出三张重点表的建表SQL作为你开发时的参考雏形-- 健康档案表 CREATE TABLE health_profile ( id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT 主键, user_id BIGINT NOT NULL COMMENT 关联用户ID, height DECIMAL(5,2) COMMENT 身高cm, weight DECIMAL(5,2) COMMENT 体重kg, gender TINYINT COMMENT 性别 1男 2女, birth_date DATE COMMENT 出生日期, medical_history VARCHAR(512) COMMENT 既往病史, created_time DATETIME DEFAULT CURRENT_TIMESTAMP, updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, deleted TINYINT DEFAULT 0 COMMENT 逻辑删除 ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT健康档案表; -- 体检记录表 CREATE TABLE medical_record ( id BIGINT PRIMARY KEY AUTO_INCREMENT, user_id BIGINT NOT NULL, check_date DATE NOT NULL COMMENT 体检日期, height DECIMAL(5,2) COMMENT 身高cm, weight DECIMAL(5,2) COMMENT 体重kg, systolic_pressure INT COMMENT 收缩压mmHg, diastolic_pressure INT COMMENT 舒张压mmHg, fasting_blood_glucose DECIMAL(4,1) COMMENT 空腹血糖mmol/L, total_cholesterol DECIMAL(4,1) COMMENT 总胆固醇mmol/L, heart_rate INT COMMENT 心率bpm, remark VARCHAR(512) COMMENT 备注, created_time DATETIME DEFAULT CURRENT_TIMESTAMP, updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, deleted TINYINT DEFAULT 0, INDEX idx_user_date (user_id, check_date) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT体检记录表; -- 健康建议表 CREATE TABLE health_advice ( id BIGINT PRIMARY KEY AUTO_INCREMENT, advice_type VARCHAR(32) COMMENT 建议类型bmi/血压/血糖/综合, condition_desc VARCHAR(128) COMMENT 适用条件描述例如bmi24, advice_content VARCHAR(512) COMMENT 建议内容, sort_order INT DEFAULT 0, status TINYINT DEFAULT 1 COMMENT 1启用 0禁用, created_time DATETIME DEFAULT CURRENT_TIMESTAMP ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT健康建议表;体检记录表的设计有个细节我没有把身高放在user表里固定而是在每次体检记录里也存了一个height这个设计是为趋势图表服务的。很多人一年内体重和身高会有变化如果只取profile里的初始值画出来的数据就不真实。查询时优先取最新体检记录值取不到再回退到档案表这个回退逻辑在代码里就几行但让数据健壮性提升一个档次。3.3 MyBatis-Plus代码生成与开发效率表设计好了建实体类、Mapper、Service那一箩筐代码如果手写又费时间又容易漏字段。MyBatis-Plus官方有个MyBatis-Plus-Generator代码生成器一键生成entity、mapper、service、serviceImpl到controller。用代码生成器有一个提升格局的细节生成完之后不要直接丢进项目而是逐个实体检查一下字段注释是否完整、逻辑删除字段是否加了TableLogic、日期字段是否加了JsonFormat。生成的controller默认是简单CRUD重复代码多你可以把通用代码抽一个BaseController业务复杂的地方再覆写。这样Controller层代码量能减少三分之一论文里还可以写“系统通过模板模式抽取公共处理逻辑提高了代码复用度”。4. 核心业务逻辑与接口实现4.1 健康指标计算与简易评估算法健康管理系统不能光做增删改查得有点“业务算法”的味道。我实现的核心指标是BMI和血压等级再加一个综合健康评分。BMI的计算公式非常简单体重kg / (身高m的平方)。但这个结论有几个隐藏细节身高要从档案表或最近体检记录里取单位必须是米。很多人用厘米直接除结果数值大了百倍。计算时要处理小数保留一位即可。分类标准用国内标准BMI 18.5偏瘦18.5~23.9正常24~27.9超重28肥胖。综合健康评分我的做法是针对每个指标给一个得分区间再按权重汇总。比如血压收缩压90~139且舒张压60~89得30分轻度偏高得20分明显偏高得10分。血糖空腹3.9~6.1得20分6.1~7.0得15分超过7.0得5分。BMI正常得20分偏瘦/超重得12分肥胖得5分。运动记录每周有3次以上运动记录得15分1~2次得8分无记录得0分。饮食记录有规律记录的得15分完全空白得5分。总分100分80分以上“良好”60~79“注意”60以下“需要干预”。这个评分规则不复杂论文里画一个流程图就能讲清楚但它在答辩里的作用是巨大的——因为它是你系统里“有思考”的部分老师问起时你可以清楚说出每个权重的依据来源这是现成的加分点。建议内容从health_advice表取规则上采用“条件命中”策略写一个AdviceMatcher根据条件表达式如bmi24 and blood_pressurehigh去匹配建议记录。这个设计让建议内容和代码解耦以后要增加建议类别不用改Java代码管理后台配置一条记录就行。4.2 健康趋势图表的实现细节可视化部分是答辩演示的亮点。我用的是ECharts后端给它喂数据。一开始我以为要写一些报表SQL去聚合数据实际操作后发现最简单高效的方式就是接口返回用户最近N次体检记录列表字段包括日期、体重、收缩压、舒张压、空腹血糖。前端拿到后把需要的字段拆成数组传给ECharts的series。之所以不推荐在后端聚合好图表数据是因为这样接口的复用性很差前端换个组件库就没法用了。而且“接口返回原始记录前端负责图表数据组装”这个描述在论文里能体现你对前后端职责分离的理解。{ code: 200, data: { dates: [2024-01-15, 2024-04-20, 2024-07-18], weights: [72.5, 71.2, 69.8], systolic: [128, 135, 126], diastolic: [82, 88, 80] } }后端只需要从数据库按日期倒序查出来映射成VO返回即可。前端配置一个折线图X轴是datesY轴是体重或血压的数组整个趋势就出来了。做多指标对比时用ECharts的双Y轴功能左边放体重右边放血压视觉上更直观。4.3 定时提醒功能与Scheduled的取舍热搜词里有“springboot 定时任务”健康管理系统里很自然地用上了这个特性。我实现了两个定时任务每天早上9点扫描reminder_plan表中今天需要执行的提醒记录生成当日提醒列表。每月1号检查每个用户最近一次体检记录如果超过3个月没有体检就插入一条“体检提醒”通知。SpringBoot里的定时任务真的只需要两个注解在启动类加EnableScheduling在任务方法上加Scheduled(cron 0 0 9 * * ?)。但有一个实战坑要重点提一下定时任务默认是单线程串行执行的。如果你同时挂了多个Scheduled方法其中一个执行时间过长其他任务会被阻塞表现在系统里就是“提醒不按时出现”。解决方式有两个一是使用Async注解让任务异步执行但要注意线程池的配置二是设置spring.task.scheduling.pool.size5让任务调度线程池有足够线程。我建议你先用线程池大小配置解决代码改动最小论文里也好描述为“采用多线程调度提升任务执行吞吐量”。4.4 登录认证与权限控制的落地方式个人健康管理系统涉及用户隐私数据登录这块不能忽略。我选的是JWT方案而不是Session方案理由有二一是前后端分离场景下JWT天然适配二是论文里有内容可写比如“基于无状态Token的认证机制减轻服务端会话存储压力”。实现步骤梳理如下登录接口校验用户名密码密码校验使用BCryptPasswordEncoder的matches方法。校验成功后用jjwt库生成Token里面存入userId和role两个claim设置过期时间24小时。前端将Token存在localStorage中请求头加Authorization: Bearer token。后端定义一个拦截器HandlerInterceptor实现preHandle方法校验Token有效性并把用户信息放入ThreadLocal或Request Attribute。一个字一个字打完之后有个细节得啰嗦两句ThreadLocal用完一定要remove这是我实习时亲眼见过线上问题才长记性的。一个请求处理完ThreadLocal里的用户信息如果不清除在Tomcat线程复用机制下下一次请求可能拿到别人的用户信息这是严重的安全事故。所以在afterCompletion方法里必须调用userContext.clear()。密码存储方面重要的事情说三遍绝对不要明文保存密码。用BCryptPasswordEncoder加密它自带盐值每次加密结果都不同数据库泄露了也不容易被反推。答辩被问“密码怎么存的”这句话的时候你直接说“BCrypt加盐哈希存储”老师就知道你认真做过。5. 论文写作怎么把项目包装成合格毕设5.1 论文结构模板与各章节篇幅分配很多毕设论文其实有非常固定的骨架。我这份项目的论文最终结构大致这样绪论约1500字研究背景与意义、国内外研究现状、论文结构安排。相关技术介绍约1500字SpringBoot、MyBatis-Plus、MySQL、Vue/ECharts。系统需求分析约2000字可行性分析、功能需求、用例图、非功能需求。系统设计约3000字总体架构、功能模块设计、数据库设计、ER图。系统实现约3000字各模块核心代码与界面截图、关键实现逻辑。系统测试约1500字测试环境、功能测试用例表、性能简单测试。总结与展望约500字。总字数一万字左右刚好符合一般本科毕设的篇幅要求。写作顺序我建议先写完第5章“系统实现”因为代码都写好了照着截图和代码讲再回头补需求分析和设计最后写绪论。这样写起来心理压力小而且越写越有素材。5.2 文献综述与参考文献的技巧文献综述部分很多同学卡在“找不到相关文献”。这里其实有套路去知网或万方搜关键词“健康管理系统”“SpringBoot 系统设计”“医疗信息化”确保做到以下组合中英文文献比例大约3:1总共15~25篇。至少要有3~5篇近三年的文献体现“当前研究现状”。文献不要只列不评每段综述最好最后写一句“上述研究为本文提供了xx方向的参考”。参考文献格式按学校的引用规范统一常见的是GB/T 7714。最省事的做法是用知网导出的引用格式再手动校一遍作者名和页码。这里有个很多同学会忽略的点引言里引用的文献必须在参考文献列表里找到对应条目一一对应。老师查重包括对这个的检查不对应会被认为学术不规范。5.3 图表规范与测试章节的写法论文图表是答辩老师快速判断你工作量的一块试金石。系统设计章节至少要包含以下几张图系统架构图后端程序总体分层结构用例图用户和管理员的动作数据库ER图核心表实体关系核心业务流程图健康评估流程系统功能结构图按模块层级展示画图工具推荐ProcessOn或者draw.io类别选“软件设计”。模板风格统一用一套配色别红一张蓝一张。截图一律用系统真实运行截图不要PS因为答辩现场演示时如果截图里出现的页面和实际系统不符老师当场就会觉得你论文和系统不是同一个人做的。测试章节比较简单但千万别写“经测试系统运行稳定”这种空话。我的做法是做一个功能测试用例表字段包括测试编号、测试模块、前置条件、测试步骤、预期结果、实际结果。列5~8条核心功能用例就行比如“用户注册成功后可登录”“录入血压超出合理范围时提示确认”“管理员可以禁用用户”等。测试表写完再补一段“测试结果分析”整个章节就有血有肉了。6. 答辩PPT与现场演示策略6.1 PPT结构与页面分配答辩PPT不要搞太长十五到二十分钟的汇报PPT控制在15~20页就够了。我排序如下封面项目名称、姓名、指导老师目录选题背景与研究意义1~2页系统需求分析1页重点放用例图系统技术架构1页架构图数据库设计1页ER图精简版核心表截图核心功能实现3~4页每个功能模块放截图配少量文字系统测试1页放测试用例表截图项目总结与不足1页PPT最忌讳的就是条条罗列大段文字。每页的主体要么是图要么是截图文字只放结论。比如讲健康评估时页面上放一张评估前后对比图上面标“BMI 25.1提示超重”比写三行字解释算法清晰得多。6.2 现场演示系统的防翻车清单答辩翻车往往不是项目本身的问题而是演示环境的问题。我从学长那里听过的悲剧包括数据库连接不上、端口被占用、前端请求跨域报错、演示数据没提前录入。做演示准备时我列了一个清单数据库初始化好演示账号密码要简单好记如admin/123456别现场输入密码时手滑。提前录入一批真实感强的演示数据至少30条饮食记录、5次体检记录、3条运动记录图表有数据可看。关闭本地代理保证localhost访问正常。如果演示环境有显示器分辨率低前端页面提前调成自适应别打开页面按钮被挤到屏幕外边。准备一个备用的演示视频如果现场断网直接播放录好的操作录像。最好提前把演示流程排练三遍。我的经验是第一遍最乱第二遍知道自己哪里会卡壳第三遍就能边操作边讲得有条不紊。6.3 高频答辩问题与引导式回答答辩环节老师的问题基本集中在这几个方面提前准备一下“你为什么用SpringBoot而不用SSM”回答思路SpringBoot的自动配置帮我们省掉了大量XML配置内置Tomcat让部署变成本地启动一个jar包生态成熟社区资料丰富适合快速完成项目开发。重点突出“自动配置”“开箱即用”。“你的健康评分规则依据是什么”回答思路参考了中国成人超重和肥胖预防控制指南以及血压、血糖临床诊断标准细化成可量化的评分区间再结合每周运动和饮食记录做综合评估。这段话要背熟。“数据库是怎么优化查询的”回答思路表结构上对userId和日期字段建联合索引慢查询主要发生在按时间范围取体检记录所以索引方向要符合WHERE user_id ? AND check_date ?这种模式另外用MyBatis-Plus分页插件限制返回条数避免全表扫描。“你系统的安全性怎么保障”回答思路密码BCrypt加密、JWT做身份认证、拦截器校验所有非白名单接口、逻辑删除保留数据审计痕迹。能说这一串老师基本不会再追问。这里有个加分技巧回答问题时主动把话题引导到你准备过的内容上。比如老师问“你遇到过什么难题”不要说泛泛而谈的“配置问题”而是具体说“定时任务阻塞问题排查发现线程池默认单线程后来调整了调度线程池大小解决”。这样老师顺藤摸瓜继续问的也是你熟悉的话题整个答辩节奏都在你的掌控范围里。7. 收尾做完这个项目之后我的体会我真心觉得个人健康管理系统是一个“性价比”很高的毕设题目。它的技术栈主流业务逻辑清晰算法部分又不至于难到做不出来而且跟当下的健康管理热点挂钩论文查重的时候也有大量的公开文献可以参考。做完整个项目最大的收获不是写了多少行代码而是把SpringBoot从“会用”变成了“知道为什么这么用”——比如理解了自动配置的加载机制知道了为什么选MyBatis-Plus而不是原生MyBatis也体会到了表结构设计对后端开发的巨大影响。最后给个小技巧如果你打算把这个项目用于找Java开发的工作建议把健康评估算法部分再做一步增强——比如从评估结果生成PDF报告或者接入第三方库做简单的时间序列预测。这些改动不大但能让你的项目经验在面试官那里瞬间提高辨识度。毕设做完之后别急着删数据库把演示数据和账号留着找工作面试时说不定还要再演示一遍。

相关新闻

工业串口称重通信四大稳定机制详解

工业串口称重通信四大稳定机制详解

/* 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 3:05:54 阅读更多 →
Modbus地址规则详解:三套编号体系与现场映射公式

Modbus地址规则详解:三套编号体系与现场映射公式

/* 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 3:05:54 阅读更多 →
SSA+KAN+Transformer时序预测:三重校准实现可解释高精度

SSA+KAN+Transformer时序预测:三重校准实现可解释高精度

简介:本资源是一套面向时间序列预测任务的创新性深度学习方案,融合SSA麻雀优化算法、KAN(Kolmogorov–Arnold Network)可解释神经网络与Transformer时序建模能力,适用于中高级Python开发者及机器学习研究者开展时序回归…

2026/10/9 3:04:53 阅读更多 →

最新新闻

从元器件到LM317可调电源:零基础硬件电路设计实战指南

从元器件到LM317可调电源:零基础硬件电路设计实战指南

/* 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 3:33:14 阅读更多 →
三秒生成Alpha通道:贴花素材自动抠图并直连Substance Painter

三秒生成Alpha通道:贴花素材自动抠图并直连Substance Painter

做3D材质的兄弟应该都有过这种经历:在素材网站上看到一张完美的磨损贴花,下载下来,丢进Substance Painter一拖——结果背景一片灰,边缘全是杂边,Alpha通道干干净净地写着“无”。于是你打开Photoshop,魔棒、…

2026/10/9 3:33:14 阅读更多 →
Uber集成缓存:把缓存嵌入MySQL存储引擎的高并发读架构

Uber集成缓存:把缓存嵌入MySQL存储引擎的高并发读架构

买卖双方都不傻,亿级流量面前,缓存方案一定不是“用 Redis 顶在前面”这么简单。Uber 这篇集成缓存(Integrated Cache)的分享,是系统设计圈里少有的、把缓存直接塞进数据库存储引擎里的实战派解法。我读完第一反应是&a…

2026/10/9 3:33:14 阅读更多 →
AMD Ross FPGA Agent 深度解析:从 Vivado 工程自动化到智能调试

AMD Ross FPGA Agent 深度解析:从 Vivado 工程自动化到智能调试

/* 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 3:33:14 阅读更多 →
EtherNet/IP工业以太网协议实战:从CIP架构到PLC与SCADA联调配置

EtherNet/IP工业以太网协议实战:从CIP架构到PLC与SCADA联调配置

/* 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 3:33:14 阅读更多 →
双指针算法全攻略:对撞、快慢、滑动窗口三大模板与实战总结

双指针算法全攻略:对撞、快慢、滑动窗口三大模板与实战总结

刷题刷到一定量,很多人会慢慢总结出一条规律:有一类题的解法特别“固定”——有序数组里找两个数凑目标值、链表中判断有没有环、字符串里找不重复的最长子串,题面长得完全不一样,翻开题解一看,底层全是同一个思路&…

2026/10/9 3:32:13 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

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/8 15:26:32 阅读更多 →
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/8 15:26:40 阅读更多 →
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/8 10:10:36 阅读更多 →

月新闻

我发现了一个新思路:用 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/8 21:13:17 阅读更多 →
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/8 15:26: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/7 13:34:55 阅读更多 →