自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 资源 (1)
  • 收藏
  • 关注

原创 RAID

RAID(Redundant Array of Independent Disks),简单来说就是由多个独立的高性能磁盘驱动器组成的磁盘子系统,从而提供比单个磁盘更高的存储性能和数据冗余技术。核心技术数据条带镜像数据校验技术标准RAID等级RAID0RAID0是一种简单的、无数据校验的数据条带化技术。实际上不是一种真正的RAID,因为它并不提供任何形式的冗余策略。低成本,...

2019-01-22 19:44:52 425

转载 XMLRPC简介与java例子

1.xml rpc是什么 1.1. xml rpc简介 xml rpc是使用http协议做为传输协议的rpc机制,使用xml文本的方式传输命令和数据。 一个rpc系统,必然包括2个部分:1.rpc client,用来向rpc server调用方法,并接收方法的返回数据;2.rpc server,用于响应rpc client的请求,执行方法,并回送方法执行结果。 1.2. xml rpc的

2016-05-24 20:56:44 597

原创 Algorithms---排序之桶排序

最快最简单的排序–桶排序简化版桶排序: 1. 创建并初始化M个桶 2. 遍历N个数,分别将这N个数放入M个桶中. 3. 按顺序遍历M个桶,将桶中的数据进行输出.时间复杂度为O(M+N) 缺点:浪费空间,若对小数进行排序则很难实现.

2016-03-25 09:21:51 386

原创 Learning Python(17)--多线程编程之线程的局部变量

上一节介绍了多线程间的共享问题。本节介绍,使用threading模块的ThreadLocal来创建一个全局变量,每个线程可以为这个变量绑定只属于自己的局部属性。import threading# 创建全局ThreadLocal对象:local_school = threading.local()def process_student(): # 获取当前线程关联的student:

2016-03-21 16:56:22 1509

原创 Learning Python(16)--多线程编程(threading,Queue模块)

Threading模块在开始介绍Python的多线程模块之前,首先要明确Python多线程的一个重要的问题。先看看Python2.7的官方文档的描述: CPython implementation detail: In CPython, due to the Global Interpreter Lock, only one thread can execute Python code at o

2016-03-18 21:47:02 1851

原创 Learning Python(15)--第三方psutil模块

psutil是一个可以第三方跨平台Python库,它可以获取正在运行的进程的状态信息,还可以得到系统的利用率(包括CPU,内存,硬盘,网络等).一般用于系统的监控,分析和限制进程资源和进程的管理。psutil主页:https://pypi.python.org/pypi/psutilCPUCPU利用率 psutil.cpu_percent(interval=None, percpu=False

2016-03-11 14:41:26 1424

原创 Learning Python(14)--struct模块

struct模块的官方文档:https://docs.python.org/2.7/library/struct.htmlstruct模块可以使字符串与二进制byte之间进行相互的转换.常用方法有,pack(),pack_into(),unpack(),unpack_from()

2016-03-09 20:02:22 307

原创 Learning Python(13)--文件读写

Python的open()BIF可以打开文件来读文件,也可以用来写文件.文件打开模式使用open()BIF打开磁盘文件时,可以指定使用什么访问模式.默认使用’r’模式来读取代表读文件.要打开一个文件完成写,需要使用模式’w’. Geek Bits:使用’w’模式来打开文件完成写时,如果这个文件已经存在,则会清空它现有的内容,再进行写操作.若要追加到一个文件,需要使用访问模式’a’.要打开一个文件

2016-03-08 20:26:37 411

原创 Learning Python(12)--pexpect模块

Pexpect官方文档 Pexpect能够使Python成为一个更好的控制其他应用程序的工具.Pexpect是一个可以创建子应用程序的纯净Python模块,通过它还可以控制子应用,并且对期望的应用输出做出特定的响应,以此实现与其自动交互.Pexpect 的使用范围很广,可以用来实现与 ssh、ftp 、telnet 等程序的自动交互;可以用来自动复制软件安装包并在不同机器自动安装;还可以用来实

2016-03-08 09:33:14 373

原创 Learning Python(11)--paramiko模块

paramiko模块是对SSHv2协议的Python实现,它既为客户端提供服务,又有服务器相关的功能.总的来说,它是一个强大的第三方网络库. 在我的端到端测量测序中,需要对大量的Planetlab节点进行配置及操作,若对大量的节点通过手动ssh远程登录来逐一配置,则十分的不方便.而使用paramiko这个模块,则可以很方便的对远程服务器进行集中控制.执行远程命令#!/usr/bin/python

