Introduction
在编辑代码时,有时候你希望对变量或者函数重命名。vi提供了强大的替换功能,比其他普通编辑器的ctrl+r更好用。
前面我们介绍了基于setjmp/getjmp控制流的编程方法,下面我们将要介绍更高级的基于ucontent控制流编程方法。通过ucontent,可以实现迭代器(Iterator)、纤程(Fiber)、协程(Coroutine)。
在程序设计中,控制流(control flow)通常由Statement, Instruction set以及Subroutine组成。但有时候我们需要的逻辑无法由这些控制流方法得到,如try-catch-throw的异常机制。不过可喜的是,操作系统提供了额外的控制流的程序设计方法。
我们今天编写第一个Linux Kernel Module的驱动程序:一个字符型设备驱动。通过简单的open(), release(), read(), write(),你将理解驱动程序的编程方法。
加密将数据加密成密文,只有拥有密钥的计算机可以解密密文并使用数据。加密技术分为两大阵营:对称加密和公钥加密。
想象你居住在一座岛屿上,大洋环绕四周。不过可喜可贺的是,你周围有无数这样的岛屿,上面也居住着别的居民。
拜访其他岛屿最常见的方式就是乘坐摆渡船,但同时也意味着你毫无隐私可言,因为大家都能看到你在摆渡船上,将要拜访哪座岛屿。
现在我们类比,岛屿就是LAN,大洋就是Internet,乘坐摆渡船去拜访别的居民,就像是通过Internet去访问别的Web server。
在摆渡船上,你无法掌控线路以及路由,就像你无法掌控摆渡船上的其他乘客一样。
你希望有一种技术,可以通过共有的路线访问私有的岛屿,保护你的隐私,这种技术就叫VPN。
你的业务增长,你希望你的商业帝国可以全球实现增长。为了达到这个目的,你需要一个高速、有效、安全、可靠的网络,以确保你的商业机密安全。此外,你希望你的业务员能够在全球任何地点访问你的商业帝国网络,取得业务相关数据,同时这个过程不会被黑客窃听。