自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

Python学习——struct模块的pack、unpack示例

import structpack、unpack、pack_into、unpack_from# ref: http://blog.csdn.net/JGood/archive/2009/06/22/4290158.aspximport struct#pack - unpackprintprint '===== pack - unpack ====='st...

2010-10-29 13:36:00 103

线程池的原理和连接池的原理

一、 线程池的原理: 线程池,究竟是怎么一回事?其实线程池的原理很简单,类似于操作系统中的缓冲区的概念,它的流程如下:先启动若干数量的线程,并让这些线程都处于睡眠状态,当客户端有一个新请求时,就会唤醒线程池中的某一个睡眠线程,让它来处理客户端的这个请求,当处理完这个请求后,线程又处于睡眠状态。可能你也许会问:为什么要搞得这么麻烦,如果每当客户端有新的请求时,我就创建一个新的线程不就完了?这也...

2010-10-29 11:17:00 63

select,poll,epoll区别

select的本质是采用32个整数的32位,即32*32= 1024来标识,fd值为1-1024。当fd的值超过1024限制时,就必须修改FD_SETSIZE的大小。这个时候就可以标识32*max值范围的fd。对于单进程多线程,每个线程处理多个fd的情况,select是不适合的。1.所有的线程均是从1-32*max进行扫描,每个线程处理的均是一段fd值,这样做有点浪费2.1024上...

2010-10-28 14:20:00 48

异步套接字基础:select函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET

select函数:  系统提供select函数来实现多路复用输入/输出模型。原型:  #include <sys/time.h>  #include <unistd.h>  select函数:  系统提供select函数来实现多路复用输入/输出模型。原型:  #include <sys/time.h>  #include <un...

2010-10-28 13:42:00 84

Python自动单元测试框架

简介:软件的测试是一件非常乏味的事情,在测试别人编写的软件时尤其如此,程序员通常都只对编写代码感兴趣,而不喜欢文档编写和软件测试这类"没有创新"的工作。既然如此,为什么不让程序员在编写软件时自己加入一些用于测试的代码,使测试过程自动化呢?在软件工程中,这一技术称为自动单元测试,本文介绍在用Python开发软件时如何实现这一目标。一、软件测试大型软件系统的开发是一个很复杂的过程,其中因为...

2010-10-27 17:48:00 76

Python自动单元测试实例

Pythonunittest模块的相关用法待测源码类:widget.py#!/usr/bin/env pythonclass Widget: def __init__(self, size = (40, 40)): self._size = size def getSize(self): return self._si...

2010-10-27 17:45:00 74

Python类继承简单实现

代码: #! /usr/bin/python# Filename: inherit.py# Author: yanggangclass SchoolMember: def __init__(self,name,age): self.name = name self.age = age print 'init SchoolMember...

2010-10-27 17:04:00 75

python实现socket通讯(TCP)

Server:# serverimport socketaddress = ('127.0.0.1', 31500)s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # s = socket.socket()s.bind(address)s.listen(5)ss, addr = s.accept()...

2010-10-27 15:49:00 85

python实现socket通讯(UDP)

Server:import socketaddress = ('127.0.0.1', 31500)s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)s.bind(address)while True: data, addr = s.recvfrom(2048) if not data: ...

2010-10-27 15:38:00 90

python网络编程学习初步

