自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(459)
  • 资源 (1)
  • 收藏
  • 关注

原创 学习资料导航

导航

2023-01-14 12:54:58 161

原创 各类导航和便签

堆外内存 零拷贝 mmp

2020-04-30 20:58:50 357 1

原创 nginx代理阿里云OSS地址

这篇文章解释了Nginx代理跳转阿里云OSS时遇到的InvalidBucketName错误问题。当配置proxy_set_header Host $http_host时,Host头被错误设置为代理服务器IP而非正确的OSS域名,导致OSS无法正确解析bucket名称。正确的做法是直接设置Host头为完整的OSS域名(如five-lib-one-col-hangzhou.oss-cn-hangzhou.aliyuncs.com),这样OSS才能从Host头中正确提取bucket名称。文章通过对比错误和正确配置

2025-08-20 11:10:59 215

原创 Pushgateway安装和部署,以及对应Prometheus调整

Pushgateway是Prometheus生态中的推送组件,允许客户端主动推送指标。本文介绍了其安装与配置方法:下载Linux版本后解压运行,设置持久化存储和数据端口。通过curl命令推送测试指标,并配置Prometheus拉取指标。关键步骤包括后台运行Pushgateway、验证指标推送效果,以及在Prometheus中配置job_name为pushgateway的目标地址。该方案适用于需要主动推送监控指标的场景。

2025-08-15 16:26:15 457

原创 非容器方式安装Prometheus和Grafana,以及nginx配置访问Grafana

环境:docker ubuntu, 似乎不能使用systemd。nginx配置: 关键是最后的rewrite。

2025-08-14 16:56:29 557

原创 容器方式安装Prometheus以及Grafana

摘要:本文介绍了基于Spring Boot的监控系统搭建方案,使用Micrometer+Prometheus+Grafana技术栈。详细说明了Prometheus的Docker部署方式,包括配置文件(prometheus.yml)的设置、数据持久化处理和10年数据保留策略。同时介绍了Grafana的快速启动方法,以及如何将Prometheus作为数据源接入。文章还提供了Prometheus的HTTP API操作示例和Web UI查询方法,最后对比了Gauge和Counter两种监控指标在Prometheus

2025-08-14 16:25:10 438

原创 .git 泄露源代码

浙江大学收到一份漏洞报告,指出某项目部署时未删除.git目录,导致攻击者可通过githack工具下载完整源代码。漏洞原因是开发者将包含.git的整个项目目录上传至服务器。建议改用git archive命令部署,该命令生成的压缩包不包含.git目录。经测试,执行"git archive --format=zip --output=hanfu-swap-face.zip HEAD"成功生成不含.git的部署文件。此方法有效防止源代码泄露风险。

2025-07-14 17:01:23 148

原创 在Java项目中加载dll文件,并用Dependencies解决其依赖问题

本文解决了Java程序加载DLL文件时出现的依赖库缺失问题。通过分析工具Dependencies发现虹软SDK的libarcsoft_face.dll缺少MSVCP120.dll和MSVCR120.dll两个关键依赖库。解决方案是安装Microsoft Visual C++ 2013 Redistributable Package(64位版本)。安装后验证依赖关系正常,成功解决了Java项目加载DLL文件的问题。全文展示了从问题诊断到解决方案的完整过程,重点介绍了使用Dependencies工具分析DLL依

2025-07-11 10:32:55 330

原创 Windows上创建linux上使用的镜像

本文介绍了在Windows系统上制作并测试Java项目Docker镜像的方法,以便部署到Linux机器。主要内容包括:1)安装配置Docker Desktop,设置镜像源;2)编写Dockerfile构建包含JDK环境的镜像;3)通过docker命令创建运行容器并测试;4)导出镜像文件并在目标Linux机器导入运行。文章提供了详细的操作步骤和截图说明,解决了跨平台部署时的环境依赖问题,实现Java应用的快速移植。

2025-07-02 17:50:51 948

原创 根据OS自动加载不同的native库和本地jar包

摘要:本文介绍了在SpringBoot项目中调用虹软SDK实现跨平台部署的解决方案。主要内容包括:1) 通过system作用域加载本地jar包;2) 根据操作系统自动选择native库路径;3) 使用maven-antrun-plugin实现构建时自动复制native库文件;4) 利用Maven profile实现不同环境的自动配置。文章提供了Windows/Linux双平台兼容的完整实现方案,包含代码示例和配置细节,解决了本地依赖管理和native库加载等实际问题。

