摘要: ##lisp语法分析与执行分离###《sicp》4.1.7节读书笔记####这节中将书中之前实现的解释器做了改进,将语法分析于执行分离.这样做能提高很多效率,比如我们需定义一个过程,然后执行该过程多次.分情况说明:####1.语法分析于执行未分离每次执行都会进行语法分析####2.语法分析于执行分离... 阅读全文
posted @ 2015-04-27 21:50 battzion 阅读(477) 评论(0) 推荐(0) 编辑
摘要: ##《sicp》八皇后谜题书中练习2.42.八皇后谜题问的是如何将八个皇后摆在国际象棋棋盘上,使得任意一个皇后都不能攻击另一个皇后(也就是说任意两个皇后都不能在同一行,同一列和同一对角线上).###解题思想####递归加模块化设计程序递归:解决这一谜题,可以使用递归的方法,每次在一列中放置一个皇后.... 阅读全文
posted @ 2015-03-22 22:06 battzion 阅读(642) 评论(0) 推荐(0) 编辑
摘要: #《sicp》模块化程序设计##2.2.3 序列作为一种约定界面 学习笔记这节中,讲述了一种模块化的程序设计思想,也就是将程序设计为如同信号处理过程一样,采用级联的方式将程序各个部分组合在一起,程序的每一部分对应于一个处理过程,并通过约定的界面将程序各个部分连接在一起.在本节中将序列作为一种约定界面... 阅读全文
posted @ 2015-03-20 21:20 battzion 阅读(245) 评论(0) 推荐(0) 编辑
摘要: #tiny web服务器源码分析正如csapp书中所记,***在短短250行代码中,它结合了许多我们已经学习到的思想,如进程控制,unix I/O,套接字接口和HTTP。虽然它缺乏一个实际服务器所具备的功能性,健壮性和安全性,但是它足够用来为实际的web浏览器提供静态和动态的内容。我们鼓励你研究它,... 阅读全文
posted @ 2015-01-26 16:18 battzion 阅读(707) 评论(0) 推荐(0) 编辑
摘要: #getaddrinfo工作原理分析将域名解析成ip地址是所有涉及网络通讯功能程序的基本步骤之一,常用的两个接口是gethostbyname和getaddrinfo,而后者是Posix标准推荐在新应用中使用的接口。很好奇,getaddrinfo的工作原理,接下来就简要分析getaddrinfo函数的... 阅读全文
posted @ 2015-01-20 11:15 battzion 阅读(6422) 评论(0) 推荐(0) 编辑
摘要: #kill命令的简单实现###目标:简单实现kill命令###功能:>+ 向进程发送信号>+ 列出信号名字###参数:>+ -l 列出信号名字>+ -s (s=1、2、3.....)发送的信号代号###环境ubuntu 14.04 gcc.real (Ubuntu 4.8.2-19ubuntu1) ... 阅读全文
posted @ 2015-01-19 12:27 battzion 阅读(385) 评论(0) 推荐(0) 编辑
摘要: #网络IPC:套接字接口概述**套接字接口实现了通过网络连接的不同计算机之间的进程相互通信的机制。**###套接字描述符(创建套接字)套接字是通信端点的抽象,为创建套接字,调用socket函数```c#includeint socket(int domain,int type,int protoco... 阅读全文
posted @ 2015-01-16 18:07 battzion 阅读(557) 评论(0) 推荐(0) 编辑
摘要: #csapp网络编程初学笔记###客户端-服务器编程模型每个网络应用都是基于客户端-服务器模型,服务器管理某种资源,并且通过操作来为它的客户提供某种服务客户端-服务器模型中的基本操作是transaction,由以下四步组成:>1.当一个客户端需要服务时,它向服务器发送一个请求。>2.服务器接收到请求... 阅读全文
posted @ 2015-01-15 21:48 battzion 阅读(388) 评论(0) 推荐(0) 编辑
摘要: #ls命令的简单实现###目标:简单的实现ls命令####实现的mic_ls命令主要功能>***1.循环遍历目录>2.列出目标目录所有的子目录和文件>3.列出文件的文件权限,所有者,文件大小等详细信息***####参数>***-r 循环遍历 >-a 列出全部文件>-l 列出详细信息(文件类... 阅读全文
posted @ 2015-01-15 21:46 battzion 阅读(587) 评论(0) 推荐(0) 编辑
摘要: #cat命令的简单实现###目标:简单的实现cat命令####实现的mic_cat命令主要有三大功能>1.mic_cat命令一次显示整个文件 $ mic_cat filename>2.mic_cat命令从键盘创建一个文件 $ mic_cat > filename>3.mic_cat命令将几个文件合... 阅读全文
posted @ 2015-01-12 15:53 battzion 阅读(1143) 评论(0) 推荐(0) 编辑