一、套接字套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象。它们允许程序接受并进行连接,如发送和接受数据。为了建立通信通道,网络通信的每个端点拥有一个套接字对象极为重要。套接字为BSD UNIX系统核心的一部分,而且他们也被许多其他类似UNIX的操作系统包括Linux所采纳。许多非BSD UNIX系统(如ms-dos...

2010-10-27 14:38:00 68

doxgen comments example

1. 模块定义(单独显示一页)/** @defgroup 模块名 模块的说明文字* @{*/… 定义的内容 …/** @} */ // 模块结尾2. 分组定义(在一页内分组显示)/** @name 分组说明文字* @{*/… 定义的内容 …/** @} */3. 变量、宏定义、类型定义简要说明/** 简要说明文字 */#define FLOAT float/** @brie...

2010-10-27 11:13:00 52

linux网络编程常用函数详解与实例(socket-->bind-->listen-->accept)

常用的网络命令:netstat命令netstat是用来显示网络的连接,路由表和接口统计等网络的信息.netstat有许多的选项我们常用的选项是 -an 用来显示详细的网络状态.至于其它的选项我们可以使用帮助telnettelnet是一个用来远程控制的程序,但是我们完全可以用这个程序来调试我们的服务端程序的. 比如我们的服务器程序在监听8888端口,我们可以用telnet localhost 88...

2010-10-26 15:22:00 68

VC++中四种进程或线程同步互斥的控制方法

现在流行的进程线程同步互斥的控制机制,其实是由最原始最基本的4种方法实现的。由这4种方法组合优化就有了.Net和Java下灵活多变的,编程简便的线程进程控制手段。 这4种方法具体定义如下 在《操作系统教程》ISBN 7-5053-6193-7 一书中可以找到更加详细的解释 1临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。 2互斥量:为协调共同对一个...

2010-10-26 13:30:00 80

关于进程和线程以及句柄

说法一:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源. 一个线程可以创建和撤销另一个线程;同...

2010-10-26 10:34:00 65

Linux网络编程一步一步学-异步通讯聊天程序select

Linux网络编程一步一步学-异步通讯聊天程序selectClient#include <stdio.h>#include <stdlib.h>#include <errno.h>#include <string.h>#include <sys/types.h>#include <netinet/...

2010-10-25 20:26:00 89

Linux 信号signal处理机制

信号是Linux编程中非常重要的部分,本文将详细介绍信号机制的基本概念、Linux对信号机制的大致实现方法、如何使用信号,以及有关信号的几个系统调用。 信号机制是进程之间相互传递消息的一种方法,信号全称为软中断信号,也有人称作软中断。从它的命名可以看出,它的实质和使用很象中断。所以,信号可以说是进程控制的一部分。 一、信号的基本概念 本节先介绍信号的一些基本概念,然后给出一些基本的信号类型和信号对...

2010-10-16 14:53:00 55

SharePoint随笔

关于SharePoint在企业信息化中的作用。1、稍微了解一点Sharepoint的领导 都会认为SharePoint开发很快,总是希望用一些文档库、简单的几个表单或是搜索来解决它们的问题,总是把“这个应用很简单”放在嘴边。但是其实还差得很远。2、感觉SharePoint上的应用很分散,这种极度低耦合的平台在内地很不好推。中国人比较喜欢有实在功能的东西。不像国外,普通用户的使用水平也很...

2010-10-15 13:55:00 69

SharePoint随笔

关于SharePoint在企业信息化中的作用。1、稍微了解一点Sharepoint的领导 都会认为SharePoint开发很快,总是希望用一些文档库、简单的几个表单或是搜索来解决它们的问题,总是把“这个应用很简单”放在嘴边。但是其实还差得很远。2、感觉SharePoint上的应用很分散,这种极度低耦合的平台在内地很不好推。中国人比较喜欢有实在功能的东西。不像国外,普通用户的使用水平也很...

2010-10-15 13:55:00 113

将stdout、stderr导入到指定文件

在编写程序中,经常用到stdout、stderr作为输出,通常stdout用于输出程序运行正常时的信息,stderr用于输出程序出错时的信息。我们可以通过一些命令将stdout、stderr在屏幕上的输出导入到指定的文件。  1、准备工作  带有stdout、stderr输出的test.cpp    /*   ** test.cpp   */  #include <iostream> ...

2010-10-13 11:11:00 92

定制Bash历史命令

一位网友在:http://hi.baidu.com/yk103/blog/item/63738e134bda5dddf6039ece.html中提到了:当前终端中的命令历史是在终端退出时写入文件,多个终端间的命令执行历史不能实时共享。的问题,我也遇到这样的问题,基于他的解决方法上,在.bash_rc中添加:PROMPT_COMMAND="history -a;histo...

2010-10-10 15:18:00 70

vim && here document

习惯了vim编辑,有时在shell脚本中也可以调用vim来批处理编辑文件;那么如何进行插入,模拟输入ESC按键呢?见如下代码:zkl@user-desktop:/tmp$ vi 1.txt <<end!> i> abc> ^[> :wq> end!Vim: 警告: 输入不是来自终端(键盘)zkl@user-desktop:/tmp...

2010-10-04 11:17:00 260

空空如也

空空如也

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

TA关注的人

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