PostgreSQL在Windows安装与Navicat连接全攻略:从环境验证到高频报错排查

先说明一下我这篇要写什么。PostgreSQL 在 Windows 上的安装教程,网上随手一搜就是一堆,但大多数都写到“安装向导走完就算大功告成”。实际用起来根本不是这么回事:装完那一刻,psql 在命令行里敲密码能进,换到 Navicat 就报 connection refused;或者前一天连得好好的,第二天突然 password authentication failed。这篇我把 Windows 上从下载安装包、逐项拆解安装向导、装完先做环境验证、再到 Navicat 新建连接配置的完整链路走一遍,最后专门用一整章处理高频报错,每个错误都会给症状、根因和排错顺序。适合两类人:第一次在 Windows 上装 PostgreSQL 的开发者,照着做基本不会卡;以及已经被“连不上”折磨过、想系统搞明白背后原因的朋友。

1. 安装前先把三件事想清楚:版本、安装包类型和端口

安装本身不难,难的是装完之后的连接环节。所以我不建议一上来就傻乎乎点下一步,先把三个前置问题想清楚,能省掉后面大量排错时间。

1.1 版本选型:别只盯着“最新版”三个字

PostgreSQL 的大版本更新节奏是每年 10 月左右出一个新的大版本,比如 15、16、17。每个大版本还会有持续的小版本维护,像 16.1、16.2 直到 16.x 一路补丁更新。

对于在 Windows 上搭开发环境或者跑中小型项目,我的建议是选择已经发布一段时间、生态验证比较充分的大版本,比如现在的 16.x 就很稳。没必要追最新的大版本,原因很实际:新版本刚出来时,周边工具链的适配会有滞后,你如果用的是老版本的 Navicat,连接时偶尔会遇到协议或者驱动层面的兼容问题。

这里有个反向选型思路:先看你手上的客户端工具支持到什么程度,再决定装哪个 PostgreSQL 大版本。很多人在群里反馈“Navicat 连不上,报错也看不懂”,最后排查下来就是版本跨度太大导致的。先用 psql 这类官方命令行工具验证就不存在这个问题,因为它永远跟着最新版走,这也是我后面坚持让你们先用命令行验证的原因之一。

1.2 官方安装器和免安装版怎么选

PostgreSQL 官网下载页面提供两种 Windows 方式:图形化安装器和纯解压的二进制包。

绝大多数人,尤其是第一次安装,直接选图形化安装器就好。它会替你完成初始化数据目录、注册 Windows 服务、设置开机自启这些脏活,还会生成一套默认可用的访问控制配置。你只需要回答问题,剩下的事情它全包了。

解压版(zip 发布包)适合需要完全掌控安装位置、不想注册服务、或者想做到“解压即用”的场景。但代价很大:数据目录初始化、服务注册、环境变量都要自己手动来,出问题排查成本直线上升。没有明确需求时,别给自己找这个麻烦。我见过不少人在网上看到“免安装更干净”的说法就去折腾解压版,结果服务起不来、配置文件路径找不到,折腾一晚上又回来装官方安装器。

1.3 装之前先探一下 5432 端口

PostgreSQL 默认端口是 5432。安装之前先确认这个端口有没有被占,因为 Windows 上很容易遇到两种情况:一是某些开发工具内置了旧版 PostgreSQL,二是其他数据库软件占用了同一端口。

命令行跑一句:

netstat -ano | findstr "5432"

如果有输出,说明端口被占用了。看输出最后一列的 PID,到任务管理器里找到对应进程,判断是什么软件。如果是之前残留的 PostgreSQL,建议先卸载干净再装新的;如果确实是别的软件在用,安装时把端口改掉就行,比如改成 5433。

改端口本身不是大事,但后续每个客户端连接时都要填正确端口。很多人装完就忘了自己改过端口,在 Navicat 里填 5432 当然连不上。所以我的习惯是:除非端口被占,否则一律用默认值,少给自己增加记忆负担。

2. 安装向导逐项拆解:密码、目录和 locale 别一路默认到底

