自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(147)
  • 收藏
  • 关注

原创 mongodb备份的脚本

MongoDB备份与恢复脚本 备份脚本功能: 每日全量备份MongoDB数据库 支持认证参数配置 自动压缩备份文件为tar.gz格式 自动清理7天前的旧备份 详细日志记录 恢复脚本功能: 支持指定主机和端口恢复 提供认证参数配置 使用--drop选项确保恢复数据与备份完全一致 从指定备份目录恢复数据 使用方法:备份脚本自动执行,恢复脚本需手动指定备份文件路径。

2025-12-23 18:25:09 196

原创 Alibaba Cloud Linux 4.0安装mongodump

然后可以看到有一个bin目录【/mongodb-database-tools-rhel88-x86_64-100.14.0/bin】可以直接下接上传到服务器,也可以复制链接到服务器上面下载。

2025-12-23 18:02:25 435

原创 docker安装mongodb

本文介绍了在Docker中部署MongoDB 7.0.14的配置过程。主要包括:1)在宿主机创建数据、日志和配置目录;2)配置mongod.conf文件,设置系统日志、数据存储、网络等参数,首次启动时禁用鉴权;3)解决日志文件权限问题;4)使用docker run命令启动容器,挂载数据卷和配置文件,映射27017端口。重点说明了配置文件的关键参数和容器启动命令中各选项的作用,确保数据持久化和日志可访问。

2025-12-19 16:25:04 192

原创 Python,一键给客户部署llama.cpp +qwen3

摘要:本文介绍了一个全自动部署Qwen3-4B大模型的Python脚本方案。该方案通过deploy.py脚本自动完成llama.cpp下载、模型权重获取、GGUF格式转换及量化等步骤,并生成一键启动服务脚本start_server.py。部署完成后用户只需运行start_server.py即可在浏览器中访问本地Chat服务。整个方案仅依赖Python标准库和requests,支持Windows/macOS/Linux平台,无需额外环境配置。用户只需执行python deploy.py等待完成,再运行pyth

2025-12-18 09:08:42 385

原创 python的fastapi+uvicorn的linux离线部署

本文介绍了Python项目离线部署的完整流程:首先使用pip freeze或pipreqs生成requirements.txt依赖清单;其次通过pip download命令下载指定平台(Python 3.11、manylinux_2_17_x86_64)的二进制wheel包到本地packages目录;然后将项目代码和离线包上传至服务器;最后在服务器端使用pip install --no-index命令从本地目录安装依赖。重点强调了下载时需指定正确的平台和Python版本参数,确保离线包兼容性,并提供了依赖缺

2025-12-16 18:01:13 877

原创 java 进程崩溃的定位

摘要:在CentOS上排查Java程序中断问题,建议按以下步骤进行:1)查找JVM崩溃日志hs_err_pid*.log;2)检查系统日志/var/log/messages或/var/log/syslog中的OOM Killer记录;3)使用dmesg查看内核级事件;4)若无异常记录则检查应用日志。重点需关注内存使用情况,可通过NMT监控堆外内存,使用sar或atop记录历史内存数据,并为systemd服务设置内存限制。排查时应结合JVM参数、系统资源状况和应用日志综合分析。

2025-12-12 09:50:33 897

原创 vue3图片,pdf,word,excel,ppt多格式文件预览组件Vue Doc Viewers Plus

摘要:vue-doc-viewers-plus是一个基于Vue3的多格式文件预览组件,支持PDF、Office文档和图片的统一直播预览。该插件特点包括:开箱即用的解决方案、支持多种文件格式(jpg/png/pdf/doc/xls等)、使用微软OfficeOnline服务预览Office文档、提供统一API接口。安装简单,通过v-model控制预览窗口,支持自定义样式。注意事项:Office文档需公网访问,必须引入组件样式文件。相比其他方案,该组件API统一、使用简单,但Office预览依赖外部服务。适用于需

2025-12-06 13:52:15 1217

原创 springboot +mongodb游标分页,性能好。前端存储游标历史

本文介绍了基于SpringBoot和React的游标分页实现方案。后端使用SpringBoot构建,通过MongoDB存储文章数据,实现游标分页查询、总数统计及缓存优化。前端采用React+TypeScript开发,核心是游标历史管理器(CursorHistory)类,支持前进/后退分页导航,并与URL同步保持页面状态。文章还提供了高级功能如多标签页同步、防抖加载、虚拟滚动和ServiceWorker缓存等性能优化方案。该方案解决了传统分页在大数据量下的性能问题,同时提供了良好的用户体验。

2025-12-04 14:12:09 227

