仿百度百科系统源码解析:数据建模、部署优化与扩展方案
简介一套模仿百度百科体验的开源百科建站系统面向需要搭建私有知识库、运营百科类站点或研究百科产品设计的开发者与站长。资源核心为HDWiki是基于PHP的开源百科建站程序支持词条创建、搜索、分类与审核发布附带安装说明.txt和document文档目录可指导环境配置、数据库初始化与站点定制部署门槛适中。压缩包采用zip格式整体约1.95MB结构紧凑便于快速获取和部署。目前已有384人学习/浏览适合作为个人或团队知识管理工具也可用作学习百科系统数据模型、权限控制与内容审核流程的参考案例。通过实际部署可打造自有词条库自定义编辑规则与审核机制获得接近百度百科的创建、维护和查阅体验同时积累PHP项目实践中的安装排错与二次开发经验。1. 仿百科词条系统为什么“像百度”不是重点词条底座才是做过内容型网站的开发者基本都动过“自己搭一个百科系统”的念头。拿到这套资源第一反应是它把界面做成了百度百科的样子顶部搜索框、左侧分类、词条页面的目录锚点、相关词条推荐确实像。但拆完代码你会发现“超级模仿”四个字指的是产品形态不是技术深度——整个系统真正值钱的部分是它把百科系统最核心的三件事做完了词条的数据结构怎么设计、分类导航怎么组织、检索和热词怎么联动。换句话说这套资源适用的不是想炫技的人而是想用最快速度拿到一个“能跑、能加词条、能搜、能分类”的百科站点底座的从业者。不管你是给学生做课程设计、给内部团队搭知识库还是自己练手想理解词条类系统的前后端交互这套代码都比从零写省下两三天时间。下面拆的是我实际部署和改代码时的记录含建表、配置、避坑按步骤走能完整复现。2. 词条系统的数据建模表结构、内容模型与检索方案的取舍2.1 词条主表的结构category、keyword、summary、content 四个字段是骨架打开这套系统的 SQL 初始化文件第一个感受是表结构设计得相当收敛——它不是把百度百科几百个字段搬过来而是用一张主表加两张辅助表把词条系统的闭环撑起来。主表字段大致是 id、category_id、keyword、summary、content、hits、create_time、update_time再加一个状态字段。这里面最容易被新手忽略的是 keyword 和 summary 的分工。CREATE TABLE article ( id int(11) NOT NULL AUTO_INCREMENT, category_id int(11) NOT NULL DEFAULT 0 COMMENT 所属分类ID, keyword varchar(100) NOT NULL COMMENT 词条名称, summary varchar(255) NOT NULL DEFAULT COMMENT 词条一句话摘要, content mediumtext COMMENT 词条正文内容, hits int(11) NOT NULL DEFAULT 0 COMMENT 点击量, status tinyint(1) NOT NULL DEFAULT 1 COMMENT 状态1显示 0隐藏, create_time int(11) NOT NULL DEFAULT 0 COMMENT 创建时间, update_time int(11) NOT NULL DEFAULT 0 COMMENT 更新时间, PRIMARY KEY (id), KEY category_id (category_id), KEY keyword (keyword) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;这段建表 SQL 的逻辑重点在于keyword 字段上建立了普通索引支撑标题精确匹配和前缀匹配category_id 上的索引服务于分类页的词条列表查询。hits 字段是给热词排序用的计数不在查询条件里做运算这样写更利于索引命中。status 字段建议保留前台编辑错了词条可以直接下架不用删数据。实际使用中有一个容易踩的坑表名如果是 article部分框架或主机面板会把 article 当作保留字或冲突名建议改成baike_entry或baike_article这类带前缀的名字。还有 create_time 用 int 存时间戳前台展示时要记得用date(Y-m-d, $row[create_time])转换这套系统里所有时间字段都是时间戳格式直接输出会变成一串数字。2.2 内容模型选型富文本 HTML 还是 Markdown两种方案怎么选这套系统装的是富文本编辑器提交的内容以 HTML 片段的形式直接存进 content 字段。这么做有一个明显的好处词条里的标题、加粗、表格、图片样式在详情页直接输出就能渲染不需要额外解析步骤实现成本最低。但它也有一个非常现实的问题——富文本提交的内容如果不过滤XSS 风险是实打实的。我调试时在内容里插入了一段scriptalert(xss)/script详情页直接弹窗。解决办法是在提交端做一层白名单过滤只保留 p、br、strong、em、h2、h3、ul、ol、li、table、img 这些常用标签其他标签一律剥掉。过滤函数不复杂用 strip_tags 配合白名单参数就能做别直接存用户提交的原始 HTML。如果你打算把这套系统用在更正式的场景我建议把内容模型升级为双轨一种是继续存 HTML适合编辑人员用富文本编辑器的后台维护另一种是存 Markdown前台输出时用 Parsedown 或类似库转 HTML。Markdown 方案的优点是内容更干净版本对比更直观缺点是编辑端要换编辑器对不太熟悉 Markdown 的运营人员有一定门槛。我的习惯是给技术团队用的知识库系统必须上 Markdown给普通编辑用的内容站继续用富文本。2.3 搜索与词条关联LIKE 查询的边界和 hotword 表的配合方式这套系统的搜索实现走的是最直接的方案用户输入关键词后在 keyword 字段上做 LIKE 查询同时把 summary 和 content 也纳入匹配范围后台再用一个热词表把高频搜索词记录下来。搜索页的核心查询大概是这样的SELECT id, keyword, summary FROM baike_entry WHERE keyword LIKE % . $keyword . % OR summary LIKE % . $keyword . % ORDER BY hits DESC;这里必须说一个性能细节keyword 字段上虽然建了索引但 LIKE 查询只要通配符在关键词前面就不会走索引数据量到几万条以后搜索响应会明显变慢。这套系统里的数据量如果控制在几千条以内完全没有任何问题但如果想认真运营一个上万词条的知识库就得换方案。一个低成本的升级路线是引入全文索引把 content 也纳入检索范围后面第六章会专门说怎么改。hotword 表的设计思路倒是值得保留每次用户搜索时把搜索词写进一张独立的表字段就两个keyword 和 search_count。如果 keyword 已存在就加一不存在就插入。词条详情页的“相关搜索”就是从这张表里取 search_count 最高的前十个词。这比直接在日志表里 SELECT COUNT(*) 再 GROUP BY 高效得多相当于用空间换时间是典型的热词计数方案。3. 从压缩包到可访问的站点环境部署、配置参数与首屏加载路径3.1 本地环境准备与目录结构这套系统跑在什么环境里这套系统是典型的 PHP MySQL 组合没有用到框架入口文件直接摆在根目录属于那种“解压就能跑”的老派结构。本地测试我建议装集成环境Windows 上用 WAMPmacOS 上用 MAMP版本选择 PHP 7.4 或 8.0 都可以MySQL 5.7 或 8.0 都没问题。PHP 版本不建议低于 7.0因为旧版本对面向对象和错误处理的支持会让调试变麻烦。解压后的目录结构很直观根目录是一个 index.php 入口docs 或 template 目录里放着模板文件admin 目录是后台管理uploads 或 images 目录存上传的图片。这套系统的页面渲染逻辑是老式写法——index.php 里直接接收 GET 参数用 switch 或 if-else 判断要显示哪个页面然后 include 对应的模板文件。没有路由层没有 MVC 分层但正因为足够直白用它来学词条系统的工作流程反而更清晰。3.2 数据库导入与配置文件config 里的每个参数具体管什么数据库导入没什么特别之处用 phpMyAdmin 创建一个数据库推荐 utf8mb4 字符集然后导入 SQL 文件即可。配置文件通常是根目录下的 config.php 或 inc/config.php里面定义了数据库连接信息。我第一次打开这个文件的时候有点意外它用 define 定义了四个常量没有用 PDO而是直接 new mysqli 连接。?php define(DB_HOST, 127.0.0.1); define(DB_USER, root); define(DB_PASS, your_password_here); define(DB_NAME, baike_system); define(DB_CHARSET, utf8mb4); $conn mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); if (!$conn) { die(数据库连接失败: . mysqli_connect_error()); } mysqli_set_charset($conn, DB_CHARSET); ?参数说明DB_HOST 写成 127.0.0.1 比 localhost 更稳因为某些环境下 localhost 会触发 socket 连接而不是 TCP 连接导致连不上。DB_CHARSET 一定要写 utf8mb4因为词条内容里可能出现生僻字或特殊符号utf8 只能存三字节字符遇到四字节字符会报错或直接变乱码。mysqli_set_charset 这行是必要的不设置的话连接默认字符集会跟随 MySQL 服务端配置可能和网页端的 UTF-8 不一致中文就会变成问号。连接方式这里我建议改成 PDO 做兜底不是为了炫技而是因为 mysqli 的预处理写法稍繁琐很多新手在这个项目里是直接把变量拼进 SQL 的这是这套系统最大的安全隐患。改 PDO 只需要把连接部分替换掉查询部分的改动也不大后面避坑章节会展开说。3.3 首页和词条列表页的加载路径从 URL 参数到模板渲染这套系统的首页加载逻辑非常符合“模仿百度百科”的产品设定顶部一个搜索框下面按分类列出词条入口中间区域放热门词条。整个过程可以描述为浏览器请求 index.php → 脚本用 GET 参数判断请求类型 → 查询数据库 → 填充模板变量 → include 输出页面。?php $action isset($_GET[action]) ? $_GET[action] : index; $keyword isset($_GET[keyword]) ? trim($_GET[keyword]) : ; if ($action search $keyword ! ) { // 记录搜索词到 hotword 表 $sql INSERT INTO hotword (keyword, search_count) VALUES ( . $keyword . , 1) ON DUPLICATE KEY UPDATE search_count search_count 1; mysqli_query($conn, $sql); // 查询词条列表 $sql SELECT id, keyword, summary, hits FROM baike_entry WHERE keyword LIKE % . $keyword . % OR summary LIKE % . $keyword . % ORDER BY hits DESC; $result mysqli_query($conn, $sql); } elseif ($action detail isset($_GET[id])) { $id intval($_GET[id]); $sql SELECT * FROM baike_entry WHERE id $id AND status 1; // 详情页点击量 1 mysqli_query($conn, UPDATE baike_entry SET hits hits 1 WHERE id $id); } else { // 首页取全部分类和热门词条 $sql SELECT * FROM category ORDER BY sort_order ASC; $sql2 SELECT id, keyword, summary FROM baike_entry ORDER BY hits DESC LIMIT 10; } ?这段代码里有一个值得注意的动作搜索词计数用了ON DUPLICATE KEY UPDATE它要求 hotword 表的 keyword 字段必须是 UNIQUE 索引才能生效。如果导入 SQL 文件后该索引缺失这条语句会直接报错。所以在测试搜索功能之前先到 phpMyAdmin 里确认 hotword 表结构这是最容易被忽略的前置检查。4. 让词条“可运营”分类导航、词条编辑与热词权重的联动4.1 分类表设计与前台导航一维分类够了别急着做多级分类这款系统的分类表设计得比较克制一张 category 表字段只有 id、name、sort_order 三个核心字段。sort_order 控制分类在前台的排序顺序数值越小越靠前。一维分类结构在大多数百科类场景下是够用的文学、历史、科学、技术、娱乐一行一个分类词条归属清晰。多级分类看起来高级但随之而来的是面包屑导航、层级路径、权限继承这些问题一套仿百度百科的系统不需要承受这个复杂度硬加只会把模板逻辑改得复杂不容易维护。分类导航在侧边栏的渲染逻辑也很简单查询全部 category然后 foreach 循环输出链接。有一个细节值得注意分类页要展示每个分类下的词条数量如果不做统计就得在循环里对每个分类再执行一次SELECT COUNT(*) FROM baike_entry WHERE category_id ?这就是经典的 N1 查询问题。数据量小时无所谓词条多起来页面会变慢。推荐改法是用一次 JOIN 查询把分类和词条数一起取出来一条 SQL 解决SELECT c.id, c.name, COUNT(a.id) AS entry_count FROM category c LEFT JOIN baike_entry a ON a.category_id c.id GROUP BY c.id ORDER BY c.sort_order ASC;这样前台循环时直接用 entry_count 字段不再重复连数据库。left join 保证没有词条的分类也能显示出来数量显示为 0这对运营侧很重要——空分类一眼就能看出来方便及时补充内容或者隐藏分类。4.2 词条发布与编辑流程后台表单的字段映射与提交逻辑后台的词条编辑页是这套系统操作频率最高的页面。表单字段和数据库字段一一对应词条名、分类下拉框、摘要输入框、正文富文本编辑器、状态开关。提交时的核心处理逻辑需要在 admin 的 save_entry.php 里看完我拆的时候发现它的处理顺序是接收 POST 数据 → 过滤关键词 → 校验分类 → 拼接 SQL → 执行插入或更新。?php $id isset($_POST[id]) ? intval($_POST[id]) : 0; $category_id intval($_POST[category_id]); $keyword trim($_POST[keyword]); $summary trim($_POST[summary]); $content $_POST[content]; $status isset($_POST[status]) ? 1 : 0; // 白名单过滤富文本内容 $allowed_tags pbrstrongemh2h3ulolliaimgtabletrtd; $content strip_tags($content, $allowed_tags); if ($id 0) { $sql UPDATE baike_entry SET category_id$category_id, keyword$keyword, summary$summary, content$content, status$status, update_time . time() . WHERE id$id; } else { $sql INSERT INTO baike_entry (category_id, keyword, summary, content, status, create_time, update_time) VALUES ($category_id, $keyword, $summary, $content, $status, . time() . , . time() . ); } mysqli_query($conn, $sql); ?注意这段代码里的 strip_tags 白名单img 标签的 src 属性没有做协议校验这意味着理论上用户仍可以提交javascript:协议或外部图片链接大部分浏览器不会再执行 javascript 协议但既然要做内容安全顺手加固更稳妥。用 preg_replace 把所有属性剥掉只留 src 和 alt是更不用担忧的写法。4.3 热词权重与点击量联动同样一个字段两种触发方式词条详情页的右侧会展示“热门词条”或者“相关词条”这个功能把两个数据源联动了一个是词条表的 hits 字段另一个是 hotword 表的 search_count 字段。词条 hits 负责展示高频阅读内容hotword 负责展示用户真实搜索的词。两者互有重叠但定位不同前者衡量内容价值后者衡量需求入口。在实现层面这套系统有一点做得比较合理详情页每次被访问就在一个 UPDATE 语句里执行hits hits 1然后用 SELECT 读数据。这个顺序很重要——先加一再查询显示器上的阅读数才会实时刷新。如果先 SELECT 再 UPDATE当前页面的显示永远是上一次的数值刷新两次才会更新这算是一个不大不小的逻辑顺序坑。热词表展示时有一个真实的排查场景后台管理页能看到 search_count 整个数字但前台显示的是“热度条”或排行编号。我一开始以为前台有 JS 在做热度换算查完才发现没有 —— 前台直接按 search_count 排序输出取前十条。也就是说热度条是纯数据库排序的结果不存在权重算法。这是好事简单直接适合项目初期。如果你想做更真实的“热度曲线”再引入时间衰减因子比如search_count / POW(2, (NOW() - last_search_time) / 86400)那就是另一个层面的工作了。5. 避坑从空词条到乱码五个常见问题与排查记录5.1 页面全部乱码词条内容里的中文变成问号刚部署完这套系统最容易遇到的就是页面显示正常但词条内容里的中文全部变成一串问号。原因通常是两个层面连接字符合集没有设置成 utf8mb4或者数据表本身的字符集建表时选成了 latin1。要先看 phpMyAdmin 里表结构的字符集是 utf8mb4 还是 latin1再确认 config.php 里的 DB_CHARSET 是否生效。如果在浏览器端用开发者工具查看页面头Content-Type 里声明的 charset 也要一起检查。解决顺序是先改数据库表字符集为 utf8mb4再保证 config.php 里执行了 mysqli_set_charset最后确认页面文件本身的 meta 声明。三步都对齐后乱码就不会出现。5.2 新增词条后列表页不显示直接 404新增完一个词条从前台怎么都搜不到。排查的时候先看后台列表有没有这条记录如果有多半是 status 字段的默认值问题。管理后台勾选了“显示”但没传值PHP 端就把 status 写成了 0前台查询条件是 status 1自然找不到。解决方法是给编辑表单的 status 控件加一个默认值或者接收时用isset($_POST[status]) ? 1 : 0这种写法兜底。其次要留意分类 ID 是否为空 —— 如果下拉框没选中任何分类category_id 为 0分类页列表也查不到但直接搜索又是能搜到的。5.3 搜索功能报 SQL 错误Unknown column ‘keyword’ in where clause这个报错有意思因为它指向的不是搜索逻辑本身而是 hotword 表。搜索记录写入热词表时执行了INSERT INTO hotword ... ON DUPLICATE KEY UPDATE如果 hotword 表的 keyword 字段没有 UNIQUE 索引MySQL 就会报错。解决方式是进 phpMyAdmin 给 hotword 表的 keyword 字段加上唯一索引。顺带检查一下 hotword 表名是否和全局搜出来的表名完全一致——这套系统的 SQL 文件里每个建表语句你都要亲眼扫一遍不能默认它一定存在。5.4 富文本提交的内容显示时丢失段落和图片这个问题出在提交端的 strip_tags 白名单过滤上处理过的内容里经常把classcontent这段 HTML 里的样式标签给剥掉了导致段落全挤在一起没有空行。另一个常见原因是 p 标签里嵌套了 div而白名单里没有 div嵌套结构被拆掉浏览器渲染时样式错乱。解决方式是把 div 加进白名单如果你要保留复杂排版或者要求编辑统一用纯 p 标签排版。我建议后者结构更干净也更符合百科词条的阅读习惯。5.5 后台能进但前台点击词条进详情页报错详情页报错信息通常指向 SQL 语句里的 id 不是数字比如直接在 URL 后面加一个字符串参数。这套系统的详情页查询偶尔没有做 intval 强制转换字符串拼进 SQL 会报 1064 语法错误。解决方法是所有从 $_GET 拿到的数值参数必须过一遍 intval 再进 SQL。这也算顺带提醒别以为前台是只读页面就放松警惕详情页同样需要防注入。我后面在 localhost 测完准备上线前给所有接收参数的地方统一加了 intval 和 mysqli_real_escape_string这一步是必须做的。6. 验证与进阶跑通一轮“词条全生命周期”演练再加两个扩展6.1 用一条真实词条走完闭合流程我的习惯是拿到系统后不要直接用假数据建一个真实词条走完闭环。它的流程是后台添加一个词条归属到“技术”分类内容里包含三段带小标题的结构化文字状态设为显示。然后再回前台先搜索这个词条确认能搜到再进入详情页确认正文渲染正确、阅读数从 0 变 1最后到分类页确认这个词条出现在对应分类列表里。都通过就说明核心链路是通的。6.2 扩展一把 LIKE 搜索升级为全文索引词条数量到万级以后后台管理页的全局搜索就会变慢。升级方案是把 baike_entry 表的 content 字段加上 FULLTEXT 索引把搜索 SQL 改成 MATCH AGAINSTALTER TABLE baike_entry ADD FULLTEXT INDEX ft_content (keyword, summary, content); -- 查询改为 SELECT id, keyword, summary FROM baike_entry WHERE MATCH(keyword, summary, content) AGAINST(搜索引擎优化 IN NATURAL LANGUAGE MODE);全文索引对中文的支持依赖分词MySQL 内置的全文解析器对中文分词效果一般需要在测试环境验证排序是否准确。如果排序不理想再考虑引入专业分词组件。上了全文索引后不要保留原来 LIKE 写法作为回退两者并存会出现结果集不一致反而让维护者迷惑。6.3 扩展二词条版本记录给内容留后悔药内容型系统最让我放心不下的不是上线时的功能缺失而是编辑错误导致词条不可逆损坏。加一个 entry_history 表把每次编辑前的 content 快照存下来用 entry_id 关联主表。实现不复杂在保存更新的代码里多写一行 SELECT把旧内容 insert 到历史表前台不展示后台列表页加一个“历史版本”链接即可。这一招花不了半小时但能给运营同事省下大量返工时间我从那以后每个内容类项目都会强制自己先加版本记录再谈其他功能。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

JavaScript零基础入门:三行代码让网页动起来

JavaScript零基础入门:三行代码让网页动起来

简介:本资源是邵山欢主讲的JavaScript免费公开课配套资料及课堂笔记,专为零基础前端学习者设计,系统覆盖JavaScript核心知识体系,助力快速构建扎实的Web开发能力。压缩包共16个文件,含12个HTML实践案例(如选…

2026/10/19 21:29:00 阅读更多 →
百度地图API实战指南:从密钥配置到坐标转换的避坑手册

百度地图API实战指南:从密钥配置到坐标转换的避坑手册

简介:百度地图API学习源代码是一套面向Web开发者的Eclipse工程示例,以百度地图JavaScript API为核心,聚焦JSP与前端脚本的整合应用,适合初涉地理信息开发或希望在定位、导航、路线规划等场景中快速落地的Java程序员。压缩包共53个…

2026/10/19 21:29:38 阅读更多 →
Claude Code Agent Teams:多Agent协作改造复杂项目的实战复盘

Claude Code Agent Teams:多Agent协作改造复杂项目的实战复盘

最近一次跨模块改造,我差点被自己的代码绕晕。需求并不复杂,但一会儿要确认订单模块的数据出口,一会儿要去库存模块补索引,改到一半还得回头检查自己刚才的改动有没有把老接口带崩。当时的感受就是:活不重,…

2026/10/19 21:27:55 阅读更多 →

最新新闻

2026年AI人才争夺战:大模型算法岗月薪5.2W,校招趋势与能力培养指南

2026年AI人才争夺战:大模型算法岗月薪5.2W,校招趋势与能力培养指南

2026年AI人才争夺战深度解析:大模型算法岗位月薪5.2W,校招趋势与能力培养收藏版指南!这几年AI行业的薪资一直是互联网圈子里绕不开的话题,但2026年这一轮人才争夺战的烈度,确实有点超出我的预期。就在上一个招聘季&…

2026/10/20 8:04:23 阅读更多 →
MIT 6.S081 操作系统课程:从 xv6 到 RISC-V 的硬核实践指南

MIT 6.S081 操作系统课程:从 xv6 到 RISC-V 的硬核实践指南

MIT 6.S081 不是又一个付费买断的“黑马项目”,而是 MIT 开源了多年的操作系统课程。标题里的“2.1 人工智能_操作系统”可以理解成 AI 学习路线中补操作系统的关键一环。2020 版本把教学内核 xv6 迁移到了 RISC-V 架构,课程视频、实验代码、lab 文档全部…

2026/10/20 8:04:23 阅读更多 →
正交设计助手ODA安装配置与避坑指南

正交设计助手ODA安装配置与避坑指南

简介:正交设计助手破解版是一款面向实验设计人员、科研工作者及高校理工科师生的专业工具软件,专为高效构建混合正交试验表而优化,显著降低多因素多水平试验方案设计的复杂度与试错成本。资源包共10个文件,含2个核心可执行程序&am…

2026/10/20 8:04:23 阅读更多 →
RAG过度检索问题解析:根源、症状与工程优化实践

RAG过度检索问题解析:根源、症状与工程优化实践

做RAG的人,大概率都遇到过这类场景:明明知识库里有标准答案,模型却把一堆不相关的说明也端了上来,回答变得又长又绕,甚至把错误信息当成依据。我把这类现象统称为“过度检索”——检索模块召回了一大堆内容&#xff0c…

2026/10/20 8:04:23 阅读更多 →
Hermes Agent:会成长的AI智能体,记忆与经验沉淀机制全解析

Hermes Agent:会成长的AI智能体,记忆与经验沉淀机制全解析

这几年开源圈子里冒出来不少号称“会用工具”的智能体,但很多项目用下来也就图一乐,问复杂点的问题就开始胡言乱语。直到我上手了这个叫Hermes Agent的项目,才真正体会到什么叫“越用越顺手、越用越聪明”。它不像传统助手每次对话都从零开始…

2026/10/20 8:04:23 阅读更多 →
K8s持久化卷实战:Ceph纠删码池与RBD CSI完整配置指南

K8s持久化卷实战:Ceph纠删码池与RBD CSI完整配置指南

K8s持久化卷这块,Ceph是老熟人了。但大部分入门教程默认用副本池,等生产跑久了你才会意识到,三个副本吃掉的空间有多惊人。一台4TB的OSD,按3副本、数据均衡算,逻辑可用容量连1.3TB都不到。这时候把眼睛盯上纠删码池&am…

2026/10/20 8:03:22 阅读更多 →

日新闻

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 阅读更多 →