diagram-design系统方法论:让架构图成为工程制品
diagram-design这个词我在不同团队里见过完全相反的两种待遇。有人觉得画图就是个辅助表达的工具随手画个框加几条箭头就算交差也有人把架构图当工程制品来管理每一张图都要评审、版控、跟着代码一起演进。我自己的体会是大部分项目里真正拖后腿的往往不是画图这个动作而是对这张图到底要解决什么问题完全没有想清楚。很多团队辛辛苦苦画出来的系统架构图新同学入职看不懂跨组协作没人看过了半年连画图的人都说不清箭头含义。这篇文章我想从设计角度把diagram-design这件事拆开聊一聊聊的是怎么让图真正成为能传递信息的载体而不是一张挂在文档里自我安慰的装饰画。1. 先搞清楚你要画的是哪种图diagram分类与场景选型1.1 画图之前先回答这张图给谁看我有段时间习惯拿到需求就打开工具开始画画到一半才发现连图的受众都没想清楚。后来被一位前辈点醒diagram-design的第一步不是选工具也不是定布局而是定义读者。读者决定了信息粒度、抽象层级、符号系统甚至决定了该用哪一类的图。举个例子同样是描述一个下单流程给产品经理看的图应该突出业务节点和异常分支术语要用支付成功库存扣减这种业务语言给后端开发看的图要画到服务边界、接口调用、消息队列甚至标注超时和重试策略给运维同学看的图则要包含部署形态、依赖端口、数据流向。三批人的关注点完全不一样硬用一张图去cover所有场景结果就是每个人都要在图上找半天自己关心的信息最后谁都不满意。所以我会在动手前先做一件事在文档开头写下读者角色和这张图的核心问题。核心问题通常一句话能讲完比如下单请求从网关到订单服务的调用链路上有哪些依赖或者库存系统数据同步的任务调度关系是什么。这句话会成为后面所有设计取舍的判断依据——凡是跟它无关的元素一律不画凡是跟它相关的必须画清楚。1.2 常用图型的适用边界和误用diagram-design的第二个基本功是熟悉主流图型的适用场景。很多画得乱七八糟的图根子上是图型选错了。UML规范按用途把图分成结构图和行为图两大类这个分类思路放到日常工作中依然实用。图型核心问题主要受众常见误用架构图系统由哪些部分构成、边界在哪开发、架构评审、新同学把部署细节和业务流程混在一张图里流程图一件事按什么顺序走、有哪些分支产品、开发、测试画成线性的没有体现异常分支时序图多个对象之间按时间顺序如何交互开发、联调双方对象太多导致时序线互相交叉状态图一个对象有哪些状态、怎么迁移开发、测试把状态图和流程图混着用部署图进程/服务跑在哪、端口和网络依赖运维、开发画成物理拓扑却不标端口和协议ER图实体之间如何关联后端开发、 DBA字段级细节全部铺出来C4模型从不同抽象级别描述系统全角色一开始就画到类级别信息过载这个表格不是让你死记硬背而是帮你建立一个判断框架。我见过最典型的误用场景是有人把系统架构图画成了部署拓扑所有微服务方块下面再画一台数据库服务器然后用一条粗箭头连接。这张图既看不清楚服务间的调用关系也看不清楚依赖的部署边界属于两类图型互相污染。选型的原则很简单先问核心问题是结构性的还是行为性的。结构性选架构图、部署图、ER图行为性选流程图、时序图、状态图。两类问题都有就拆成两张图而不是揉在一起。1.3 我在选型时用的判断逻辑我现在拿到一个问题会按三步走判断图型。第一步看抽象层级问题发生在业务层面、系统层面还是代码层面业务层面优先考虑流程图、事件图系统层面考虑架构图、时序图代码层面考虑类图、ER图。第二步看时间维度如果核心是顺序和状态迁移就选行为图如果核心是结构和依赖就选结构图。第三步看互动范围单个系统内部用流程图可能就够跨系统的协作则必须用时序图来表达调用顺序和超时关系。这套逻辑用完以后大部分项目的图型选择都能收敛下来。剩下的那些模糊地带比如客户旅程地图到底算不算流程图其实不重要重要的是你清楚知道图想表达的核心信息是什么。2. 一张能看懂的图是怎么设计出来的从信息结构到视觉表达2.1 信息架构先行先列清单再画框线很多人画图的第一步是画一个矩形框然后往里面填字。这个顺序是反的。我自己的习惯是先在文档里把要表达的要素列成清单要素可能是模块、服务、角色、任务、状态、数据表也可能是决策分支。清单列完以后再给它们分组分组依据通常是边界——系统边界、团队边界、进程边界、信任边界。分组出来以后图的骨架其实就已经定了。这个过程的本质是先做信息架构再做视觉呈现。跳过信息架构直接画框容易出现的典型问题是为了对齐布局而强行增删元素——某个模块因为放不下了就被省略某个连线因为太乱了就被删除。设计师拿到一个需求会先梳理信息层级然后才考虑视觉表现diagram-design也一样。2.2 布局与分层为什么你画的图别人第一眼不知道看哪用抽象分层来控制图的骨架是我认为diagram-design里性价比最高的一步。我见过很多混乱的图都有一个共同的毛病所有元素视觉权重一样。每个框大小差不多线型差不多字号差不多读者视线在图上扫来扫去完全不知道第一眼看哪里。解决这个问题我在实践中总结了四个策略。确定主视线方向。信息流如果是从左到右所有核心路径的元素就沿水平方向排开如果是顶层到底层那就垂直展开。主视线方向定了以后辅助元素要么放在主线的上方作为附属说明要么放在下方作为支撑细节不要让辅助分支和主路径在视觉上平行竞争。用容器表示边界。系统边界、进程边界、团队边界用大圆角矩形框起来框内放归属元素框外放外部依赖。边界框本身就是一种信息它告诉读者哪些东西在同一个上下文里哪些不是。核心元素放大提亮。最重要的模块可以用更大的尺寸和更重的边框突出次要元素保持低调。视觉层级和业务重要性对齐以后读者自然能按你期望的顺序看下去。给主线粗箭头、支线细箭头。主调用路径、主数据流重点突出次要的、偶尔触发的路径弱化。很多图看起来平铺直叙就是因为所有箭头一样粗读者无法分辨主次。2.3 视觉规范颜色、线型、图例的约定视觉规范是diagram-design里被低估的部分。我对颜色的要求其实很简单语义优先美观其次。颜色应该承担固定的语义比如绿色表示正常路径、红色表示异常或告警、灰色表示未涉及本次变更的模块、蓝色表示核心模块。语义一旦定下来整张图都要遵守不能在另一张图里把绿色换成蓝色。同理线型也要有约定实线表示同步调用虚线表示异步消息点线表示数据流/依赖粗实线表示主路径。箭头方向明确表示依赖或流向同一张图里不可以忽左忽右。图例不是可选项。任何超过十个元素的图我都建议加上图例。图例放在图的左下角或右下角用两三行说明颜色和线型含义。我知道有人觉得图例显得很正式很僵硬但真正协作的时候图例能省掉无数这个箭头是什么意思这个红色边框代表什么的对话成本。2.4 信息密度控制知道什么时候该停手信息密度是diagram-design里最需要克制力的部分。理论上图表能承载无限信息但人脑能处理的信息量有限一张图承载过多会适得其反。我判断信息密度是否合适的标准是读者在30秒内能不能说出这张图的核心结论。如果不能要么图太杂要么标题和主视觉不够突出。我一般的做法是如果一个模块里的细节文字超过5个短词就考虑把细节移出主图放进附属说明或者单独的拆解图。比如服务名order-service可以留在图上但order-service包含的12个REST接口就不该出现在架构图里。同理一张时序图如果有超过五个交互对象我会认真考虑是否拆成多张或者用分组把对象降维。这里最难的不是技术是承认这张图已经够了然后停手。3. 文本化图表让设计进入工程流程工具链的选择3.1 为什么我最终从拖拽工具转向文本化工具过去我在各种拖拽式工具里画图遇到的最大问题是图表的生命周期管理。画完一张图发给同事同事提了几个意见我改了一版再发过几天需求变了又要改。整个过程中图只有一个最终版过程版本全都丢了也没法和代码一样做diff、做review。后来接触到以文本描述方式生成图表的方案我才找到真正适合工程团队的工作方式。文本化图表的本质是用特定语义的DSL方言描述图的元素和关系再通过解析器渲染成图片。好处有三个。第一文本本身进Git可以diff、可以review、可以回溯图表第一次获得了和代码同等的版本管理待遇。第二改动成本低调整一个箭头、增加一个模块只改一行文本不需要用鼠标拖动画布。第三可生成性强脚本可以批量生成一些规则相对固定的图比如服务清单自动生成架构图。3.2 Mermaid核心语法与实例Mermaid是我目前用得最多的图表DSL。它支持流程图、时序图、状态图、甘特图、类图等多种主流图型语法设计得比较贴近人的直觉。举一个流程图的例子。graph LR A[用户发起下单] -- B{库存校验} B --|充足| C[扣减库存] B --|不足| D[返回失败] C -- E[创建订单] E -- F[发送消息]这段文本定义了一个从下单到发消息的线性流程graph LR表示从左到右布局A、B、C是节点ID方括号定义矩形节点花括号定义菱形判断节点箭头和标签描述流转逻辑。虽然最终成型有专门却清晰的渲染结果但真正重要的是这段文本可以被review、被修改、被测试这些能力是拖拽工具完全不具备的。Mermaid还有一个很适合工程团队的用法——在Markdown文档中直接嵌入图表。技术方案、接口文档、团队周报里需要展示图表时直接写一段mermaid代码块就行文档平台在渲染时自动出图。这意味着图和文档可以放在同一份文件里同步维护不用再单独保存图片再维护说明文字。3.3 PlantUML在UML场景的位置PlantUML是另一个选项它在UML图型的完整度上比Mermaid更接近规范。类图、时序图、用例图、活动图都有相对成熟的支持尤其在类图和时序图的表达上PlantUML的语法更贴近UML语义。我个人的选择建议是日常快速画流程图、架构示意用Mermaid因为简洁够用如果需要正式UML交付物尤其是类图这种对关系语义表达能力要求高的图型PlantUML更稳。比如描述类之间组合与聚合关系时PlantUML提供的语法会比Mermaid更精确。3.4 Excalidraw这类手绘风格工具的位置文本化工具不是万能的。有些场景反而需要看起来像草稿的手绘风格图。我接触过Excalidraw这类手绘风格工具它们有一个很独特的价值——降低读者的心理预期。一张像雕塑一样精美的图读者会默认它精确到每个细节都可以依赖而一张明显带着手绘质感的草图读者会更快关注概念关系而不会揪着某个坐标对不上号不放。这样的工具特别适合idea探索阶段和设计讨论白板场景。团队在设计评审前临时画一张架构草图用Excalidraw比用文本化工具更顺手因为它几乎没有学习成本上手就能画。它的实时协作和生成链接分享功能也让远程讨论变得非常流畅。我在实际项目中体验是它和文本化工具并不是替代关系而是互补关系——一个用来快速思考和讨论一个用来固化成果进行版本管理。3.5 工具选型对比与我的组合方案工具选型最终应该根据团队的工作形态决定没有通吃银弹。我基于自己的项目实践做了一个简单的对比表。维度MermaidPlantUMLExcalidraw拖拽式白板学习成本低中极低低版本管理极好纯文本极好纯文本差差UML完整度中高差中快速讨论中中极好好规范输出好好中好协作实时性中依赖平台中依赖平台极好极好我当前用得比较多的一套组合是项目架构图、时序图、流程图的正式交付物用Mermaid直接嵌入方案文档需要UML语义精确的类图、部署拓扑用PlantUML平时远程讨论、白板推演用Excalidraw涉及跨职能大型工作坊时会临时用协作白板类的工具。这套组合的核心逻辑是正式交付物必须可版本管理临时讨论追求低摩擦两者分开各取所长。4. 一个从零到一的设计实例以微服务架构图为例4.1 需求边界澄清光讲理论和工具容易飘我用一个实战例子把这套方法串一遍。假设我们要设计一张微服务系统架构图背景是某业务平台的主链路涉及客户端、网关、业务服务、消息中间件和数据库。技术选型和业务规则都不重要重要的是整个设计的决策路径。第一步不是画框而是澄清这张图要解决什么问题。我确定的读者是刚入职的后端开发核心问题是一句话一个下单请求从进来到落库经过了哪些服务和中间件。目标定了后面所有信息取舍都有依据。4.2 第一版把模块和流程都塞进去第一版的错误示范往往是信息堆砌把网关、鉴权服务、用户服务、商品服务、库存服务、订单服务、支付服务、消息中心、各种数据库、缓存全画上去然后用密密麻麻的代际关系把整个画布铺满。我早期经常这样结果就是一张没有重点的全景图读者看完只知道系统很复杂完全记不住主链路长什么样。第一版真正的意义是让所有需求涉及的模块都先出现在画布上先做加法再做减法。它存在的价值是避免漏掉关键元素而不是作为交付品。在这一版里我只需要确认每个模块有没有模块之间的依赖关系初步是否合理各模块分属什么边界。4.3 第二版按受众做分层裁剪第二版开始做减法、做视觉层级。核心问题是主链路这条主线必须足够突出。我确定的处理方式是把画布分成三个横向泳道从上到下分别是接入层、业务层、数据层。接入层只放客户端和网关业务层放订单服务、库存服务、支付服务它们用粗实线连成主链路数据层放MySQL、Redis等存储组件。消息中间件作为异步化支撑组件放在业务层旁边与主链路之间用虚线连接到相应服务。这样布局以后读者第一眼看到的是三条横向泳道知道系统分成三层。第二眼看到的是业务层那条粗箭头穿过的服务序列知道主链路要经过哪些服务。第三眼才看到消息、缓存这些支撑件知道它们挂在哪些服务边上。这个层级关系就是前面提到的主视线方向容器边界视觉权重三个策略的组合落地。4.4 让主链路保持清晰的取舍原则在做第二版的过程中有几个反复让我纠结的细节这些细节本身也很有借鉴意义。第一个是鉴权。鉴权服务确实是网关之后必经的一步但鉴权不是这条业务主链路的业务语义重点画上去会分散注意力。我最终的取舍是在网关旁边用一个很小的附属节点标注鉴权两个字用细线连到网关上不参与主链路的粗线连接。读者知道环节是有的但不会被它带偏。第二个是缓存。缓存服务在这个场景里是支撑组件但主流程里存在缓存读写。如果把它和数据库放在同一层容易混淆缓存是数据层的直觉。我把Redis放在数据层的左侧用虚线连接到商品服务和订单服务并标注读缓存这样它既参与链路又不显得和MySQL是同等的角色。第三个是失败分支。下单流程里库存不足、支付失败都是真实存在的业务分支但放进主链路会破坏主视觉的简洁度。我选择在主链路下方用一条细虚线画一个简化的失败处理分支只标注到记录失败原因、返回错误信息这个粒度不在图上展开补偿事务、消息重试这些细节。如果有需要我会把它们拆成单独的时序图。4.5 成稿之后的自我检查项画完这张图我会拿着它过一遍检查清单。第一项是30秒原则如果30秒内说不清这张图的主链路就重新调整。第二项是术语一致性图上所有模块命名是否与代码库中的service名对齐如果命名和代码不一致读者去定位代码时会对不上。第三项是单向依赖检查是否存在从数据层反向指回业务层的箭头如果存在说明分层逻辑有问题。第四项是图例是否解释了所有特殊符号虚线、粗线、颜色各自代表什么有没有遗漏。这个清单我建议直接抄到团队文档里。每次评审架构图都按这几条过一遍图的平均水平会很快提升。5. 图表过时是常态把diagram纳入协同与版本管理5.1 代码与图表的同步难题图纸和文档一样最大的敌人是过时。实际经验是静态图片格式的架构图生命周期通常很短——需求一变更代码一改图就旧了。旧图比没图更糟因为读者会在图没更新和图是对的之间反复揣摩最终失去对整份文档的信任。想让图表不变成一次性消耗品关键在于把图表的修改成本降到足够低低到开发者愿意在代码变更的同时顺手更新图。文本化图表在这里的价值就体现出来了——修改一行Mermaid文本的成本远低于重新打开画布拖拽一遍。我在项目推进过程中还会要求Figure必须和代码变更提交在同一次commit里完成这个约束可以最大程度地避免代码变了但图忘了改。5.2 在代码库中维护图表的实践把图表文本放进代码仓库是我目前觉得最稳妥的实践方式。具体做法是在项目根目录建一个docs/architecture/目录图以.md文件存储里面用Mermaid或PlantUML代码块定义。这样每次代码评审时diff里面同时显示了代码变更和图的变更审查者可以在一次review请求里判断代码和图是否同步演进。这个做法还有额外的好处图表可以参与自动化检查。我参与的系统就用脚本对Mermaid源码做CSV校验检查例如检查图上节点的命名是否符合规范、检查有没有出现未定义的服务名拼写。这听起来有点小题大做但实际执行下来抓到过好几次把一致性错误和拼写错误偷偷放进架构图的情况。5.3 评审时常见的问题清单图表评审和代码评审一样需要一套可执行的检查标准。我整理过一份图表评审清单在代码评审会上直接使用效果很不错。检查项检查要点失败时的处理主链路是否突出30秒内能否指出核心流程重新调整视觉层级边界是否清晰各模块归属是否明确增加容器/泳道依赖方向是否一致箭头是否混乱交叉统一方向规范命名与代码一致服务名/模块名是否对得上修改图上命名图例是否充分特殊线型颜色是否说明补充图例信息密度是否适中是否有大量堆叠拆分子图每次评审后立刻修改图表代码不留待办。这样团队才会慢慢形成图表和代码同等重要的共识。一旦这个共识建立起来团队里的diagram-design水平会整体往前走一大步而不只是靠个人英雄主义式的自觉。6. 我踩过的几个坑和它们换来的教训这些年在diagram-design上踩过的坑有些至今想起来都还觉得值得复盘。第一个坑是过度追求美观。有一段时间我花了大量精力调颜色、调对齐、调圆角图确实变好看了但读者反馈看起来高级了但信息还是没讲清楚。后来我意识到视觉美化是锦上添花信息结构才是基础建壮的决定因素。正确的顺序是先保证信息层级清晰、主链路突出再考虑视觉表现。如果信息本身是乱的多美的视觉效果都掩盖不住。第二个坑是过度依赖标准。学过UML的人容易陷入C4模型才是标准必须严格按UML规范来的执念。我在一个跨团队沟通场景里曾经用C4四层模型画完整个技术方案结果发现其他团队的同事根本不需要那么细的层级他们要的只是一张接口之间怎么调的草图。后来我调整了思路规范是你的工具箱不是你的束缚。在团队内部可以讲究规范跨团队沟通时以传达信息效率为先该简化的简化该跳过的跳过不必被标准绑架。第三个坑是忽视图表背后的协作过程。我之前以为只要画得好就会有人看后来发现一个关键的认知转变图表的重要价值在于它作为一种协作介质帮助团队讨论和统一认识图最终长什么样只是讨论结果的具象表达。我现在的做法是尽早把一份浅显但有框架的图丢到讨论群里哪怕它是半成品。让团队基于图去讨论远比我一个人埋头画完再让大家挑毛病高效得多。几乎每个有效的设计讨论都不是对着空白的文档开始而是从一张粗糙的图开始的。第四个坑是只画不维护。我负责的一块业务系统早期画了一张架构图放在wiki里过了三个月再看服务已经拆了好几个消息队列换了一套图上的信息几乎全部失效还不断有新人对着旧图问问题。从那以后我把所有重要的图表全部收进代码仓并且要求涉及图的改动必须和代码改动一起提交。维护成本确实增加了但换回来的是文档的可信度。到最后真正重要的不是画了多少张图而是多少张图在半年后还能被人放心地拿来当依据。我在实际的项目协作中体会到diagram-design这件事真正的分水岭不是你会用多少工具而是你有没有一套可持续运转的方法论——从选型、分层、视觉规范到版本维护每一步都有明确的取舍依据。工具迭代、风格变化都不重要这套底层逻辑能让你在任何工具上把图画清楚、维持住并让它们真正服务于设计沟通和团队协作。