双击安装包、勾选同意协议之后进入安装向导。这里我不建议一路 Next,后面几个选项直接影响你之后会不会踩坑,尤其是密码那一步,很多人就是在这里埋下隐患的。

2.1 组件勾选:四个选项里哪些是真需要的

安装向导会让你勾选组件,常见的有四项:PostgreSQL Server(数据库服务器本体)、pgAdmin 4(图形化管理工具)、Stack Builder(扩展组件下载器)、Command Line Tools(命令行工具集)。

PostgreSQL Server 和 Command Line Tools 必选。前者不用解释,后者提供 psql 以及初始化、备份恢复要用的命令行工具,排错时离不开。

pgAdmin 4 建议装。虽然这篇的主角是 Navicat,但 pgAdmin 在出问题时可以做交叉验证:两个客户端都连不上,问题八成在服务器端;只有 Navicat 连不上,问题八成在 Navicat 这一侧。这个判断在排错时非常值钱,能帮你快速缩小范围。

Stack Builder 可以取消勾选。它本质是个附加组件下载器,装完之后几乎用不到,新用户还会被它多弹出来的窗口干扰。我曾经手滑在 Stack Builder 里装了一堆用不上的扩展,纯粹浪费时间和磁盘。

2.2 超级用户密码:全流程最重要的一个输入框

安装过程中会要求设置超级用户 postgres 的密码。这一步是整个安装流程里最重要的操作,没有之一。

这个密码对应的是数据库超级管理员账号 postgres,它有操作实例内所有数据库的权限,包括删库。安装时如果密码留空或者随便按了一个,之后再想起来时往往已经忘干净了。

我强烈建议这个密码设置得复杂一点,并且记到密码管理器里。因为它不像普通业务账号可以随时在业务系统里重置,PostgreSQL 层面的密码重置流程要改动认证配置文件,步骤繁琐,操作不当还可能引入新的问题。

另外补充一句,Windows 服务模式下,PostgreSQL 服务本身是运行在系统账户下的,和你设置的 postgres 数据库密码是两回事。别搞混了——服务密码不是数据库密码,很多人在服务管理里找密码重置入口,找了半天也没找到。

2.3 数据目录和 locale 的取舍

安装向导会让你选安装目录和数据目录。安装目录可以保持默认;数据目录建议多看一眼。它存的是你库里所有真实数据,如果系统盘空间紧张,或者以后打算把数据盘单独挂载、单独做备份,可以考虑把数据目录放到其他盘符。

接下来是 locale(区域设置)。Windows 中文系统下默认值是跟随系统区域设置的,通常是中文环境。这里要理解一个关键点:locale 决定的是数据库初始化时的编码和排序方式基础。

如果你只是本地开发用,默认 locale 基本够用;但如果你对数据库编码有明确要求(比如团队规定所有库必须 UTF8),或者后期要迁移到 Linux 服务器,建议在初始化时选择 C 或者 UTF8 相关选项,避免搞出一个 GBK 编码的库,迁移时全是乱码。

这个坑我在第 6 节还会展开。现在你只需要记住:安装向导里的 locale 不是随手点的,它决定了数据库底层的编码基因。

2.4 安装完成那一刻:Stack Builder 要不要开

安装完成后会弹出一个窗口,询问是否运行 Stack Builder。如前所说,直接取消就行。这一步不产生任何影响,只是少处理一个多余窗口。

装完以后,打开 Windows 服务管理器(Win+R 输入 services.msc),可以看到一个名字形如 postgresql-x64-16 的服务,这就是数据库实例对应的 Windows 服务。默认是开机自启,状态应该是“正在运行”。记住这个服务名,后面排错会反复用到。

3. 装完别急着连客户端:先用命令行把环境验一遍

安装完成不等于万事大吉。我见过太多人装完直接打开 Navicat,连不上就开始怀疑是 Navicat 的毛病,绕了一大圈才发现服务器本身就没跑起来。所以,在动 Navicat 之前,先用命令行把环境验证干净。

3.1 服务状态和端口监听先看一眼

