- 博客(8)
- 收藏
- 关注
转载 ARP报文格式解析
首先,可以看到ARP报文是由14位的以太网首部和28位的ARP请求/应答构成的。来分析一下抓到的包: 我们按顺序来看,首先看以太网首部: 目的MAC地址,0xFF-FF-FF-FF-FF-FF,这是一个广播地址,目标是网络上所有的主机。 源MAC地址,这是请求端(发送端)的MAC地址。 协议类型,表明以太网帧的类型,这里是0x0806,代表这是ARP协...
2013-08-22 23:50:00 338
转载 Python实例---发邮件
1、不带附件 1)构造一个smtplib.SMTP对象 2)连接(connect)SMTP服务器,认证(login) 3)发送邮件(sendmail) 4)断开连接(quit) View Code #encoding:utf-8import sysimport os.pathimport smtplibimport email...
2013-05-06 19:39:00 170
转载 linux学习笔记(一)---正则表达式
正则表达式就是处理字符串的方法,并且是以行为单位进行字符串处理的。通常在linux中,进行文字的"搜索/替换"工作。正则表达式只是一种处理字符串的标准表示方法,在linux中支持这种方法的工具有vi,sed,awk,grep等。 正则表达式的特殊字符: Regular Expression字符 范例 含义 ^(匹配行首) ...
2012-10-11 22:55:00 122
转载 memcpy/memmove实现
对于memcpy(void *dest, const void *src, size_t count),其实现机制是将src强制转换为char *类型,然后拷贝src中的count个字节拷贝至dest中,跟strcpy不同的是,memcpy函数在末尾是不会加'\0'的。 memmove(void *dest, const void *src, size_t count)...
2012-10-08 21:17:00 115
转载 N!末尾有多少个0
问题分析:对于N!,想要知道其末尾有多少个0,则可以分解为问题能被多少个10整除,继续分解,被10整除,则必能同时被2和5整除。则对N!进行质因数分解,N!=(2^x)*(3^y)*(5^z)*...,可得N!=2^p*5^q+r,1<p<x,1<q<z,因为每一对2*5可以得到10,即1个0,则一共有多少对2*5要看min(x,z)的大小,则令A=min(x,z...
2012-09-06 10:44:00 158
转载 Buider模式
在软件设计中,有时候需要创建一个非常复杂的类对象,一次性的完成这个任务是非常艰巨的。但是,这个复杂的类对象通常可以分为几个较小的部分,这样,就可以分别创建这几个子对象然后组合为这个复杂类对象,这个过程相对来说比较稳定。但是,子对象的创建过程各不相同且可能产生变化。因此,根据OCP(Open-ClosedPrinciple)原则,也需要对子对象的创建过程进行封装。 思路:定...
2012-08-30 17:46:00 64
转载 工厂模式
引用维基百科的释义:工厂方法模式是一种实现了”工厂”概念的面向对象设计模式。就像其他创建型模式一样,它也是处理在不指定对象具体类型的情况下创建对象的问题。工厂方法模式的实质是“定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类。工厂方法让类的实例化推迟到子类中进行。 我得理解是:所谓的工厂模式,即是一种产品(concrete(具体)类)由一种专门的工厂生产,即新...
2012-08-29 20:10:00 64
转载 单例模式
最初接触到设计模式这个玩意儿是因为一次笔试,问题是设计一个只能实例化一个对象的类,然后郁结了很久,最后写出来的代码一团糟,完全达不到效果。然后回来google一下,才发现我有多孤陋寡闻。好了,闲话不说,进入正题。 根据维基百科的释义,单例模式,也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。 实现的思路即是,将类的构造函数声...
2012-08-29 19:32:00 69
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人