DNS 原理

计算机网络
整理自DNS 原理入门 DNS(Domain Name System)的作用是根据域名查询对应的 IP 地址,DNS 协议是应用层协议。 查询过程 DNS 的查询过程非常复杂,分成多个步骤。可以用工具dig显示整个查询过程。 $ dig github.com ; <<>> …...
Read more →

浅谈 HTTP

计算机网络
学习开发时间也不短了,越是深入学习,越是觉得自己的知识体系不够系统,对一些通用知识不够了解。之前看的书不少, 有一定拓展,但缺点就是少了思考及练习,窃以为写文章总结是一种很好的学习方法,当然平时还得多敲代码。这里结合 最近看的一些书以及一些开发的经历来整理一下自己对 HTTP 的理解。由于能力所限, …...
Read more →

Go 代码测试

Go
Go 有一个由go test命令和testing包组成的轻量级测试框架。testing包为 Go 包提供自动化测试支持,并和go test命令配合使用,自动运行符合以下形式的任意函数: func TestXxx(*testing.T) 被测试函数Xxx首字母为大写。在测试函数中使用 …...
Read more →

Linux 下 PHP 扩展安装

PHP
官方扩展 在 Linux 下通过源码安装 PHP,一般都不会把所有的官方扩展都装上。面我之前看官网手册介绍,这些官方扩展都必须要 在编译期间的./configure配置阶段加上--with-*等参数进行安装的。以至于我一度认为万一用到这些未安装的官方扩展时 都要重装一下 PHP。 刚才重装 …...
Read more →

error 类型 Error() 方法的无限递归

Go
在 Go 语言中使用 error 值来表示错误状态。事实上,error 类型是内置的接口,定义如下: type error interface { Error() string } 函数一般会返回一个 error 类型的值,因此调用函数时应该通过测试 error 是否等于 nil 来处理错误,如: …...
Read more →