自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Golang - 连接MySQL执行查询脚本

【代码】Golang - 连接MySQL执行查询脚本。

2024-06-14 18:13:28 344

原创 Centos - 修改root用户密码脚本

【代码】Centos - 修改root用户密码脚本。

2024-05-15 18:38:55 321

原创 shell - 遍历目录函数实现

接受一个参数,即要遍历的目录路径。它会遍历该目录,并对每个文件进行处理:如果是目录,则输出目录名,并递归调用自己来遍历子目录;如果是文件,则输出文件名。在 shell 中,可以使用函数来遍历一个目录。您可以将上述代码保存到一个文件中,比如。来执行该脚本以遍历指定目录。

2024-02-27 18:59:56 272

原创 Linux-yum - 只下载不安装以及下载Linux软件包和RPM包的网站

说明:如果该服务器已经安装了需要下载的软件包,那么使用 install下载就不行,可以使用reinstall下载。如果只想通过 yum 下载软件的软件包,但是不需要进行安装的话,可以使用 yumdownloader 命令;yum命令的参数有很多,其中就有只是下载而不需要安装的命令,并且也会自动解决依赖;如果提示没有--downloadonly选项则需要安装yum-plugin-downloadonly软件包;-r 指定已经本地已经配置的 yum 仓库的 repo源的名称。-p 指定下载的路径。

2024-01-29 10:49:05 368

原创 MySQL - 使用 MySQL 存储过程来生成大量数据并插入到 MySQL 数据库中

通过使用存储过程,你可以在数据库端执行复杂的逻辑和数据生成操作,而无需将数据传输到客户端进行处理。这种方法可以在数据库服务器级别上高效地生成大量的数据。可以使用 MySQL 存储过程来生成大量数据并插入到 MySQL 数据库中。下面是一个示例存储过程,它可以生成指定数量的模拟用户数据并将其插入到名为。,用于指定要生成和插入的用户数量。存储过程内部使用循环语句来生成虚假的用户名和邮箱,并将它们插入到名为。以上代码会调用存储过程,并生成 1000 条模拟用户数据并插入到。的存储过程,它接受一个参数。

2024-01-18 18:10:18 748 1

原创 Nginx - location块中的alias和try_files重定向

然后try_files关键字尝试查找/opt/config/logo/logo.png并返回,如果不存在则返回/opt/config/www/html/logo.png,都不存在,则返回404。如:访问http://127.0.0.1/logo/general/logo.png的时候,在location块中,使用了alias将目录重定向到了/opt/congig,意为:访问/logo/general/地址时,

2024-01-05 15:36:49 699

原创 Image - 体积最小的 base64 encode 1*1透明图片,透明背景图片base64编码

就会去把当前的URL再获取一遍(通常会拿到一个HTML文档,就是当前页面的HTML文档),然后赋值给这个图片,但是图片解析失败,图片就展示了报错。在React或Vue中,你可以方便的设置Loading状态,当API请求不成功时,不展示那个。64个字符,使用空白SVG实现,但是SVG不指定大小的话,尺寸不是1*1。属性的值来源于接口,在接口获取结果之前,这个src应该设置为什么呢?74个字符,但存在兼容性问题,不建议用。114个字符,太长了,不建议用。123个字符,太长了,不建议用。好很多,不存在上述问题。

2024-01-05 13:47:08 875

原创 OpenVPN - 从源码构建openvpn的rpm包步骤(未完待续)

参考网址:https://openvpn.net/community-resources/installing-openvpn/openvpn-2.5.8.tar.gz放置在rpmbuild/SOURCES路径下。从openvpn官网下载源码:我以下载openvpn-2.5.8.tar.gz为例。centos安装rpm-build。└── SRPMS编写spec文件。

2024-01-04 18:58:52 854

原创 Linux - 清理僵尸进程

在大多数情况下,僵尸进程是由编程错误导致的,并且应该通过修改相应的程序代码来避免产生僵尸进程。如果您确定僵尸进程是某个特定进程的子进程,您可以尝试结束该父进程。使用 kill -9 命令来强制结束僵尸进程的父进程。运行 ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]' 命令来查找僵尸进程及其父进程的PID。在一些情况下,由于其他原因导致无法结束僵尸进程的父进程,您可能需要重新启动系统,这样会清除所有的僵尸进程。

2024-01-04 16:34:37 1098

原创 shell - 对比两个文件的MD5值的函数

【代码】shell - 对比两个文件的MD5值的函数。

2024-01-04 15:40:08 501

原创 Golang - defer关键字 深入剖析

