本书所有示例程序都基于Go编写,代码托管到GitHub。每章的示例都是可直接运行的Go源文件,例如第一章的Hellow World程序可以通过go run hello_world.go来运行并查看运行结果。# go run hello_world.goHello World接下来介绍使用Docker来运行本书的示例程序。
进程的概念大家都很熟悉,但你是否能准确说出僵尸进程的含义呢?还有COW(Copy On Write)、Flock(File Lock)、Epoll和Namespace的概念又是否了解过呢?本书汇集了进程方方面面的基础知识,加上编程实例,保证阅读后能自如地回答以上问题,在项目开发中对进程的优化也有更深的理解。本书架构本书按循序渐进的方式介绍进程的基础概念和拓展知识,主要涵盖以下几个方面。
介绍本篇主要是介绍 Function 方面使用的一些技巧(上篇),利用 Function 特性可以编写出很多非常有意思的代码,本篇主要包括:回调模式、配置对象、返回函数、分布程序、柯里化(Currying)。回调函数在 JavaScript 中,当一个函数 A 作为另外一个函数 B 的其中一个参数时,则函数 A 称为回调函数,即 A 可以在函数 B 的周期内执行(开始、中间、结束时均可)。
介绍组合模式(Composite)将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。常见的场景有 asp.net 里的控件机制(即 control 里可以包含子 control,可以递归操作、添加、删除子 control),类似的还有 DOM 的机制,一个 DOM 节点可以包含子节点,不管是父节点还是子节点都有添加、删除、遍历子节点的通用功能。
介绍职责链模式(Chain of responsibility)是使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。也就是说,请求以后,从第一个对象开始,链中收到请求的对象要么亲自处理它,要么转发给链中的下一个候选者。