自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(821)
  • 资源 (7)
  • 问答 (6)
  • 收藏
  • 关注

原创 journalctl 日志查看工具介绍

journalctl是Linux系统中用于查看和管理日志的命令行工具,属于systemd日志记录系统的一部分。它能够高效加载大量日志文件,并支持多种过滤和查询方式。systemd-journald守护进程负责从内核、服务和应用程序中采集日志,并以二进制格式存储在/var/log/journal目录下,日志条目包含时间戳、优先级等元数据。journalctl通过B-trees索引实现快速检索,支持查看实时日志、指定服务日志、特定时间日志、优先级日志等。此外,它还提供日志轮转、清理、持久化配置以及多种输出格式选

2025-05-12 21:57:34 490

原创 n2n 搭建虚拟局域网,实现内网穿透

进行相关配置即可使用,注意的是如果有密码,需要 ”其它功能“ -> "常用功能” -> "附加参数" 中添加。注:如果公网主机在云服务主机上,安全组需要放开1234端口,防火墙相应放开。另一台linux主机B运行节点edge。# 安装完执行命令,检查安装是否正确。两台主机可以互相ping通则搭建完成。公网主机A也可以运行节点edge。其中x.x.x.x为公网IP。

2025-04-21 18:30:08 473

原创 全面讲解python的uiautomation包

在常规的模拟鼠标和键盘操作,我们一般使用,uiautomation模块不仅能直接支持这些操作,还能通过控件定位方式直接定位到目标控件的位置,而不需要自己去获取对应坐标位置。uiautomation模块不仅支持任意坐标位置截图,还支持目标控件的截图,缺点在于截取产生的图片对象难以直接与PIL库配合,只能导出文件后让PIL图像处理库重新读取。对于能够获取到其ScrollItemPattern对象的控件还可以通过ScrollIntoView方法进行视图定位,与浏览器的元素定位效果几乎一致。

2025-03-25 16:31:00 1723 1

原创 gcc: error: unrecognized command line option ‘-mthreads‘; did you mean ‘-pthread‘

在ubuntu操作系统上执行上面的编译命令却不会报错,但是编译出的wx.exe可执行文件却无法运行。经过分析,是因为启用了编译约束;最终通过开启 golang的 cgo 和运行编译命令前指明。编译出的wx.exe成功在windows 11操作系统上成功运行。

2025-03-18 11:03:35 177

原创 详解golang的Gengine规则引擎

Gengine是一款基于golang和AST(抽象语法树)开发的规则引擎, Gengine支持的语法是一种自定义的DSL, Gengine通过内置的解释器对规则文件进行解析,构建规则模型,进行相应的规则计算和数据处理。Gengine于2020年7月由哔哩哔哩(bilibili.com)授权开源。Gengine现已应用于B站风控系统、流量投放系统、AB测试、推荐平台系统等多个业务场景。官网上给出的Gengine相比于Java领域的著名规则引擎drools优势如下:对比droolsgengine。

2025-02-24 20:46:57 337

原创 使用Pytorch训练一个图像分类器

可以将之前写过的识别手写数字MNIST的神经网络迁移到这里来。

2025-02-03 17:41:30 1778

原创 Linux磁盘空间不足,12个详细的排查方法

在Linux系统运维过程中,磁盘空间不足是一个常见且棘手的问题。当磁盘空间被占满时,系统的正常运行会受到影响,甚至可能导致服务中断。因此,迅速有效地排查和解决磁盘空间问题显得尤为重要。本文将详细介绍16个排查Linux磁盘空间问题的详细方法,帮助运维人员快速定位问题并解决。

2025-01-19 21:19:36 3318

原创 Linux 日志监控与报警系统实操

根据日志内容分类报警,如 "ERROR" 触发高优先级报警,"WARNING" 触发普通报警。:实时监控一个日志文件并提取含有 "ERROR" 的行。编写脚本实现对超过指定大小的日志文件进行自动归档和压缩。了解日志文件的滚动机制(如日志按大小或时间切割)。实现实时日志监控,统计日志中每分钟的访问次数。:检测日志文件中的错误信息,并在终端显示报警。,提取含有 "Failed" 的行并统计次数。实现一个脚本监控指定文件夹的文件增长情况。:同时监控多个日志文件,并合并结果。:实时查看文件末尾的变化。

2024-12-25 20:55:51 831