相关新闻

MySQL存储引擎原理解析:InnoDB为何成为默认,选型与事务机制

MySQL存储引擎原理解析:InnoDB为何成为默认,选型与事务机制

说实话,MySQL 里的“存储引擎”这四个字,我刚开始学的时候是完全没概念的。跟着教程建表,别人写 ENGINEInnoDB,我也跟着写 ENGINEInnoDB,心里却一直在嘀咕:这个 InnoDB 是啥?为什么不直接写 MyS…

2026/10/19 11:07:00 阅读更多 →
从SVPWM到AZSPWM:共模电压抑制原理与Simulink仿真对比

从SVPWM到AZSPWM:共模电压抑制原理与Simulink仿真对比

做电机驱动或者电力电子这块,很少有人能绕开SVPWM(空间矢量脉宽调制)这个默认选项。电压利用率高、谐波表现好、数字化实现顺手,教科书里的公式现成,工程上也验证充分。但只要你把设备接到真实电机上,尤其是…

2026/10/19 11:07:00 阅读更多 →
社会网络分析实战:从关系建模到中心性指标与社群发现

社会网络分析实战:从关系建模到中心性指标与社群发现

1. 从“关系”出发:社会网络分析到底在解决什么问题很多人第一次听到“社会网络分析”这个词,脑子里浮现的可能是社交软件的好友关系图,或者某部电影里FBI在墙上钉满照片和红线的那种场景。实际上,社会网络分析(Social…

2026/10/19 11:07:00 阅读更多 →

最新新闻

AI面试八股文-17_17-AI 编程工具与自主 Coding Agent 面试题

AI面试八股文-17_17-AI 编程工具与自主 Coding Agent 面试题

pdf版下载链:https://pan.quark.cn/s/9cc742e9c2a8 17 AI 编程工具与 Coding Agent:原理、评测与工程实践 更新: 2026-10-12 难度: ⭐⭐⭐⭐ 考点: Coding Agent、Harness、沙箱、权限、Skills、长任务、评测与工具选…

2026/10/20 5:05:58 阅读更多 →
Python vs Go:2026年到底该怎么选

Python vs Go:2026年到底该怎么选

早些年我写项目,常年泡在Python里。写接口、跑数据分析、捣鼓大模型原型,几行代码就能把想法跑通,爽感拉满。但随着服务流量涨上去,麻烦接踵而至:接口延迟忽高忽低、容器冷启动慢吞吞、并发一上来资源开销直接超标。那…

2026/10/20 5:05:58 阅读更多 →
详细描述一个完整RAG系统的详细工作流程?

详细描述一个完整RAG系统的详细工作流程?

/* 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 5:05:58 阅读更多 →
windows上安装docker步骤

windows上安装docker步骤

1. 检查是否已开启虚拟化 ctrlshiftesc快捷键: 2. 安装wsl 开启管理权限在cmd中输入以下命令: wsl -l -v查看版本: wsl -l -v输出会显示每个发行版的 NAME、STATE、VERSION,其中 VERSION 为 1 表示 WSL1,2 表示 WSL2 。如果…

2026/10/20 5:05:58 阅读更多 →
一亿数据找Top K,内存仅存k个元素(Top—K问题)

一亿数据找Top K,内存仅存k个元素(Top—K问题)

问题导入:假使有一亿个整数要去排序,从中找出k个最大值和k个最小值,当前的内存仅仅可以保留k个整数应当如何存储内容扩展:1GB1024MB1024*1024KB1024*1024*1024Byte≈10.7亿字节一个整形需要用到4个字节,一亿个整形要用…

2026/10/20 5:05:58 阅读更多 →
Agent稳定运行的工程基石:Harness设计与实践拆解

Agent稳定运行的工程基石:Harness设计与实践拆解

先交代一个背景。我们团队最早做某自动化运维 Agent 时,第一版代码就是一个while True循环里反复调用大模型、执行工具、再喂回模型。前三天跑得挺顺,第四天它突然开始疯狂调用同一个内部接口,把下游服务打到限流。查了半天才发现&#xff0c…

2026/10/20 5:04:57 阅读更多 →

日新闻

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实现详解

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

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

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

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

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

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

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在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/19 2:54: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/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练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 阅读更多 →