sort接口的使用

该包实现了四种基本排序算法:插入排序、归并排序、堆排序和快速排序。(看到网上貌似有些文章漏掉了堆排序,不知道是不是以前的go没有堆排序)

阅读全文

移动文件或文件夹

golang 移动(重命名)文件或文件夹,移动文件到目标位置时,不会自动创建目标位置的文件夹。

阅读全文

MongoDB ObjectID生成

在项目中需要用到一个随机数,将其作为唯一且无法重复,第一个想到的就是MongoDB里面的objectID,将其作为一个唯一且不重复的键值。

阅读全文

Go API统一注释说明

安装

​ 运行下面指令后会在$GOPATH/bin中生成一个apidoc的可执行程序

阅读全文

ElasticSearch数据迁移

在机器上进行归档数据,需要借助的是reindexAPI。

阅读全文

etcd配置中心——confd/viper

配置中心的使用呢,之前在项目中使用的是viper(现在又给改回去了,误解了viper的操作),但根据实际测试以及在GitHub的issue中看到的帖子,看到viper是线程不安全的(确实是不安全的)。

阅读全文

baiduPCS学习

首先,百度云是一个非常好用的网盘,因为之前限速是在限得太过于厉害,无法忍受,在网上找了很多工具,其中就有BaiduPCS-Go,不得不说特别的好用,之前在此基础上,我添加了一个同步文件夹的功能,感觉代码挺简陋的,所以我也不好意思PR,这里主要是我想把项目中一些可以复用的函数给抽取出来,以便我日后翻阅吧。

阅读全文

mysql并发操作

在项目中,遇到个并发问题,虽然不是个大问题,但确实是之前没考虑到的,具体体现类似于余额扣减,多个客户端同时访问web接口,导致临界数据计算出现异常。此时就代表着我可能就碰到了一个并发问题了。

阅读全文

自定义json Marshalling

在开发中,若是遇到结构体中的私有变量(小写变量),需要出现在json Marshal结果中,使用json外包显然是无法做到的,因为外包是无法看到私有变量的,reflect机制需要的是大写变量,但就是需要这样的操作,怎么办呢,可以实现该结构体自有Marshal方法。

阅读全文