如果你最近在关注前端圈应该会发现一个很有意思的现象以前招聘网站上写的是“高级前端工程师”现在越来越多岗位改成了“AI 应用前端工程师”或“AI 产品前端”。这不是换个马甲而是业务需求真的变了——大模型能力接入产品后前端的活儿从“做界面”变成了“做 AI 交互”。我这两年带过几个 AI 项目也带过几个转岗的同学踩了不少坑之后才摸清楚这条路该怎么走。这篇三个月学习计划就是把我自己验证过的东西整理一遍给想往 AI 方向转的前端同学一份可以直接照着执行的路线。它解决什么问题呢市面上很多教程只教你怎么调 API却不告诉你调完 API 之后的流式渲染怎么处理、Agent 状态怎么展示、长任务队列怎么交互。也有不少路线图列了一堆知识点但没有时间节奏和验收标准学三个月最后什么项目都拿不出来。所以这份计划的核心是把“AI 应用前端”拆成三块前端基础、AI 工程能力、实战项目然后按周分配任务每周末都有明确产出物。适合两类人一是已经掌握 HTML/CSS/JS 基础、想进阶 AI 领域的前端二是后端转前端、想做 AI 产品的同学。看完你会有清晰的路线也能直接动手执行。1. 先搞清楚AI 应用前端工程师到底在做什么1.1 传统前端和 AI 应用前端的核心差异传统前端工程师的核心职责是把后端给的数据变成界面。列表、表单、弹窗、图表本质上是“数据展示”交互路径相对固定状态流转比较清晰。后端返回一个 JSON你用 setState 存下来再渲染到页面上工作就结束了。AI 应用前端完全不是这个套路。你要面对的是不确定的输出、流式的数据、多轮对话的上下文管理甚至是 Agent 在后台调用工具时产生的一系列中间状态。举个例子做一个 AI 客服对话页用户发一句话之后后端不是一次性返回完整答案而是像打字机一样一段一段往外吐字。你的任务不只是把字显示出来还要处理“正在思考”“正在检索文档”“正在调用工具”这些中间状态让用户看得明白 AI 在干什么而不是干等。再比如 RAG检索增强生成产品前端要展示“AI 引用了哪份文档的哪一段”。这些引用来源数据可能是结构化对象也可能是 Markdown 文本里的锚点需要前端做复杂的解析和渲染。还有多 Agent 协作场景页面上要同时展示好几个 Agent 的执行状态、任务进度、工具调用记录——这不只是技术问题还是交互设计问题。核心差异总结成一句话传统前端是把确定的数据展示出来AI 前端是把不确定的 AI 过程和结果呈现给用户。这意味着你需要掌握的新能力包括流式协议处理、异步状态管理、长连接通信、复杂数据可视化以及对大模型 API 工作机制的基本理解。1.2 三个月计划的设计思路和原则我见过太多人学前端今天看 React 教程明天学 Node后天又去研究 Python一个月下来什么都没做成。所以这套计划最重要的设计原则是分阶段递进每个阶段有明确的产出物所有知识点都在项目里练不许只学不做。三个月大概分成三段第 1-4 周把前端基本面补扎实选定一条技术栈主线第 5-8 周集中攻克 AI 应用开发的核心能力包括 LLM API 接入、流式响应、实时通信第 9-12 周做两个有含金量的实战项目整理作品集准备面试。为什么把前端基础放在最前面因为 AI 应用前端的前置要求就是前端本身得扎实。你不熟 React 的函数组件和 Hooks就别聊 LLM 流式渲染你不会 TypeScriptLLM 返回的复杂结构类型就能把你折磨到崩溃。很多同学一上来就研究 LangChain、向量数据库结果连 useCallback 都讲不清楚这就本末倒置了。时间安排上我的建议是每天保证 2-3 小时周末至少拿出半天做集中练习。工作日学新知识周末做项目整合把当周学的所有东西揉进一个完整的小应用里。三个月时间刚刚好再短学不透再长容易拖。2. 第一阶段第 1-4 周把前端基本面补扎实2.1 技术栈选型为什么我推荐 React TypeScript Vite关于技术栈先给结论React 18 TypeScript ViteUI 组件库选 Ant Design状态管理选 Zustand样式方案直接用 Tailwind CSS 也可以初期不想折腾就写普通 CSS问题不大。为什么是 React很简单AI 开源项目和产品里React 生态是最丰富的。Hugging Face、LangChain 的不少前端示例、各种 AI 聊天组件、开源 Agent 前端界面基本都是 React 写的。你学 React将来能直接参考的项目最多。Vue 也很好但如果你目标是 AI 应用前端React 的“就近原则”更明显。TypeScript 不是可选项而是必选项。大模型接口返回的数据结构很复杂而且经常嵌套多层messages 里包含 role、content、tool_callstool_calls 里又有参数对象。用 JS 写这些逻辑即便当时写对了两星期之后回来看代码也是一头雾水。用 TS 定义好类型IDE 会帮你做静态检查重构起来也安全。我从 JS 转 TS 之后最大的感受是以前靠脑子记数据结构现在靠类型定义就一目了然。Vite 作为构建工具最大的优势就是快启动项目几秒钟热更新几乎没有感知。作为一个要频繁做实验的初学者一个快速的开发环境能显著降低你的心理摩擦成本。第一阶段技术栈清单做成一张表方便你自查技术版本/选型用途React18.xUI 框架函数组件 HooksTypeScript5.x类型系统约束数据流Vite5.x构建与开发服务器Ant Design5.xUI 组件库后台类应用Zustand4.x轻量级状态管理React Router6.x前端路由Tailwind CSS可选快速样式方案2.2 每周任务拆解与可验收产出第一阶段不是让你去啃《React 进阶指南》而是用“做小项目”的方式推进。每周给自己定一个完工时间做完能跑起来就算过关。第 1 周React 核心基础。重点学习函数组件、useState、useEffect、props 和条件渲染。产出物做一个 Todo 应用。不用 fancy功能完整即可能添加、删除、标记完成、过滤。在这周里你一定会接触到“状态提升”和“受控组件”这两个概念把它们搞明白。第 2 周TypeScript 基础与 React 集成。学会定义 interface、type、泛型的基本用法把第 1 周的 Todo 应用改造成 TS 版本。你会遇到props 怎么定义类型useState 泛型怎么写这类具体问题查文档解决它比看十遍教程都管用。第 3 周路由、状态管理和组件库。用 React Router 做一个多页面应用比如一个简单的记账后台页面有账单列表、统计报表、设置页。引入 Ant Design 的 Table、Form、DatePicker 组件体验一下企业级组件库的效率。如果觉得状态管理复杂就用 Zustand 管理账单数据。第 4 周工程化与部署。这周是查漏补缺。学习 Vite 的环境变量配置、代码分割、生产构建优化把你的记账应用部署到免费平台配置好 Git 仓库写一个像样的 README。周末的验收标准是任何一台电脑上克隆你的仓库、安装依赖、启动项目就能看到完整的应用。我很看重第 4 周的产出因为它决定了你后面做 AI 项目时能不能把代码优雅地分享给别人。没有 Git 习惯、没有部署经验的前端在协作里会非常被动。2.3 这个阶段的避坑经验第一阶段的坑我基本都踩过列几个最常见的不要一上来就看框架源码。React 源码分析这类文章等你工作一年后再看现在看纯属浪费时间还会打击自信。学 API 怎么用、理解数据怎么流动够了。不要自己造轮子写 CSS。用组件库前期真的不要去学什么 CSS 架构。Ant Design 已经帮你处理好了样式、响应式、无障碍你只需要关心业务逻辑。等以后有经验了再考虑自己写样式方案。状态管理别乱上。小项目用 useState 和 props 传递几个页面间共享数据再上 Zustand千万不要一开始就整个 Redux Toolkit RTK Query思维负担太重。TypeScript 类型别写太复杂。很多同学刚开始学 TS总想着把类型写到无懈可击结果被泛型卡住两三天。第一周先用简单的 interface少用泛型高阶技巧先用起来再慢慢深入。3. 第二阶段第 5-8 周AI 应用开发的核心能力3.1 从调接口到流式输出LLM API 接入的关键细节第一阶段结束你已经能用 React 做出一个像样的传统前端应用了。第二阶段开始进入 AI 应用前端最核心的部分怎么把大模型能力接到页面上。先说个底层认知大模型 API 本质上就是一个 HTTP 接口。你 POST 一组消息进去它返回一段文本。只不过它返回的方式有两种一种是普通的一次性 JSON 响应体量大、等待时间长另一种是流式响应SSE数据像流水一样一段一段返回。对于对话类 AI 产品几乎必须用流式原因很简单——如果一个聊天页面要等 5 秒才蹦出全部文字用户早跑了。流式输出让用户感知到“它在回复我”体验天差地别。流式输出的前端实现核心是用 fetch 的 ReadableStream 读取数据。我每次带新人都会贴这段代码框架const controller new AbortController(); async function streamChat(messages) { const response await fetch(/api/chat, { method: POST, headers: { Content-Type: application/json }, body: JSON.stringify({ messages }), signal: controller.signal }); if (!response.ok) throw new Error(HTTP ${response.status}); const reader response.body.getReader(); const decoder new TextDecoder(utf-8); let buffer ; while (true) { const { done, value } await reader.read(); if (done) break; buffer decoder.decode(value, { stream: true }); // 按行解析 SSE 数据每行以 data: 开头 const lines buffer.split(\n); buffer lines.pop(); for (const line of lines) { const trimmed line.trim(); if (!trimmed.startsWith(data: )) continue; const payload JSON.parse(trimmed.slice(6)); // 这里把增量内容追加到页面 state 里 onMessage(payload); } } }注意这里几个关键点。第一signal用来支持取消请求。用户生成回答时点击“停止”前端要调用controller.abort()否则请求会一直在后台跑浪费 token接口可能还会报错。第二TextDecoder要传{ stream: true }因为数据块可能在 UTF-8 字符中间被切开不传这个参数会出现乱码。第三SSE 数据是按行传输的但一个 data 行可能被拆在多个 chunk 里所以要用 buffer 缓存拼接等拿到完整的行再解析。这个阶段我建议你亲手做一个小项目一个极简的 AI 聊天页面。不要用任何现成的聊天组件自己管消息列表、输入框、流式输出。做完你会对 React 的渲染性能有一个非常直观的认识——流式输出意味着每几百毫秒更新一次 state如果你的列表渲染写得不优化也会触发明显的卡顿。3.2 提示词工程和数据接入RAG 与 Agent 的基础认知很多纯前端同学看到“提示词工程”这四个字就慌了觉得这是算法工程师的活。但我的观点是AI 应用前端的核心交互设计需要你理解提示词的基本机制。你至少要知道几个概念system prompt系统提示词定义 AI 的角色和行为、few-shot给几个示例引导输出格式、temperature控制随机性越大回答越发散。这些概念会直接影响你的前端设计。举个例子如果你在 system prompt 里要求 AI 以 JSON 格式回复前端就能用JSON.parse直接解析否则你就要写一堆正则去文本里扣数据结构。好的前端工程师会和后端/算法同学一起设计 prompt让输出结构贴近前端需求。再谈 RAG。RAG 的基本流程是把用户的提问向量化在知识库中检索相关片段把片段拼进 prompt 让大模型回答。前端在这个流程里的职责是展示“引用来源”。做一个知识库问答产品用户问“报销流程是什么”AI 回答完之后前端要把引用的文档标题、段落内容、页码展示成卡片列表。这不仅提高可信度也是这类产品的重要功能模块。你要学会处理来源数据和正文混合展示的交互设计。Agent 更是不能回避的话题。Agent 的核心是“让大模型学会用工具”用户说“帮我查明天的天气”模型先调用天气查询工具拿到结果再组织语言回答。前端要展示这个“思考-行动-观察”的过程。现在很流行的做法是做一个类似任务日志的界面实时刷新工具调用状态。你不需要自己实现 Agent 框架但要能消费后端传过来的事件流把不同的消息类型渲染成不同的 UI 形态。比如role: assistant且无工具调用按普通气泡渲染文本。type: tool_call渲染一个带图标的状态卡片显示“正在调用工具搜索”。type: tool_result渲染折叠面板展示工具返回结果。type: error用醒目的错误条提示用户并提供重试按钮。这一个多类型消息渲染的能力就是 AI 应用前端和普通聊天前端之间的分水岭。3.3 实时通信与前端表现SSE、WebSocket、Worker 上传第二阶段后半段我建议集中攻克实时通信和几个高频工程场景。因为这些不是 AI 独有的但 AI 产品里特别常用。先分清 SSE 和 WebSocket 的区别。SSE 是单向的服务器往客户端推数据前端用EventSourceAPI 或 fetch 流式读取协议基于 HTTP。WebSocket 是双向的客户端和服务器都能随时发数据。AI 对话场景主要用 SSE因为服务端的 token 是“流”出来的。但如果是 AI 客服产品加一个“用户正在输入”的状态提示那就需要 WebSocket因为两边都要实时通信。很多同学一上来就 WebSocket 一把梭其实杀鸡用了牛刀还增加了服务端负担。另一个热词是“python django websocket 实现后台有数据前端推送”。这种技术选型本身没什么问题——Django Channels 可以做 WebSocket 推送前端配个socket.io-client或者原生WebSocket接数据。但我要提醒你在 AI 应用里后端如果用的是 Python FastAPI它原生支持 SSE反而比 WebSocket 实现得更简单。你可以把这个场景作为练习用 FastAPI 写一个每秒推送一条消息的接口前端实时展示先跑通流程再考虑业务复杂度。再处理一个大文件上传的问题。AI 应用里经常要上传 PDF、图片、音视频作为模型输入文件可能几十 MB 甚至以 GB 计。前端不能直接把整个文件 post 给服务器容易超时不说连本地内存都可能爆掉。常见的方案是Web Worker 切片上传在 Worker 里读取文件、切成若干分片、逐个上传主线程只负责更新进度条。我用 worker 写过一个上传组件核心思路大概是主线程把 File 对象交给 WorkerWorker 用File.slice()切块每个分片发一个带上报文号的 POST 请求然后逐步通知主线程“已上传 30%、50%、80%”。这个方案比直接在前端用 for 循环好得多——UI 线程不阻塞用户还能边传边聊天。网上有不少现成的上传库但我建议你自己实现一版搞懂切片、并发控制、失败重试的原理面试时候这绝对是加分项。前端数字孪生网站也在热搜词里出现这块其实是另一个大的方向但核心原理和上述能力是相通的大屏展示、实时数据推送、3D 渲染。如果你做 AI 应用时遇到“给模型一个可视化界面”的需求数字孪生相关的 ECharts、Three.js 可以当作加分项学一点不属于三个月计划的必修内容。4. 第三阶段第 9-12 周做项目、拼作品集、准备面试4.1 两个值得投入的实战项目设计第三阶段的重心只有一个做出拿得出手的项目。面试官看简历最怕看到千篇一律的“仿商城”“仿管理后台”。你学的是 AI 前端项目必须直接证明你有 AI 工程落地的能力。我建议做两个项目每个用两周时间宁可少做也不要烂。项目一AI 知识库问答助手。功能范围支持对话流式输出、上传文档、对话历史管理、引用来源展示、停止生成。技术要点React TypeScript 做界面SSE 处理流式响应Zustand 管理会话状态Ant Design 做消息列表和引用卡片。这个项目的关键是“引用来源展示”你要自己设计一套数据结构和渲染方案把文档来源、页码、命中片段和 AI 回答关联起来。能把这个细节讲清楚面试官就知道你真的做过 RAG 产品而不是看了个概念。项目二多 Agent 协作工作台。这个稍微进阶一点。设想一个场景用户输入一个需求后端调度多个 Agent 协作完成比如一个 Agent 负责查资料、一个负责写文档、一个负责检查错别字。前端要展示哪个 Agent 正在执行、执行到哪一步、调用了什么工具、产出了什么内容。技术要点WebSocket 接收事件流按 Agent 维度管理任务状态渲染执行时间线。这个项目做完你可以理直气壮地说“我理解 Agent 应用的交互模式”。每个项目的 README 建议包含项目背景、功能列表、技术栈、核心难点、运行方法、线上演示地址。被问到“你遇到过什么难点”时你就有血有肉的内容可讲。4.2 作品集与简历的呈现技巧作品集不是随便放个 GitHub 链接就行。要给人 10 秒内看懂你做了什么的能力。我建议每个项目至少配一个 1-2 分钟的录屏演示点开页面、运行效果、展示流式输出再配合 README 里的架构图和核心代码片段。线上 demo 地址一定要有面试官哪怕只是用手机看一眼观感都会好很多。简历的项目描述别写“负责聊天功能的实现”要写“基于 SSE 实现流式对话首字响应延迟低于 300ms”这种有量化结果的表达。你可以写“设计并实现 AI 客服对话界面支持流式输出、停止生成、错误重试首帧渲染时长优化至 200ms 以内。”“开发文档问答功能的前端引用卡片通过结构化解析将命中来源与正文联动展示解决了多格式引用匹配的兼容问题。”“基于 Web Worker 实现大文件分片上传单文件 1GB 场景下上传成功率提升 20%解决了主线程卡顿问题。”注意这些数字如果是假的面试官一追问就会穿帮。所以项目要真实做、数据要真实测。自己压测一把“首字响应延迟”写进简历底气是稳的。4.3 面试高频考点速查整理一份 AI 应用前端的面试高频问题速查表覆盖基础、AI 和工程化三个方向分类高频问题核心回答点React函数组件和类组件区别Hooks 逻辑复用、this 绑定、代码量ReactuseEffect 执行时机渲染后执行、依赖数组、清理函数JS 基础事件循环和宏任务/微任务调用栈、setTimeout/Promise 顺序异步怎么取消 fetch 请求AbortController、abort 方法AISSE 和 WebSocket 区别单向/双向、HTTP 协议、适用场景AI流式输出怎么做增量渲染ReadableStream、buffer 解析、批量 setStateAI怎么处理 token 超限截断上下文、滑动窗口、摘要压缩AI提示词输出 JSON 怎么处理结构设计、容错解析、校验回退工程化前端怎么提升首屏性能代码分割、懒加载、资源压缩TS泛型的常用场景约束类型、API 响应类型、组件 props这个阶段可以每天刷 3-5 道面试题但一定要理解原理不要背答案。AI 领域的面试官很容易追问细节比如“你说你用 SSE 做过流式那如果网络中断一半怎么办”——这时候你就要把断线重连、last-event-id、重试策略讲出来。5. 学习过程中的常见问题与自我排查5.1 进度落后的原因和对策三个月计划执行到中途大概率会出现进度落后的情况。我自己带人的经验落后原因高度集中在三个地方一是第一阶段基础不扎实就硬闯第二阶段。表现是React Hooks 还没吃透就开始做流式渲染结果 setState 的异步更新机制把你绕晕数据始终不刷新。对策很直接回头补基础不要硬撑。流式渲染对 React 熟练度的要求比普通页面高得多基础不牢只能返工。二是被“AI 名词海洋”带偏。LangChain、AutoGPT、向量数据库、Embedding、微调……每看到一个名词就想研究一下结果主线任务完全停滞。对策给自己画一个知识边界当前阶段只允许研究计划内的知识点其他领域先收藏不要点开。你是在学前端不是在研究大模型原理。三是项目卡在某个技术点上出不来。比如部署时环境变量不生效、上传失败但不知道怎么排查。对策学会分解问题用控制台日志和 Network 面板逐步缩小范围。我在项目里遇到问题时习惯把现象、期望、实际结果写下来每排查一步就更新记录大多数问题都能在几步内定位。5.2 工具与资源清单最后分享我在整个学习过程中会用到的高效工具和资源都是实测下来比较稳的工具/资源用途说明CursorAI 编程助手写代码时结合 AI 提示但保持主写大模型 APIDeepSeek/通义/其他调试接口选便宜的跑通流程不一定要贵模型Postman / Apifox接口调试不写代码就能测 LLM API 返回结构Chrome DevTools前端调试Network、Performance 两个面板是重点React 官方文档学习新版文档质量极高别再看旧版博客TypeScript Handbook学习英文为主但配合翻译工具可读MDN参考HTML/CSS/JS 权威参考掘金/前端社区经验文章搜“SSE 流式”“React 性能优化”等关键词工具的再多抵不过你真写几个项目。我始终觉得AI 应用前端工程师这个岗位本质上还是前端工程师只是在传统前端能力之上叠加了一层“AI 工程素养”。这层素养不是背诵 API而是理解数据怎么流动、状态怎么变化、用户怎么感知 AI 的行为。三个月时间如果你能把第一阶段的传统前端项目、第二阶段的 AI 对话页、第三阶段的两个完整 AI 应用扎实地做下来将来在面试桌上你就是那个能直接上手干活的人。我最深刻的体会是AI 前端的挑战不在技术深度而在不确定性的管理。模型可能出错、接口可能超时、数据格式可能变化——前端要做的不是假设一切正常而是把每种异常都变成用户看得懂的界面状态。这个思维转变比学会一个 API 重要得多。最后再分享一个小技巧学 AI 前端的过程中多给自己提“用户此刻看到什么”这个问题你会发现很多技术选型都变得容易了。希望这套三个月计划能真帮到你建议先花一个下午把前两周的任务做起来。
企业数字化 ERP 产品动态
相关推荐
AI应用前端工程师:三个月学习计划,攻克流式交互与状态管理 这两年面试前端岗位,简历里不带点 AI 应用经验,基本上很难在第一轮筛选中让面试官眼前一亮。我陆续带过好几个从传统 Web 开发转向 AI 应用方向的同学,也帮团队面过不少候选人,总结下来最深的感受是:AI 应用前端和传统… · 2026/11/3 20:03:13
蓝桥杯软件测试模拟赛1期六模块全流程备考指南 1. 先摸清楚模拟赛1期到底在考什么蓝桥杯软件测试这个赛道,跟纯算法赛道完全是两套玩法。算法赛是给你一道题,写代码跑用例,过了就是过了;软件测试赛更像真实项目交付——给你一个被测系统、一份需求说明,然后要求你在… · 2026/11/3 19:06:02
傅里叶变换不同定义形式的工程实践解析 1. 傅里叶变换的数学本质傅里叶变换作为信号处理领域的基石工具,其核心思想是将时域信号分解为不同频率的正弦波组合。这种时频转换的数学表达在不同文献中却存在着令人困惑的变体。我第一次接触这个现象是在调试音频处理算法时,发现不同库函数给出的结果… · 2026/11/3 19:38:35
PS证件照尺寸设置原理:厘米、DPI与像素的精准换算 1. 项目概述:一张合规证件照,远不止“拉个框”那么简单在某高校教务处协助学生批量处理毕业材料时,我连续三天被同一个问题堵在工位上:“老师,我的一寸照为什么上传系统总提示尺寸不合格?”——不是像素不够… · 2026/11/3 20:18:49
GPT-4与ChatGPT应用开发入门:从大语言模型原理到对话程序实战 简介:这份PDF为OReilly于2024年推出的《Developing Apps with GPT-4 and ChatGPT》正式版电子书,作者为Olivier Caelen与Marie-Alice Blete,面向具备一定编程基础、希望把大模型能力落地为实际产品的开发者与技术人员。全书从GPT-4与ChatGPT的… · 2026/11/3 20:18:49
单设备多会话与账号互斥的架构设计与实现 1. 单设备多会话与多账号互斥的核心挑战在现代化应用架构中,单设备多会话与多账号互斥的需求越来越普遍。想象一下这样的场景:一台医院自助服务终端需要同时处理多个患者的挂号、缴费操作,每个患者登录后需要保持独立的会话状态,但… · 2026/11/3 20:18:49
C语言底层考点:sizeof、数组退化与内存布局 简介:这是一份面向C语言笔试与面试备考者的经典试题合集,聚焦指针、内存管理与关键字等高频考点,适合正在准备校招、实习笔试或希望夯实C语言底层基础的中初级开发者查漏补缺。资源包共1个文件,为doc文档,整体约122KB&… · 2026/11/3 20:18:49
Leetcode链表专题:从基础操作到经典题目解析 1. Leetcode链表专题:从基础操作到经典题目解析链表作为数据结构中的重要组成部分,一直是算法面试中的高频考点。最近在Leetcode周赛430中,链表相关题目再次成为讨论热点。今天我将带大家深入解析Leetcode链表部分的三个经典题目:… · 2026/11/3 20:18:49
macOS Node.js 多版本管理:nvm 配置与环境变量避坑指南 1. 为什么 macOS 上的 Node.js 环境总在“反复重装”?——nvm 是唯一解法你有没有过这样的经历:在 macOS 上装完 Node.js,跑几个项目没问题,可一换项目版本,或者某天终端突然报错command not found: node,再… · 2026/11/3 20:17:49
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46
STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46