- 博客(88)
- 资源 (3)
- 收藏
- 关注
原创 别再被 Nginx 绕晕了!彻底搞懂 proxy_pass 路径转发与“斜杠”玄学
proxy_pass到底是“原样转发”还是“路径替换”?location结尾那个不起眼的斜杠,究竟有什么魔力能让请求路径面目全非?这篇文章,我们用最通俗的语言,带你理清 Nginx 代理转发中的这几个超级大坑。
2026-08-04 19:27:43
179
原创 FastDFS 报错提示磁盘满了如何办
FastDFS报错磁盘空间不足(错误码28)是因为默认要求Storage节点预留10%空间。解决方法为修改Tracker服务器的配置文件(通常为/etc/fdfs/tracker.conf),调整reserved_storage_space参数(建议设为5%,不建议低于1%),修改后需重启Tracker服务。注意仅需修改Tracker配置,但长期解决方案应是清理垃圾文件或扩容存储节点。
2026-06-02 20:10:57
279
原创 微信小程序html 在 webview 会打开再缩放一下
目标 HTML 页面没有 viewport meta 标签。网页加载时默认用桌面宽度渲染,然后 web-view。再缩放适配手机屏幕,就会产生那个"抖一下"的效果。
2026-05-18 11:48:28
162
原创 uni-app 上传提示超过 2M
发行模式压缩后大概能降到 1.5-2MB,可能刚好卡线。uni-app 在 pages.json 里支持分包,把不常用的页面移出主包。这会生成压缩后的产物到:unpackage/dist/build/mp-weixin/然后在微信开发者工具里打开这个 build/mp-weixin 目录,再上传。先试方法 1(改用 build 产物上传),99% 的情况这就够了。如果发行后仍超 2MB,还需要配置分包(subPackages)▎ 菜单 → 发行 → 小程序-微信(仅发行)
2026-05-18 11:45:26
47
原创 k8s 开启防火墙,容器内部无法访问外部 ip
Kubernetes节点开启防火墙后容器无法访问外网,主要原因是防火墙覆盖了Calico和容器运行时配置的iptables规则。提供两种解决方案:1) 推荐关闭宿主机防火墙并重启网络组件重建规则;2) 如需保留防火墙,需配置放行规则,包括开启IP伪装、信任Calico网卡、允许转发流量,并重启Calico组件。修复后需进入容器测试网络连通性。
2026-05-12 11:44:10
371
原创 docker 本地装瀚高 4.5 数据库
本文介绍了如何在Docker中部署瀚高数据库(HGDB)4.5版本的详细步骤。首先通过docker pull命令拉取指定镜像,然后创建数据持久化目录并设置权限。重点讲解了启动容器的关键参数配置,包括挂载路径注意事项、密码设置、加密配置等。特别说明了首次初始化需要等待10-20秒,以及如何使用DBeaver等工具连接数据库。文中还提供了国密SM4算法加密、权限控制等安全相关配置的具体实现方法,适合需要快速部署瀚高数据库的开发人员参考。
2026-04-30 15:45:44
510
原创 什么是观察者模式
生活场景:关注微信公众号 / B站UP主假设你非常喜欢一个技术公众号,你想要第一时间知道它什么时候发新文章。你每天早、中、晚各打开一次微信,去搜这个公众号,看看它有没有更新。这不仅浪费你的时间(白跑一趟),也让系统极其低效。你直接点击**“关注”**(订阅)。之后你什么都不用管了。一旦公众号发布了新文章,微信系统就会主动给你发一条推送通知:“你关注的公众号更新啦!定义对象间的一种一对多的依赖关系。当一个对象(公众号)的状态发生改变时,所有依赖于它的对象(粉丝)都会得到通知并被自动更新。
2026-03-24 17:18:55
355
原创 什么是开闭原则
摘要:开闭原则(OCP)是面向对象设计的核心原则,要求软件实体对扩展开放但对修改关闭。通过USB接口的比喻说明:新增功能应通过扩展接口实现,而非修改现有代码。文中对比了违反OCP的if-else实现与遵循OCP的枚举策略模式,后者通过抽象方法定义标准,支持灵活扩展新样式(如TOP_CENTER)而不影响原有代码。该原则能隔离风险、简化测试并提升系统弹性,是各种设计模式实现的基础。
2026-03-24 17:03:19
270
原创 简单工厂模式和策略模式的区别
摘要: 工厂模式与策略模式常被混淆,但核心区别在于:工厂模式负责创建对象(“生”),策略模式负责执行算法(“干”)。例如,奶茶店的自动点单机(工厂模式)直接生成奶茶对象,而交通工具策略模式则计算行程耗时和费用。两者可结合使用,如先用工厂模式生成策略对象,再用策略模式执行具体逻辑。工厂模式属于创建型,返回实例化对象;策略模式属于行为型,返回计算结果。实际开发中(如电商打折、PDF导出),常组合两者以优化代码结构。
2026-03-24 16:57:32
355
原创 小内存部署 confluece
内存:靠 4G Swap 续命。驱动:靠docker cp手动注入。云数据库:靠 JDBC URL 中的绕过权限限制。
2026-02-12 18:17:28
403
原创 window 上执行 java 或者 python 乱码处理
在 Windows 的 CMD 或 PowerShell 中运行 Java 程序出现中文乱码,通常是因为。这就好比 Java 在说“英文”,CMD 却在用“法文”字典翻译,结果就是乱码。(注:65001 是 UTF-8 的代码页编号,执行后窗口可能会刷新一下)Java 程序(特别是 Spring Boot)通常默认输出 UTF-8。Windows CMD 默认使用的是 GBK(代码页 936)。
2026-01-26 22:18:44
90
原创 通俗易懂讲Function Calling(函数调用)
摘要:文章用“米其林餐厅”比喻解释Function Calling(函数调用)原理。用户是顾客,AI是服务员,函数是后厨工位,程序是餐厅经理。传统AI只能陪聊,无法执行操作;而通过Function Calling,AI能将用户需求(如“加冰快乐水”)转换为机器指令(如make_drink(name="cola")),由程序执行后返回结果。核心在于AI将“人话”精准翻译为“机器指令”,使其从聊天工具升级为能完成实际任务的智能管家。(148字)
2026-01-17 16:47:36
416
原创 通俗易懂讲微调
微调(Fine-tuning)是将通用AI模型转变为特定领域专家的过程,如同对大学毕业生进行岗前培训。通过提供特定数据集(如奶茶店客服问答),模型调整内部参数,学习专业知识和特定风格。微调不是重建模型,而是优化部分参数,使其从"通才"变为"专才",掌握特定领域的知识和表达方式。
2026-01-17 16:37:26
430
原创 通俗易懂讲 mcp
MCP(Model Context Protocol)是一个通用AI交互协议,其核心价值在于建立标准化的沟通规则。协议层面,MCP类似于USB接口标准,通过统一数据格式解决AI与工具间的适配问题,避免为每个新模型或数据源重复开发连接代码。MCP Server则是协议的具体实现组件,扮演"数据翻译官"角色,将底层系统(如Chrome、数据库)的专有接口转换为AI可理解的MCP标准指令。这种架构使得任何支持MCP的工具都能被各类AI直接调用,极大提升了AI生态的互操作性。整个系统可类比为电脑
2026-01-17 16:33:54
678
原创 Dify 离线部署实战——解决公开访问 URL 请求 127.0.0.1 的问题
摘要:本文解决Dify在离线服务器部署后,公开访问URL出现127.0.0.1连接错误的问题。原因是Next.js前端镜像在构建时将API地址硬编码为127.0.0.1。通过进入容器、用grep查找目标JS文件、用sed替换IP地址,并提交为新镜像后修改docker-compose.yml使用该镜像,最终成功修复问题。关键点在于区分构建时与运行时环境变量,保留必要的服务端变量配置。
2025-11-17 17:11:10
2097
原创 一键部署禅道开源版
本文介绍了如何在Ubuntu服务器上部署禅道开源版的Docker容器。首先创建数据目录并设置权限,然后建立专用的Docker网络。关键步骤是拉取最新的开源版镜像(hub.zentao.net/app/zentao:latest)并运行容器,配置包括端口映射、网络设置、数据卷挂载等,特别强调使用开源版以避免用户数量限制。整个过程通过命令行完成,适合在Linux服务器上快速部署禅道系统。
2025-11-10 16:36:37
515
原创 史诗级:在麒麟离线服务器上部署 Dify (含 Weaviate、Nginx 网关、FIP 及离线插件)
本文旨在记录一次在复杂的、完全离线的麒麟(Kylin)服务器环境中,部署 Dify(11 服务版本,使用 Weaviate)的完整过程。3.2 下载 Dify 和 Weaviate (共 8 个) Docker 镜像。在的 Mac (Intel) 准备机上,下载所有必需的软件和镜像。(此步骤用于让 Dify 访问内网的“硅基流动” API)(仍在 /data/dify/dify/dify 目录下)(仍在 /data/dify/dify/dify 目录下)(这将彻底清空现有的 Dify 数据库、配置和网络)
2025-11-05 19:35:53
1699
1
原创 最新版 dify 如何离线安装插件
还是先上结果方法参考下面 blogDify完全离线安装插件_dify离线安装ollama插件-CSDN博客: https://blog.csdn.net/qq_40279232/article/details/150001982按照这个方法应该给是老版本可以,但是新版本需要再改下下面的地方.env文件里明明设置了,但安装时报错(2.这个错误,容器(Go 语言程序)报的,而是 api3.nginxapiapiapi.envtrue(正如这篇博客所说): 我们必须在中,为api容器和。
2025-10-31 19:58:43
738
3
原创 最新版dify 最简离线部署
本文提供了一个简洁的Dify离线部署方案,分为两个阶段:准备阶段在内网机器下载所有依赖(包括Docker Compose和7个Docker镜像),部署阶段在内网服务器加载镜像并配置10个核心服务。通过简单命令实现快速部署,避免了复杂流程,最终形成完整的docker-compose.yml配置文件,包含数据库、Redis、API、Web等必要服务。该方案特别适用于需要在内网环境部署Dify的情况,提供了从准备工作到最终部署的完整指导。
2025-10-30 19:10:39
833
原创 mac idea 点击打开项目卡死
摘要:Mac上IntelliJ IDEA卡死问题可通过6步解决:1)清理缓存/索引;2)增加JVM内存分配;3)禁用冲突插件;4)检查项目配置(删除.idea文件夹);5)验证JDK兼容性;6)更新/重装IDEA。建议按顺序尝试,通常前三步即可解决,其中清理缓存和调整内存分配效果最明显。(150字)
2025-10-17 12:18:32
2655
原创 后台接收富文本需要给数据加反斜杠么?
摘要:第三方调用接口传输HTML数据时,不应手动添加反斜杠转义字符。JSON协议会自动处理字符串中的引号转义(如"转为\"),这是数据传输格式的要求而非数据内容部分。服务器接收时会自动去除这些转义字符,还原原始HTML。强制要求手动转义会导致双重转义错误。正确的做法是让第三方直接传输原始HTML,由JSON库自动完成必要的格式转义。(149字)
2025-10-15 09:53:40
724
原创 onlyoffice 原理
OnlyOffice多人在线协作的核心原理是:业务服务器需管理编辑会话状态而非依赖OnlyOffice本身。OnlyOffice作为无状态工具,仅通过documentKey识别协作会话。同一会话期间,所有用户必须使用相同documentKey;会话结束后该key失效,新会话需生成新key。开发者需实现会话状态管理逻辑,确保协作安全性和数据一致性。(100字)
2025-09-29 18:42:51
370
原创 为什么 pojo 不要用 is_deleted
但是一般情况下我们是用代码生成器生成 po,这样 pojo 中就也是 is_deleted。这会导致一个属性名(property name)的混淆。JavaBeans规范定义了Java类属性(Property)的访问规则,其中对于。首先在阿里 java规范中是强制数据库中用 is_deleted。根据JavaBeans规范,IDE或工具可能会为你生成一个名为。的getter方法,或者更常见的是,它会认为。先说结论,不要用is_xxx(包括数据库字段)之间的不匹配,就是问题的根源。当你把字段名直接定义为。
2025-09-11 09:29:08
262
原创 实现“一码双扫”:一个二维码直达微信、支付宝、抖音小程序
实现“一码双扫”技术方案 通过配置微信和支付宝小程序的"扫普通链接二维码"功能,可让同一个二维码在不同平台打开对应小程序。核心步骤包括:1)准备备案HTTPS域名;2)在微信公众平台配置二维码规则,上传校验文件;3)在支付宝开放平台设置关联规则;4)生成包含特定链接的二维码。该方案实现原理是利用平台识别功能,微信/支付宝扫描时自动跳转对应小程序,其他情况则访问H5页面。需注意域名需备案,小程序需已发布,并完成双平台的校验文件配置。
2025-09-10 12:20:56
1196
原创 研发过程都有哪些
摘要:产品开发全流程包括产品规划、系统设计、UX设计、前后端开发、测试、部署和运维维护等阶段。产品规划确定目标和价值,系统设计完成技术选型和架构搭建,UX设计优化用户体验。开发后进行多层级测试并部署上线,最后进入运维迭代阶段。项目管理和文档编写贯穿全程,敏捷开发模式则通过小周期快速迭代推进。整个流程环环相扣,确保产品从概念到落地的完整实施。
2025-07-24 18:51:39
485
原创 qiankun 和 Element UI 影响 el-cascader 宽度问题
主应用通过 zoom 属性实现全局缩放,导致子应用 el-cascader 组件出现"越点越小"问题。这是由于 Popper.js 测量到的是缩放后的视觉宽度,而 Element UI 又对下拉面板进行二次缩放,形成双重缩放恶性循环。解决方案是:在主应用中通过 window.computedPopperPosition 函数,先获取当前缩放比例,再反向计算元素的真实宽度,最后强制重置相关元素的缩放值,从而打破双重缩放循环。该方案从根本上修正了被全局缩放干扰的布局计算问题。
2025-07-23 17:14:55
506
原创 com.google.code.kaptcha 在 linux 环境上报错
摘要:两个报错分别由缺少字体库和图像处理库引起。第一个报错需安装fontconfig解决字体配置问题;第二个报错因缺少JPEG相关系统库导致,需安装libjpeg-turbo等图形库。根本原因是CentOS最小化安装未包含Java ImageIO框架依赖的底层图形库,即使Java环境完备也无法执行图像处理操作。(98字)
2025-07-10 01:07:23
317
原创 mac init tailwind css 配置文件报错
遇到"tailwind: command not found"报错时,可通过以下步骤解决: 安装依赖:npm install -D tailwindcss@3 postcss autoprefixer 初始化配置:npx tailwindcss init -p 这两个命令会安装必要依赖并生成配置文件,解决报错问题。
2025-07-03 11:08:30
459
原创 Optional 比传统的判空
Optional是Java 8引入的容器类,用于优雅处理可能为null的值。相比传统判空方式(多层if-else嵌套),Optional通过显式声明可能为空的值,强制开发者处理空值情况,有效减少NullPointerException。它提供map、filter、orElse等链式操作方法,使代码更简洁流畅。虽然Optional不是完全替代null的方案,但在方法返回值和链式调用场景中,能显著提高代码安全性和可读性,是处理空值的最佳实践之一。
2025-07-02 14:51:56
644
原创 点积和余弦距离
可以想象,把向量A投影到向量B上,点积就是投影的长度与向量B的长度的乘积。余弦距离是基于余弦相似度来衡量向量间差异的一种方法。余弦相似度本质上是通过点积计算的,但它忽略了向量的长度,只关心它们的方向关系。在这个例子中,余弦相似度非常接近 1,表明这两个向量的方向非常相似,而余弦距离非常小,表示它们几乎是相同的方向。余弦相似度=cosθ=A⋅B∥A∥∥B∥余弦相似度=cos。余弦相似度通过计算两个向量的夹角的余弦值来度量它们的相似性,余弦距离=1−余弦相似度余弦距离=1−余弦相似度。
2024-12-30 11:23:26
1445
原创 docker-compose 命令
docker-compose 与 docker 的主要区别在于,它用于管理多个容器的启停,相当于将多个 docker 命令和容器配置打包在一起,简化了多容器应用的部署和管理。会停止所有容器并删除它们,同时删除网络和默认的卷。如果只想停止容器但保留它们,可以使用。该命令会下载必要的 Docker 镜像(如果本地没有),并启动相应的容器。文件做了修改,重新部署时,它会自动更新容器配置。中的配置,自动创建并启动所有的服务。该命令会列出当前运行的容器及其状态。如果希望容器在后台运行,可以使用。
2024-11-29 13:30:08
612
原创 milvus 通俗易懂原理
向量搜索的核心在于通过计算查询向量与数据库中存储向量之间的相似度,来找到最相关的数据。具体而言,当你提供一个查询向量(比如一个待搜索的值),Milvus 会计算这个查询向量与数据库中存储的每个向量之间的相似度,然后返回与查询向量最相似的那些向量。索引选择和查找:Milvus 会根据存储的向量的索引类型(如HNSW、IVF等)选择合适的索引结构,定位出可能与查询向量相似的子集。近似搜索:通过近似算法(如图结构、聚类等)来减少需要检查的向量数目,通常能提供足够高质量的搜索结果,但可能会错过一些最相似的向量。
2024-11-29 00:20:52
1650
原创 Docker存储方式区别理解
特性Volumes存储位置Docker 管理,默认存储在 Docker 内部宿主机上的指定路径默认内容空目录,Docker 管理数据挂载宿主机已有目录或文件使用场景适用于持久化存储,多个容器共享数据适用于开发时共享文件或调试管理由 Docker 管理由用户管理,依赖宿主机路径性能优化的性能可能会受宿主机文件系统影响权限管理Docker 自动处理需要手动处理宿主机文件权限数据持久性容器删除后数据依然存在,跨容器使用容器删除后数据仍然在宿主机上,但需手动管理。
2024-11-20 22:09:56
892
原创 一键删除 win10 某个文件夹
编写一个简单的批处理(.bat)脚本来清理 C 盘下 B 文件夹中的文件。以下是一个示例脚本,它会删除 B 文件夹中的所有文件和子文件夹。rd /s /q “%folder%”:删除 B 文件夹中的所有子文件夹及其内容(/s 删除子目录,/q 安静模式,不询问确认)。如果只想删除文件夹中的文件而保留子文件夹,可以将 rd /s /q 命令去掉,只保留 del /q 命令。del /q “%folder%*.*”:删除文件夹中的所有文件(/q 表示安静模式,避免提示确认)。
2024-11-19 09:44:08
848
原创 python打包 exe 提示no module named flask
hidden-import:指定 PyInstaller 可能无法自动检测到的依赖库。对于 Flask 应用,通常需要包含 itsdangerous、click 和 Werkzeug 等库。pyinstaller -F 打包后的 exe,运行提示no module named flask。如果有其他依赖库,也可以使用 --hidden-import 参数添加它们。–onefile:将所有内容打包成一个单独的文件。
2024-09-02 12:58:11
980
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