[译]Go net/http 超时机制完全手册

英文原始出处: The complete guide to Go net/http timeouts, 作者: Filippo Valsorda

当用Go写HTTP的服务器和客户端的时候,超时处理总是最易犯错和最微妙的地方之一。错误可能来自很多地方,一个错误可能等待很长时间没有结果,直到网络故障或者进程挂起。

HTTP是一个复杂的、多阶段(multi-stage)协议,所以没有一个放之四海而皆准的超时解决方案,比如一个流服务、一个JSON API和一个Comet服务对超时的需求都不相同, 往往默认值不是你想要的。

本文我将拆解需要超时设置的各个阶段,看看用什么不同的方式去处理它, 包括服务器端和客户端。

阅读全文

深入Go语言 - 10

本章介绍Go如何调用C代码,以及如何调用动态链接库。

如果你正准备使用Go开发你的程序,或者你正将一个C构建的项目转换成Go项目,请尽量使用Go构建你的项目,而不是偷巧的导入C代码,尽量保持Go项目的纯粹,原因可以查看cgo 和 Go 语言是两码事,文末的参考文档中也有这篇文章的原始英文。

但是,有些情况下,我们不得不使用C代码构建,那么我们就可以使用cgo技术。

阅读全文

Scala集合技术手册出版了

拙著《Scala集合技术手册》出版了,详细信息请看 这里。

这是我在学习和使用Scala过程中的技术总结和探索。

市面上第一本全面介绍Scala集合框架的图书。

首部国人原创中文Scala图书。

编辑推荐
√ Scala集合库不可多得的中文资料
√ 作为Scala的制胜法宝本书教你如何驾驭
√ 面向实际问题用示例代码讲解类的使用和原理
√ 全新角度实现基本数据结构是提升功力的不二法门

挖财架构师《 Scala 函数式编程》译者 王宏江 作序

推荐
√ 极牛创始人 CEO 吴际超
√ 《快学Scala》译者 高宇翔
√ 阿里巴巴 善马(柴克斌)
√ 联想 柴明贵

深入Go语言 - 3

本文介绍Go的类型系统,以及类型的比较和语句块。

Go语言包含11种类型,你应该很熟悉了,下面让我们再深入的了解一下每种类型的细节。

  • 布尔类型
  • 数值类型
  • 字符串类型
  • 数组类型
  • Slice类型
  • Struct类型
  • 指针类型
  • 函数类型
  • 接口类型
  • Map类型
  • Channel类型

阅读全文