一.认识EXT2文件系统:     a.硬盘的组成:转动小马达+存储的磁盘+读写的机械臂     b.磁盘的一些概念              扇区为最小的物理储存单位,每个扇区为512B             将扇区组成一个圆,就是磁柱,磁柱是最小的分割单位             第一扇区最重要,a.主要开机区及分割表,其中MBR占有446B,而partition table 则占有64B    c.inode block superblock 三个数据的意义             in…
之前实现了Java版本的TCP和UDP套接字编程的例子,于是决定结合Python的学习做一个Python版本的套接字编程实验. 流程如下: 1.一台客户机从其标准输入(键盘)读入一行字符,并通过其套接字将该行发送到服务器. 2.服务器从其连接套接字读取一行字符. 3.服务器将该行字符转换成大写. 4.服务器将修改后的字符串(行)通过连接套接字再发回给客户机. 5.客户机从其套接字中读取修改后的行,然后将该行在其标准输出(监视器)上打印出来. [TCP]服务器端代码: import socket…
IPv4套接字地址结构 struct in_addr { in_addr_t s_addr; }; struct sockaddr_in { uint8_t sin_len; /* length of structure (16) bytes */ sa_family_t sin_family; /* AF_INET */ in_port_t sin_port; /* 16-bit TCP/UDP port, network byte order(big-endian) */ struct in…
一.前言 C# 简洁.类型安全的面向对象的语言. .NET是一种在windows平台上编程的架构——一种API. C#是一种从头开始设计的用于.NET的语言,他可以利用.NET Framework及其开发环境中的所有新增功能,面向对象的编程方法. 组件对象模型 COM Component Object Model .NET的优点:面相对象编程,优秀的设计,语言无关,对动态Web页面的更好支持,高效的数据访问,代码共享,增强的安全性,对安装没有任何影响,web服务的支持. .net framewo…
一.寄存器对象: 函数中频繁被使用的变量可以加上register就可声明为寄存器对象.对于寄存器对象,假如能够放到寄存器中就会放到寄存器中,放不到的话就放到内存中.比如 register int  a,一般用于循环控制变量挺好的. 二.静态变量. 这里容易犯一个错误,记住,静态变量只初始化一次,没有初始化的会自动初始化为0 #include <iostream>    int traceGcd( int v1, int v2 )  {    static int depth = 1;  cou…
1.压缩文件案的用途与技术     a.用途,简单来说,就是节约磁盘空间.如果从传输角度讲,占用宽带也会小很多(Apache就有自动压缩的功能,节省宽带资源,提升网站的输出能力)     b.压缩技术,总体来讲有两个方案,第一个:填充法,比如数字1,在机器码中是 00000001 前面几位都是空的,所谓填充法就是用一些特别的方法把这些空的都利用起来,从而达到,降低占用的磁盘空间.             第二种是,统计重复记录,举例来讲,我的数据中有100个1(11111.....),压缩技术就…
1. Linux的档案权限与目录配置      一.基础知识:             a.分为三类,拥有者(owner).群组(group).其他人(other)             b.三个核心命令:chgrp  chown chmod                 chgrp [-R] groupname file/dir  -R表示循环                 chown [-R] username file/dir -R表示循环                 tips:…
Linux档案与目录管理 1.一些比较特殊的目录,需要用力的记下来 .         代表当前层目录 ..        代表上一层目录 -        代表前一个工作目录   (这个好屌!其他的基本都知道) ~        代表[目前用户身份] 所在的Home目录 ~account 代表account这个用户的Home目录 2.目录相关命令     a) cd : 变换目录     b) pwd: 显示当前目录 *  不熟标记   -P 可以把一些链接地址打出来     c) mkdir…
过滤序列元素: 有一个序列,想从其中过滤出想要的元素.最常用的办法就是列表过滤:比如下面的形式:这个表达式的意义是从1000个随机数中选出大于400的数据 test=[] for i in range(1000):     test.append(random.randint(1,1000)) ret=[n for n in test if n >400] 根据cookbook书上的描述,这个方法适用于小数据的方式.如果数据集非常的大,而且要考虑内存的话建议使用生成器的方式ret=(n for…
unp第三章主要介绍了基本套接字编程函数.主要有:socket(),bind(),connect(),accept(),listen()等. 本博文也直接进入正题,对这几个函数进行剖析和讲解. 1. 基本套接字函数 在<计算机网络>和<TCP/IP详解>中,我们经常讨论TCP/IP的工作流程,连接建立的三次握手和连接断开的四次挥手等,那么这些如何体现在程序中呢?我们如何来运用这些理论知识于实践之中呢?下面我们来看看套接字编程中客户和服务器进程之间的一些典型事件的时间表. 如图,服务…