原创 golang 报错 `tls: failed to verify certificate: x509: certificate signed by unknown authority`

报错的位置是 golang 的 http client,并未有很特殊的配置。

2024-11-28 16:35:43 1123

原创 详解RabbitMQ三种队列类型

经典队列是 RabbitMQ 中最早期也是最常用的一种队列类型。它们具有良好的性能和稳定性,适合大多数常规的消息传递场景。仲裁队列是一种基于 Raft 协议实现的新型队列,专为提高数据一致性和可靠性而设计。消息回放:允许消费者在任何时间点重新读取过去的消息。这对于需要重现历史事件或进行审计的应用程序特别有用。重复消费:消费者可以多次消费同一条消息,这在调试和处理异常时尤为重要。下面我们通过一个简单的例子看看重复消费// 声明流式队列[ActionTitle(Name = "订阅队列")]

2024-10-30 20:58:34 1651 1

原创 win11安装安卓apk原生应用,并设置网络代理

主要是安装:Windows Subsystem for Android™ with Amazon Appstore。adb shell settings put global http_proxy ip:端口。示例: adb connect 127.0.0.1:58526。一、win11安装安卓apk原生应用,查看。adb connect WSA的IP和端口。3、关闭代理(无需重启)

2024-10-30 10:57:25 730

原创 卷积神经网络:卷积层,池化层,全连接层

从池化层到全连接层会进行池化操作,数据会进行多到少的映射,进行降维,也就是为什么上图从20×12×12变成100个神经元了,数据在慢慢减少,说明离输出结果越来越近,从全连接层到输出层会再一次减少数据,变成更加低维的向量,这个向量的维度就是需要输出的类别数。如图:这是整个LeNET5的网络可视化模型,蓝色的那个是32x32的,经过卷积,得到了下一层,也就是黄色的那一层,你可以看到,黄色的那一层是一个立方体,我们可以把他展开看看。卷积层有很多卷积核,通过做越来越多的卷积,提取到的图像特征会越来越抽象。

2024-10-27 13:53:06 2348

原创 python celery库踩坑汇总

celery 中有两种, soft_time_limit 和 time_limit, 区别是 soft_time_limit 会在内部抛一个 Exception, task 可以 通过try...except 自行处理,time_limit则是中断woker重启没法被catch做一些操作。经过本人反复实验, 只有celery pool 的默认模式prefork,同时支持上面两种超时处理,两种协程模式gevent和eventlet不支持soft_time_limit,最坑爹的solo模式怎么配置都毫无作用。

2024-09-24 16:29:10 609 1

原创 千亿级日志系统架构演进

如上图所示,在接入日志 API 后,所有日志均经过 MQ 进行异步处理,如此既能够将日志写入与业务代码的逻辑解耦,又能确保写入速度的平稳,避免高峰流量对整个 ES + HBase 集群的写入造成压力。最终,我们选择 ES + HBase 的方案。对于线路商品日志,对于直接可读性要求不高,查询的场景我们是从ES中先查出RowKey,再用RowKey去hbase查询日志原文,整个过程RowKey是人工不可见的,结合我们实际的场景,线路商品数据日志的RowKey由五部分构成{0}-{1}-{2}-{3}-{4}

2024-09-14 11:32:39 1084

原创 turbovnc 服务端、客户端安装

turbovnc 可以方便地远程登录带界面的linux系统,比如xbuntu;远程windows11系统,经过亲身测试体验,感觉还是不是windows自带的rdp服务好用。

2024-09-04 21:59:02 1078

原创 gin 通过 OpenTelemetry 实现链路追踪

OpenTelemetry是一组与供应商无关的开源工具、API 和 SDK,用于检测应用程序以创建和管理遥测数据(日志、指标和跟踪)。它旨在使遥测数据(日志、指标和跟踪)成为云原生软件应用程序的内置功能。然后将遥测数据发送到可观察性工具进行存储和可视化。OpenTelemetry 库检测应用程序代码以生成遥测数据,然后将其发送到可观察性工具进行存储和可视化OpenTelemetry 库检测应用程序代码以生成遥测数据,然后将其发送到可观察性工具进行存储和可视化。

2024-08-30 21:54:54 1463

原创 分布式对象存储minio

