- 博客(90)
- 收藏
- 关注
原创 【RAG相关】深入理解混合检索:BM25关键词检索与RRF融合算法详解
混合检索技术解析:BM25与RRF的协同应用 本文系统介绍了信息检索领域的混合检索技术,重点分析了BM25关键词检索算法和RRF融合算法的原理与实现。 核心内容: BM25关键词检索 基于概率模型的经典算法 核心优势:精确匹配、词频敏感、文档长度归一化 实现要点:分词处理、索引构建、相关性评分 RRF融合算法 解决多检索系统结果融合问题 核心公式:Score(d) = Σ 1/(k + rank_i(d)) 特点:强调排名靠前的文档,k值平滑处理 混合检索优势 结合向量检索的语义理解能力 保留关键词检索的精
2026-05-06 19:14:54
458
原创 如何使用 SCP 从 Windows 传输文件到 Ubuntu 服务器
本文介绍如何使用SCP协议在Windows和Ubuntu服务器间安全传输文件。主要内容包括:Windows端两种准备方法(安装OpenSSH或Git Bash)、SCP基本命令格式(上传/下载文件及文件夹)、常用选项说明(-r递归、-P端口等)。注意事项提醒需确保服务器开启SSH服务、防火墙放行、目录权限正确。进阶部分提供配置SSH密钥实现免密登录的方法。全文提供完整命令示例,适合快速上手跨平台文件传输。
2026-04-13 22:46:33
521
原创 claude code连接飞书
飞书与Claude Code桥接服务,通过WebSocket长连接实现远程交互。支持文本对话、文件收发、代码执行等功能,无需公网IP。主要特性包括:多轮对话保持上下文、流式输出实时展示、自动权限批准、会话隔离与超时回收。安装需Node.js≥18和Claude Code环境,配置飞书应用权限后即可使用。支持群聊/私聊模式,可处理图片、文件等附件,并允许Claude输出文件到飞书。提供多种安全控制选项,适合远程开发场景。
2026-04-11 11:03:15
1413
原创 在团队协作中直接 Clone 主仓库开发?别慌,这才是正确的 PR 提交流程
本文澄清了团队协作中直接Clone主仓库开发并提PR的正确流程。在公司内部或有写权限的项目中,无需Fork,直接在主仓库创建功能分支是更高效的协作方式。文章详细介绍了从Clone主仓、创建分支、推送代码到提交PR的全流程,强调分支命名规范和及时清理已合并分支的重要性。相比Fork模式,这种集中管理方式更简单高效,适合团队协作场景。正确使用Git分支模型既能保证安全又能提升开发效率。
2026-03-27 09:11:51
470
原创 教你使用OpenClaw创建技能——让AI Agent真正学会新能力
【代码】教你使用OpenClaw创建技能——让AI Agent真正学会新能力。
2026-03-20 16:46:18
725
原创 保姆级教程:Flask应用实现后台常驻运行(Linux服务器)
本文介绍了三种在Linux服务器上实现Flask应用后台常驻运行的方案:1)nohup命令简单易用,适合临时测试;2)screen工具支持会话恢复,便于调试;3)Supervisor提供自动重启和日志管理,是生产环境首选。文章详细说明了每种方案的配置步骤、管理命令和优缺点,并推荐搭配Nginx反向代理优化访问体验。针对常见问题提供解决方案,建议根据使用场景选择合适的部署方式,确保Flask应用稳定运行。
2026-03-20 00:17:57
501
原创 手把手教你:MySQL数据库迁移(SQL脚本版)
本文详细介绍了MySQL数据库迁移的完整流程,通过SQL脚本方式实现跨服务器、跨版本的数据迁移。主要内容包括:1)迁移核心思路分为导出、传输、执行三步;2)前置环境与权限要求;3)使用mysqldump工具导出SQL脚本的具体命令和参数说明;4)不同场景下的脚本传输方法;5)目标服务器导入脚本的操作步骤;6)常见问题解决方案;7)提供一键导出导入的完整脚本示例。文章强调了大数据库迁移的优化方法、字符集统一等注意事项,并给出验证迁移结果的SQL命令,帮助用户顺利完成MySQL数据库迁移。
2026-03-19 23:58:09
512
原创 Windows 查看端口占用并强制关闭进程(超详细教程)
本文详细介绍了在Windows系统中查看端口占用并强制关闭进程的方法。通过命令行工具,只需3步:1)确定目标端口号;2)使用netstat -ano | findstr :端口号命令查找占用进程的PID;3)通过taskkill /F /PID PID号强制终止进程。文章还提供了PowerShell版本命令,并解答了常见问题,帮助开发者快速解决端口占用问题,特别适用于前端开发中常见的3000、8080、5173等端口冲突情况。
2026-03-16 22:43:06
7785
原创 Ubuntu+PM2实现nohup.out日志实时网页监控(亲测可用)
本文介绍了一种在Ubuntu系统下使用PM2和WebSocket技术实现nohup.out日志实时网页监控的解决方案。该方案无需复杂工具,只需Node.js+PM2环境,通过几行命令和一段代码即可实现日志的实时网页展示。主要特点包括:实时秒级推送日志(延迟≤100ms)、自动加载全部历史日志、PM2托管保障服务稳定性、支持多人共享查看权限。文章详细提供了环境准备、代码实现步骤和配置说明,包含完整的server.js实现代码和前端展示页面,特别解决了日志路径配置、实时监听和错误处理等常见问题,适合需要远程监控
2026-03-15 23:24:46
541
原创 Redis配置远程访问(绑定0.0.0.0):从配置到安全实战
Redis默认仅监听本地回环地址(127.0.0.1),要开启远程访问需修改配置:1) 将bind改为0.0.0.0;2) 关闭protected-mode;3) 设置requirepass密码。同时需开放防火墙6379端口,并在云服务器安全组中添加规则。安全加固措施包括:限制访问IP、修改默认端口、禁用危险命令、使用ACL控制权限。验证时先测试本地连接,再尝试远程访问,确保配置生效。生产环境务必做好密码保护和访问控制,避免Redis服务暴露风险。
2026-03-13 08:47:50
674
原创 快速部署Milvus 2.6.4单机版向量数据库(Docker Compose方式)
本文详细介绍了如何使用Docker Compose快速部署Milvus 2.6.4单机版向量数据库。主要内容包括:1) 部署前置条件检查(Docker环境、端口占用等);2) 分步部署流程(环境准备、启动服务、健康检查);3) 核心配置说明(端口用途、数据持久化);4) 常用运维命令(启停服务、日志查看);5) 常见问题排查方法。该部署方案通过集成Etcd、MinIO和Milvus核心服务,可快速搭建完整的向量数据库环境,适合小规模向量检索场景,同时提供了数据持久化保障和后续生产环境优化建议。
2026-03-13 08:44:41
1053
1
原创 PM2 从入门到精通:Node.js 进程管理的最佳实践
PM2 是 Node.js 生态中最强大的进程管理工具,能完美解决进程守护、日志管理、性能监控等问题。本文详细介绍了 PM2 的核心功能,包括安装方法、基础命令(启动/停止/查看日志)、配置文件管理多项目、生产环境优化(开机自启、日志轮转、零停机重载)以及常见问题解决方案。通过 PM2,开发者可以高效稳定地管理 Node.js 项目,特别适合生产环境部署,让进程管理变得简单可靠。
2026-03-12 08:57:52
315
原创 Next.js 配置远程访问:无需改代码,仅通过命令行实现
摘要:本文介绍如何通过命令行配置实现Next.js项目的远程访问,而无需修改代码。关键点在于使用环境变量HOST=0.0.0.0和PORT=3000来替代Vue/React常用的--host参数。具体步骤包括修改package.json启动脚本、重启服务进程、开放服务器端口等。文章还解答了常见问题,如生产环境配置、端口占用处理等,强调只需调整运行方式即可实现远程访问,无需重装依赖或修改项目代码。
2026-03-11 15:33:57
305
原创 OpenClaw 后台命令完整指南
OpenClaw是一个强大的本地/自托管 AI 代理框架,通过 CLI 命令行实现对后台、网关、模型、浏览器、定时任务等的全面控制。这些命令就是 OpenClaw 的“后台命令”核心,全部通过终端输入执行。以下按类别整理,包含语法、描述和示例。强烈建议把和作为日常第一步!
2026-03-10 23:17:43
2041
原创 巧用SSH端口转发:本地访问远程服务器端口(Windows/Ubuntu通用)
本文介绍了如何使用SSH本地端口转发功能,实现从本地访问远程服务器上的"仅本机可访问"端口(如数据库、Web服务等)。核心命令ssh -N -f -L可将服务器端口映射到本地,无需修改服务器配置。文章详细解析了命令参数,提供了MySQL、Web服务和Redis三个典型应用场景的实操案例,并涵盖常见问题解决方法、免密登录配置以及适用场景总结。该技巧适用于Windows和Ubuntu系统,能安全便捷地访问内网服务,避免直接暴露端口风险。
2026-03-08 21:22:34
501
原创 Redis 分布式锁实现详解:基于 SET NX + Lua 脚本的互斥性保证
本文详解了基于Redis的分布式锁实现方案,核心通过SET NX EX原子命令加锁和Lua脚本解锁来保证互斥性。Redis单线程特性确保NX操作的"先到先得"原则,使其他客户端无法重复获取同一把锁。Lua脚本实现安全解锁,通过校验value防止误删他人锁。文章提供了完整的Spring Boot实现代码,并解释了为什么该方案能严格保证分布式环境下的锁互斥性。该方案轻量高效,适合中型分布式系统使用。
2026-03-07 08:53:49
466
原创 Redis 实现分布式锁:原理、实现与注意事项(Redisson 之外的轻量级方案)
本文介绍了基于Redis实现分布式锁的轻量级方案,重点讲解了分布式锁的核心要求(互斥性、防死锁、解锁安全等)和Redis实现优势。通过分析三种实现方案的演进过程,指出SETNX+EXPIRE组合的缺陷,推荐使用Redis 2.6.12+的SET NX EX原子指令。文章提供了完整的生产级Java实现代码,包含带详细注释的加锁和解锁逻辑,其中解锁采用Lua脚本确保原子性和安全性。该方案相比Redisson更轻量透明,适合中小型项目使用,并可作为理解分布式锁底层原理的实践案例。
2026-03-06 22:50:21
471
原创 一文吃透多租户:概念、架构与落地实践(附Milvus实战代码)
多租户是「一套系统服务多租户」的架构模式,核心是数据隔离+资源共享;多租户架构分3类:共享数据库共享Schema(最常用)、共享数据库独立Schema、独立数据库,需根据租户规模和隔离性要求选型;向量数据库(如Milvus)中落地多租户的核心是「共享集合+tenant_id字段过滤」,需在检索、入库全流程严格控制租户隔离;设计多租户系统时,需遵循「隔离性优先、可扩展、可运维、安全」四大原则,确保系统稳定可靠。
2026-03-05 14:20:10
480
原创 SOP 是什么?标准作业程序的完整解读
SOP(标准作业程序)核心解析 SOP是将工作流程标准化、规范化的详细操作指南,确保任务执行的一致性和高效性。其核心价值在于: 降低失误:通过细化步骤和量化参数减少人为错误 提升效率:新人可快速上手,减少培训成本 保证质量:固化最佳实践,维持稳定产出 支持合规:满足行业监管要求 与流程图的区别在于,SOP聚焦具体执行细节而非宏观路径。有效SOP应包含: 明确步骤说明 量化标准 异常处理方案 配套工具/模板 定期更新机制 典型应用场景包括生产制造、客户服务、运营管理等需要标准化的领域。优质SOP能实现&quo
2026-03-05 14:06:42
3176
原创 Spring 中的 `@Transactional` 注解:作用、原理与使用指南
Spring 的 @Transactional 注解通过声明式事务管理,确保方法内的数据库操作要么全部成功,要么全部回滚。它利用 AOP 代理自动处理事务的开启、提交和回滚,无需手动编写事务代码。常见属性包括 rollbackFor(指定触发回滚的异常)、timeout(事务超时时间)和 readOnly(优化查询性能)。使用时需注意:应放在 Service 层的 public 方法上,避免在 Controller 层使用或捕获异常不抛出,同时注意同类方法互相调用可能导致事务失效。该注解是保证数据一致性的关
2026-03-04 07:53:56
242
原创 Spring Boot 中的 `@ComponentScan`:作用、原理与是否必须存在?
本文深入解析了Spring Boot中的@ComponentScan注解: 作用:该注解用于指定Spring容器扫描哪些包下的组件(如@Component、@Service等),将其注册为Bean。 默认行为:未显式声明时,Spring Boot会自动扫描启动类所在包及其子包下的所有组件。 使用场景: 需要扫描非启动类包下的组件(如common包) 多模块项目中统一管理扫描范围 注意事项: 显式声明会覆盖默认扫描范围 @SpringBootApplication已包含默认的@ComponentScan 推荐
2026-03-03 21:39:57
420
原创 MyBatis-Plus 中的 `extends BaseMapper<UserEntity>` 到底是什么意思?
摘要:MyBatis-Plus中extends BaseMapper<UserEntity>表示继承了一个包含20+通用CRUD方法的父接口,这些方法会自动针对UserEntity表生成SQL。通过动态代理技术,空接口在运行时就能获得完整功能,实现"单表CRUD无需写SQL"的核心特性。BaseMapper适合80%单表操作场景,复杂查询仍需自定义SQL。这种设计极大提升了开发效率,统一了代码规范,但多表关联等复杂场景仍需手动扩展。
2026-03-03 17:05:07
610
原创 Spring Boot 项目中的 RedisConfig:ReactiveRedisTemplate 配置详解
摘要: Spring Boot项目中,RedisConfig类用于手动配置响应式Redis操作模板ReactiveRedisTemplate。该配置类通过自定义序列化方式(如全字符串序列化)替代默认的JDK序列化,满足特定需求。核心组件包括: ReactiveRedisTemplate:响应式操作接口,返回Mono/Flux 连接工厂:管理Redis物理连接(非设计模式中的工厂) 序列化上下文:定义key/value的序列化策略 配置场景包括:WebFlux项目、统一序列化需求或自定义连接参数。通过注入预置
2026-03-02 17:59:28
664
原创 Spring Boot 项目中的响应式应用(Reactive Web)与传统 MVC:原理区别、代码对比与适用场景
摘要: Spring Boot 提供了传统 MVC 和响应式 WebFlux 两种 Web 开发模式。传统 MVC 基于 Servlet,采用阻塞 I/O 和线程-per-请求模型,适合大多数 CRUD 应用;而 WebFlux 基于 Reactor 和 Netty,使用非阻塞 I/O 和事件循环,适合高并发、实时推送等场景。二者在编程范式、线程模型、资源利用率和背压支持等方面存在显著差异。实际选择应基于项目需求:常规业务系统推荐 MVC,高并发 I/O 密集型场景推荐 WebFlux。配置上可通过 spr
2026-03-02 17:45:59
1017
原创 Spring Boot 项目中的 bootstrap.yml 与 application.yml:区别、作用与使用指南
Spring Boot项目中bootstrap.yml和application.yml的区别:bootstrap.yml在应用上下文创建前加载,优先级更高,主要用于配置中心地址、服务发现等基础设施配置,必须保留原名;application.yml加载较晚,用于业务参数配置。Spring Boot 2.4+需添加spring-cloud-starter-bootstrap依赖才能启用bootstrap功能。改名bootstrap.yml会导致项目启动失败或功能缺失,而application.yml可改名但不推
2026-03-02 17:33:13
696
原创 Spring Boot 多模块项目依赖管理:父工程与子工程的区别与最佳实践
本文介绍了Spring Boot多模块项目中父工程与子工程的依赖管理机制。父工程通过<dependencyManagement>标签统一版本管理(子工程需声明依赖但可省略版本号),通过<dependencies>标签自动引入依赖到所有子工程。示例展示了父工程的配置方式(包含版本管理和全局依赖)以及子工程的简洁写法(继承父工程版本)。最佳实践建议将公共依赖放在父工程版本管理中,真正全局的依赖才放在父工程<dependencies>中,各子模块按需引入所需依赖。
2026-03-02 17:22:08
707
原创 Windows使用wsl教程
本文介绍了在Windows系统上启用WSL并安装Ubuntu的步骤:首先通过"启用或关闭Windows功能"开启虚拟机和Linux子系统功能;然后从微软商店下载Ubuntu应用;安装完成后在cmd中输入wsl命令即可运行Ubuntu,首次使用时需要设置用户名和密码(注意密码输入时不可见)。整个过程简单易操作,为Windows用户提供了便捷的Linux环境。
2025-12-07 13:13:02
357
原创 API中转站使用教程
本文介绍了一种通过API中转站调用外部服务的方法。当无法直接访问外部接口时,可以使用中转站转发请求并返回结果。示例展示了Java代码通过中转站调用SUNO AI接口的过程,包括验证用户积分、构建请求体、提交任务到中转平台、保存任务信息和处理下载任务等步骤。文中还提供了获取中转API密钥的链接地址,这种方法可以方便地切换和调用不同模型服务。
2025-12-04 14:40:15
1090
1
原创 【Spring Boot把日志记录到文件里面】
该配置文件定义了Logback日志框架的日志输出规则。核心配置包括:1)设置日志格式为时间+线程+级别+日志器+消息;2)指定日志存储路径为/root/apps/mo-face-swap/logs;3)配置控制台和文件双输出;4)文件日志按天切割,单个文件最大50MB,保留7天日志;5)全局日志级别为INFO,支持单独包级别设置。该配置实现了日志的规范化管理和自动归档清理。
2025-08-19 22:36:14
350
原创 [pytorch学习笔记]tensor的基本使用
本文展示了使用PyTorch创建张量的几种方法。首先演示了创建全零和全一张量的基本操作,然后介绍了生成随机张量和从NumPy数组转换的方法。最后说明了如何根据设备可用性(CPU/GPU)创建张量。这些基本操作涵盖了PyTorch中张量创建的主要方式,为后续深度学习模型开发奠定了基础。代码示例清晰展示了各方法的实现效果。
2025-06-12 20:07:01
196
原创 [安装并使用Milvus_CLI]
错误显示readline 是属于linux的,而不是windows。就会出现如下界面,代表安装成功。提示需要安装readline。
2025-05-22 09:57:02
602
原创 [初阶--使用milvus向量数据库实现简单RAG]
向量数据库是一种专门用于存储和检索高维向量数据的数据库,适用于处理非结构化数据如文本、图像和音频等。向量数据库通过近似最近邻(ANN)算法实现高效检索,广泛应用于推荐系统、自然语言处理等领域。Milvus 是一款云原生向量数据库,具备高可用、高性能和易扩展的特点,支持多种数据类型和强大的数据建模功能。Milvus 可以单机部署,支持 Linux 和 Windows 系统,并通过 Docker 容器化部署。使用 Python 连接 Milvus 时,可以通过 pymilvus 库进行操作,包括创建数据库、集合
2025-05-22 08:04:19
761
原创 [解决conda创建新的虚拟环境没用python的问题]
在使用conda create -n env命令创建虚拟环境时,可能会遇到找不到Python可执行文件的问题。这是因为在创建环境时未指定Python版本,导致系统无法自动选择并安装合适的Python版本。解决方法是明确指定所需的Python版本,例如使用conda create -n env python=3.12命令,这样Conda会在创建环境时自动安装指定版本的Python,确保环境中包含可用的Python可执行文件。
2025-05-22 00:34:15
932
原创 Ubuntu系统配置github的ssh
在 Ubuntu 上配置 GitHub 的 SSH 密钥可以简化与 GitHub 的交互,避免每次输入用户名和密码。首先,检查是否已有 SSH 密钥,如果没有,使用 ssh-keygen 生成新的密钥对(推荐使用 Ed25519 算法)。启动 SSH 代理并将私钥添加到代理中。接着,将公钥复制并添加到 GitHub 的 SSH 设置中。测试 SSH 连接以确保配置正确,如果失败,检查权限和网络设置。最后,配置 Git 使用 SSH URL,并验证克隆或推送操作是否成功。通过这些步骤,你可以安全且便捷地与 G
2025-05-13 01:11:11
1694
原创 Nacos报错:Server check fail, please check server 127.0.0.1 ,port 9848 is available , error ={}
有 bootstrap 的时候会采用 nacos 的默认配置,所以一直读取本地的端口。把配置中心里写在 application.yml 的配置内容转移到 bootstrap.yml 中就行了。检查pom.xml中是否添加了bootstrap依赖。服务器明明9848端口是开放的,为什么这里就不行了。
2025-03-29 10:46:26
1235
简单RAG向量数据库政策咨询智能体(Milvus为例)
2025-12-08
meld[代码比较工具]程序员比较文档
2024-05-13
winmerge[代码比较工具]
2024-05-13
如果是用springboot做项目的话,可以用什么软件设计模式啊
2025-05-12
数据库设计好之后接口那些有什么编写的顺序或者逻辑吗?
2025-05-10
开发真的低人一等吗?
2025-04-01
本科学spring开发的话,研究生学什么可以有连贯性?
2025-03-20
软件工程从win换到mac
2024-07-28
请问各位这个链表操作是删除指定位置的数据(相关搜索:二级指针)
2024-05-11
大学生软件工程专业跟着学校走可以找到好工作吗
2024-05-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