写程序的最主要的目的就是使它在所有的可能情况下都可以正确的工作。一个运行的很快但是给出错误的结果的程序没有任何用处。我们必须要写出清晰可以被维护的代码。
但是从另外一个方面讲,让程序运行的很快也是一个重要的考虑因素。这里将讨论如何使用几种不同类型的程序优化技术,使得程序运行的更快。
写程序的最主要的目的就是使它在所有的可能情况下都可以正确的工作。一个运行的很快但是给出错误的结果的程序没有任何用处。我们必须要写出清晰可以被维护的代码。
但是从另外一个方面讲,让程序运行的很快也是一个重要的考虑因素。这里将讨论如何使用几种不同类型的程序优化技术,使得程序运行的更快。
到目前为止,我们学习的计算机系统仅仅只限于机器语言的程序级别。我们知道处理器必须执行一系列的指令,每条指令执行某个简单的操作,例如两个数相加。指令被编码为一个或多个字节组成的二进制格式。一个处理器支持的指令和指令的字节被称为它的指令集体系结构(ISA)。
这一节将简要介绍处理器的硬件设计。这里将研究一个硬件系统执行某种ISA指令的方式,这会使你能够更加好的理解计算机系统是如何工作的,以及计算机制造商的技术挑战。
在使用高级语言如C语言进行编程的时候我们大多数情况下都屏蔽了程序具体的机器级实现。相比之下在使用汇编语言编写程序时程序员必须明确指定程序应该如何管理和使用存储器。这一章主要以intel的IA32指令集为例子讲解C,汇编代码以及目标代码之间的关系。然后会讲到IA32的细节,并且会给出一些使用GDB调试器来检查机器级程序运行时行为的技巧。
现代计算机系统存储和处理信息以二值信号表示,或者称为位(bit)。孤立的讲单独每个位是没有什么意义的,当将所有的位组合在一起并加上某种解释,即赋予不同的可能位模式及含义,就能够表示任何有限集合的元素。这一章主要研究三种最重要的数字编码表示 —– 无符号(unsigned)编码、补码(two’s-complement)编码、浮点数(floating-point)编码 (实数的科学计数法以2为基数的版本)。
在制订HTTP协议的时候,制定者主要想将HTTP作为HTML文档的传输协议。随着时代的发展,Web的用途更加多样。如在线购物网站,企业管理工具等等。这些网站的功能可以通过Web应用和脚本程序实现。但在性能上不一定最优,这是因为HTTP协议上的限制。HTTP功能上的不足可以通过创造一个全新的协议来弥补。可是目前基于HTTP的Web浏览器使用环境已经遍布全球,因此无法完全抛弃HTTP。有一些新协议的规则是基于HTTP,并在此基础上添加了新的功能。
在Web刚出现时,只能浏览页面的简单内容。现在,Web使用各种各样的技术,来呈现各种内容。
简单的HTTP协议本身部存在安全问题,因此协议本身几乎不会成为攻击的对象。应用HTTP协议的服务器和客户端,以及运用在服务器伤的Web应用等资源采是攻击目标。
HTTP 通信过程包括从客户端往服务端的请求以及从服务器端返回客户响应。用于HTTP协议交互的信息被称为HTTP报文。HTTP报文本身是由多行数据构成的字符串文本。主要有Head和body两块
最近在使用freertos的一个嵌入式平台中同步freertos中的任务与一个外部中断信号,这里记录下测量学习的过程:
在我们上网的时候可以看到url前面会有http或者https的字样,这篇博客将解释这两个的区别。