Go test 详解

注:部分内容参考网络上的文章,如有侵权,请告知。 Go test 的测试用例形式 测试用例有四种形式: TestXxxx(t *testing.T) // 基本测试用例 BenchmarkXxxx(b *testing.B) // 压力测试的测试用例 Example_Xxx() // 测试控制

给 Phabricator 增加 Lets Encrypt 证书

安装步骤 参考其他文档 错误处理 配置 letsencrypt 之后,报错: 1 2 2018/11/13 03:27:34 [emerg] 1#1: BIO_new_file("/etc/letsencrypt/ xxx/cert.pem") failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/letsencrypt/xxx/cert.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file) nginx: [emerg] BIO_new_file("/etc/letsencrypt/xxx/cert.pem") failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/letsencrypt/xxx/cert.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file) 原因是因为是你的 pem 需要进

Go type switches 详解

type switches type switches 比较的是类型而不是值,它在其他方面类似于表达式 switch。 它由一个特殊的 switch 表达式标记,该表达式具有使用保留字 type 而不是实际类型的类型

如何在一个 Docker 容器中支持多个数据库?

MySQL 镜像 init.sql: 1 2 3 4 CREATE USER 'drone'@'%' IDENTIFIED BY 'drone_123456'; GRANT ALL ON drone.* TO 'drone'@'%'; FLUSH privileges; CREATE DATABASE IF NOT EXISTS `drone`; docker-compose.yaml: 1 2 3 4 5 6 7 8 9 servicesmysql-server:image:mysql:5.7.23restart:always# command: --init-file /sql/init.sqlvolumes:-./mysql/data/:/var/lib/mysql-./mysql/logs:/logs-./init.sql:/docker-entrypoint-initdb.d/init.sql 可以用两种方式: volumes:/docker-entrypoint-initdb.d/init.sql 和 command: --init-file 探讨 为什么不在 mysql image 中直接给予支持

Docker 客户端(MySQL、Redis)工具

MySQL 通过 docker 来启动一个 MySQL client: 1 $ docker run -it --rm jbergknoff/mysql-client mysql -h 192.168.0.10 -p 3306 Redis 通过 docker 来启动一个 Redis client: 1 $ docker run -it --rm redis:4-alpine redis-cli -h 192.168.0.10 -p 6379 参考资料 https://hub.docker.com/r/jbergknoff/mysql-client/ 茶歇驿站 一个可以让你停下来看一看,在茶

基于 Docker 安装 phabricator

phabricator phabricator 是什么? Phabricator(发音像单词 fabricator)是一套网络应用程序, 目的在于使人们更容易构建软件,特别是在与团队一起工作

Go 语言的 time 包(简单)

time.ParseDuration 支持 -24.5h / 2h3m4s 等格式,非常的灵活。 1 2 3 4 5 pd, err := time.ParseDuration("2h3m4s") if err != nil { panic(err) } time.Now().Add(pd) time.Add 1 time.Now().Add(-24*time.Hour) time.Sub 1 time.Now().Sub(startTime) 。。。 茶歇驿站 一个可以让你停下来看一看,在茶歇之余给你帮助的小

推荐效率工具

Bash/git git icdiff git upr sourcetree Fork Gitup Mac tldr(simple man) brew install tldr BitBar Github notification … iOS Life Cycle RescueTime Chrome Time TimeYourWeb Rooster WakaTime stat coding time coding target VSCode Plugin Auto Close Tag – 自动关闭标签 Auto Import – 自动导入模块 Auto Rename Tag – 自动修改 HTML/JSX 对应关闭标签 Better Comments

drone 的 secret 无法读取

drone 如何配置 secret 在 drone 控制面板中直接使用 Secrets 中添加。 但是这里默认只支持 PUSH TAG DEPLOYMENT drone client command 1 2 $ drone secret add --repository=yangwenmai/ratelimit --image=robertstettner/drone-codecov --event=pull_request --event=push --event=tag --name=codecov_token --value=xxx $ drone secret update --repository=yangwenmai/ratelimit --image=robertstettner/drone-codecov --event=pull_request --event=push --event=tag --name=codecov_token --value=yyy 参考资料 http://docs.drone.io/secrets-not-working/ https://discourse.drone.io/t/secrets-not-working-0-8-1⁄1101 https://discourse.drone.io/t/solved-secrets-not-available-to-drone-exec-local/270/3 http://docs.drone.io/cli-secret-add/ http://docs.drone.io/cli-secret-update/

在 Mac 电脑中 ssh 读取加载 config.d 目录

背景 一般情况下,我们ssh 配置都是使用 ~/.ssh/config 里面的配置即可。 但是如果我们线上所要维护或者要连接的机器比较多,我们怎么分门别类呢? 大家请看: 1 2 Include