2025-06-30 16:19:00 582

原创 阿里云OSS跨域策略设置

高度怀疑是“返回 Vary: Origin”设置的原因,因为官网(如上图)对它的解释:如果浏览器同时存在CORS 和 非CORS请求,请启用该选项否则会出现跨域问题。)命令查看响应有无Access-Control-Allow-Origin等关键信息,来判断配置是否生效。当其它网站的前端代码试图访问阿里云OSS网址时,也会有跨域问题。(在windows上要改参数,比如。

2025-06-19 16:43:44 503

原创 非本地地址调用摄像头需要https

Web项目调用摄像头时,本地HTTP访问正常但远程服务器出现权限问题,原因是浏览器只允许HTTPS或localhost的HTTP访问摄像头。解决方案是为Nginx配置HTTPS监听,转发至内网HTTP服务。关键配置包括SSL证书路径、安全协议和CSP头等,通过https://公网IP:端口访问即可正常使用摄像头功能。

2025-06-13 14:39:59 415 1

原创 python虚拟环境

在CentOS7上同时安装Python2和Python3时,创建Python3.6虚拟环境安装Flask项目依赖失败,原因是依赖版本不再支持Python3.6。解决方法为:删除旧虚拟环境后安装Python3.12,重新建立虚拟环境。安装依赖时可使用-i参数指定国内镜像源加速,如清华源。整个过程涉及虚拟环境创建、激活、依赖安装及版本兼容性问题处理。

2025-06-12 20:53:02 510

原创 python3.12安装记录

摘要: 在CentOS7上安装Python 3.12时遇到OpenSSL版本问题。首先通过yum安装依赖,编译安装Python 3.12到指定路径,但运行Flask项目时提示OpenSSL版本过低(需≥1.1.1)。解决步骤:1) 下载并编译安装OpenSSL 1.1.1w到/usr/local/ssl;2) 重新配置Python编译选项,指定新版OpenSSL路径;3) 验证Python的SSL模块成功加载。最终通过python3.12 -c "import ssl; print(ssl.OPE

2025-06-12 20:46:19 595

原创 安装WSL并运行Java项目

摘要:用户在安装WSL Ubuntu时遇到失败,通过在PowerShell中启用"虚拟机平台"和"Linux子系统"功能后成功安装。具体步骤包括使用dism命令开启两个必要功能并重启电脑,最终验证安装成功。文章还提及后续将研究Intellij是否支持在WSL中运行远程项目。整个安装过程展示了解决WSL安装问题的常见方法。

2025-06-12 15:06:39 189

原创 nginx安装和部署

