首先在 travis-ci 上创建账号新建 ci 任务,就是配置一些 GitHub 仓库,分支等信息,当项目仓库发生变化时 ci 任务能够感知到进行部署,相对简单就不做赘述了
elasticsearch 是面向文档的,文档是所有可搜索数据的最小单位。例如说是一篇文章,一首歌的详细信息,会被序列化成json格式保存在elasticsearch。每个文档都有对应的unique id,一篇文档包含了一系列字段,类似于mysql中的一条记录。
WaitGroup 的含义其实我们可以通过的名称去认识它,wait 就是阻塞等待,group 就是一组协程, 也就是阻塞等待一组 goroutine 的集合执行完成。主 goroutine 调用 Add() 添加以设置要等待的goroutine的数量。 然后每个 goroutines 运行并在完成后调用 Done()。 同时,等待可用于阻塞,直到所有goroutine完成。
首先来看一个例子,在我们刚开始对写 GO 的代码的过程一定遇到这个错误。通过阅读 Map源码实现知道map是不支持线程安全的,所以一般并发场景下都是 加锁来解决,相对的话性能上就会有一定的损耗。
关于neovim是什么,为什么有了vim,又出来个neovim? 可查看 官方文档,NeoVim 科普,21世纪的Vim,如何对比评价vim-8和neovim?,具体使用根据个人喜好,没必要纠结,我使用的是Neovim,Mac下使用homebrew安装neovim,如果使用其他操作系统阅读官方文档安装即可。