先确认服务状态。打开 services.msc,找到 postgresql-x64-16,看状态是否是“正在运行”。如果服务没跑起来,右键启动试试;启动失败的话去数据库日志里找答案。日志默认在数据目录下的 log 子目录里,文件名一般是 postgresql-日期.log,里面会有具体的报错原因,这是排查一切问题的第一手资料。

然后看端口监听。命令行执行:

netstat -ano | findstr "5432"

正常情况会看到 127.0.0.1:5432 和 [::1]:5432 处于 LISTENING 状态。如果一条都没有,说明服务没监听起来;如果只有服务没端口,多半是数据库配置文件有问题,或者服务启动到中途失败了。

这一条很重要:端口监听状态直接决定了客户端能不能连上。很多远程连接失败的问题,最后都归结到这一步——服务器根本就没监听外网 IP。

3.2 把 psql 请进 PATH,从终端连一次

PostgreSQL 装完后,命令行工具在安装目录的 bin 子目录下,比如 C:\Program Files\PostgreSQL\16\bin。为了后面操作方便,把这个目录加到 PATH 环境变量里。

打开系统环境变量设置界面,在 Path 里新增这个 bin 目录,然后新开一个终端窗口让配置生效。验证:

psql --version

能输出版本号说明 PATH 生效了。然后用 psql 连接数据库:

psql -U postgres -h 127.0.0.1 -p 5432

输入安装时设置的密码,进入 psql 交互界面。能进来,说明服务器、端口、认证三个环节都是通的。输入 \conninfo 可以查看当前连接信息,输入 \l 可以列出所有数据库。

这一步是整个排错流程里性价比最高的一步:psql 能连上,问题就限定在客户端一侧;psql 连不上,问题就在服务器一侧。范围一下就缩小了一半。

3.3 验证完顺手建的测试库和用户

在 psql 里可以顺手建一个测试库,后面 Navicat 连接时用它来验证:

CREATE DATABASE testdb ENCODING 'UTF8' TEMPLATE template0;

注意指定编码时用 TEMPLATE template0,目的是从干净的模板创建,避免继承到默认模板里不合适的编码和排序规则。Windows 中文环境下这点尤其重要。

也可以用 \du 查看现有用户,确认超级用户列表里有 postgres。到这里,环境验证就完成了,相当于给数据库做了一次全面体检,接下来再去折腾 Navicat,心里是有底的。

4. Navicat 连接 PostgreSQL 的正确姿势

环境验证通过之后,再打开 Navicat 就心中有数了。Navicat for PostgreSQL 和 Navicat Premium 在连接逻辑上是一样的,下面按通用流程讲。

4.1 新建连接时每个字段该怎么填

Navicat 里点击“连接”,选择 PostgreSQL,弹出的窗口有几个关键字段:

字段推荐值说明
连接名任意,比如“本机PG测试”只是给你自己看的标识
主机127.0.0.1本地连接不要填 localhost,原因见第 6 节
端口5432必须和安装时设置的一致
初始数据库postgres这个库一定存在,最稳
用户名postgres安装时创建的超级用户
密码安装时设置的密码确认大小写和特殊字符

填完之后,窗口下方通常会有一个“测试连接”按钮,先点它。测试通过是绿色提示,失败是红色报错。不要急着点确定,先把这个体检报告看完。

4.2 点击测试连接之前,先改掉一个常见误区

很多人一看到“测试连接失败”就怀疑密码填错了,实际上测试连接失败的原因非常多,密码只是其中一种。

正确的做法是把测试连接当成一次综合体检:先看报错文案里有没有关键字。如果是 connection refused,优先关注服务器、端口和防火墙;如果是 password authentication failed,才轮到密码或认证方式的问题。网上很多人一上来就重置密码,结果重置完还是老报错,白白绕圈子。

另外注意,新建连接窗口里的“密码”默认有“保存密码”的选项。测试阶段可以勾上并直接保存,临时数据库无所谓;如果这是生产环境的连接配置,保存密码需要你自己评估安全策略,不要在公用电脑上随手勾选。

