对我们程序员来说,如何提高代码质量一定是我们的重中之重。不仅需要你能够写得一手的业务代码,还需要做的是如何保证你的代码质量。测试用例便是一个非常好的用来提高我们代码质量的工具。[...]
10 分钟理解什么是 OAuth 2.0 协议
什么是OAuth2.0OAuth2.0是一个行业的标准授权协议。OAuth2.0专注于简化客户端开发人员,同时为Web应用程序,桌面应用程序,手机和客厅设备提供特定的授权流程。[...]
DNS 一站到家之 CAA 记录
自2017.04CAB论坛通过投票决定:2017.09.08起,所有CA机构颁发SSL证书前必须对颁发的域名进行CAA检测。CAA就时不时出现在技术人员的眼前。那么CAA记录是什么?又有什么作用呢?如何添加CAA记录?[...]
docker volume 容器卷的那些事(二)
如果你读了dockervolume容器卷的那些事(一),我想应该不会遇到下面这些问题的,毕竟是具有指导意义的。本篇文章的内容依旧是有关volume的内容,主要讲诉的是如何解决非root用户下的文件映射问题。博主将自己常遇到的一些问题总结如下。[...]
记一次树莓派搭建git服务器及内网穿透过程
前段时间一直想找点有意思的东西折腾折腾,一时兴起就买了个树莓派。买回来之后我就迷茫了,这个东西能干啥(折腾各种软硬件)?问题是我能用它干啥?放在那里积灰吧。[...]
docker volume 容器卷的那些事(一)
dockervolume容器卷的那些事(二)。接触docker的朋友都知道,docker镜像是以layer概念存在的,一层一层的叠加,最终成为我们需要的镜像。但该镜像的每一层都是ReadOnly只读的。只有在我们运行容器的时候才会创建读写层。文件系统的隔离使得:[...]
consul 支持多数据中心的服务发现与配置共享工具
consul是一个支持多数据中心分布式高可用,用于服务发现和配置共享的工具。那么,之前已经有了众多的用于服务发现和配置的工具,如:etcd、zookeeper等,为什么还冒出来个consul?阅读Consulvs.OtherSoftware或许你可以找到答案。[...]
Go 关键字 defer 的一些坑
什么是defer?如何理解defer关键字?Go中使用defer的一些坑。defer意为延迟,在golang中用于延迟执行一个函数。它可以帮助我们处理容易忽略的问题,如资源释放、连接关闭等。但在实际使用过程中,有一些需要注意的地方(坑),下面我们一一道来。[...]
浅谈 Golang sync 包的相关使用方法
尽管Golang推荐通过channel进行通信和同步,但在实际开发中sync包用得也非常的多。另外sync下还有一个atomic包,提供了一些底层的原子操作(这里不做介绍)。本篇文章主要介绍该包下的锁的一些概念及使用方法。[...]
什么是 cron?利用 cron 定时执行任务
cron是什么?这是一个unix系统内置的定时执行任务的工具,最小精确到一分钟。它的实现有很多版本,不同版本间有些许的功能差异。与它相关的有两个工具:crond和crontab。crond就是cron在系统内的宿主程序,crontab是管理cron任务的管理工具。下面介绍cron相关的使用。[...]