2016-03-01 16:02:42 362

原创 Linux(2)---Crtl+z与Crtl+c

Crtl+cCtrl+c 是中断指令,也就是发给程序一个 Interrupt 信号,一般程序默认处理该信号等同于Terminate信号,即会使程序退出。有些程序会截获SIG_INT信号,用自定义的信号处理方法替代默认的退出操作,所以那些在运行时按ctrl+c停不掉的程序就是这么干的。Crtl+zctrl+z 是暂停运行执行,发给程序的是 Stop 信号,当在程序运行时输入ctrl+z,bash会将当

2016-02-29 16:35:15 1559 1

原创 Learning Python(10)--input与raw_input

raw_input与input都是Python2.x的内建函数,通过读取控制台输入实现与用户的交互.但是,在Python3.x中,删除了raw_input函数.Python2.xraw_input:无论用户输入的是什么,raw_input函数都会自动将输入自动转换为str类型.即raw_input可以直接接收用户任何类型的输入.>>>a = raw_input()abc>>>a'abc'>

2016-02-29 11:09:38 311

原创 Learning Python(8)--Python Spider(爬虫)

url管理器URL管理器一般有三种实现方式。set集合,一般小型的爬虫或者不要求永久保存url的程序可以选用set集合来存储url列表。选用set是因为它可以自动去除重复的元素。s = set([1,2,3]),需要提供一个iterable给set。关系型数据库,例如MySQL。可以创建一个表urls(url,is_crawled),它有两个字段,is_crawled代表这个url是待爬取还是已

2016-01-05 22:12:15 411

原创 Python Network Programming(8)---SocketServer模块

Note:python3中SocketServer模块名字变为socketserverSocketServer 模块的官方文档:https://docs.python.org/2/library/socketserver.html总共有4个基本的服务器类: TCPServer,UDPServer,UnixStreamServer与UnixDatagramServer. 这4个类中封装了socke

2015-12-30 19:47:36 472

原创 Python Network Programming(7)---泊松分布与发包

Python的第三方模块Scipy的stats中,包含了多种概率分布的随机变量,随机变量分为离散和连续两种。所有的连续随机变量都是rv_continuous的派生类的对象,而所有的离散随机变量都是rv_discrete的派生类的对象。泊松分布:

2015-12-30 09:18:27 945

原创 Learning Python(7)--Someting Useful

等待一定时间后继续执行其后的程序 简单示例: 先打印11,等待10秒后,打印22import timeprint '11'time.sleep(10)print '22'python 产生随机数,随机字符串import randomimport string#随机整数:print random.randint(1,50)#随机选取0到100间的偶数:print random.r

2015-12-29 10:35:44 303

转载 Python Network Programming(6)---Socket网络编程总结

Python网络编程总结:http://www.jianshu.com/p/e062b3dd110c

2015-12-25 18:32:05 1280

原创 NS3(2)---ns3中的packet类

packet.h文件位置:dce/source/ns-3.24/src/network/model/packet.h or packet.cc类注释:每一个网络数据包都包含a byte buffer, a set of byte tags ,a set of packet tags, and metadata[1].byte buffer:储存已经被序列化(serialized)了的头部和尾部。

2015-12-23 20:06:43 986

原创 Learning Python(6)--Python的命令行解析argparse模块

argparse模块官方文档:https://docs.python.org/2/library/argparse.htmlCreating a parser 创建一个解析对象parser = argparse.ArgumentParser(description='Process some integers.') 一般只需要传入description参数。class argparse.Ar

2015-12-21 20:15:02 336

原创 Python Network Programming(5)---套接字超时时间

套接字超时时间函数为实例函数gettimeout()方法可以获取默认的超时时间,调用settimeout()方法设定一个超时时间。这种操作在开发服务器应用时很有用。 在test_socket_timeout()函数中,首先创建一个套接字对象,然后使用读取或者设定实例方法处理超时时间。__author__ = 'liyuan35023'# ! /home/mimiasd/PycharmProjec

2015-12-21 11:09:23 530

原创 Python Network Programming(4)---主机字节序与网络字节序之间的相互转换

编写低层网络应用时,或许需要处理通过电缆在两台设备之间传送的低层数据,这种操作中,需要把主机操作系统发出的数据转换成网络格式,或者做逆向转换,因为这两种数据的表示方式不一样。字节序相关见unp。Python的socket提供数据在网络字节序与主机字节序之间相互转换的函数:htonl,ntohl;htons,ntohs。__author__ = 'liyuan35023'#!/home/mimias

