基于 OpenSSL 自建 CA 和颁发 SSL 证书

自建CA颁发证书不仅可以用来鉴权,而且使你的通信更加的安全(请保护好你的证书)。在实际的软件开发中,越来越多的服务用到HTTPS,证书的需求随之增加。那么对于我们开发者,通过自签名证书来进行测试必将非常的方便。so,有一个自己的CA是不是非常的库呢!下面我们一步步操作,创建我们自己的CA。[...]

继续阅读 »

Golang 博主走过的有关 error 的一些坑

本片文章用来记录我在Golang开发学习过程中遇到的有关error的一些坑。或许你也遇到,或许你能在这里找到答案。当然通过error的例子,你也应该联想到其它场景。err!=nil第一个问题是:为什么值为nil的error却不等于nil?[...]

继续阅读 »

DNS 一站到家之 DNS 消息协议

本篇文章让我们来分析下DNS消息协议的组成,当然我们也可以查看RFC1035。文章中所用的byte而不是octetsequence,我认为更助于理解。好,首先我需要了解一些有关DNS相关的知识。相关术语相关的记录类型都已经收录在DNS一站到家之记录类型。[...]

继续阅读 »

DNS 一站到家之常用工具

使用这些工具之前,你可能需要安装一个工具包。它里面包含了之后需要介绍到的工具:Ubuntu$sudoapt-getupdate$sudoapt-getinstalldnsutilsDebian$sudoapt-getupdate$sudoapt-getinstalldnsutilsFedora/Centos$sudoyumupdate$sudoyuminstallbind-utils[...]

继续阅读 »

DNS 一站到家之记录类型

DNS记录类型说明,若有遗漏的或者有误请指出,我将及时添加及改正。记录类型A(1),什么是A记录?RFC1035A(Address),用来指定主机名(或域名)对应的IP地址记录。当你浏览一个网站的时候都是解析A或AAAA记录。[...]

继续阅读 »

DNS 一站到家之历史由来

DNS,又名DomainNameSystem,又名域名系统,是域名和IP地址相互映射的一个分布式数据库。今天我们说一说它的历史由来。Internet简史首先,先说一说Internet的起源。[...]

继续阅读 »

整理出的超详细清晰的vim,vimrc配置

Github地址:https://github.com/deepzz0/dotfiles超级详细,超级清晰。弄懂vim配置的好范例。你要的都在这里了。".vimrcforvim.maybeitworkedwellforosx."url:https://github.com/deepzz0/dotfiles/blob/master/.vimrc"email:deepzz.qi@gmail.com"vundle{{{setnocompatible[...]

继续阅读 »

快速掌握 Golang context 包,简单示例

对于Golang开发者来说context(上下文)包一定不会陌生。但很多时候,我们懒惰的只是见过它,或能起到什么作用,并不会去深究它。应用场景:在Gohttp包的Server中,每一个请求在都有一个对应的goroutine去处理。请求处理函数通常会启动额外的goroutine用来访问后端服务,比如数据库和RPC服务。[...]

继续阅读 »

Glide命令,如何使用glide,glide.lock

以下是Glide命令,其中大部分命令是帮助您管理工作区。glidecreate(别名init)初始化新工作区。除此之外,这会创建一个glide.yaml文件,同时试图猜测package和版本。例如,如果你的项目使用Godep,它将使用Godep指定的版本。Glide足够智能去扫描您的代码库,检测正在使用的package,无论有没有指定其他的包管理器。[...]

继续阅读 »

Golang包管理工具Glide,你值得拥有

“依赖地狱”是每个程序员在成长之路上都会面临的情况,首先我们通过语义化版本来控制软件的版本,然后在我们的项目里通过指定软件版本来达到控制依赖的目的。如:你的项目A依赖多个项目B1,B2,B3,而B1,B2,B3又依赖着其它项目C1,C2…。一个项目依赖这多个项目,当项目C1修复BUG版本发生变化,如果A依旧使用旧版本,势必引起未知的问题。所以,你需要意识到包依赖管理的重要性。[...]

继续阅读 »