goroutine的控制结构中,有一张表记录defer,调用runtime.deferproc时会将需要defer的表达式记录在表中,而在调用runtime.deferreturn的时候,则会依次从defer表中出栈并执行。在defer出现的地方,插入了指令call runtime.deferproc,然后在函数返回之前的地方,插入指令call runtime.deferreturn。defer表达式可能会在设置函数返回值之后,在返回到调用函数之前,修改返回值,使最终的函数返回值与你想象的不一致。

2024-01-04 14:39:23 607

原创 Shell - 遍历目录的函数封装

【代码】Shell - 遍历目录的函数封装。

2024-01-04 09:49:35 308

原创 Golang - http请求InsecureSkipVerify 字段为 true 来忽略忽略 SSL验证

在Golang中,可以通过设置 tls.Config 的 InsecureSkipVerify 字段为 true 来忽略 SSL 验证。

2024-01-04 09:41:49 1202 1

原创 Shell - 对比两个文件MD5值函数封装

【代码】Shell - 对比两个文件MD5值函数封装。

2023-12-29 13:01:09 442

原创 Golang - 执行shell脚本,实时输出shell脚本中的日志

【代码】Golang - 执行shell脚本,实时输出shell脚本中的日志。

2023-12-29 10:01:28 720

原创 Golang - 执行 shell 脚本,并实时按行打印 shell 脚本输出信息

返回值就是 shell 脚本打印的日志信息,但这样有一个缺点,golang 接收 shell 脚本的打印结果,必须要等待 shell 脚本全部执行完成才能一次性返回。实际业务比如:异步任务调度系统、自动发布系统等都有可能需要 shell 脚本的配合来完成,就需要实时打印 shell 脚本的中每条命令的输出日志信息,便于查看任务进度等。原文链接:https://blog.csdn.net/flyfreelyit/article/details/103697013。

2023-12-27 18:55:49 925 1

原创 Golang - 主线程让子线程退出的三种方式

使用全局变量在跨包调用时不容易实现规范和统一,需要维护一个共用的channe。所以官方就提出了一个规范,Context方式的出现。在golang中,主go程告知子go程退出有三种方式,建议用后面两种。本质也是channel,传入的也是chan struct{}类型的。Go1.7加入了一个新的标准库context。方式二:channel方式。方式三:Context方式。方式一:全局变量方式。

2023-12-27 14:38:34 502

原创 go - 计算CIDR的主机数量

表示该地址只能用作网络地址本身,不能分配给任何主机。因此,在计算主机数量时,应将 CIDR 地址按照其位掩码长度进行区分。子网掩码的特殊处理,现在代码会返回正确的主机数量 1,而不是 -1。子网掩码,主机数量总是为 1,而不是 -1。以下是修正后的代码,可以正确地处理。

2023-12-06 14:11:38 726

原创 Golang - 嵌入静态文件打包二进制(从嵌入式文件系统读取静态文件)

执行次命令之后会在项目目录下生成bindata.go文件,示例命令中模板文件都在项目的web目录下。## embed 嵌入静态文件到可执行二进制文件。# 使用embed注册模板示例文档。# 安装go-bindata。

2023-11-14 16:44:00 701

原创 Golang - 反转一个指针类型的数组

【代码】Golang - 反转一个指针类型的数组。

2023-11-03 14:53:56 253

原创 golang - recover 使用笔记

3.当我们把 recover() 放在 直接调用的test2()的main 函数之中时,当程序执行到test2函数时,报panic 这时test2()程序中断,程序不会往下执行,而是直接执行defer 中的recover()函数(同时说明,即使程序某个位置报了panic错误,最后也会执行defer),整个程序不会挂掉。作用:程序报panic时,会使整个程序挂掉,在实际工作中,报panic的地方可能会非常的多,一旦报panic会导致整个服务挂掉,是非常危险的。

2023-09-08 16:03:59 489

原创 golang - 通过信号量控制并发数遍历array和channel

【代码】golang - 通过信号量控制并发数遍历array和channel。

2023-09-06 14:11:49 127

原创 golang - 控制协程并发数的3种方法

在golang中使用协程非常方便,如果有大量任务要处理,且任务间没有关联,可以并行同时处理的话,就非常适合用golang的协程处理。应用场景:这个处理方式最优雅,不仅控制了同时运行的只有10个协程,而且整个运行过程中只起了10个协程(当然不包括主协程),处理方式也很优雅,高效利用了channel 是否阻塞特点,最推荐这个。有些时候,golang起的协程特别多的话,机器的性能或其他服务组件会扛不住,比如服务器IO,数据库连接等,这时候需要主动控制协程并发数,避免服务崩溃。

