用Golang对文件Hash

用Golang对文件Hash

曾几何时,题主曾用golang写过一个hash的工具,这次打算测试一下对文件的几种不同读取方式的比较。

  • 使用io/ioutl.ReadAll
  • 使用io.Copy
  • 使用bufio.Reader+io.Copy

当前目录下有个20M左右的文件poe.tgz,新建了main_test.go文件,这次使用SHA1测试。
READ MORE

git中永久删除文件

git中永久删除文件

今天看到自己两年前在 Github 写的个小项目上了两位数的forkstar,于是想看看原来写的还能不能用,当然也想看看以前自己写的代码还能不能看懂,于是git clone了一下,发现奇慢(题主预期是瞬间):
READ MORE

GC和Finalizer

GC和Finalizer

最近在做一个golang的连接池。测试过程中发现一个有趣的现象,获取的连接没有归还给连接池,那么过一段时间后该连接会自动关闭掉。猜测这跟连接池应该是没有关系的,于是再用普通的连接做了实验,即dial一个tcp连接,发送请求,然后程序进入sleep,一段时间后该连接还是会自动关闭。

对这个过程进行抓包分析,发现主动关闭连接的是client端,即client端主动向服务端发送了FIN包。
READ MORE

一次关于TMPDIR的调试

一次关于TMPDIR的调试

前些日子,自己玩一个golang项目,为了方便,写了个Makefile,大致内容如下:

PWD := $(shell pwd)
PKG := github.com/ckeyer/bat
TMPDIR := bundles

build:
  go build -o $(TMPDIR)/app main.go

/// 其它忽略。。。

READ MORE