原创 基于rsync+Lsyncd做局域网内,实时文件同步

Lsyncd与Rsync组合实现高效文件实时同步。配置流程包括:1)在两台服务器分别安装lsyncd+rsync和rsync;2)编写Lua格式配置文件,定义源目录、目标服务器、同步规则等参数;3)测试配置后启动服务。关键注意事项:确保SSH免密登录、合理设置delete参数、检查权限与防火墙。该方案支持多目标同步、延迟聚合、文件过滤等功能,适用于需要低延迟同步的场景。通过systemctl管理服务,提供实时日志监控,修改配置需重启生效。

2025-11-24 15:17:42 729

原创 pc端打开微信小程序可以访问,但是在手机端就是不行

手机端微信SSL验证更严格,要求服务器返回完整证书链,而PC端微信验证较宽松。关键问题在于证书链不完整,可通过Linux服务器执行openssl命令或在线工具检测。解决方法包括:1)获取包含中间证书的完整链证书;2)正确配置Nginx使用fullchain.pem文件;3)重启服务后再次验证。大多数情况下,问题都因缺少中间证书导致,用openssl验证即可快速定位。

2025-11-18 09:00:23 311 1

原创 基于rsync,局域网内,无需密码互传

本文介绍两台Linux主机间配置SSH免密登录并实现rsync文件同步的方法。首先在两台主机安装rsync和openssh-server,然后在主机A生成SSH密钥,将公钥添加至主机B的authorized_keys文件实现单向免密登录,也可重复操作实现双向免密。基于SSH密钥认证,可使用rsync命令实现文件同步,支持推送和拉取模式。进阶部分还提供了结合cron定时任务实现自动备份的方案,包含日志记录功能。该方案适用于Linux系统间的安全文件同步需求。

2025-11-12 15:02:45 542

原创 IntelliJ IDEA 无法加载类,可以正常运行,但是请求不行 java.lang.NoClassDefFoundError

摘要:在IDEA中运行项目时出现"java.lang.NoClassDefFoundError:okhttp3/ConnectionPool"异常,尽管Maven依赖存在且项目能正常打包运行。尝试了多种解决方案(检查依赖、重建项目、清理缓存、重新导入等)均无效。最终通过重新导入Maven项目(右键项目→Maven→Reload project,或删除.idea目录和*.iml文件后重新导入)成功解决问题。这表明可能是IDEA的项目元数据损坏导致的依赖解析异常。(字数:149)

2025-11-10 11:19:33 277

原创 mysql 查询未提交的事务

文章摘要:介绍如何查询MySQL中InnoDB引擎的未提交事务,通过执行特定SQL语句可以获取事务ID、开始时间和查询内容等信息,并按开始时间排序。该查询有助于监控和管理数据库事务状态。

2025-10-22 07:36:01 142

原创 unity计算两个物体方位

摘要:本文介绍了使用点乘运算判断物体相对方位和计算角度的方法。第一部分通过向量点乘判断目标物体位于前方(dotResult≥0)还是后方。第二部分展示了两种计算两物体间角度的方法:1)通过单位向量点乘和反余弦函数转换;2)直接使用Vector3.Angle函数。两种方法都能准确计算出物体间的角度关系。(99字)

2025-09-22 12:00:12 298 1

原创 powerdesinger 从表中的comment的内容赋值到name

文章摘要:介绍了在PowerDesigner中通过脚本自动将表字段的Comment内容更新为Name属性的方法。具体步骤:1)在Tools→ExecuteCommands→Edit/RunScript中粘贴脚本;2)修改脚本中的tblCode变量为目标表名;3)执行脚本后,系统会自动遍历该表的所有列,将非空Comment值赋给Name属性,并提示处理结果。此方法适用于快速批量更新表字段名称,提高数据模型维护效率。

2025-09-09 11:57:18 200

原创 Jmeter元件的加载顺序

JMeter接口测试的核心是取样器执行过程,辅助元件按固定顺序加载:配置元件→线程组→取样器→辅助元件(父级/同级/子组件)。每个取样器会触发一次辅助元件加载,如示例中两个取样器AAA和BBB分别加载其关联的父组件、同级组件和子组件(AAA还加载子组件)。辅助元件通过不同组合为接口测试提供特殊效果,但不会加载旁系子组件。

2025-08-27 09:10:07 277

原创 uniapp-uni.requestPayment 调用支付宝app 使用 沙箱

安卓App调用支付宝支付前需添加沙箱环境切换代码:使用plus.android.importClass导入支付宝SDK的EnvUtils类,并通过EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOX)设置为沙箱模式。该代码需用//#ifdef APP-PLUS条件编译指令包裹,仅对安卓平台生效,用于测试环境支付验证。(49字)

