- 博客(712)
- 收藏
- 关注
原创 Java 后端想学 Vue,又想写浏览器插件?
像写 Vue 项目一样写浏览器插件Vue 学得最扎实,但需要多操点心能干很多事,但不适合一开始学 VueJava 后端想转或补前端不想被前端名词劝退想学 Vue:先选 WXT + Vue3。
2026-01-09 17:49:18
457
原创 Jenkins 打包显示 SUCCESS 但产物不全?日志出现 Killed 的排查与解决(小白版)
Jenkins 构建日志出现Killed,产物不完整但显示 SUCCESS99% 是 Node 构建被 OOM Killer 干掉了放大 Node 内存(NODE_OPTIONS) + 失败即中断(set -e) + 检查 Docker 限制/加 swap。
2026-01-08 11:18:41
368
原创 芋道项目部署:前端写死后端地址 vs Nginx 反向代理
部署这一步,很多人追求“先能跑起来”,然后在生产上留下隐患。你现在主动从“直连后端”升级到“同域反向代理”,其实就是在做正确的工程化。
2026-01-08 10:30:02
1175
原创 宝塔 vs 1Panel 有什么区别?能不能同时安装?
宝塔面板1Panel宝塔适合建站,1Panel 适合跑服务不用 PHP,只跑 Java → 直接选 1Panel一台服务器,只装一个面板。
2026-01-08 09:54:59
749
原创 Java 程序员如何快速上手浏览器插件开发?一篇文章讲透 Chrome Extension
作为一个 Java 程序员,我以前一直有个刻板印象:浏览器插件 = 前端要学 Vue / React / 前端工程化后端学这个没啥用自动采集网页数据批量填表 / 自动上传提升日常工作效率做一些「小而美」的工具浏览器插件,恰恰非常适合 Java 程序员。而且学习成本远低于想象。浏览器插件不是前端项目,而是一个运行在浏览器里的小系统。对 Java 程序员来说,这是能力扩展,而不是转行。插件开发,比你想象中简单得多。自动化提效工具副业产品第二技能👉。
2026-01-07 20:25:17
925
原创 芋道(Ruoyi-Vue-Pro)对接腾讯云短信:没配回调URL,为啥也能看到发送成功/失败?如何排查?
发送状态= 腾讯云接口同步返回(受理/拒绝),不需要回调也能看到接收状态= 运营商最终投递结果,需要回调 URL 才能自动回写所以你没配回调也能看到“发送成功/失败”,完全正常。
2026-01-06 15:35:09
400
原创 一篇讲透:芋道源码中的「租户」是如何通过程序控制的?
在SaaS 系统租户 = 一套系统的一个“客户单位”举几个直观例子:一个 OA 系统A 公司是一位租户B 公司是另一位租户一个进销存系统每家使用的商户 = 一个租户👉数据必须隔离,但代码是同一套@Select、XML SQL 都会被拦截 ✔❌芋道通过 ThreadLocal 保存租户上下文,再通过 MyBatis Plus 拦截器自动拼接 tenant_id,实现“对业务代码几乎无侵入”的多租户隔离。
2026-01-06 09:07:02
279
原创 Java 对接 PLC 实战:西门子 PLC 与永宏 PLC 通讯方式全面对比
下面这篇按“从 0 到能跑通”的思路,把和在时的差异讲清楚:差异到底来自哪里、配置要点是什么、代码通常怎么写、踩坑点有哪些。读完你应该能选出更适合的对接方式,并能在后续项目里直接参考。
2026-01-06 09:04:08
242
原创 从 0 到跑通:为什么浏览器里能点开的下拉,用 Content Script 自动化却总失败?
✅事件模拟升级:不只.click(),而是完整 pointer/mouse 序列✅可见性判断更稳:不迷信和opacity✅等待条件以结果为准:等选项文本出现✅选中后必须校验状态变化这些经验几乎适用于所有现代前端组件的下拉自动化问题,不只限于小红书。自动化失败,99% 不是“点不到”,而是“你以为点到了”把每一步都变成可验证的状态变化,问题自然会暴露出来。
2026-01-04 18:12:34
970
原创 暂停键的一年:一个 Java 程序员的技术复盘与自我校准
这段时间里,我几乎没有参与新的项目,也很少高强度写代码,而是把主要精力放在了一件与技术无关、但对我来说同样重要的事情上——陪伴家人,全职备考。那段时间里,我并没有完全脱离技术,只是从“高频参与者”,变成了一个相对安静的旁观者。很多时候,最合适的方案并不是最“新”的,而是最不容易出问题的。随后,我重新回到了开发岗位。这一年,并没有太多可以量化的技术成果,但却让我对“技术”“职业”和“持续成长”这几件事,有了更清晰的认识。这类工具,它们更多承担的是“辅助判断”和“验证思路”的角色,而不是简单地帮我写代码。
2025-12-30 15:38:54
318
原创 积木报表(JimuReport)URL 传多个 outId 查询多条:为什么 `IN (${outId})` 只生效第一个?以及正确做法(小白版)
outId=7,8,SQL 写了,但预览只出来7的数据,没有8。下面我用“先复现 → 再解释原因 → 再给可落地方案”的方式,把它写成一篇完整教程。
2025-12-25 15:14:51
1003
原创 解决Java中IP地址访问HTTPS接口的SSL证书验证问题
我们需要配置,让它跳过SSL证书验证。注意:这种方法只适用于开发/测试环境,生产环境应该使用正确的证书。@Override// 不进行任何检查,信任所有服务器证书// ... 其他方法这个证书是否过期证书是否被吊销证书的域名/IP是否匹配问题根源:Java的SSL验证严格,证书中没有IP地址时会拒绝连接解决方案:配置跳过SSL证书验证关键代码:自定义安全提醒:仅用于开发/测试环境,生产环境应使用正确的证书。
2025-12-18 10:39:35
1065
原创 一文搞懂:如何在 Redis 中查看芋道 OAuth2 Token 的过期时间
没切对 Redis DB连错 Redis 实例项目不是 OAuth2(而是 JWT / Sa-Token)
2025-12-18 09:12:20
964
原创 Jenkins 主题美化指南(新手必看):哪个主题最好用?怎么选不踩坑?
Jenkins 是运维 / CI 工具❌ 不要追求“炫酷”✅ 要追求稳定 + 不影响功能先用 Simple Theme,用稳了再谈美化。
2025-12-17 17:32:59
429
原创 执行 install.sh 报错 `env: ‘bash\r‘: No such file or directory` 怎么解决?
错误操作原因Docker 容器里通常没有 sudo一直chmod +x权限不是根因以为是 bash 没装实际是换行符问题以为 Jenkins 有 bug和 Jenkins 无关报错 ≠ bash 不存在而是脚本是 Windows 格式(CRLF),用sed -i 's/\r$//' 文件名即可解决。在.sh脚本永远只用 LF不要用 Windows 记事本编辑下载脚本尽量用。
2025-12-16 14:01:58
411
原创 Jenkins 中如何给角色分配多个不同名称的项目(Role 权限实战)
Jenkins 的角色权限控制,本质是正则表达式匹配 Job 名称。.*才是“任意项目名”多前缀用(a|b|c)不要把当通配符用。
2025-12-16 09:03:48
1165
原创 Jenkins 构建前端项目报错:ERR_PNPM_OUTDATED_LOCKFILE、vite.js not found、dist 为空 ——完整原因与解决方案指南
问题原因解决方案package.json 与 lockfile 不一致更新锁文件或使用vite.js 不存在node_modules 没成功安装解决上一步即可dist 不存在 zip 失败vite 未执行构建解决依赖安装问题即可。
2025-12-09 17:07:04
918
原创 解决 SLF4J 警告问题 - 完整指南
SLF4J(Simple Logging Facade for Java)是一个日志门面框架,它提供了一个统一的日志接口,允许你在运行时选择具体的日志实现。SLF4J 警告的原因:缺少日志实现最简单的解决方案:添加依赖推荐版本:1.7.36(稳定可靠)验证方法:重新运行程序,检查警告是否消失。
2025-12-02 10:01:16
726
原创 彻底解决「Public Key Retrieval is not allowed」终极指南
MySQL 8 默认启用的加密认证方式与旧 JDBC 驱动不兼容,必须允许公钥检索、修改认证方式、或升级驱动。记住这句话,你以后不会再被坑到。
2025-12-02 09:05:55
792
原创 老项目 node-sass 安装失败怎么办?完全小白可用的解决方案(附最简单修复方式)
项目太老node-sass 太老Node.js 太新两者无法兼容100% 成功。
2025-12-01 15:21:43
470
原创 Vue组件状态同步问题:为什么修改了DOM值,提交时还是默认值?
摘要:解决Vue/React表单值同步问题 当使用脚本操作Vue/React表单时,直接修改DOM的input.value可能不会更新框架内部状态,导致提交时仍传默认值。这是因为现代前端框架维护独立的状态管理系统。解决方案包括: 直接操作Vue组件实例(通过__vue__属性) 使用更真实的InputEvent替代普通Event 模拟用户逐字输入 触发blur事件确保保存 提交前二次验证和重新同步 这些方法通过不同层面确保框架内部状态与DOM显示值一致,最推荐直接操作Vue组件实例的方式。
2025-11-30 23:25:53
1077
原创 MySQL 报错:1273 - Unknown collation: `utf8mb4_0900_ai_ci` 怎么办?(超详细小白向教程)
遇到打开 SQL 文件把所有→ 改成再重新导入 / 重新同步能用就行,不要纠结 😄。
2025-11-27 10:40:14
489
原创 Spring Boot 项目能支持 150 个用户同时使用吗?(超详细小白教程)
项目是否影响并发说明CPU⭐ 高Spring Boot 主要看它内存⭐ 中太小会 OOM 或卡顿数据库⭐⭐ 最关键SQL 慢,全系统都会慢带宽❗小影响只有文件传输才重要✔ Spring Boot 本身性能很强,✔ 150 同时在线属于小流量✔ 国产 OA、ERP、商城都轻松能到 1000 并发。
2025-11-25 14:51:23
80
原创 没有网口的设备,能不能通过 485 转网口“访问 Access 数据库”?——一次性讲清楚
RS-485 转网口,只是把“通讯方式从串口变为网络”,并不会神奇地让设备多出一个可以直接访问内部 Access 数据库的功能。设备有没有提供文件/数据访问服务(Web、FTP、SMB、API 等);而不是它用的是 485、网口,还是有没有加一个转换器。如果你只是想“从设备拿到数据,并用 Access 保存、分析”,把你的电脑/服务器当成上位机,在你这边建库存数据,而不是幻想直接打开设备内部的那份数据库文件。
2025-11-21 09:10:34
99
原创 工控设备网络设置终极指南(小白也能看懂)
很多工控设备(PLC、触摸屏、上位机、试验机控制器等)都需要通过网口与电脑通信。但现实中最常出现的情况就是:下面我用最简单的方式把原理与解决方案讲清楚,让你以后再也不会被这些问题困扰。设备与电脑要想互相通信,必须满足:例如:这是默认的普通局域网配置。169.254.xx.xx 是 Windows 的 自动私有地址(APIPA)。它代表:出现这个地址 ➜ 说明电脑收不到任何 IP 配置信息。当你直连设备(点对点连接)时,这种情况最常见。因为直连设备没人给你分配 IP,所以你必须手动设置。假设设备 IP 是:
2025-11-18 17:06:28
718
原创 Chrome 插件开发:为什么 background.js 有日志,而 content-script 没显示?(小白也能看懂)
content-script.js 显示在网页自身的控制台**它们永远不会在同一个调试窗口里出现。
2025-11-16 14:53:02
1014
原创 S7 协议 vs Modbus:到底有什么区别?(小白也能看懂的入门解释)
上位机 →(S7 协议)→ 直接访问 PLC 内存(I/Q/M/DB/V…)上位机 →(Modbus 协议)→ 读写设备提供的“寄存器”这些寄存器背后由 PLC / 设备程序映射到真实变量上S7 更“贴近 PLC 内部”,适合深度对接西门子 PLCModbus 更“通用”,适合作为多设备的统一访问层。
2025-11-14 10:54:00
1049
原创 零基础看懂:WiFi 协议与 485 协议的区别与使用场景
对比项WiFi 协议RS-485 协议传输介质无线(空气)有线(双绞线)通信距离一般几十米(可通过路由扩展)最远上千米通信速率高速(取决于网络)较低(9600~115200bps)抗干扰一般非常强连接数量理论无限通常 32 台开发方式基于 TCP/IP、HTTP、MQTT基于串口、Modbus RTU场景智能设备、无线数据采集工业控制、实验仪器、自动化设备WiFi 协议是设备通过“无线网络”上传数据;RS-485 协议是设备通过“有线串口”发送数据;
2025-11-11 09:09:21
669
原创 芋道后端部署后总自己挂?从 Nginx 报错到 OOM Kill 的完整排查与修复(2核2G 服务器实战)
环境:2 核 2G 内存、3M 带宽;宝塔面板;9999项目为(禁用 IoT,其余模块基本都引入)。现象:前端偶发 502/超时,Nginx 报,后端 Java 服务“运行一会儿就自己没了”。
2025-11-07 16:51:24
815
原创 芋道框架实现单点登录:踢出旧登录,让每个账号只能在一处登录
在企业级应用开发中,账号安全是非常重要的。很多情况下,我们需要限制一个账号只能在同一时间在一个地方登录,这被称为"单点登录"(Single Sign-On)或"踢出旧登录"功能。当用户在新设备登录时,之前在其他设备的登录会话会被强制踢出。今天我们就来详细讲解如何在芋道(RuoYi)框架中实现这个功能。通过以上步骤,我们成功在芋道框架中实现了单点登录功能。
2025-11-05 11:02:53
714
原创 比特率 vs 波特率:一篇让小白也能看懂的超详细指南
定义:单位时间内传输的比特数(二进制位),单位bit/s(b/s)。直觉:数据吞吐量;每秒“01”有多少个。比特率和波特率是两个不同维度:信息量 vs. 符号变化速度。判断两者关系,先看电平/调制阶数(M),再看有没有线路编码,最后别忘协议/纠错开销。串口“9600”经常被口语称为“9600 波特”,但有效数据吞吐并非 9600 bit/s。
2025-11-04 16:57:57
1588
原创 从零认识设备通信:Wi-Fi 与 RS-485 的区别与应用详解
Wi-Fi 是一种无线网络通信方式,它让设备通过“空气”把数据传输到另一个设备,就像你用手机连接路由器上网一样。智能家居(比如智能插座、空调控制器)无线传感器(温度、湿度采集)IoT(物联网)设备上传数据RS-485 是一种有线通信标准,它通过**两根线(A、B 线)**来传递电信号。它不依赖网络,也不用 Wi-Fi、4G,只需要两根线就能实现稳定的多设备通信。很多工业设备,比如 PLC、电表、温湿度控制器,都用 RS-485 接口。类比含义Wi-Fi 像是手机上网。
2025-11-04 15:44:01
559
原创 前端存储机制详解:为什么关闭浏览器后仍然保持登录?——以芋道项目为例
场景推荐方式说明后台管理系统,要求关闭浏览器需重新登录安全性更高,体验可接受普通用户系统,希望长期保持登录+ 有效期控制兼顾体验与安全高安全性系统(如金融后台)后端 cookie + 短期 token前端不直接保存 token。
2025-11-04 14:02:34
1067
原创 为什么 HTTP 能访问,但 HTTPS 却打不开?——Nginx SSL 端口配置详解
查看端口监听测试端口连通性检查 9000 是否支持 TLS若提示,说明未启用 SSL。出现 “HTTP 能访问,HTTPS 打不开” 时,90% 都是因为相应端口没有启用 SSL 监听。并确保证书路径正确、端口放行,就能轻松解决。SSL 证书 ≠ 启用 HTTPS。真正决定是否加密通信的,是你在 Nginx 里对端口的ssl声明。
2025-11-04 09:19:02
675
原创 已经打包好的前端项目如何启动(超详细图文教程)
目标推荐方式快速预览打包效果部署上线Nginx(生产环境)小白用户宝塔面板上传无服务器方案💬前端项目打包后的文件,其实就是一堆静态资源。启动它的核心思路很简单:“找个能访问静态文件的环境(本地服务器 / 云平台 / 宝塔),把 index.html 打开。无论你是初学者还是老手,只要理解这一点,部署前端项目就不再神秘啦。
2025-11-03 10:05:21
1080
原创 Xcode 是什么?为什么开发必须安装它?——Mac 开发环境详解(给小白的图文教程)
开发方向是否需要 Xcode✅ 安装完整 Xcode前端 / Node / Vue / React✅ 安装 Command Line Tools✅ 安装 Command Line ToolsPython / AI / 数据分析✅ 安装 Command Line Tools✅ 安装 Command Line ToolsWindows 桌面开发 (.NET / WPF / UWP)❌ 不支持,请用 Windows很多人以为 Xcode 只是“做 iOS App 的 IDE”,其实它更像是。
2025-10-30 10:24:07
958
原创 MacBook 开发适合什么语言?哪些不太合适?——给小白的完整指南(2026 版)
要做 iOS/macOS/前后端通吃、轻中度 AI 推理/数据分析、云原生/DevOps→MacBook 非常合适。要做 Windows 独占桌面、DirectX、重度 CUDA 训练、老旧闭源 x86 工具链→选 Windows/云或混合方案(Mac 远程到 Windows/GPU 服务器)。
2025-10-30 10:15:39
1083
原创 Elasticsearch 索引查看全教程(新手也能看懂)
功能命令说明查看所有索引v了解有哪些索引查看索引详情/{index}查看完整配置与结构查看映射查看字段类型查看设置查看分片、副本查看别名v确认索引别名指向💡对 Elasticsearch 来说,“索引(index)”相当于数据库表(table)。学会查看 mapping 和 settings,就能快速理解数据结构和存储策略。当项目报错“索引不存在”或“字段类型不匹配”时,这些命令是排查的第一步。
2025-10-27 17:15:18
735
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