关于Golang随机数生成重复数字

最近在尝试用Golang写一个随机图API,但是关于随机数的生成产生了一些问题

原来的代码是这样的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
func findImage(s string) []byte {
imageList := make([]string, 0)
//遍历目录
err := filepath.Walk(s,
func(p string, f os.FileInfo, err error) error {
if f == nil {
return nil
}
if f.IsDir() {
return nil
}
ext := path.Ext(f.Name())
if ext == ".jpg" || ext == ".jpeg" || ext == ".png" || ext == ".gif" {
imageList = append(imageList, p)
}
return nil
})
if err != nil {
log.Fatal("in finding img ", err)
}
//返回随机图片
r := rand.New(rand.NewSource(time.Now().Unix()))
i := r.Intn(len(imageList))
img := imageList[i]
b, err := ioutil.ReadFile(img)
if err != nil {
log.Fatal("in opening img ", err)
}
return b
}
阅读更多

Hexo的自动化部署折腾记录

Hexo作为一个静态博客系统,一般都是部署到Github或Coding等平台,零成本就能搭建起一个博客,利用插件就可以直接推送到Github,但是如果利用这个插件推送到自己的服务器就需要折腾一下了

在服务器上建立远程仓库

需要在服务器上建立一个中心仓库,本地生成的静态文件会推送到这个仓库

阅读更多

V2ray搭建Nginx+TLS+Webocket代理方案

这应该是目前理论最隐蔽的代理方式,走的是真正意义上的https流量,是实际的网站流量,当然前提是你有一个网站,不过没有也没关系,只不过比较假而已 ::(滑稽)

V2ray服务端配置

配置文件位于/etc/v2ray/config.json,示例配置如下

阅读更多

我的zsh终端配置

zsh是一个非常好用的shell,比bash不知道高到哪儿去了。这是我的一些个人配置

1.安装zsh

直接使用包管理器即可

阅读更多

在Linux上使用ss客户端并设置代理

最近在国内阿里云上git clone让我感受到了国内网络到github的糟糕程度,实在是慢的想砸电脑,于是就想着设置一个代理,shadowsocks作为代理是最合适不过了

环境:Ubuntu 18.04 LTS

安装shadowsocks

阅读更多