我们是使用github.com/tealeg/xlsx库实现的,用法比较简单: 1. 读取excel文件 2. 遍历sheets 3. 在每个sheet中再遍历每行 当然这个库还可以写入excel文档这里就不介绍了,有兴趣的可以去github上查看。 代码如下: package main import ( "encoding/json" ...
ntscreenshot截图工具马赛克功能实现
截图后如果有一些敏感信息不想被别人看到,可以使用马赛克工具将其涂抹掉,用法是点击马赛克图标后按下鼠标左键涂抹敏感信息。 实现原理 一张图片可以认为是有很多个小色块组成,假如每个色块是正方形的并且宽度是blockWidth,那么整张图片x,y轴分割imageWidth/blockWi...
MacBook突然没网
MacBook一段时间没用了,之前升级过系统今天用的时候没网了。我是用以下方法解决的: 1. 打开终端,进入 cd /Library/Preferences/SystemConfiguration 2. 删除如下文件,不放心的请先备份一下 com.apple.airport.preferences.plist com.apple.wifi.message-t...
golang 日志文件切割、保存最大文件数
组合使用logrus和lumberjack库能达到我们的目的。 如:日志单个文件最大10M,最多保存30个日志,代码如下: package Logger import ( "io" "os" "path" "github.com/sirupsen/logrus" "gopkg.in/natefinch/lumberjack.v2" ) var ( logger = logru...
win32应用程序内存不足
当在windows环境运行32位应用程序时,由于32位的限制最大分配的内存只有2G。要想使用更大的内存正常情况下编译为64位就可以了。 但是如果程序依赖的库比较多,其他库也需要编译成64位,这样做起来比较麻烦。下面介绍一个更简单的做法,还是32位程序,只需要修改工程属性重新编...
golang 单例模式
单例模式(Singleton Pattern)是最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 要保证线程安全 package main import ( "fmt" "sync" "time" ) type Singleton struct { } var singleton Singleton va...
golang 中介者模式
中介者模式是一种行为设计模式。此模式是创建一个中介对象,以防止对象之间的直接交互,从而避免它们之间的直接依赖关系。 一个很好的中介模式的例子是铁路系统平台,两列火车之间是相互独立的,站长充当调停者,使站台仅对其中一列列车可用。列车通过站长交互,站长维持着等候...
CentOS7 systemctl service
CentOS7创建服务,下面展示了两个简单的例子,这样就可以用systemctl命令启动、停止、重启进程以及查看进程状态。 如: systemctl start gonetdisk systemctl stop gonetdisk systemctl status gonetdisk 配置简介 [Unit]区块通常是配置文件的第一个区块,用来...
CentOS7 debuginfo-install
CentOS7 debuginfo-install 允许debuginfo源 vim /etc/yum.repos.d/CentOS-Debuginfo.repo 将enabled改为1 安装debuginfo-install yum install glibc-debuginfo yum-utils 安装调式信息包和依赖 debuginfo-install libgcc-4.8.5-44.el7.x86_64 ...
CentOS7 U盘安装 No Caching mode page found
[sda] No Caching mode page found [sda] Assuming drive cache: write through U盘安装CentOS7的时候出现上述错误的解决方法。 此时会卡在这里,不要着急耐心等待,超时会输出错误信息(10分钟左右),等待可以输入命令的时候: ls /dev/sd 输出如下,每个机器的电...
CentOS6 yum The requested URL returned error: 404 Not Found
CentOS6不再维护了,目前机器需要更换yum源,地址:https://vault.centos.org/ CentOS 6 is now End of Life and there are no more updates Red Hat have pulled the plug on RHEL 6.x as of Nov 30th 2020 and as a result CentOS 6 is now a dead version. The ...
jemalloc C++实践
jemalloc是一种通用的malloc(3)实现,优点是避免内存碎片和可伸缩并发支持。 下载源码 wget https://github.com/jemalloc/jemalloc/releases/download/5.2.1/jemalloc-5.2.1.tar.bz2 解压 tar -jxvf jemalloc-5.2.1 编译安装 cd jemalloc-5.2.1 ...