2023-09-06 11:16:22 1503

原创 golang - 用通道实现信号量,控制并发个数

【代码】golang - 用通道实现信号量,控制并发个数。

2023-09-06 11:12:28 115

原创 golang - 使用有缓冲通道控制并发数

在这个示例中,我们创建了一个带缓冲的通道 sem,并将其缓冲大小设置为最大并发数。当 worker 开始执行时,它会向通道发送一个空结构体,从而请求一个资源。如果通道已满,worker 将会阻塞,直到有可用资源。在 Go 语言中,使用带缓冲的通道(buffered channels)可以有效地控制并发数。带缓冲的通道可以让你限制同时运行的 goroutine 数量,从而避免过度并发导致的资源耗尽问题。当 worker 完成任务后,它会从通道接收一个空结构体,从而释放一个资源。

2023-09-05 10:12:05 531

原创 golang - 实现并发数控制的方法

在上述代码中,我们引入了带10个buffer的chan int字段,每创建一个goroutine时,就会向这个chan中写入一个1,每完成一个goroutine时,就会从chan中弹出一个1。谈到golang这门语言,很自然的想起了他的的并发goroutine。如上边示例,Goroutine()函数,每隔500毫秒写入一个时间戳到管道中,不考虑管道的读取时间,也就是说,每个Goroutine会存在大概500毫秒时间,如果不做控制的话,一瞬间可以开启上万个甚至更多的goroutine出来,这样系统就会奔溃。

2023-09-05 10:09:27 608

原创 Golang - api中生产数据,另一个进程控制并发数去消费api中生产的数据

api示例:该实例主要功能是实现一个API,API在调用的时候会向channel中发送任务数据。Consumer函数去消费channel中的任务数据,并且可以通过maxConcurrency去控制消费的并发数。

2023-09-05 09:51:21 459

原创 Golang - go build打包文件

go build的时候还有别的其它参数,如果有需要请查询相关文档。打包:打包方式和上面一样,这里只介绍linux下的打包。# 在linux服务上执行下面的3个命令。# 在linux服务上执行下面的命令。2、打包时为程序中的变量设置值。

2023-09-04 14:51:34 1450

原创 Golang - 报错:max must be greater than 0

【代码】Golang - 报错:max must be greater than 0。

2023-08-29 15:25:59 102

原创 python - 视频mp4转gif图片

【代码】python - 视频mp4转gif图片。

2023-08-14 18:38:09 103

原创 Golang - 生成toml文件和读取toml文件

【代码】Golang - 生成和读取toml文件。

2023-08-10 17:16:53 842

原创 Golang - 重置图片大小,并保留透明通道

【代码】Golang - 重置图片大小,并保留透明通道。

2023-08-10 17:07:26 325

原创 golang - 下载大文件,实时返回前端下载进度,实现下载进度条

【代码】【无标题】

2023-07-21 15:10:55 1027

原创 golang下载大文件(golang文件操作)

Golang是一种编译型的静态编程语言,它的优点包括高效、易学、易用等。因此,它被越来越多的开发者所喜爱和使用。本文就是要介绍如何使用Golang下载大文件。

2023-07-21 14:30:15 2364

原创 Golang - 实现python中的try except

【代码】Golang - 实现python中的try except。

2023-06-19 11:01:34 130

原创 Golang - RSA生成公钥和私钥pem并写入pem文件

【代码】Golang - RSA生成公钥和私钥pem并写入pem文件。

2023-06-16 18:39:33 1234

原创 Golang - RSA公钥加密和私钥解密

【代码】Golang - RSA公钥加密和私钥解密。

2023-06-16 18:36:44 3383

原创 Golang - base64编码与解码

【代码】【无标题】

2023-06-16 18:06:17 1112

原创 golang RSA加密和解密-base64编码和解码

【代码】golang RSA加密和解密-base64编码和解码。

2023-06-16 17:56:31 731

原创 如何理解Linux shell中的“2>&1”

那么现在就容易理解前面的疑问了,2>&1表明将文件描述2(标准错误输出)的内容重定向到文件描述符1(标准输出),为什么1前面需要&?当没有&时,1会被认为是一个普通的文件,有&表示重定向的目标不是一个文件,而是一个文件描述符。在前面我们知道,test.sh >log.txt又将文件描述符1的内容重定向到了文件log.txt,那么最终标准错误也会重定向到log.txt。先说结论:上面的调用表明将./test.sh的输出重定向到log.txt文件中,同时将标准错误也重定向到log.txt文件中。

2023-06-01 11:28:26 875

空空如也

空空如也

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

TA关注的人

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