2015-12-21 11:03:53 1809

原创 Python Network Programming(3)---通过指定的端口和协议找到服务名

如果想找到网络服务,最好知道该服务运行在TCP或UDP协议的哪个端口上。可以调用socket库中的getservbyport()函数来获取服务的名字。调用这个函数时可以根据情况决定是否提供协议名。__author__ = 'liyuan35023'#! /home/mimiasd/PycharmProjects/workspace python27import socketdef find_se

2015-12-19 15:38:12 586

原创 Python Network Programming(2)---地址转换函数

如果使用低层网络函数,有时普通的字符串形式的IP地址(点分十进制)并不是很有用,需要把它们转换成打包后的32位二进制格式。inet_aton()—普通字符串的点分十进制–>32位二进制inet_ntoa()—32位二进制格式–>点分十进制__author__ = 'liyuan35023'# !/home/mimiasd/PycharmProjects/workspace python27imp

2015-12-19 11:28:28 492

转载 Learning Python(5)--Python模块包中__init__.py的作用

http://blog.csdn.net/yxmmxy7913/article/details/4233420

2015-12-18 15:45:25 282

原创 Learning Python(4)--错误处理

在程序运行过程中,总会遇到各种各样的错误。有的错误是程序编写有问题造成的,比如本来应该输出整数结果输出了字符串,这种错误我们通常称之为bug,bug是必须修复的。有的错误是用户输入造成的,比如让用户输入email地址,结果得到一个空字符串,这种错误可以通过检查用户输入来做相应的处理。还有一类错误是完全无法在程序运行过程中预测的,比如写入文件的时候,磁盘满了,写不进去了,或者从网络抓取数据,网络突然断

2015-12-18 15:19:30 310

原创 protocol isis issues(续1.3----buffer_size相关)