在Linux Docker环境中使用Nginx的简明指南:通过sudo apt install nginx安装后,因容器不支持systemd,需直接运行sudo nginx启动服务。关键命令包括测试配置(nginx -t)、重载配置(sudo nginx -s reload)及优雅停止(nginx -s quit)。配置文件位于/etc/nginx/nginx.conf,其中包含对/etc/nginx/conf.d/*.conf的引用,方便模块化管理。该方案适用于容器化环境下的Nginx快速部署与配置。

2025-06-09 16:31:34 192

原创 ubuntu上安装mysql

本文介绍了在Ubuntu系统上安装和配置MySQL服务器的步骤。首先使用sudo apt update更新包列表,然后通过apt-cache policy mysql-server查看可用版本。接着,使用sudo apt install mysql-server=8.0.42-0ubuntu0.24.04.1安装指定版本的MySQL。安装完成后,启动MySQL服务并设置开机自启。最后,通过修改MySQL配置文件,将bind-address从127.0.0.1改为0.0.0.0,以允许MySQL接收网络上的请

2025-05-19 15:07:51 417

原创 ubuntu安装记录

在尝试多种方法(如dd方式创建USB启动盘、GRUB+本地ISO文件启动)均失败后,最终通过Rufus成功制作了Ubuntu启动盘并完成安装。Rufus在Windows上操作简便,用户只需下载软件、插入U盘、选择ISO文件并开始写入。安装前需确保BIOS的启动项设置为UEFI USB Hard Disk。此外,用户还提到从阿里云镜像站下载了Ubuntu 22.04.5 LTS的服务器版ISO文件,并可能需修改sources.list文件以使用阿里云镜像源。

2025-05-16 11:28:45 439

原创 图像的EXIF方向信息(Orientation标签)

处理图像时,发现某些设备(如iPhone)拍摄的照片在代码中获取的宽高与实际显示不符,原因是这些照片嵌入了EXIF元数据,其中包含Orientation标签,指示照片的旋转角度。现代设备在显示时会自动调整方向,但编程读取时默认返回原始尺寸,忽略旋转标记。为解决此问题,可以使用metadata-extractor库解析EXIF元数据,获取Orientation标签,从而正确调整图像的宽高。通过读取EXIF的Orientation值,可以确保图像处理时尺寸的准确性。

2025-05-12 17:31:31 524

原创 Redis基本安装和部署

这里 redis-server 127.0.0.1:6379 表示 Redis 服务正在本机的 6379 端口上运行,监听来自本地的连接请求。所以来自其它机器的请求是访问不到本机Redis服务的。, /etc/redis/redis.conf中默认设置了 daemonize yes ,表示后台模式: 终端不会被占用,Redis 进程会在后台持续运行。后文都默认采用配置文件方式运行redis。进入 Redis 命令行后,执行以下命令测试:ping,如果返回 PONG,说明 Redis 已成功安装并运行。

2025-04-21 10:27:01 248

原创 在切面方法中传递对象给被增强方法

以下几种方法基本都参考自豆包等AI。其中方法一(利用request的attribute)原理简单,我在项目中最终采用了它。如果是 Spring Web 项目,可以利用 RequestAttributes 在请求作用域中传递对象。多个AI都推荐此方法,但我有点担心线程安全问题。虽然按豆包的解释,一般情况下这不是问题。其它方法,比如约定方法的参数对象等,因为要修改方法本身,所以不是优雅的解决办法。

2025-03-10 16:01:16 160

原创 在一个Java项目里配置两个r2dbc数据源

【代码】在一个Java项目里配置两个r2dbc数据源。

2025-03-04 16:42:41 544

原创 使用nohup使终端断开后程序继续运行

示例:通过ssh等方式登录远程机器后运行下列命令。

2025-03-04 15:53:08 360

原创 使用SHOW PROCESSLIST和SHOW ENGINE INNODB STATUS排查mysql锁等待问题

然后我把87337kill掉了,然后重新发起了一个alter命令,但这个新的命令仍然一直卡住不能结束。如果有一个长时间运行的事务持有表的元数据锁(例如正在进行 ALTER TABLE、INSERT、UPDATE 或 DELETE 操作),其他试图访问同一表的操作将被阻塞,直到该事务完成。mysql 查表A一直不能结束,查别的表没有问题。可以看到ID87337为我发起的修改字段操作,此时它正处于等待元数据锁的状态。如果某个事务对表进行了修改但没有提交或回滚,其他会话将无法获得所需的锁,导致它们处于等待状态。

2025-02-17 17:09:22 755

原创 MySQL的不同SQL模式导致行为不同?

严格模式(STRICT_TRANS_TABLES)

2025-01-17 11:49:39 441

原创 linux通过命令切换wifi

使用nmcli 命令:显示所有可用的 WiFi 网络:在终端中输入nmcli dev wifi list命令,会列出当前可以扫描到的 WiFi 网络及其信号强度、频段等信息:列出已保存的 WiFi 网络:输入nmcli connection show命令,会显示系统中保存的所有网络连接,包括有线、无线等:

2025-01-17 11:31:33 381

原创 用AOP和注解 检查request header是否带有合法token

值得一提的是AuthException 最好设置为RuntimeException,否则就需要在连接点(比如上面的logout方法)声明将其throws , 不然就会报 java.lang.reflect.UndeclaredThrowableException错误。上面提到若无合法token, 会把http response status置为401。从上面的切点表达式可以看到,我不是通过指定类路径,而是注解类,来控制哪些方法将被此切面方法拦截的。

2025-01-15 17:34:33 400

原创 用户登录/登出功能,当登录页面在另一域名下

要求为某网址增加用户登录功能。登录页面是现成的,但是位于另一个域名。当request 没带token ,要求跳转此登录页面,用户登录后会返回token. 此时再跳回原网址。这个过程如何避免发生跨域问题?

2025-01-14 17:35:35 333

原创 《一、初阶应用》之《2. 大模型应用开发基础》

当下一个token的概率低于某阈值;或者训练数据有终止符[END]Transformer 是目前人工智能领域最广泛流行的架构,被用在各个领域。目前只有 transformer 被证明了符合 scaling-law。使用邮箱注册 DevAGI:https://devcto.com。这套生成机制的内核叫「Transformer 架构」Transformer 仍是主流,但并不是最先进的。112分+ : 大模型应用产品架构。

2025-01-09 10:11:13 332

原创 《第三期(先导课)》之《课程工具与知识点准备》

pip install fastapi

2024-12-27 11:29:06 246

原创 《第三期(先导课)》之《Python工程应用》

可以使用 pip 来安装 mypy。打开终端运行以下命令(注意如果是windows环境,须用管理员权限打开终端,否则安装会失败):pip install mypy。关于Unicode 字符串, 我在通义上查到的资料:python 3默认情况下,所有字符串都是 Unicode 字符串,因此 u’…’ 前缀并不是必需的。Python、Java中的字符串是不可变的,JavaScript中的字符串是可变的。

2024-12-23 17:04:36 1145

原创 记Fastjson2的一个报ConcurrentModificationException的bug

错误背景:fastjson2的parseObject方法,在spring webflux项目中被调用,有时会报java.util.ConcurrentModificationException错误。,错误的症状和栈和我项目很类似。阿里的人说此bug在2.0.48版本中修复了。而我项目原来的版本是2.0.14,升级到2.0.48后好像确实是修复了。改了半天与并发安全相关的代码,还是会报此错误。

2024-12-23 14:37:06 633 1

原创 umi项目部署、打包

npm install -g pnpm 这会全局安装 pnpm. 安装完成后,可以通过pnpm -v验证 pnpm 是否安装成功.首先,确保你的系统上已经安装了 Node.js 和 npm。打包完成后,会生成一个dist文件夹,里面包含了用于生产环境的静态文件。Umi是基于React的企业级应用框架。在准备部署之前,使用命令。

2024-12-11 17:04:11 919

原创 跨域问题以及使用vscode的LiveServer插件跨域访问

跨域问题(Cross-Origin Resource Sharing,CORS)是指在Web开发中,当一个网页尝试访问另一个与其不同源(即域名、协议或端口号不同)的资源时,浏览器出于安全考虑,会限制这种跨源HTTP请求。跨域问题本质上是由于浏览器的同源策略(Same-Origin Policy)所导致的。同源策略是一种浏览器安全机制,它限制了从一个源加载的文档或脚本与另一个源的资源进行交互。

2024-11-07 10:11:22 2312

原创 前端开发模板Pear Admin Layui

Layui 是免费开源的 UI 组件,而官方出品的 Layui Admin 一直是付费产品,今天介绍的 Pear Admin Layui 就是 Pear 开源团队基于 Layui 打造的免费开源 admin ui 框架,无论是外观还是代码风格完全遵循 Layui 的规范。非常适合缺少前端牛人的团队或者仍然喜欢纯粹原生 HTML/CSS/JS 开发者使用,可以在不需要搞懂前端工程化的一系列新知识的情况下快速启动一个项目。

2024-11-05 16:35:04 688

转载 典型的用户/角色/菜单表设计

DBeaver中角色/菜单的ER图:

2024-10-30 16:32:21 162

原创 Java多Module项目打包

确实可以打包成功,但是使用时mysql r2dbc与redis发生了一些奇怪的问题。下面的方法则没有碰到此问题。

2024-10-25 15:57:50 482

原创 解决url含%导致404错误

使用这段代码时,如果imageUrl中包含%,则它会被自动转为%25,导致404 Not Found错误,怎么办?之类的方法,达不到预期。

2024-10-24 16:36:23 220

原创 解决nginx代理SSE接口的响应没有流式返回

(默认行为):当 proxy_buffering 设置为 on(或者没有明确设置,因为 on 是默认值)时,Nginx 会将来自上游服务器的响应内容缓存在本地内存中,直到整个响应体被接收完毕或者达到了 proxy_buffers 和 proxy_buffer_size 指令所指定的缓冲区大小限制。前后端分离的项目,前端访问被nginx反向代理的后端SSE接口,预期是流式返回,但经常是很久不响应,一响应全部结果一下子都返回了。查看后端项目的日志,响应其实是流式产生的。推测是nginx配置问题。

2024-09-18 14:36:37 4091 1

原创 安装MongoDB

访问,选择将下载的tgz包解压到一个合适的目录。通常,人们会选择/opt或/usr/local解压后重命名为更简短的名称如mongodb。这条命令会启动MongoDB服务,并将数据和日志文件分别存储在/var/lib/mongodb和/var/log/mongodb/mongod.log中。–fork选项告诉MongoDB在后台运行。

2024-09-06 17:33:48 1588

Pro Git 第2版英文

Pro Git 第2版英文

2019-03-07

空空如也

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

TA关注的人

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