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配置

博主自用,多年总结整理出的超详细清晰的vim,vimrc配置。1、将该配置写入到~/.vimrc,写入前最好备份一下原有的配置。2、克隆插件管理器:gitclonehttps://github.com/VundleVim/Vundle.vim.git~/.vim/bundle/Vundle.vim3、进入到vim,安装插件::PluginInstall完整配置"repo:https://github.com/deepzz0/dotfiles"email:deepzz.qi@gmail[...]

继续阅读 »

快速掌握 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,你值得拥有

不再推荐,Go社区现在拥有管理依赖关系的dep项目:https://github.com/golang/dep。“依赖地狱”是每个程序员在成长之路上都会面临的情况,首先我们通过语义化版本来控制软件的版本,然后在我们的项目里通过指定软件版本来达到控制依赖的目的。[...]

继续阅读 »