协议号转化bug: packet-socket.cc:307 SendTo() -> point-to-point-net-device.cc:508 Send() -> point-to-point-net-device.cc:661 EtherToPpp() 中,IPv4协议号转换不正确改动:packet-socket.cc:341 if (!device-

2015-12-18 10:50:10 370

原创 Python Network Programming(1)---设备名与IPv4地址

版本:python 2.7.6获取设备名的函数为gethostname()获取IP地址的函数为gethostbyname(host)Key point这两个函数在socket模块中。socket模块提供了类方法和实例方法。这两个函数属于类方法。编写独立的print_machine_info()函数__author__ = 'liyuan35023'# !/home/mimiasd/Pychar

2015-12-17 15:59:35 765

原创 Linux(1)---文件搜索命令

文件搜索命令locate命令格式:locate 文件名 在后台数据库中按文件名搜索,搜索速度更快,但功能单一/var/lib/mlocate #locate命令所搜索后台数据库,并不是实时更新updatedb 强制更新数据库 命令搜索命令whereis和whichwhereis命令格式:whereis 命令名 #搜索命令所在路径及帮助文档所在位置 选项: -b: 只查找可

2015-12-11 19:41:28 260

原创 Data Structure(1-8)---单链表结构与顺序存储结构优缺点

存储分配方式顺序存储结构用一段连续的存储单元依次存储线性表的数据元素。单链表采用链式存储单元存放线性表的元素。时间性能查找:顺序存储结构O(1)单链表O(n)插入和删除: 顺序存储结构平均需要移动表长一半的元素,时间为O(n)单链表为O(1)空间性能顺序存储结构需要预分配存储空间,分大了,浪费,分小了易发生上溢单链表不需要分配存储空间,只要有就可以分配,元素个数不受限制。结论:

2015-12-09 19:35:42 671

原创 Data Structure(1-7)---单链表的整表删除

单链表整表删除的算法思路如下:声明一结点p和q;将第一个结点赋值给p;循环:将下一结点赋值给q;释放p;将q复制给p。实现代码:Status ClearList (LinkList *L){ LinkList p,q; p=(*L)->next; /*p指向第一个结点*/ while (p) /*没到表尾*/ {

2015-12-09 19:16:37 394

原创 Data Structure(1-6)---单链表的整表创建

单链表的创建过程就是一个动态生成链表的过程。即从“空表”的初始化状态起,依次建立各元素结点,并逐个插入链表。单链表整表创建的算法思路:声明一指针p和计数器变量i;初始化一空链表L;让L的头结点的指针指向NULL,即建立一个带头结点的单链表;循环:生成一新结点赋值给p;随机生成一数字赋值给p的数据域p->data;将p插入到头结点与前一新结点之间。/*随机产生n个元素的值,建立带头结点

2015-12-09 17:10:41 408

原创 Unix Network Programming(17)---getsockname 和 getpeername函数

这两个函数或者返回与某个套接字关联的本地协议地址(getsockname),或者返回与某个套接字关联的外地协议地址(getpeername)。#include <sys/socket.h>int getsockname(int sockfd,struct sockaddr *localaddr, socklen_t *addrlen);int getpeername(int sockfd,s

2015-12-09 16:08:43 412

原创 Unix Network Programming(16)---close 函数

通常Unix close函数也用来关闭套接字,并终止TCP连接。#include <unistd.h>int close(int sockfd); /*返回:若成功则为0,若出错则为-1*/默认行为:close函数把TCP套接字标记成已关闭,然后立即返回到调用进程,该套接字描述符不能再由调用进程使用,也就是说它不能再作为read或write的第一个参数。然而TCP将尝试发送已排队等待发送到对

2015-12-09 15:28:39 338

原创 Unix Network Programming(15)---并发服务器

Unix中编写并发服务器程序最简单的方法就是fork一个子进程来服务每个客户。pid_t pid;int listenfd, connfd;listenfd=Socket(...); //fill in sockaddr_in{} with server well-known portBind(listenfd,...);Listen(listenfd,LISTENQ);for(;

2015-12-09 10:28:43 560

原创 Unix Network Programming(14)---fork 和 exec 函数

fork 函数是Unix中派生新进程的唯一方法。#include <unistd.h>pid_t fork(void); /*返回:在子进程中为0,在父进程中为子进程ID,若出错则为-1*/fork函数调用一次,返回两次。调用进程(父进程)返回值是新派生进程(子进程)的进程ID号;在子进程中又返回一次,返回值为0.key point:fork在子进程返回0而不是父进程的进程ID的原因在于:任

2015-12-08 16:37:07 456

原创 Unix Network Programming(13)---accept 函数

accept函数由TCP服务器调用,用于从已完成连接队列队头返回下一个已完成连接。如果已完成连接队列为空,那么进程被投入睡眠(假定套接字为默认的阻塞方式)。#include <sys/socket.h>int accept (int sockfd, struct sockaddr *cliaddr, socklen_t *addrlen); /*返回:若成功则为非负描述符,若出错则为1*/

2015-12-08 16:06:00 618

原创 Data Structure(1-5)---单链表的插入与删除

单链表的插入假设存储元素e的结点为s,要实现结点p、p->next和s之间的逻辑关系变化,只需将结点s插入到结点p和p->next之间即可。s->next=p->next;p->next=s;算法思路(单链表第i个数据插入结点):声明一指针p指向链表头结点,初始化j从1开始;当 j < i 时,就遍历链表,让p的指针向后移动,不断指向下一结点,j累加1;若到链表末尾p为空,则说明第i个结点不

2015-12-08 11:15:45 343

转载 Learning Python(3)--正则表达式

正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。在正则表达式中,如果直接给出字符,就是精确匹配。 用\d可以匹配一个数字,\w可以匹配一个字母或数字,所以:00\d可以匹配007,但无法匹配00A;\d\d\d可以匹配010;\w\w\d可以匹配py3;.可以匹配任意字

2015-12-08 10:00:39 1392

原创 Data Structure(1-4)---单链表的读取

对于单链表,实现获取第i个元素的数据的操作GetElem,在算法上,相对要麻烦一些。算法思路(获取第i个数据):声明一个指针p指向链表的第一个结点,初始化j从1开始;当j < i 时,就遍历链表,让p的指针向后移动,不断指向下个结点,j累加1;若到链表末尾p为空,则说明第i个结点不存在;否则查找成功,返回结点p的数据。/*用e返回L中第i个数据元素的值*/Status GetElem(

2015-12-07 18:53:44 290

原创 Unix Network Programming(12)---listen 函数

listen 函数仅由TCP服务器调用,它做两件事情。当socket函数创建一个套接字时,它被假设为一个主动套接字,也就是说,它是一个将调用connect发起连接的客户套接字。listen函数把一个未连接的套接字转换成一个被动套接字,指示内核应接收指向该套接字的连接请求。根据TCP状态转换图,服务器将由CLOSED状态转换到LISTEN状态。本函数第二个参数规定了内核应该为相应的套接字排队的最大连

2015-12-07 15:58:41 377

go学习笔记 下卷

golang学习笔记,第六版的下卷。高清无水印pdf

2019-01-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除