posted @ 2014-11-17 21:46 Beat-Cat 阅读(142) 评论(0) 推荐(0)
摘要:
tree 依然是移植自linux内核,做了小改动,使其可以使用vs编译并在windows上运行。rb_tree 移植自linux内核, windows平台可用avl_tree 上学时的练习代码函数rb_set_parent 设置父节点的地址rb_set_color 设置节点颜色rb_init_nod... 阅读全文
摘要:
memory pool移植自nginx, windows平台可用本人共研究过两个开源内存池的实现,一是nginx内存管理,二是python中内存的管理。由于python中涉及到对象的管理以及缓存,比较复杂,不适合移植到自己的软件中使用,nginx正好相反,短小精悍,适合添加一些特定的需求进行二次开发... 阅读全文
posted @ 2014-11-17 22:00 Beat-Cat 阅读(227) 评论(0) 推荐(0)
摘要:
linux内核中有很多经典的数据结构, 比如list, hlist, rbtree等等,这些数据结构都是由c语言编写的,与平台无关,完全可以从内核中拿出来放到自己的代码中。list=======移植自linux内核, windows平台可用由于windows没有typeof, 故WIN32下:#de... 阅读全文
posted @ 2014-10-29 16:30 Beat-Cat 阅读(1093) 评论(0) 推荐(0)
摘要:
最近一个环境是centos5.x版本,python是2.4的,想装2.7. 使用yum安装的,默认还是2.4,那么就只能使用源码编译来安装了,那么安装好后如何切换版本是个问题,可以写一个脚本通过更换连接的方式来实现,但觉得不那么方便,也容易出错。这时想到pythonbrew,但是pythonbrew是自动安装python的,如果我想让pythonbrew管理我自己编译的python那该如何做呢? 通过测试,发现只要在编译时,指定安装目录到 pythonbrew根目录下pythons目录即可,即: ./configure --prefix = /usr/local/pythonbrew/pyt. 阅读全文
posted @ 2014-04-11 17:05 Beat-Cat 阅读(296) 评论(0) 推荐(0)
摘要:
对于如何安装swift,这里不多做介绍,建议看一下SAIO的脚本,里面对于安装过程写的很清晰,完全可以拿来修改下,就变成多机器多节点了。不过SAIO的默认配置和官方最新文档的配置proxy-server.conf有点小差别,需要改成官方文档的配置,比如SAIO还会引用keystone的auth_token模块,起始这个模块已经从keystone移除了,现在这个功能可以在keystoneclient中找到. 本文默认你已经安装好swift和keystone,并且swift在tempauth模式下可以正常使用,很多文章都只介绍了swift的配置,而忽略了keystone的配置,本文首先介绍下... 阅读全文
posted @ 2014-04-08 17:53 Beat-Cat 阅读(1233) 评论(0) 推荐(0)
摘要:
官方Pypi竟然不能使用,不是python官网有问题,而是被x了,所以有时需要使用国内的镜像站点:pip install -i http://pypi.douban.com/simple/ xxxxxx 代表你要安装的库。http://pypi.douban.com/simple/ :豆瓣的源也可以修改配置文件达到此目的:linux: ~/.pip/pip.conf。 windows:%HOMEPATH%\pip\pip.ini。 新加内容为(如果没有配置文件就自己建立一个):[global] index-url = http://pypi.douban.com/simple 阅读全文
posted @ 2014-03-26 10:42 Beat-Cat 阅读(385) 评论(0) 推荐(0)
摘要:
在阅读openstack源码时,发现其各个组件基本都是使用paste模块和routes模块来构建server以及处理路由信息的,为了熟悉这些模块决定使用这些模块写一个简单的server,此server的构架和glance组件的设计保持一致。 首先使用paste创建一个app,然后wsgiref.simple_server启动他,至于app的功能通过配置文件来决定1 config = "python_paste.ini"2 appname = "common"3 wsgi_app = loadapp("config:%s" % os.p 阅读全文
posted @ 2014-03-19 17:43 Beat-Cat 阅读(10423) 评论(0) 推荐(0)
摘要:
最近在学习openstack时,发现其大部分组件都使用了类似的框架结构,基本上是由一些开源模块搭建起来的,为了能更好地学习openstack,需要对这些开源模块进行深入学习,下面就先由logging开始吧。 logging,顾名思义,是用来做日志处理的模块,其功能非常强大,不仅能将日志写入文件,还能将日志以http/tcp/udp协议的对外发送。 1 LOG_FILE = 'tst.log' 2 3 handler = logging.handlers.RotatingFileHandler(LOG_FILE, maxBytes=1024 * 1024, backupCount 阅读全文
posted @ 2014-03-19 16:01 Beat-Cat 阅读(744) 评论(0) 推荐(0)
浙公网安备 33010602011771号