Go 学习笔记(10):cli 命令行的使用
Go 语言的程序编译之后是一个可执行的二进制文件,这个特性使得 Go 非常适合做命令行工具,因为一套代码只需要在不同系统上面编译,就可以在所有系统上直接运行,无需运行环境的安装。这篇博文记录 Go 比较流行的命令行工具的使用心得。
Go 语言的程序编译之后是一个可执行的二进制文件,这个特性使得 Go 非常适合做命令行工具,因为一套代码只需要在不同系统上面编译...
Go 学习笔记(9):多并发爬虫下载图片
我是带着目的学习 Go 的,第一阶段的学习目的是能够写 API 调用,第二阶段就是可以写多并发的爬虫,毕竟 Go 是以搞并发闻名的,我倒要看看怎么个“高并发”。于是随便找了个图片网站实现了一个高并发的图片下载爬虫,速度那是真快!
我是带着目的学习 Go 的,第一阶段的学习目的是能够写 API 调用,第二阶段就是可以写多并发的爬虫,毕竟 Go 是以搞并发闻名...
Nginx配置gzip压缩的重要性
前段时间客户这边的项目一直反应内外网访问平台有很大的网络差异,之前经过一系列数据对比给了一个初步定论是“内外网网络差异导致的访问问题”。然后这周才发现,是因为外网的代理服务器上的Nginx没有配置gzip而内网的代理配置了gzip导致的差异,现在就接机讨论一下...
前段时间客户这边的项目一直反应内外网访问平台有很大的网络差异,之前经过一系列数据对比给了一个初步定论是“内外网网络差异导致的访问...
2023 年终总结
博客已经运行了5年多了,第一次在博客上写年终总结,也是我第一次写个人的非工作性质的年终总结。最近也看了不少其他同行的年终总结,感觉写这玩意其实还是挺有意思,特别是多年之后再回首的时候,可能也会像现在看QQ空间那些说说一样有另一番感悟吧!
博客已经运行了5年多了,第一次在博客上写年终总结,也是我第一次写个人的非工作性质的年终总结。最近也看了不少其他同行的年终总结,感...
记一次因MongoDB数据迁移的失误导致的灾备环境事故
上周在客户这边搞灾备环境的数据迁移,做MongoDB的数据迁移的时候出现了很多问题,迁移过程报错了好几次,最终迁移也失败了,并且导致灾备环境的MongoDB集群的账号信息也变成了生产环境的集群信息,导致整个灾备环境都异常,最终在尝试了一些恢复手段依然没有恢复环...
上周在客户这边搞灾备环境的数据迁移,做MongoDB的数据迁移的时候出现了很多问题,迁移过程报错了好几次,最终迁移也失败了,并且...
Go 学习笔记(13):开发一个简单的端口转发程序
由于内外网限制问题,我经常需要使用 Nginx 配置一些反向代理来保证内网请求正常转发,但是 Nginx 的配置有时候由于缺乏关键配置导致代理无效,于是我会使用 nc 命令来进行端口转发,但是这种方式比较混乱,不方便管理,因此,我打算使用 go 开发一个简单的...
由于内外网限制问题,我经常需要使用 Nginx 配置一些反向代理来保证内网请求正常转发,但是 Nginx 的配置有时候由于缺乏关...
记录一些在持续部署中可复用的shell命令和函数
最近在做持续部署,很多系统和中间件的发布过程中都涉及到对进程和端口的一些检查,确保该启动的进程和端口启动了,该停掉的进程和端口也停掉了,于是有很多地方要复用代码,以下是记录的一些可复用的代码片段。
最近在做持续部署,很多系统和中间件的发布过程中都涉及到对进程和端口的一些检查,确保该启动的进程和端口启动了,该停掉的进程和端口也...
HTTPS证书过期时间获取
根据脚本输入的域名和端口,查询域名绑定的https证书的起止时间,从而可以提醒相关人员证书到期时间。
根据脚本输入的域名和端口,查询域名绑定的https证书的起止时间,从而可以提醒相关人员证书到期时间。
Go 学习笔记(6):循环和判断
switch 判断是用来简化 if 判断的,在 Python 里面没有这个关键字。只需要记住 switch 的条件和判断的类型保持一致就行,至于条件是什么,怎么写,都可以,比如条件如果为空,其实表示的是条件为 true
switch 判断是用来简化 if 判断的,在 Python 里面没有这个关键字。只需要记住 switch 的条件和判断的类型保...
Nginx 应对网站扫描工具的方案
Gzip 炸弹干扰网站扫描工具的方案看似很厉害,实际上我认为根本不会起到任何作用,而且返回炸弹本身也是需要消耗网站流量和带宽的,所以并不划算。而使用 Nginx 配置直接忽略非正常请求的方式可以有效的节省服务端的处理,也可以节省日志空间,怎么看都是收益最高的选...
Gzip 炸弹干扰网站扫描工具的方案看似很厉害,实际上我认为根本不会起到任何作用,而且返回炸弹本身也是需要消耗网站流量和带宽的,...