2025-08-26 09:30:07 608

原创 nginx 子目录代理的Flux缓存问题,用二级域名访问 flux 接口可以正常流式输出(chunked),但通过 nginx 子目录访问时却一次性返回全部内容,没有流式效果。

摘要:Nginx反向代理默认会缓冲后端响应,导致即使后端开启chunked传输也无法实时流式输出。解决方案是在location配置中关闭缓冲功能,关键配置包括:设置proxy_buffering和proxy_cache为off,并开启chunked_transfer_encoding。这样就能实现真正的流式传输,特别适用于需要实时响应的服务代理场景。

2025-08-22 14:24:25 335

原创 nginx 设置二级目录-实战

本文介绍了在前后端分离架构中通过Nginx配置将后端服务映射到二级目录的方法。关键配置要点:1)在location /admin/块中使用proxy_pass将请求代理到后端服务;2)特别注意proxy_pass指令末尾不能带斜杠,否则会丢失/admin路径;3)可通过设置自定义响应头来验证请求是否匹配到正确路径。示例将yourdomain.com/admin/的请求代理到127.0.0.1:4000/admin/,同时保持原始路径不变。这种配置方式适用于需要将前后端服务部署在同一个域名下的场景。

2025-08-11 14:32:57 363

原创 vue-seo优化

Vue应用SEO优化方案主要包括四种技术路线:1) 使用Nuxt3进行SSR服务端渲染,适合内容频繁更新的高要求场景;2) 采用Nuxt3 SSG静态生成,适用于企业官网等相对静态的内容;3) 预渲染关键路由方案,配置简单但功能有限;4) 动态渲染方案,通过Puppeteer/Rendertron为爬虫返回静态HTML,配合Nginx的UA识别实现新旧项目兼容。重点介绍了动态渲染方案的技术实现,包括搭建Puppeteer渲染服务和Nginx配置细节,通过User-Agent识别爬虫请求并返回预渲染内容,同时

2025-07-17 10:00:33 671

原创 threejs 弧度,角度,欧拉角,四元数,法线 -数字名词

本文系统介绍了计算机图形学中的关键数学概念与应用方法。第一部分对比了弧度和角度两种角度量单位,阐明弧度在数学计算中的优势。第二部分详细解析欧拉角的定义、表示方法和优缺点,指出其存在的万向锁问题。第三部分深入探讨四元数的数学原理、运算规则及其在三维旋转中的优势。第四部分全面讲解法线的基础概念、变换矩阵原理及其在光照计算和渲染中的应用,重点分析了Three.js中的实现方式和常见问题解决方案。全文逻辑清晰,从基础数学概念到实际编程应用层层递进,为计算机图形学开发提供了系统的理论指导和实践参考。

2025-06-06 10:02:50 1146

原创 threejs 移动时要用那个坐标

Three.js移动物体的坐标选择方法:1.局部坐标(object.position)适用于相对父物体的移动和独立动画;2.世界坐标(getWorldPosition)用于全局精确定位和物体对齐,需配合矩阵运算;3.设备坐标转换(Raycaster)处理屏幕交互。决策流程建议:先判断是否需要相对父物体移动,再考虑全局定位或交互需求,优先使用局部坐标以提高性能。注意频繁获取世界坐标会影响性能,必要时缓存结果。

2025-06-05 09:11:28 426

原创 Threejs世界坐标,局部坐标,设备坐标理解

Three.js中的三种坐标系统解析:1)世界坐标是全局坐标系,用于确定物体在场景中的绝对位置;2)局部坐标是相对于物体自身的坐标系,用于处理物体间的相对位置;3)设备坐标与屏幕相关,用于交互处理。系统间可通过localToWorld等方法相互转换,这些坐标系统对3D场景中的对象定位、动画和交互至关重要。

2025-06-05 09:05:34 619

原创 threejs-为什么通过clock.getDelta() 时间差控制旋转速度

在Three.js中,使用clock.getDelta()方法可以实现帧率无关的动画控制,确保不同设备上动画速度一致。该方法通过计算帧间时间差,将动画增量与实际时间而非帧数绑定,从而避免因帧率差异导致的动画速度问题。当与速度参数(speed)结合使用时,公式"cube.rotation.x += speed * delta"能保证每秒动画位移量恒定。该方法还支持暂停恢复和物理模拟,首次调用需注意异常值,极端情况下建议限制最大delta值。这是实现跨设备平滑动画的基础技术。

2025-05-24 06:43:06 479

原创 Three.js Clock 详解