还有一个细节:有些老版本 Navicat 在测试连接时弹的窗口比较简陋,只有“连接失败”四个字,没有详细报错。这时候建议去 Navicat 的工具菜单里找日志或诊断信息,或者直接回到第 3 节用 psql 验证,离开图形界面反而更容易定位。

4.3 连上之后的第一批操作

测试连接成功,点击确定后,左侧连接树里会出现你新建的连接。双击展开,能看到数据库列表。

接下来做两件事。第一,展开 public 模式,确认能看到表列表;第二,打开查询工具,执行一条简单查询:

SELECT version();

如果 Navicat 能正常展示版本信息,连接链路就算彻底打通了。这里也能顺带确认一个事情:Navicat 连的到底是哪个库。很多人建了连接直接执行查询,结果发现操作的不是自己以为的那个库,就是因为“初始数据库”字段填错了。这个字段决定了连接启动后默认所在的库,是可以随时切换的,但初始填对能省不少事。

顺便说一句,在 Navicat 里右键连接名打开属性,可以看到这个库的编码、所有者、表空间等信息。建议看一眼编码,确认和预期一致,免得跑业务时才突然发现乱码隐患。

5. 高频报错逐个拆:症状、根因与完整排查链路

这一节是重头戏。我按真实出现频率整理几个经典报错,重点是讲清楚每一步排查的思路,而不是只给答案。因为报错文案哪怕一样,背后的原因也可能完全不同,只有掌握排查链路才能以不变应万变。

5.1 "connection refused":服务没起、端口不对还是防火墙拦了

这是出现频率最高的报错,Navicat 里的提示通常是 Connection refused,或者更详细的 connect to 127.0.0.1:5432 failed。

它的含义是:TCP 连接根本没建立起来。可能原因有三类,按顺序排查:

  1. 服务没在运行。回到 services.msc 确认 postgresql-x64-16 服务状态。
  2. 端口对不上。确认安装时有没有改端口,用 netstat -ano | findstr "5432" 看实际监听端口。
  3. 防火墙拦截。本机连接很少遇到防火墙问题,但只要是从其他机器连接这台 Windows 上的 PostgreSQL,Windows Defender 防火墙很可能默认拦截了 5432 端口的入站连接。

如果是远程场景,需要给防火墙添加一条入站规则放行 TCP 5432;同时还要确认 PostgreSQL 本身允许外部连接。具体来说就是修改 postgresql.conf 里的 listen_addresses,把默认的 localhost 改成 '*' 或者具体的网卡 IP,改完重启服务才能生效。

这里有个顺序问题:先改配置文件,再放防火墙,最后测试。如果先放防火墙再改配置,中间测试了一次失败,容易误判成防火墙没放行,白白折腾。

5.2 "password authentication failed":密码没记错却登不进去

报错原文一般是:password authentication failed for user "postgres"。

先排除最简单的可能:密码确实记错了。如果确认密码没错但还是登不进去,问题大概率出在认证方式上。PostgreSQL 高版本默认使用 scram-sha-256 认证,而 pg_hba.conf 里的认证方式如果和密码存储格式不匹配,也会导致同样的报错。

还有一个常见场景:密码是别人帮忙设置的,口令本身没问题,但输入时被输入法转成了全角字符,或者末尾多了空格。排查时最干脆的办法是重置密码,一了百了。

重置密码的标准流程:先备份 pg_hba.conf,把本地连接那几行的认证方式临时改成 trust,执行 pg_ctl reload -D "数据目录" 让配置生效,然后用 psql 无密码登进去执行 ALTER USER postgres PASSWORD '新密码';,最后把 pg_hba.conf 还原、再 reload 一次。整个过程有几分钟处于不设防状态,务必只在本机操作,并且尽快还原配置。

5.3 "no pg_hba.conf entry for host":认证配置文件在拦你

这个报错在远程连接场景特别常见,提示一般是:FATAL: no pg_hba.conf entry for host "192.168.x.x", user "postgres", database "postgres"。

意思是:你的客户端来源地址不在 pg_hba.conf 的访问规则里。pg_hba.conf 是 PostgreSQL 的访问控制清单,每一行定义了一条“谁可以从哪里访问哪些库、用什么认证方式”。默认文件只放行了本机回环地址(127.0.0.1 和 ::1),外部地址一律拒绝。

