基于Docker搭建Svn Server

    拉取svn-server的docker镜像 docker pull docker.io/garethflowers/svn-server 查看是否拉取成功: dafengge0913@ubuntu1804:~/svn-server$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE garethflowers/svn-server latest a38966c9817a 4 months ago 13.7MB 启动svn-server docker run -d –name svn-server -v $PWD/svn:/var/opt

    数据查询用Slice还是Map

    如果有一些不重复的数据需要记录,并且用来查询某一数据是否存在,可以有两种做法: 1、存在slice中,每次查询时遍历slice,如果查到数据则退出遍历,时间复杂度是O(n)。 2、存在一个集合中,golang中可以使用map的key来保存,每次直接判断该数据是否存在,时间复杂度是O(1)。 从时间复杂度上面来看,使用map是有明显优势的,但是如果数据量较小,O(1)可能并没有O(n)的速度快,那么应该如何选择呢? 下面写了一个性能测试: package main import ( "testing" ) var s []int var m map[int]struct{}

    Windows系统下Protoc使用统配符

    在windows系统下使用 protoc –gofast_out=. *.proto 生成pb文件时出现 *.proto: No such file or directory 错误。 protoc 版本:libprotoc 3.6.1 原因是统配符并不受支持,为了能够生成目录下的所有.proto文件,编写了如下batch脚本: @echo off for /r %%i in (.proto) do (echo generate %%i & protoc –proto_path=%cd% –gofast_out=. %%i) 对文件路径进行遍历,然后调用protoc进行生成。

    基于Docker搭建MongoDB集群

    今天要帮公司搭建一个MongoDB的集群,记录一下搭建的过程。 系统环境 Ubuntu 18.04.1 LTS 安装Docker sudo apt install -y docker.io 安装完毕,查看一下Docker版本: dafengge0913@ubuntu:~$ docker -v Docker version 18.06.1-ce, build e68fc7a 拉取MongoDB镜像 sudo docker pull mongo 查看镜像: dafengge0913@ubuntu:~$ sudo docker images mongo REPOSITORY TAG IMAGE

    Linux下添加GoLand快捷方式

    最近在Ubuntu下搭建了go的开发环境,GoLand依然是我首选的IDE。 安装过程非常简单,解压缩就可以了。 但是通过sh goland.sh启动的话,每次还要定位到安装目录,有点麻烦。 最开始想的办法是,写一个shell脚本放在桌面,类似这样: sh /home/dafengge0913/Software/goland-2018.3/bin/goland.sh 但是每次运行这个脚本还是很麻烦,不如windows下通过快捷方式运行方便。 后来在网上搜了一下,发现可以通过GoLand中Tools菜单下的Create Desktop Entry…功能将GoLand添加到Applicati