Three.js中的Clock工具类专为3D动画和游戏开发设计,提供精准的时间管理功能。核心功能包括计算帧间时间差(deltaTime)和总运行时间,支持启动/暂停控制,与requestAnimationFrame完美配合实现帧率无关的平滑动画。通过getDelta()和getElapsedTime()方法,开发者可精确控制动画速度、触发定时事件和监控性能。典型应用场景包括:多物体异步动画、页面不可见时暂停优化、物理模拟等。相比原生Date对象,Clock针对动画场景优化,自动处理时间精度问题,是创建流畅3

2025-05-24 06:38:30 1219

原创 Three.js 中的 Octree(八叉树)详解

Octree(八叉树)是Three.js中用于3D空间分区的重要数据结构,主要用于优化碰撞检测、视锥体裁剪和场景管理。它通过递归地将3D空间划分为8个八分体,形成一个树状结构,每个节点有八个子节点。查询时,从根节点开始递归搜索,直到找到叶子节点,从而高效检测物体间的碰撞。在场景管理中,Octree可以优化复杂场景的对象组织。使用Octree时,首先需要导入Octree模块,然后创建并构建Octree,最后可以通过球体碰撞检测或射线碰撞检测来实现碰撞检测。Octree的构建原理是通过处理网格几何体创建三角形结

2025-05-23 17:05:01 628

原创 threjs-方向向量(Direction Vector)详解

方向向量在3D图形学和Three.js中扮演着核心角色,用于精确描述空间中的朝向。它是一个标准化向量,长度为1,与普通向量不同,方向向量通过单位向量形式表示,满足x²+y²+z²=1的条件。在Three.js中,可以通过直接创建单位向量或从任意向量标准化来生成方向向量。方向向量在物体朝向控制、运动方向控制、光线/视线检测等场景中具有广泛应用。理解方向向量的几何意义和常见误区,如必须使用.normalize()方法进行标准化,是掌握3D编程的基础。此外,normalize()方法在Three.js中用于将任意

2025-05-23 09:40:40 872 1

原创 threejs角度与方向的区别(3D旋转中的核心概念)

角度(Angle)表示旋转的"量"(大小)标量值(单个数值)单位通常是弧度(radians)或度(degrees)例如:旋转45度、π/2弧度方向(Direction/Orientation)表示物体在空间中的"朝向"向量或复杂数学对象(如四元数)需要多个分量来描述例如:面向正北方向、指向前方45度倾斜。

2025-05-23 09:23:58 480

原创 threejs 四元数(Quaternion)和欧拉角(Euler)学习

四元数和欧拉角是3D图形编程中常用的两种旋转表示方法。四元数由四个分量(x,y,z,w)组成,其中(x,y,z)表示旋转轴的方向,w表示旋转角度的一半的余弦值。四元数具有单位长度,能够避免万向节锁问题,并且支持平滑的球面插值(Slerp),适合复杂旋转和动画。欧拉角则由三个角度值(x,y,z)表示绕三个轴的旋转,直观易懂,但存在万向节锁问题,且插值效果较差,适合简单的单轴旋转。在Three.js中,四元数通过THREE.Quaternion类表示,欧拉角通过THREE.Euler类表示。两者可以相互转换,但

2025-05-23 09:21:30 1631

原创 Threejs从零开始实现第三人称漫游

本文介绍了如何使用Three.js实现一个第三人称视角的3D场景,重点讲解了相机控制、模型加载、人物行走控制、碰撞检测及动画播放的实现。首先,通过OrbitControls实现相机的环绕控制,并加载外部模型文件(如FBX、GLTF)作为场景和人物模型。接着,通过键盘事件监听实现人物的行走控制,并利用八叉树进行碰撞检测,确保人物在场景中不会穿模。最后,通过AnimationMixer实现人物动画的播放与切换,如行走、跑步等。文章还详细解释了如何根据相机旋转调整人物的移动方向,确保人物始终面向相机的视角方向。整

2025-05-22 15:48:17 1170

原创 threejs方向向量和速度向量学习

本文介绍了在Three.js中使用方向向量和速度向量控制3D物体运动的基本方法。方向向量表示物体的朝向,可通过getWorldDirection()获取,并通过旋转改变。速度向量结合方向和速率,用于移动物体。文章还讨论了时间补偿(DeltaTime)以确保帧率一致性,并提供了键盘控制运动的综合示例。常见问题包括方向向量未归一化、忽略四元数更新以及局部与全局坐标系的转换。通过这些技术,可以实现复杂的3D运动效果。

2025-05-22 09:03:16 1223

原创 THREE.Object3D.add: object not an instance of THREE.Object3D. 错误解析(TransformControls 场景)