解决方法是编辑 pg_hba.conf,在 host 规则区域添加一行,比如:

host all all 0.0.0.0/0 scram-sha-256

这一行放行所有 IPv4 来源,只适合开发测试环境。生产环境必须写具体网段,比如 192.168.1.0/24。改完执行 pg_ctl reload 或者执行 SELECT pg_reload_conf(); 让它生效,不需要重启服务。

Windows 上编辑这个文件有个小坑:文件权限比较高,直接双击打开可能保存不了。可以用编辑器以管理员身份打开,或者先复制到桌面改完再覆盖回去。保存时别用记事本,容易把换行符和编码搞出问题,我后面会详细说。

5.4 Navicat 特有的驱动和版本坑

有些情况是 psql 能连、Navicat 连不上,这时问题基本锁定在 Navicat 本身。常见的有两类。

第一类:Navicat 版本过老。Navicat 对 PostgreSQL 新版本的支持是跟着版本走的。如果 Navicat 是很早之前的版本,而 PostgreSQL 装到了很新的大版本,可能出现驱动加载失败、连接中断等诡异问题。解决办法优先是升级 Navicat,而不是降级 PostgreSQL,毕竟数据库一般不会为了客户端降级。

第二类:SSL 协商问题。新版 PostgreSQL 默认开启了 SSL 相关参数,Navicat 如果连接配置里的 SSL 模式和服务器不匹配,可能出现“SSL 连接失败”或者连接后立刻断开。可以在 Navicat 连接属性的高级选项里检查 SSL 设置,本地开发环境通常可以选择“不使用 SSL”或者自动模式再试。

还有一个很不起眼的坑:Navicat 里主机填了 localhost,而系统把 localhost 解析到了 IPv6 的 ::1,pg_hba.conf 里恰好没放行 ::1,于是报 no pg_hba.conf entry。这个现象在 5.3 的报错里偶尔会出现,解法很简单,主机一律填 127.0.0.1。

5.5 一套通用的排错五步法

最后整理一套通用排错流程,遇到连接类问题按这个顺序走,基本不会漏:

  1. psql 本地连一次,判断问题在服务器还是客户端。
  2. 看服务状态和数据库日志,排除启动失败、配置报错。
  3. 用 netstat 确认端口监听,并核对客户端填写的端口。
  4. 检查 pg_hba.conf,确认来源地址、用户、数据库、认证方式都在规则范围内。
  5. 检查 Windows 防火墙和网络层,确认 TCP 端口可达。

每一步只验证一个变量,别一次改多个配置。这听起来保守,但大量连接问题都是“为了省事同时改了好几个文件,然后不知道哪个生效了”造成的。我经历过太多这种场面:改完 pg_hba.conf 没生效,又去改防火墙,再把 listen_addresses 改了一通,最后根本不知道问题出在哪一步。

另外把高频报错整理成一张速查表,方便大家对照:

报错关键字根本原因方向首选排查动作
connection refused服务未启动 / 端口错误 / 防火墙查服务状态和 netstat
password authentication failed密码错误 / 认证方式不匹配用 trust 临时改认证后重置密码
no pg_hba.conf entry来源地址未放行编辑 pg_hba.conf 添加规则
SSL connection errorSSL 模式不匹配Navicat 高级选项调整 SSL
too many clients already连接数达到上限调大 max_connections 或清理空闲连接

6. 几个藏得比较深的连接坑:IPv6、中文编码和日常维护

最后再聊几个不太容易想到、但真实发生过的坑。这几条属于“不看不知道,一看原来如此”的类型,希望能帮你少走弯路。

6.1 localhost、127.0.0.1 和 ::1 连出来的结果可能完全不同

Windows 上 localhost 的解析结果并不固定,现代 Windows 通常会优先解析到 IPv6 地址 ::1。这导致一个有意思的现象:Navicat 填 localhost 连不上,改成 127.0.0.1 就通了;或者反过来。

