自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

李长渊的博客

鲜衣怒马少年时,不负韶华行且知。

  • 博客(397)
  • 资源 (11)
  • 问答 (1)
  • 收藏
  • 关注

原创 Qoder 自定义子智能体(Subagent)学习笔记

本文系统总结Qoder自定义子智能体(Subagent)的实践:通过隔离上下文、受限工具与固定输出,实现任务标准化。重点涵盖字段规范(如name/tools/model)、权限设计(禁用SearchReplace、命令黑名单)、输出格式约束及三类角色协作流程。强调规范统一来源、避免职责重叠,并附验收清单与常见坑点速查,助力团队高效落地可维护的智能体体系。

2026-11-03 09:42:31 146

原创 【保姆级】FRP内网穿透 + Nginx HTTPS 安全部署教程(微信公众号适配、无暴露端口)

这套穿透方案,是目前开发、测试、准生产最优方案。相比传统 Ngrok、端口映射:更安全、更稳定、支持微信业务、可长期在线使用。我已经全部脱敏、格式标准化、代码块统一、排版完全适配 优快云,直接粘贴发布即可!需要我帮你加上 优快云 专属封面标签、分类、关键词吗?

2026-05-30 09:38:10 357

原创 家用宽带动态公网 IP 下 Node + PostgreSQL 服务的 DDNS 全流程部署实践

返回 403 无权限RAM 子账号未添加权限。域名不更新域名填写错误,与云解析不一致未先手动创建 A 记录公网能 ping 通但无法访问服务端口转发未配置正确服务器防火墙拦截了端口内网 IP 不是静态,导致转发失效IP 变化后无法访问ddns-go 服务未启动或电脑关机、休眠。本文通过阿里云 DNS + ddns-go实现了家用宽带动态公网 IP 的自动解析,让内网 Node + PostgreSQL 服务可以通过固定域名稳定对外提供访问。整套方案免费、轻量、稳定、安全。

2026-04-13 14:33:18 659

原创 实战教程:openyida登录Playwright chromium-1217报错,用Windows软链接终极绕过

作用:相当于给文件夹创建「快捷方式」,系统读取旧路径时,自动跳转真实目标路径/D参数:专门用于目录文件夹链接,适配本次浏览器目录嫁接场景优势:不占额外磁盘空间、不复制文件,原生调用本地程序,无兼容性bug针对openyida绑定私有Playwright浏览器版本、国内下载404/慢到卡死的场景,软链接嫁接是最优解;全程不下载冷门依赖、不改配置、不破解软件,纯Windows原生命令实现兼容;核心逻辑:用成熟本地Chrome,替代小众私有Chromium,绕过所有安装限制;

2026-04-02 14:38:31 690

原创 微信登录报错10003?90%开发者都踩过的“域名配置”坑,一文彻底搞懂!

步骤操作状态1登录微信后台 → 功能设置 → 网页授权域名☐2设置为(无协议、无端口、无斜杠)☐3下载验证文件并上传到网站根目录☐4确保能通过http://demo.example-test.com/文件名.txt访问☐5清理微信缓存☐6用访问并测试登录☐微信开发的“域名配置”看似简单,实则暗藏玄机。尤其是对于初学者来说,很容易因为概念混淆而浪费大量时间。“JS安全域名管分享,网页授权域名管登录,消息推送URL管收消息——三者各司其职,缺一不可!

2026-03-20 16:04:30 648

原创 如何为本地开发环境配置 HTTPS 以对接微信登录

在现代 Web 开发中,HTTPS已经不再是“可选项”,而是“必选项”。尤其是当你的项目需要对接微信登录小程序支付接口或调用浏览器高级特性(如地理位置、摄像头)时,强制要求域名必须是https://开头。很多开发者在本地开发时习惯使用或http://IP:端口,一旦要测试微信授权,就会遇到参数错误的问题。本文将带你一步步完成从申请免费 SSL 证书到配置 Nginx 反向代理的全过程,让你的本地开发环境也能拥有安全的 HTTPS 链接。⚠️ 脱敏声明。

2026-03-20 09:44:35 447

原创 Nginx 反向代理实战:解决 IPv6 报错与跨网段访问指南