在使用Three.js时,添加TransformControls辅助对象到场景中可能会遇到错误。正确的方法是通过.getHelper()方法获取辅助对象后再添加到场景,而不是直接添加TransformControls实例。此外,异步加载的模型(如OBJ、GLTF)在未完成初始化或未通过类型验证时,直接绑定到控件会导致类型不匹配的错误。Three.js的r147+版本对Object3D类型检查更严格,旧代码若直接操作未封装的底层对象(如未三角化的模型)会报错。因此,建议使用scene.add(transfor

2025-05-17 14:13:31 495 1

原创 解决 Three.js Raycaster 点击位置与实际交点偏差问题

在使用Three.js的Raycaster时,若发现点击位置与碰撞点存在偏差,通常是由于坐标系统不匹配或参数设置错误。以下是系统性的排查和解决方案:首先,检查鼠标坐标到标准化设备坐标(NDC)的转换是否正确,确保考虑了Canvas的尺寸和位置。其次,验证相机参数,包括位置、朝向和投影矩阵,确保它们正确设置。此外,检查场景和物体的缩放,确保物体矩阵已更新。高级调试技巧包括创建可视化调试场景和使用屏幕空间标记点击位置。常见问题如Canvas元素样式影响、尺寸不匹配或透视变形,都有相应的解决方案。通过系统性的调试

2025-05-17 11:31:30 591

原创 Three.js 中调试 Raycaster 的方法

在Three.js中,Raycaster是一个用于光线投射的关键工具,广泛应用于物体选择和碰撞检测等场景。为了调试Raycaster并验证其准确性,可以采用以下几种方法:1. 可视化射线:通过创建箭头辅助线来显示射线的方向和长度。2. 显示交点:在检测到的交点位置放置一个小球,以便直观地看到交点的位置。3. 控制台输出调试信息:将射线的起点、方向以及检测到的交点信息输出到控制台,便于详细分析。4. 使用GUI控制参数:通过GUI界面动态调整射线的长度、是否显示射线和交点等参数,实时观察效果。5. 使用Thr

2025-05-17 11:27:37 313 1

原创 查看Electron 应用的调试端口

如果该 Electron 应用在启动时添加了类似 `--remote-debugging-port=xxxx` 或 `--inspect=xxxx` 的参数,那么其调试端口就是该参数指定的端口号。* 在 Chrome 浏览器中访问 `chrome://inspect` 页面,若该 Electron 应用开启了远程调试功能,会显示在 “Remote Target” 列表中,点击 “Inspect” 链接即可打开开发者工具进行调试,同时可以查看到对应的调试端口信息。

2025-05-10 08:58:35 695

原创 mybatisplus加行锁

/ 使用 LambdaQueryWrapper 构建查询条件并加锁。

2025-03-25 10:41:18 464

原创 electron 设置跨域iframe

在 Electron 的主进程中禁用同源策略。

2025-03-13 22:41:39 566

原创 LangChain、Dify 和 Ollama三者的关系

LangChain选择场景:需要代码级控制、复杂逻辑编排、多模型/工具集成。典型用例:定制化 Agent、多步骤任务链、结合外部 API 的智能应用。Dify选择场景:快速搭建生产级应用、非技术人员参与开发、注重可视化操作。典型用例:企业级 AI 客服、低代码 RAG 系统、安全可控的模型部署。Ollama选择场景:本地运行开源 LLM、模型轻量化部署、数据隐私敏感场景。典型用例:离线环境下的模型推理、结合 LangChain 开发本地化 AI 应用。

2025-03-07 08:52:45 6608

原创 dify中使用NL2SQL

务须确保本地已完成 Docker 之安装,并通过 Git 克隆 Dify 之代码库抑或下载源码包。运用双向模式链接技术(诸如 RSL-SQL 框架),结合 LLM 生成的关键组件以及精确列名匹配,增进相关表/列的召回率,削减冗余信息的干扰。经由上述步骤,能够在 Dify 中高效达成 NL2SQL 能力,将自然语言查询转化为可执行的数据库操作,显著降低非技术用户的数据访问门槛。运用 Dify 的智能体编排功能,分配不同模型处理任务(如 Claude 解析用户意图,GPT-4 生成 SQL),平衡成本与性能。

2025-03-07 08:51:14 3585 1

原创 FastAPI常用的组件库

FastAPI是一个高性能的Web框架,用于构建API,它本身提供了丰富的功能,但还可以与许多其他库和组件一起使用,以扩展其功能。

2025-03-06 09:13:18 749

空空如也

空空如也

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

TA关注的人

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