二是恢复还原,通过对数据结合校验码,通过数学计算,还原丢失或损坏的数据,可以在保证数据可靠的前提下,降低冗余,如单机硬盘存储中的 RAID技术,纠删码(Erasure Code)技术等。MinIO 采用的就是纠删码技术。冗余法最简单直接,即对存储的数据进行副本备份,当数据出现丢失,损坏,即可使用备份内容进行恢复,而副本备份的多少,决定了数据可靠性的高低。关于纠删码,简单来说就是可以通过数学计算,把丢失的数据进行还原,它可以将n份原始数据,增加m份数据,并能通过n+m份中的任意n份数据,还原为原始数据。

2024-07-15 16:31:18 12780

原创 goLang 通过 Select + Channels 实现定时任务与调度

time 包 在与 channel 结合时提供了很多有用的功能,其中 time.Ticker 结构体能够处理定时事件,它会定期在指定 channel 上发送时间值。在这篇文章中,我们深入探讨了如何使用 Go 语言中的 time 包与 channel 结合来处理定时事件和任务调度。通过 time.Ticker 结构体的周期性触发和 select 语句的多路复用能力,我们可以创建高效且响应迅速的定时任务处理系统。Ticker 对于在 goroutine 中周期性执行任务(如日志记录或计算)非常方便。

2024-07-15 16:23:07 833

原创 nmap 使用手册

2024-06-24 21:38:42 317

原创 修改hostname导致RabbitMQ数据丢失

公司的很多关键服务都使用了RabbitMQ来作为消息队列服务, 可以说是非常地关键的一个环节, 最近由于业务量的上升, 导致RabbitMQ的CPU持续走高, 所以抽空研究了一下RabbitMQ的扩容, 利用我们自己运维平台使用的一个单节点的RabbitMQ来作为测试吧.看到这个单节点的RabbitMQ的服务器主机名不是很规范, 所以就顺手改了主机名。

2024-05-31 09:58:15 861