判断方法很简单:命令行执行 ping localhost,看它解析到的是 ::1 还是 127.0.0.1。如果是 ::1,而 pg_hba.conf 里没放行 ::1/128,用 localhost 连接就会失败。

所以我的习惯是:本地连接一律用 127.0.0.1,不用 localhost。少一个解析环节,就少一类隐藏问题。这不是强迫症,是真的在排错现场被这种问题折磨过之后的经验。

6.2 中文 Windows 上的编码与乱码

中文 Windows 系统默认区域设置基于 GBK 体系。如果安装时没注意 locale 设置,初始化出来的数据库默认编码可能是 GBK 体系而非 UTF8。这类库在 Navicat 里查询时表面上可能正常,一旦要导出数据、迁移库、或者跨平台对接,就容易出现中文乱码。

两个处理思路。一是新库创建时明确指定编码 UTF8,像第 3 节里建库时那样加上 ENCODING 'UTF8' TEMPLATE template0;二是在连接后设置客户端编码,执行 SET client_encoding TO 'UTF8';,或者在 Navicat 的连接属性里调整编码设置。

另一个场景是 Windows 终端的乱码。psql 在 GBK 代码页的 cmd 窗口里输出 UTF8 内容时也会乱,可以先执行 chcp 65001 切换到 UTF8 代码页,或者用 Windows Terminal 并设置对应编码。这个乱码只是显示层面的,不影响数据库实际存储,但很影响调试体验。

6.3 日常维护要用到的几条命令

最后整理几条日常运维里最常用的命令,都是实操中反复验证过的:

  • 查看实例状态:pg_ctl status -D "C:\Program Files\PostgreSQL\16\data"
  • 重载配置(改完 pg_hba.conf 或 postgresql.conf 后):pg_ctl reload -D "C:\Program Files\PostgreSQL\16\data"
  • 重启服务:net stop postgresql-x64-16 && net start postgresql-x64-16
  • 备份单个库:pg_dump -U postgres -h 127.0.0.1 库名 > 备份文件名.sql
  • 恢复备份:psql -U postgres -h 127.0.0.1 库名 < 备份文件.sql

这里单独说一句:别用记事本直接编辑 postgresql.conf 和 pg_hba.conf。记事本对 UTF8 编码文件的处理可能引入奇怪字符,导致配置文件解析失败。建议用代码编辑器,保存成 UTF8 无 BOM 格式,改完先跑一遍 pg_ctl reload,看有没有报错再关闭窗口。很多人改完配置没生效,就是编码或换行符的问题,这类问题极其隐蔽。

这套流程我陆陆续续走下来,最大的体会是“少改多验”。一次只改一个配置,改完立刻用 psql 验证,再交给图形化客户端。凡是遵守这个习惯的时候,排错速度都会快很多。你在 Windows 上装 PostgreSQL、用 Navicat 连接时遇到的绝大多数问题,也基本都能用这套思路解决。

相关新闻

2N数组中找重复N次:从哈希到O(1)的相邻比较法

2N数组中找重复N次:从哈希到O(1)的相邻比较法

这题我愿称之为“最容易被过度设计的简单题”。第一次在题库里翻到“在长度 2N 的数组中找出重复 N 次的元素”时&#xff0c;我脑子里冒出来的第一反应是&#xff1a;又要上哈希表数次数了。但等我耐着性子把题干里的三个条件逐条读完之后&#xff0c;才意识到这题考的根本不是…

2026/10/20 5:44:15 阅读更多 →
HTTP请求头伪造入门:从SWPUCTF新生赛题看Web安全

HTTP请求头伪造入门:从SWPUCTF新生赛题看Web安全

1. 题目初印象&#xff1a;从名字里能读出什么先说结论&#xff1a;这道[SWPUCTF 2021 新生赛]Do_you_know_http是一道典型的、面向新手的Web安全入门题&#xff0c;核心考察的是对HTTP协议基础知识的理解与抓包改包能力。它不会要求你掌握复杂的漏洞利用链&#xff0c;也不涉及…

2026/10/20 5:43:15 阅读更多 →
用Python打造PPT生成工具:Markdown转pptx的架构设计与实现