本文档记录了如何通过 Nginx 将公网域名请求代理到公司内部网络服务的完整过程。重点解决了IPv6 解析导致的连接超时问题,并详细阐述了端口映射与DNS 解析的核心原理。适用于需要将内网开发/测试环境暴露给公网访问的场景。反向代理 (Reverse Proxy)充当“中间人”,客户端只与 Nginx 交互,不知道后端真实存在。好处:隐藏内网结构、统一入口、负载均衡、SSL 终止。Resolver 指令当proxy_pass使用域名而非 IP 时,Nginx 需要 DNS 解析。

2026-03-19 09:18:14 506

原创 PostgreSQL 18 本地部署与运维完全指南 (Windows版)

默认安装可能未将数据库注册为“自动启动”的 Windows 服务,需手动执行以确保重启后自动运行。⚠️ 重要:请务必记牢此密码,后续所有连接都依赖它。(建议不要安装在 C 盘,避免系统盘空间不足)将以下命令保存在备忘录中,日常维护必备。:配置文件禁止了 TCP/IP 连接。为了能在任意 CMD 窗口直接使用。等命令,需配置环境变量。执行以下命令(服务名设为。

2026-03-17 15:07:15 1059

原创 OpenClaw 本地部署完全指南:从环境验证到启动运行

小龙虾

2026-03-10 20:02:53 5419

原创 window使用nvm管理nodejs

在 Windows 环境下进行前端或 Node.js 开发时,你很可能遇到过这样的困境:同时参与多个项目,有的需要 Node.js 14,有的却要求 Node.js 18 甚至更高版本。手动卸载重装 Node.js 不仅麻烦,还容易出错。**nvm-windows**(Node Version Manager for Windows)正是解决这一痛点的利器。本文将带你从零开始,系统学习如何在 Windows 上使用 nvm 高效管理 Node.js 版本。

2026-03-10 15:37:11 670

原创 JavaScript中的setDate()方法详解:操作日期的利器

在JavaScript开发中,日期处理是一个常见但又容易出错的领域。`setDate()` 方法是Date对象中一个非常实用的方法,它可以让我们轻松地设置和调整日期。本文将深入探讨`setDate()`方法的使用技巧和注意事项。

2026-03-10 09:03:38 223

原创 cpolar映射本地MySQL数据库(127.0.0.1:3307)完整教程(含报错解决)

本文详细介绍了使用cpolar内网穿透工具将本地MySQL数据库(127.0.0.1:3307)映射到公网的完整步骤。主要内容包括:1)前置准备工作,如安装cpolar、确保MySQL正常运行和防火墙设置;2)创建TCP隧道的关键配置流程;3)配置MySQL远程访问权限的详细方法;4)测试公网连接的两种方式;5)重点解决"2017 Can't open named pipe"错误的方法(去除tcp://前缀);6)使用注意事项和安全建议。文章提供了从安装配置到问题解决的完整指南,帮助开发

2026-03-07 11:33:53 749

原创 JavaScript数组排序深度解析:掌握`.sort((a, b) => b.classScore - a.classScore)`

本文深入解析JavaScript数组排序方法.sort((a, b) => b.classScore - a.classScore)。首先介绍了sort()方法的基本用法和比较函数的重要性,然后详细拆解了该表达式的语法和工作原理,说明其实现对象数组按数值属性降序排序的逻辑。文章还提供了多条件排序、处理undefined/null值、字符串排序等实战场景,分析了排序稳定性、性能优化等最佳实践,并指出了常见陷阱如数组被修改问题。最后总结了掌握比较函数对实现复杂排序需求的重要意义,强调代码应兼顾正确性、性能

2025-10-18 09:25:33 455

原创 深入解析日历组件的实现原理与最佳实践

清晰的日期计算逻辑模块化的数据生成方法业务数据与视图的优雅整合基本的错误处理机制通过深入理解这些核心概念,开发者可以构建出更强大、更灵活的日历组件,满足各种复杂的业务场景需求。

2025-08-13 15:17:56 651

原创 JavaScript对象属性访问:点表示法与方括号表示法的区别与应用

理解JavaScript中点表示法和方括号表示法的区别是掌握对象操作的基础。虽然点表示法更为简洁,但方括号表示法提供了更大的灵活性。根据具体场景选择合适的访问方式,可以使代码更加清晰、灵活和可维护。在实际开发中,两种方法通常会结合使用,以发挥各自的优势。

2025-08-13 09:57:55 640

原创 SpringBoot中ResponseEntity的使用详解

ResponseEntity是Spring框架提供的一个泛型类,用于表示整个HTTP响应,包括状态码、响应头和响应体。它允许开发者对HTTP响应进行细粒度的控制,是构建RESTful API时常用的返回类型。.body("带有自定义响应头的响应");// 构造方法、getter和setterResponseEntity是Spring Boot中处理HTTP响应的强大工具,它提供了对响应的精细控制能力。

2025-07-30 15:58:22 1707 1

原创 深入理解Java Map的entrySet()方法

entrySet()是Java中Map接口的一个重要方法,它返回一个包含Map中所有键值对(Map.Entry对象)的Set集合。这个方法为我们提供了一种同时访问键和值的高效方式。entrySet()提供了同时访问键和值的统一方式支持各种集合操作(迭代、过滤、转换等)在大多数情况下比单独使用keySet()和values()更高效与Java 8的Stream API完美结合掌握entrySet()的使用可以显著提高处理Map数据的代码质量和性能。

2025-07-29 22:03:46 1040

原创 深入理解Java中的Map.Entry接口

K getKey();// Java 8新增方法// Java 9新增方法Map.Entry统一访问:标准化的方式访问键值对高效操作:批量处理和修改的能力函数式支持:完美配合Stream API灵活性:多种比较和转换能力深入理解Map.Entry接口可以帮助开发者写出更简洁、高效的Map处理代码,特别是在复杂数据操作场景中。

2025-07-17 23:40:06 1703

原创 深入理解Map.Entry.comparingByValue()和Map.Entry.comparingByKey()

创建一个按键的自然顺序比较Map条目的Comparator键类型K必须实现Comparable接口// 按键长度排序// 按值的绝对值排序(假设值为Integer)和代码简洁:避免了手动实现Comparator的繁琐可读性强:方法名直接表达了比较的意图灵活组合:可以与thenComparing等组合实现复杂比较逻辑性能良好:与手动实现的Comparator性能相当掌握这两个方法可以显著提高处理Map集合的效率和代码质量,特别是在需要排序或查找最大/最小元素的场景中。

2025-07-17 23:26:32 1291

原创 使用Collections.max比较Map<String, Integer>中的最大值

使用配合或自定义比较器,是从Map中找出最大值条目的简洁高效方法。代码更简洁可读性更好易于维护性能相同对于Java 8及以上版本,也可以考虑使用Stream API实现类似功能,但仍然是处理这类问题的经典解决方案。

2025-07-17 23:23:07 880

原创 深入理解Java中的Collections.max()方法

/ 按字符串长度比较// 输出: "banana"// 回退到自然排序Iterator<?与自然排序版本类似,只是使用提供的Comparator进行比较// 找出最晚的日期// 找出最早的日期是Java集合框架中一个简单但强大的工具方法,它提供了一种简洁的方式来从集合中找出最大元素。使代码更加简洁易读减少手动实现可能引入的错误提高开发效率无论是处理简单的数值集合,还是复杂的对象集合,都能提供优雅的解决方案。结合自定义比较器,它可以满足各种不同的业务需求。

2025-07-17 23:19:52 1379

原创 摩尔投票法:高效寻找数组中的多数元素

摩尔投票法是一种高效寻找数组中多数元素的算法,时间复杂度O(n),空间复杂度O(1)。其核心是"正负抵消"思想:维护候选元素和计数器,遍历数组时相同元素加1,不同减1,最终剩余候选即为多数元素。相比哈希表统计法和排序法更节省空间,适用于大数据处理、选举统计等场景。算法保证在多数元素存在时总能正确返回结果,还可扩展解决出现次数>n/k的元素查找问题。实现简洁高效,是解决多数元素问题的最优方案。

2025-07-17 23:05:20 662

原创 深入理解Collections.addAll方法

是Java集合框架中的一个实用方法,用于将多个元素一次性添加到集合中。这个方法属于工具类,提供了一种便捷的方式来向集合添加元素,避免了多次调用add()方法的繁琐。参数c:要添加元素的目标集合elements:要添加到集合中的元素(可变参数)返回值如果集合因调用而改变,则返回true如果集合不允许重复元素且所有要添加的元素都已存在,则返回false是Java集合框架中一个实用且高效的工具方法,它简化了向集合添加多个元素的操作。理解并合理使用这个方法可以使代码更加简洁、可读,并在某些情况下提高性能。

2025-07-17 23:02:03 1485

原创 寻找数组中的多数元素:HashMap方法解析

使用HashMap解决多数元素问题是一种直观有效的方法,特别适合需要同时统计元素频率的场景。虽然它不是空间最优的解决方案,但其清晰的逻辑和易于实现的特点使其成为学习和教学的良好示例。对于追求更高效率的场景,可以考虑摩尔投票法等更优化的算法。但在大多数实际应用中,HashMap方法已经能够很好地满足需求。

2025-07-17 22:48:15 693

原创 双指针法高效解决「移除元素」问题

双指针法高效解决「移除元素」问题

2025-05-20 21:36:22 631

原创 Java双指针法:原地移除数组元素

Java双指针法:原地移除数组元素

2025-05-20 21:32:10 406

原创 合并两个有序数组的高效算法详解

合并两个有序数组的高效算法详解

2025-05-15 20:36:05 1091

原创 NSSM 完全指南:如何将任意程序部署为 Windows 服务

NSSM 完全指南:如何将任意程序部署为 Windows 服务

2025-05-06 18:17:17 1987

原创 使用NSSM将应用程序安装为Windows服务:从下载到配置的完整指南

NSSM(Non-Sucking Service Manager)是一款优秀的Windows服务管理工具,它可以将普通的可执行程序(如批处理文件、Python脚本、Node.js应用等)安装为Windows服务。

2025-05-06 10:18:36 3075 2

原创 解决GoLand无法Debug的问题

在使用GoLand进行Go语言开发时,可能会遇到无法正常使用Debug功能的情况。这通常是由于调试工具Delve(dlv)缺失或版本不兼容导致的。

2025-04-30 11:46:58 2922 2

原创 深入学习Axios:现代前端HTTP请求利器

Axios是一个基于Promise的HTTP客户端,用于浏览器和node.js环境。它已经成为现代前端开发中最流行的HTTP请求库之一,因其简洁的API和强大的功能而广受开发者喜爱。本文将全面介绍Axios的核心特性和使用方法。

2025-04-23 15:34:21 1865

原创 深入理解 JavaScript 中的全局对象与 JSON 序列化

在现代 JavaScript 开发中,我们经常需要处理全局对象和数据的序列化操作。本文将通过分析 `const globalJson = JSON.stringify(globalThis?.runTime || {}, null, 2);` 这段代码,深入探讨 JavaScript 中的全局对象访问、可选链操作符、逻辑或短路运算以及 JSON 序列化等核心概念。

2025-04-19 13:20:53 1162

原创 Spring Boot实现跨平台文件下载接口:从原理到实践

在现代Web应用中,文件下载功能是常见的需求之一。本文将详细介绍如何使用Spring Boot构建一个安全、高效的跨平台文件下载接口,支持Windows和Linux系统,并通过Query参数指定文件名。我们将从基础实现开始,逐步深入到安全优化和性能考虑。

2025-04-16 13:46:30 1475

原创 JavaScript数组方法:`some()`的全面解析与应用

`some()`是JavaScript数组提供的一个非常实用的高阶函数,它用于测试数组中是否至少有一个元素通过了提供的测试函数的验证。本文将全面解析`some()`方法,并通过实际示例展示它的强大功能。

2025-04-12 17:26:00 3227

原创 PM2 完全指南:Node.js 应用后台启动、关闭与重启详解

PM2 完全指南:Node.js 应用后台启动、关闭与重启详解

2025-04-11 14:31:30 2462

原创 深入理解 JavaScript 数组查找:如何高效获取特定元素

在日常的 JavaScript 开发中,我们经常需要从数组中查找满足特定条件的元素。本文将通过一个实际案例——从一个包含复杂对象的数组中查找特定 `fieldId` 的元素,来深入探讨 JavaScript 数组查找的各种方法和最佳实践。

2025-04-10 14:43:05 660

原创 Java中队列(Queue)和列表(List)的区别

在Java中,队列(Queue)和列表(List)是两种常用的数据结构,它们分别用于不同的场景。虽然它们都可以存储一组元素,但在使用方式、特性和适用场景上有显著的区别。本文将详细探讨队列和列表的区别,并帮助读者理解何时使用它们。

2025-03-15 14:11:09 1228

原创 解决 HTTP 请求中的编码问题:从乱码到正确传输

在现代的 Web 开发中,HTTP 请求是客户端与服务器之间通信的核心方式。然而,由于编码问题,开发者常常会遇到乱码问题,尤其是在处理中文字符时。本文将通过一个实际的案例,深入探讨 HTTP 请求中的编码问题,并提供解决方案。

2025-03-14 13:55:54 3765

原创 Spring Boot 约定大于配置:实现自定义配置

Spring Boot 是一个基于 Spring 框架的快速开发框架,它的核心理念之一是 **“约定大于配置”**。这意味着 Spring Boot 提供了许多默认配置,开发者只需要关注自己的业务逻辑,而不需要手动配置大量的细节。然而,在某些情况下,我们可能需要自定义配置来满足特定的需求。本文将介绍如何在 Spring Boot 中实现自定义配置,并通过实现接口和添加 `@Configuration` 注解来完成这一过程。

2025-03-12 09:23:14 1123

原创 引入其他 YML 配置源 —— Spring Boot 中的 `import` 功能

在 Spring Boot 中,配置文件(如 `application.yml` 或 `application.properties`)用于存储应用程序的各种配置项。随着项目的复杂化,我们可能会需要将配置项划分到多个文件中,以提高配置管理的可维护性和清晰度。Spring Boot 提供了 `import` 功能,允许我们从其他 YML 配置文件中引入配置项。本文将详细介绍如何在 Spring Boot 中使用 `import` 引入其他 YML 配置文件,并展示这种做法如何提高配置的管理性。

2025-03-11 15:09:41 3108

Spring Boot + MyBatis-Plus 实现 MySQL 主从复制动态数据源切换

Spring Boot + MyBatis-Plus 实现 MySQL 主从复制动态数据源切换

2024-08-20

Springboot聚合工程初始化案例

Springboot聚合工程初始化案例

2024-08-07

SpringBoot整合EasyExcel+MyBatis-Plus实现Excel批量导入和导出

SpringBoot整合EasyExcel+MyBatis-Plus实现Excel批量导入和导出

2024-05-03

mangdb可视化工具studio-3t-x64

mangdb可视化工具studio-3t-x64

2022-11-15

Redis客户端连接工具

Redis客户端连接工具

2022-08-25

nacos-server-2.1.1

nacos-server-2.1.1

2022-08-09

nginx-1.17.2.tar.gz

nginx-1.17.2.tar.gz

2022-07-04

jdk和maven一起的包

jdk和maven一起的包

2022-06-24

中央仓库nexus-3.25.1-04-unix.tar

中央仓库nexus-3.25.1-04-unix.tar

2022-06-23

Xftp-7.exe文件传输

Xftp-7.exe文件传输

2022-03-09

docker-17.12.0-ce.tgz

docker-17.12.0-ce.tgz

2021-10-21

neo4j-community-3.5.2-unix.tar.gz

neo4j-community-3.5.2-unix.tar.gz

2021-10-21

mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz

mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz

2021-10-21

redis-3.2.13.tar.gz

redis-3.2.13.tar.gz

2021-10-21

rabbitmq-server-generic-unix-3.7.14.tar.xz

rabbitmq-server-generic-unix-3.7.14.tar.xz

2021-10-21

apache-jmeter-5.4.zip

Jmeter压测工具压缩包

2021-10-21

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除