原创 bracketed paste mode:命令行终端粘贴文本,开头出现^[[200~,结尾出现~

目的是为了区分是自己编辑的还是粘贴过来的,对于粘贴过来的需要编辑后才能运行,所以才有前缀和后缀。回车即可关闭 bracketed paste mode。在命令行终端粘贴文本,首尾会自动添加其它特殊字符。注意:不要使用 :set paste 粘贴上面文本。

2024-05-06 15:33:33 1595

原创 BurpSuite 爆破后台帐户系统密码

而爆破的密码不是随机的,需要让BurpSuite跑字典,字典的内容就是需要爆破的密码,使用题目给用的字典,若没有字典可以尝试自己手动使用txt纯文本录入或上网搜索资源。成功抓包后,即可开始爆破密码,首先需要知道题目用户名,通常来讲用户名为admin,题目中的提示也是admin,所以将username设置为定值为admin。打开浏览器,进入设置页面,在代理设置中设置IP地址为127.0.0.1,端口号为8080。添加符号注意,在值前后都加上符号是定值,只在前面加符号是变量,爆破针对变量!

2024-04-18 16:47:11 4472

原创 哈希密码破解方法汇总

其功能强大,支持非常多的格式包括一些CTF中比较偏的Unicode、ROT47...总之就是功能强大,除了加盐值(salt)的hash解不了,几乎其他通杀。网站需要开梯子进去,需要进行人机验证才能帮你破解,但有时候对于一些小的密文却意外的好用,有些小的密文用hashcat跑字典也会跑到死,而这个两秒出结果。用法:先看看密文的特征,然后去上面的网站进行特征对比,找到对应的hash-mode(数字),接着就可以在kali里暴力破解了。正如其名,用于鉴别密文的格式,对那些不熟密码学的人来说挺好的。

2024-04-15 18:14:40 3545 1

原创 WSL创建docker容器报错:libnvidia-ml.so.1: file exists: unknown.

如果同一个镜像的容器在非WSL下,即纯物理机Ubuntu环境下使用nvidia-docker启动是不会报错的。也就是说该种错误只有在WSL下使用nvidia-docker启动某个镜像下的容器才会如此报错。

2024-03-13 10:54:14 2081

原创 Docker Desktop将镜像存储位置从C盘迁移到其它盘

4、从 wsl 把镜像 dataext4.vhdx 导出到压缩文件 docker-desktop-data.tar,导出路径应提前创建好,否则导出到不存在的路径会报错。5、命令行执行 wsl --unregister docker-desktop-data,注销原来的 Docker 镜像。2、命令行执行 wsl --list -v 查看状态STATE,是否已停止Stopped。同理,执行 wsl --unregister docker-desktop。可以命令行执行wsl --list -v 看到。

2024-03-11 22:07:37 6569

原创 kali linux常用命令

例子:`gobuster dir -u http://example.com -w /path/to/wordlist.txt` 使用 Gobuster 对网站进行目录枚举。- 例子:`ettercap -T -M arp:remote /192.168.1.10// /192.168.1.1//` 使用 Ettercap 对网络进行中间人攻击。- 例子:`sslyze --regular www.example.com` 使用 SSLyze 对网站的 SSL/TLS 设置进行评估。

2024-02-29 22:41:09 1339

原创 安卓手机安装termux、kali linux及基本配置

该文安装的 kali liunx 应该是简易版的,没有相关工具。

2024-02-29 14:16:12 2150

原创 kali linux通过aircrack-ng命令破解wifi密码

百度安全验证上面2篇文章写得都很不错。

2024-02-28 22:15:15 2907

原创 CUDA error: uncorrectable ECC error encountered

ECC(error correcting code, 错误检查和纠正)能够提高数据的正确性,随之而来的是可用内存的减少和性能上的损失。可查看第n个个显卡的简要信息(详细信息可通过 nvidia-smi -q -i 0获取),其中有一项是volatile Uncorr. ECC, 可通过该选项查看当前配置。通过 nvidia-smi -i n -e 0/1 可关闭(0)/开启(1)第n号GPU的ECC模式。通过实践,关闭ECC程序的性能能得到13%~15%的提升。经过摸索,需要关闭英伟达显卡的ECC参数。

2024-02-19 21:59:24 5178

原创 NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver. Make sure that the lat

刚开始以为是驱动安装包的问题,但是从英伟达官网下载多个不同版本的驱动安装后,执行nvidia-smi命令依然报一样的错误。查阅大量网上资料后最后定位是 ubuntu 内核版本的问题,通过以下方案解决。后面有recommended的版本就是推荐安装的nvidia驱动版本号。使用root账户执行上面的命令,然后再执行第2步即可。

2024-01-09 22:39:22 1188

原创 Vim 用法详解

C or c$表示修改当前行上光标后面的部分. 进入编辑状态.c0 or c^表示从光标处到当前行行首的部分进行修改,^代表首个非空格处。cc OR S修改当前行. 进入编辑状态.cw从光标所在的位置开始到该单词结束进行修改. 进入编辑状态这里的 x 为一任意字符, cfx 表示修改从光标到下一个字符 x 之间的文本;cFx 表示修改从光标到上一个字符 x 之间的文本.cn|修改从光标到当前行的第 n 个字符间的所有字符, n 正整数.cnG and cG。

2024-01-09 22:25:04 1779

原创 docker desktop 运行带 --gpus all 参数容器报:Auto-detected mode as ‘legacy‘ nvidia-container-cli: mount error

报错起因:执行 docker 运行容器命令:报错:failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running hook #0: error running hook: exit stat

2023-12-25 21:17:05 4049

原创 内网穿透工具 frp 使用详解

如下图所示, 一般情况下, 公网内的设备都能够被任意一台设备访问到!!而不同局域网内的设备是相互隔离的, 局域网A的设备是无法访问到局域网B内的设备而内网穿透技术, 顾名思义就是能让公网、或者当前局域网外的任意设备访问到局域网内某个设备!如下图, 设备C实现了内网穿透技术, 所以局域网内任意设备都能够访问到当前设备那么有了内网穿透我们可以做啥呢?

2023-12-21 10:16:41 5185

原创 pycharm通过ssh连接远程服务器的docker容器进行运行和调试代码

pycharm连接远程服务器的docker容器通常有两种方法:第一种:pycharm通过ssh连接已在运行中的docker容器第一种方法比较通用简单,作者比较推崇。条件:(1)准备好pycharm专业版,社区版没有连接远程服务器的功能(2)远程服务器ubuntu,已安装好docker。

2023-12-18 22:05:18 2003

原创 linux 命令 tmux 用法详解

打开tmux 运行该命令会新建一个窗口为0,此时窗格就是窗口的默认会话,会话名默认为0,也可以自定义会话名字,这个后面会说到。$ tmux按下Ctrl+d或者显式输入exit命令,就可以退出 Tmux 窗口。

2023-12-04 17:54:17 9678

原创 Pytorch报错 RuntimeError: cuFFT error: CUFFT_INTERNAL_ERROR

将线上V100显卡运行的lama图片去水印服务 docker 容器迁移到线下 4090 显卡上运行;3、 重新安装 pytorch。1、卸掉容器中的cuda。4、出现另外的依赖报错。2、重新安装cuda。

2023-11-30 21:57:04 3916

原创 ubuntu 手动清理内存cache

sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件)。数据一般是先从硬盘调到内存来被CPU进行处理,sync是一个非常牛逼的命令,他可以将放在内存中暂时没有写入硬盘的数据写入到硬盘中,避免数据的丢失。在关机的时候默认的有这个命令,如果是不正常关机的话,开机后也需要多进行这么个几次命令,好避免运行过程中在内存的数据被调用出来。/proc是一个虚拟文件系统,我们可以通过对它的读写操作来做为与kernel实体间进行通信的一种手段。

2023-11-22 18:36:02 2313

原创 trzsz支持文件拖动到终端进行上传,类似lrzsz

使用rz和sz命令就会方便很多,但是却又与 TMUX 不兼容(备注:Tmux是一个终端复用工具,允许用户在一个终端窗口中同时运行多个终端会话或者程序。支持拖动文件及目录直接上传到服务器。在本地使用trzsz ssh IP地址登录服务器,或使用trzsz -d ssh IP地址登录,即可支持拖动文件和文件夹上传。trzsz-go 是基于 Go 语言实现的的 trzsz,它不需要依赖终端的支持,即可上传和下载文件。tsz 可以下载一个或多个文件,可使用相对路径或绝对路径,也可使用通配符,下载指定文件。

2023-11-20 21:48:06 967

原创 Win11专业版安装Docker Desktop,并支持映射主机的gpu

1. 64位Windows 11 Pro(专业版和企业版都可以)2. Microsoft Hyper-V,Hyper-V是微软的虚拟机,在win11上是自带的,我们只需要启动就可以了。

2023-11-11 17:59:02 2319 1

原创 nacos配置中心docker部署、配置及 goLang 集成使用

平时我们写一个demo的时候,或者说一个单体的应用,都会有一个配置文件,不管是 json文件或者yaml文件,里面包含了redis,mysql,es等信息,如果我们修改了配置文件,往往我们需要重启,为了避免重启,后来引入了viper,可以实现热更新。如果是一个分布式系统,肯定是有很多服务模块做支撑的,而且服务是可伸缩的,可能有几十台服务,也可能有几百台服务。如果每个服务模块下面都有自己的配置文件,那么如果mysql更新了端口号,运维人员就得一个一个文件的改。所以综上,对于服务的配置,大概有这么三个痛点。

2023-11-06 15:20:38 1897 1

EasyN2N可视化构建虚拟局域网

EasyN2N可视化构建虚拟局域网;可以实现内网穿透

2025-04-21

cgo 用法demo代码

go 调用c++代码的示例

2023-05-17

centos7 rpm安装yum所需要的包

centos7 rpm安装yum所需要的包,总共有20个, 打包整理好,方便有需要安装yum的用户,包里所有的资源都来自于网易镜像中心(http://mirrors.163.com/centos/7/os/x86_64/Packages/)

2020-12-11

navicat 连接mysql、mongodb工具

navicat 连接mysql、mongodb工具,可以方便快捷操作mysql 8版本、mongodb 4版本

2020-11-24

elasticsearch 7.4.0 docker-compose文件

快速部署elasticsearch 7.4.0版本 单机三节点docker 容器,方便在本地开发环境部署

2020-11-13

changeWinKey.reg

通过该脚本,可以在Windowns系统下将左Alt键修改为Appskey键,将右边的Appskey键改成Ctrl键

2020-06-30

TabNumberIndicator.jar

jetbrain系列软件的一个插件,官方库的快捷键是Alt+数字切换标签页,因为个人习惯,我把它改成Ctrl+数字 切换标签页,分享给有需要又不会改源码的朋友。安装是在jetbrain软件的插件安装页面选择本地安装后在弹出的文件选择器中选择该文件安装重启即可

2020-06-30

dnmp.rar docker部署lnmp环境包

通过docker快速部署lnmp+redis环境,只要到文件根目录执行docker-composer up即可

2020-06-30

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

TA关注的人

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