- 博客(92)
- 资源 (1)
- 收藏
- 关注
windows下安装c扩展的python模块
在windows下安装c语言写的python模块时,例如: pip install lz4 有时会报错 “Unable to find vcvarsall.bat", 这是由于安装c写的模块时,有个编译的过程,默认会查找vs2008的编译器,如果找不到就会报错,如果系统上安装有vs2008就不会报错。这时如果电脑上安装有vs2010 或者 ...
2014-03-13 19:46:36
257
c++ vector list map在遍历中删除元素
c++ STL 中的vector, list, map这些数据结构,经常需要在遍历时删除其中的元素,但是又不能直接删除,会出错。 在你调用erase方法删除元素时,erase方法会返回下一个元素的迭代器,利用这一点,可以写这样的代码: for(vector<int>::iterator it=d.begin();it!=d.end(); ){ ...
2013-05-07 14:47:02
648
装饰器模式Decorator(c++)
相应的代码:#include <iostream>#include <vector>#include <string>using namespace std;// base classclass Beverage{public: virtual string getDescription() = 0; v...
2013-04-27 14:59:46
211
原创 c++ 构造函数和析构函数调用顺序
#include <iostream>#include <vector>using namespace std;class Organisms{public: Organisms() { cout<<"Organisms constructor"<<endl; } ~Organisms() ...
2013-04-25 16:54:41
211
原创 epoll高效的原因
epoll高效的原因: 使用内核中断实现,中断后调用处理函数处理,是异步的。 http://blog.chinaunix.net/uid-17299695-id-3059110.html
2013-03-18 11:10:18
198
交换两个数字的值(不用临时变量)
c语言, 有两个int型的数字,怎么样不用临时变量交换两个数字的值? 用如下方法即可: int a = 10;int b = 20;a = a^b;b = a^b;a = a^b;printf("%d %d\n", a, b); result: 20 10 这是为什么呢? 首先得理解“异或操作”, 异或是一种位操作...
2013-03-10 19:52:24
128
原创 shell脚本 查看还有多少天过生日
read -p "Input your birthday(mm-dd):" birthbirth=`date +%Y`-$birthdate_birth=`date --date $birth +%s` #得到生日的秒值date_now=`date +%s` #得到当前时间的秒值internal=$(($date_birth-$date_now)) ...
2012-12-14 16:19:47
2838
原创 python 网络随即绑定一个可用的tcp端口
端口写成0就可以,python会查找一个可用的tcp口绑定。 def get_open_port(): import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind(("",0)) s.listen(1) ...
2012-11-29 17:32:39
1241
python 得到当前进程的信息(cpu 内存占用等)
可以用这个函数: import commands, os, redef process_info(): pid = os.getpid() res = commands.getstatusoutput('ps aux|grep '+str(pid))[1].split('\n')[0] p = re.compile(r'\s+') ...
2012-10-19 15:34:02
1866
原创 python 获得shell命令的返回值
如果只是简单地执行shell命令,可以这样: import osos.system('ls') 得到shell的输出(不管标准输出或是错误输出) import commandsresult= commands.getstatusoutput(shellcommand)output= result[1] 但是无法输入信息到shell...
2012-10-19 14:42:53
683
python获取网卡的IP地址
用这个函数可以实现功能:import socketimport fcntlimport structdef get_ip_address(ifname): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) return socket.inet_ntoa(fcntl.ioctl( ...
2012-10-12 18:17:26
261
原创 UNIX domain socket传递文件描述符
c版本(UNIX高级编程中的例子): // sendmsg.h#ifndef SENDMSG_H#define SENDMSG_H#include <sys/types.h>int send_fd(int fd, int fd_to_send);int recv_fd(int fd, ssize_t (*userfunc)(int, const vo...
2012-06-19 18:41:40
616
原创 关于Apache与Nginx的优势比较
转载自:http://www.php100.com/html/itnews/PHPxinwen/2012/0103/9606.html不断有人跟我说Nginx比Apache好、比Apache快之类。Nginx更主要是作为反向代理,而非Web服务器使用。我翻译过一本关于反向代理的技术书籍,同时精通Apache API开发,对Nginx和Apache的工作原理都略有了解,粗谈一下看法。...
2012-06-18 10:58:40
96
原创 ZeroMQ 的模式
转载自:http://blog.codingnow.com/2011/02/zeromq_message_patterns.html 在需要并行化处理数据的时候,采用消息队列通讯的方式来协作,比采用共享状态的方式要好的多。Erlang ,Go 都使用这一手段来让并行任务之间协同工作。最近读完了 ZeroMQ 的 Guide。写的很不错。前几年一直有做类似的工作,但是自己总结的不...
2012-04-26 17:20:07
160
原创 ZeroMQ:云计算时代最好的通讯库
转载自:http://hi.baidu.com/ah__fu/blog/item/fd73593ebb3dd6e8828b13a3.html 还在学socket编程吗?还在研究为什么epoll比select更好吗?噢,不必了!在复杂的云计算环境中,我们面临的难题远比这个复杂得多。庞大的服务器集群作为计算云,对来来看或许只是一个简单的搜索框;而在云的内部,复杂的互...
2012-04-26 17:06:20
130
原创 elipse 插件
多国语言插件 Bable地址: http://www.eclipse.org/babel/downloads.php可以直接下载下来解压,或者找到对应版本的地址在eclipse中的 Install New Software ... ...
2012-04-26 16:58:52
125
原创 unix domain socket传递描述符
用unix domain socket在进程间传递描述符。 传递描述符的机制稍后我会用图表示出来。 代码已经存在附件中。
2012-04-25 15:18:39
167
原创 pimpl模式
看这篇文章: http://blog.youkuaiyun.com/nrc_douningbo/article/details/5935218
2012-04-06 11:10:48
118
原创 C++中的虚函数和虚函数表
请看这一篇文章:http://hi.baidu.com/wangwangkunkun/blog/item/01321588f09334dffc1f1001.html (wangwangkunkun的空间)
2012-04-02 18:17:15
121
原创 python httplib模块的http客户端
httplib模块写的http客户端: import httplib conn = httplib.HTTPConnection('10.15.2.104', 80)conn.request('GET', r'http://10.15.2.104/index.html')r = conn.getresponse()while 1: data = r.r...
2012-03-29 10:34:09
156
原创 python中的import(自己乱想)
没有任何根据,自己猜测的,import在main执行之前执行,仅仅是把被import模块中的内容放进import语句处,也就是吧代码“搓”到一起,之后 if __name__ == '__main__' 才开始执行。...
2012-03-05 16:37:43
90
原创 python的pack unpack函数
c语言在网络通信中经常会传输结构体数据,通常是二进制格式的,而python要想和c程序通信必须能够认识二进制的数据才行,不仅要认识而且还要能够解开c中的结构体数据,因为结构体通常会涉及到内存对齐的问题。 下面是一个例子,用python中的struct模块可以完成这个功能: python写的服务器:import socket, structs = socket.socke...
2012-03-05 16:28:01
561
原创 python中的argparse(转载)
# -*- coding: utf-8 -*-import argparseargs = "-f hello.txt -n 1 2 3 -x 100 -y b -z a -q hello @args.txt i_am_bar -h".split() # 使用@args.txt要求fromfile_prefix_chars="@"# args.txt文件中应该一行一个参数,想...
2012-03-05 13:29:17
324
原创 python中的单例模式
在网上看了半天python的单例模式,有好几种方法,但是其中一种让我感觉很舒服,是这样的: 用装饰器实现的单例模式: def singleton(cls): instances = {} def getinstance(): if cls not in instances: ...
2012-03-05 11:06:36
86
原创 python常用模块(转载)
项目中用到了python,从网上搜了下大概常用的一些模块,先记录在这里,然后自己用到的也记录在这,以后用到了新的模块然后在更新在此,哎!记性在好不如铅笔。此次项目中用到的模块:SSH的:paramiko, 用来写SSH的。adodb:领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheetahche...
2012-03-02 11:40:47
106
原创 python装饰器decorator
博客:http://blog.donews.com/limodou/archive/2004/12/19/207521.aspx
2012-03-02 10:57:58
91
原创 Python模块tempfile
如何你的应用程序需要一个临时文件来存储数据,但不需要同其他程序共享,那么用TemporaryFile函数创建临时文件是最好的选择。其他的应用程序是无法找到或打开这个文件的,因为它并没有引用文件系统表。用这个函数创建的临时文件,关闭后会自动删除。看这个博客:http://www.cnblogs.com/captain_jack/archive/2011/01/19/1939555.html...
2012-03-01 19:01:55
122
原创 python 字典
python中的字典(dictionary)在perl中叫做哈希(hash),都是key-value的存储结构。在这里介绍了一些小特性。 更新: 声明一个字典:d = {'name':'xiaoming', 'age':'12', 'sex':'f'}我们可以使用另外一个字典去更新它。比如另外一个字典是:new = {'age':'22', 'weight':...
2012-03-01 16:48:08
112
原创 PyQt测试小程序
import sysfrom PyQt4 import QtGuiapp = QtGui.QApplication(sys.argv)label = QtGui.QLabel("Hello Qt!")label.show()sys.exit(app.exec_()) import sysfrom PyQt4 import QtCore, QtGui...
2012-02-14 18:14:36
153
原创 cp和mv命令的一点区别
我们知道cp是复制,mv就是剪切,在windows下的叫法,在linux下二者还有一个区别,就是生成的文件的权限不一定相同。 mv /home/jack/coco.txt /root 试试这句话然后查看一下文件的属主和属组有无改变,结果是没有任何改变! 再试试这一句话: cp /home/jack/coco.txt /root你会发现原来的"coco...
2012-02-14 16:51:00
1989
原创 递归改变文件夹权限
有时候需要修改一下文件夹中所有文件的权限(包括目录和文件),可能递归了很多层,不用管它用: chmod 777 dir -R -R完成了递归的操作。类似的改变文件属主和所属的组可以用以下命令: chown jack dir -Rchgrp jack dir -R ...
2012-02-14 16:41:26
480
原创 类之间的关系
考虑对象聚合( a g g r e g a t i o n )和相识( a c q u a i n t a n c e )的差别以及它们在编译和运行时刻的表示是多么的不同。聚合意味着一个对象拥有另一个对象或对另一个对象负责。一般我们称一个对象包含另一个对象或者是另一个对象的一部分。聚合意味着聚合对象和其所有者具有相同的生命周期。相识意味着一个对象仅仅知道另一个对象。有时相识也被称为“关联”或“引用...
2012-02-13 18:51:03
112
原创 关于午睡
午睡可以使精力得到恢复,下午及晚上的工作学习更有精神.但是要注意: 不要饭后即睡:一般午睡时间安排到午饭后半小时为好,不要饭后即睡 因为刚吃了午饭,胃内充满食物,消化机能正处于运动状态,这时午睡会影响肠胃的消化。 午睡时间不要太长:为使午睡对人体有益而不影响晚上睡眠,以午睡30~60分钟为宜,睡的太长对身体没有好处。 坐着打盹替代午睡不利于消除疲劳。因为人体处于睡眠状态时,全身肌肉...
2012-02-13 10:34:04
113
原创 查看日志文件
有时候调试程序的时候需要监测程序打印出来的日志,这个时候用more cat 等命令就不太合适了。用 tail -f log.txt 可以获得很好的效果。写入一条日志马上就可以看到。...
2012-02-10 15:30:24
110
原创 c++中函数参数返回值用string好还是const char *好
有这样一个函数test需要两个字符串作为参数,那么test的原型定义成test(string, string)呢还是定义成test(const char*, const char*)还是其他呢? 当这样使用时 test("hello", "world"); 如果原型是第一种,就需要首先构建string对象,然后因为是值传递需要内存拷贝。如果是第二种,由于需求是需要两个string型变量...
2012-02-01 07:38:36
764
原创 ubuntu下搭建python开发环境
1.首先我们安装eclipse,你可以直接用apt工具安装: apt-get install eclipse 这样就连eclipse和jdk一起安装装上了。如果手头有eclipse和jdk的安装文件也可以手动安装。手动解压jdk或者jre,把它放到/usr/share下,手动解压eclipse,然后最好将eclipse放到/usr/share目录下,一般的应用软件都放到了这个目...
2012-01-30 17:19:21
113
原创 【转载】linux文件合并,去重
转载自 http://www.2cto.com/os/201108/100617.html (1)两个文件的交集,并集前提条件:每个文件中不得有重复行1. 取出两个文件的并集(重复的行只保留一份) cat file1 file2 | sort | uniq > file3 2. 取出两个文件的交集(只留下同时存在于两个文件中的文件)cat fi...
2012-01-30 17:07:00
81
原创 WSGI
WSGI的一些知识: WSGI官方: http://www.python.org/dev/peps/pep-3333/WSGI初探: http://www.oschina.net/question/12_26400WSGI(不错的技术博客): http://blog.ez2learn.com/2010/01/27/introduction-to-wsgi/...
2012-01-30 10:53:43
98
BusyBox先详解
2010-01-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人