用Python打造PPT生成工具:Markdown转pptx的架构设计与实现

1. 为什么我要自己动手做一个PPT生成工具先说说我做这个项目的起因。我在一家中型公司做技术方案相关的工作&#xff0c;平均每周要出三到五份PPT&#xff0c;有的是给客户讲架构&#xff0c;有的是给内部做技术评审&#xff0c;还有的是给管理层做汇报。时间长了就发现一个很尴…

2026/10/20 5:43:15 阅读更多 →

最新新闻

artcraft类创作工具技术架构与交互设计实战指南

artcraft类创作工具技术架构与交互设计实战指南

1. 从"artcraft"这个名字说起&#xff1a;一个被低估的创作工具定位问题第一次看到"artcraft"这个词&#xff0c;我脑子里蹦出来的第一反应是"艺术"加"手艺"的组合。这不是一个随便拼出来的名字&#xff0c;它暗示了一种很具体的产品气…

2026/10/20 6:27:33 阅读更多 →
从自由发挥到受控执行:大模型Skill机制实战

从自由发挥到受控执行:大模型Skill机制实战

1. 先弄明白&#xff1a;Skill到底解决的是什么问题1.1 大模型能力的边界在哪里如果你用过几款主流的大模型对话工具&#xff0c;就会发现一个奇怪的现象&#xff1a;让模型帮你"解释一段代码""写个正则表达式"很容易&#xff0c;但让它"按团队规范自…

2026/10/20 6:27:33 阅读更多 →
JavaFX+SSM架构实战:桌面客户端与数据服务端的高效整合

JavaFX+SSM架构实战:桌面客户端与数据服务端的高效整合

简介&#xff1a;这是一份融合 JavaFX 与 SSM 框架的 ERP 系统完整项目&#xff0c;面向需要将桌面 GUI 与企业级后端整合开发的 Java 学习者、毕业设计或项目实战人群&#xff0c;既能学习界面设计&#xff0c;也能掌握经典后端框架的落地方式。资源共包含 2 个文件&#xff1…

2026/10/20 6:27:33 阅读更多 →
Python与API文本分析实战:从文本清洗到工程化部署

Python与API文本分析实战:从文本清洗到工程化部署

AI应用的潜力&#xff0c;有一大半藏在文本里。文本分析这个方向&#xff0c;我自己前前后后折腾过不少方案&#xff0c;从早期的正则规则、词频统计&#xff0c;到开源模型微调&#xff0c;再到现在用 Python 接各类大模型 API 做文本分析&#xff0c;最大的感受是&#xff1a…

2026/10/20 6:27:33 阅读更多 →
IPv4报文头部详解:字段、分片与网络排查核心知识

IPv4报文头部详解:字段、分片与网络排查核心知识

做网络排查做得久了&#xff0c;你会发现一个特别有意思的现象&#xff1a;很多人能把TCP的三次握手、四次挥手讲得天花乱坠&#xff0c;可一旦你把抓包工具里的一帧数据展开&#xff0c;让他逐字节解释一下IPv4头部&#xff0c;他反而会卡壳。TCP、UDP这些传输层协议太出名&am…

2026/10/20 6:27:33 阅读更多 →
STM32 bxCAN实战:从物理层到过滤器配置与调试排障

STM32 bxCAN实战:从物理层到过滤器配置与调试排障

做嵌入式这几年&#xff0c;UART、I2C、SPI都是老朋友&#xff0c;但真正让我觉得“像个通信工程师”的&#xff0c;是开始啃STM32的CAN外设之后。原因很简单&#xff1a;在汽车、机器人和工业现场&#xff0c;CAN总线是默认的“老大哥”&#xff0c;而它在微控制器上的硬件实现…

2026/10/20 6:26:33 阅读更多 →

日新闻

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

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

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

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

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

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

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

如果你的信息流最近也天天刷到“机器人大脑”这个词&#xff0c;你会发现一个很有意思的现象&#xff1a;每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型&#xff0c;有人指的是运动控制系统&#xff0c;还有人指的是能理解物理世界的端到端模型。在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 阅读更多 →