
Compilers
1. Overview 2. Language Grammar 字母表(Alphabet):$\sum$是一个有穷符号集合,包括字母、数字、标点等。 乘积(product):字母表$\sum_1$和$\sum_2$的乘积(笛卡儿积):$\sum_1\sum_2 = {ab|a\in\sum_1, b\in\sum_2}$ ...

1. Overview 2. Language Grammar 字母表(Alphabet):$\sum$是一个有穷符号集合,包括字母、数字、标点等。 乘积(product):字母表$\sum_1$和$\sum_2$的乘积(笛卡儿积):$\sum_1\sum_2 = {ab|a\in\sum_1, b\in\sum_2}$ ...

Overview Software is more than just a program code. It is considered to be collection of executable programming code, associated libraries and documentations. Engineering on the other hand, is all about developing products, using well-defined, scientific principles and methods. IEEE Definition (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2) The study of approaches as in the above statement. ...

The gets() function cannot be used securely. Because of its lack of bounds checking, and the inability of the calling program to reliably determine the length of the next incoming line, the use of this function enables malicious users to arbitrarily change a running program’s functionality through a buffer overflow attack. It is strongly suggested that the fgets() function be used in all cases. How can we find and/or prevent problems like this? ...

1. Query Engine 1.1. Relational Model 关系型数据库是建模现实世界的关联数据的有组织的集合。最早期数据库难于构建,逻辑与物理层强耦合。 查询流程 SQL(Parser):词法分析和语法分析。 ...

1. Overview 最初的TCP因为不支持拥塞控制而频繁被丢弃数据包,协议栈被投入使用8年后,Van Jacobson在1988年将 TCP 拥塞控制引入网络。 IP层并没有提供拥塞控制功能,各个主机不知道什么是合理的速度。理想场景利用负反馈控制窗口,每一个TCP连接,引入变量CongestionWindow与SlowStartThreshold。 ...