`
luozhaoyu
  • 浏览: 343515 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
本文源于一时好奇,想要弄清出python的staticmethod()这一builtin方法的实现,查了一些资料(主要是python官方手册了)汇集于此 python在类中,有三种调用method的方法:普通method,staticmethod和classmethod 前两个应该都好理解,classmethod就是在调用这个函数的时候,会把调用对象的class object对象隐式地传进去。咦?这个class object不是一个类型?No,在python里面,class object不像静态语言一样是个类型,它在虚拟机中,就是一个对象 普通method调用需要把自己self作为参数传递,初 ...
当解压osqa并使用 python manage.py syncdb python manage.py runserver之后,osqa网站仍然不能访问,并报出1146, "Table 'osqa.forum_badge' doesn't exist"错误。则可能是系统存在不同版本python 解决方法是删除不需要的python版本,或者设置系统环境变量,把/usr/local掉到前面。 然后再执行 python manage.py syncdb --all --verbose命令同步数据库即可解决问题。
osqa是一个开源问答的软件,现在的版本是v0.9.0 安装的过程中发现不能使用django1.4,django1.4与其有很多地方冲突。故需要在sites-package文件夹中删除django1.4安装django1.3.1 但是使用django1.3.1之后,出现了ImportError: cannot import name mark_safe错误。 解决办法是修改forum/utils/html.py from django.utils.safestring import mark_safe 再修改forum/urls.py文件 url(r'^%s(.*)' % _('nimda/' ...
装了一下memcached分布式缓存,需要注意的地方不多,本文记录一下。主要参照平凡的世界写的博文 首先是命名的东西: memcache——apt-get中不存在这个包,如果指php5-memcache,则是包含了memcache.so的包 memcached——指服务端的daemon。如果指php5-memcached,则此包包含了memcached.so memcachedb——一个分布式的键值持久化存储系统 libmemcached——memcached的客户端库,包含了libmemcached.so 如果我们要搭建服务端,则服务端必须安装 apt-get install memcach ...
cassandra是facebook开源的著名nosql数据库。因为它和google的big talbe及amazon的dynamo有着千丝万缕的联系,一时好奇,搭建了下简单的双机环境。 cassandra是由java写的,所以需要安装openjdk 如果客户端程序使用cassandra,可以用facebook的thrift这个高性能二进制中间件。 假设有两个客户端: 10.1.1.11/24和10.1.1/12/24 解压之后,创建文件夹,并使之可以被当前用户访问(chown -R) mkdir -p /var/log/cassandra mkdir -p /var/lib/cassa ...
好久没写文章了,今天装了一下puppet,是用来管理服务器脚本的软件。 puppet的基本结构和nagios一样,属于C/S形式。 以下称中心服务器为master,被配置的客户端为client。本文使用debian发行版,redhat系也类似。 一、安装必备软件 puppet的必备包要求有ruby,puppet的语言是类ruby的。另外最好安装ntp,统一所有机器的时间 master需要安装 apt-get install puppet puppetmaster client需要安装 apt-get install puppet 二、配置证书 puppet之间的通讯需要设置ssl的证书 ...
修改记录: 3-29 初稿 介绍完类型与变量之后,就可以开始看程序的主轴了。我们从使用event-test.c入手可以看到的是:(略去之前创建命名管道和socket) /* Initalize the event library */ event_init(); /* Initalize one event */ event_set(&ev ...
修改记录: 3-28 初稿 3-39 补充了全局变量说明,补充了0.2的内容 libevent是一个高性能的异步处理函数库。使用libevent库的著名软件有chromium、memcached、Tor等等。 网上libevent的中文文档不是很少,其中张亮写的libevent源码分析写得不 ...
个人觉得github蛮好用,但是帮助系统还是不够人性化,东一句西一句,让新手看着头晕。所以稍稍整理下主要的步骤。 首先是在github上创建一个账户:luozhaoyu 然后我个人的主页就是github.com/luozhaoyu了。 然后在github上创建一个test ...
起这个名字的时候心里还是有些小纠结的。最近两周尽在研究lvs+keepalived实现负载均衡更可用的。无奈环境所限,不能找到实际的四台机器,只能在自己的小破本上,琢磨着虚拟出2+2的高可用环境。又因为小本只有2G内存,感觉不 ...
又是一篇“最简”配置……这是因为之前想直接装好2+2模式的lvs+keepalived,并且顺带弄好VIP,结果果断悲剧了,iptables和keepalived配置被我弄得一团糟。今天静下心来,重新先弄1+1的模式好了。 环境说明: 1台director: eth0:10.1.1.11/24 eth1:10.20.40.2/24 1台real server: eth0:10.20.40.10/24 网关设置为10.20.40.2 注意,没有virtual IP在此 修改director的内核参数,使其得以转发、重定向等 echo "1" >/proc/sys/ ...
下午练的linux套接字出了一些毛病,各种错误,先贴出正确代码: struct sockaddr_in linuxaddr; linuxaddr.sin_addr.s_addr = htonl(INADDR_ANY); linuxaddr.sin_family = AF_INET; linuxaddr.sin_port = htons(12345); if (bind(fd, (struct sockaddr*)&linuxaddr, sizeof(linuxaddr)) < 0) {} 首先是确定fd是一个套接字描述符,请先赋值后再比较是否<0,仔细比对括 ...
最简单的Makefile样例。 需要被做成动态链接库的源文件与头文件是getaddrinfo.c和getaddrinfo.so 把它们做成.so之后,与主文件test_getaddressinfo.c一起生成可执行文件main my: .my-pre @echo "HELLO! my is starting\n" .my-pre: getaddrinfo.so gcc -o main -L ./ test_getaddressinfo.c getaddrinfo.so @echo STATUS: .my-pre finished getaddrinfo.so ...
贫僧最近玩上了xen虚拟机,之前用xen搭建了桥接网络。因为我这个虚拟机本是通过virtual box虚拟出来的,所以感觉总有些不对劲。昨天和今天使劲折腾了两天,大概明白了怎样搭建xen的NAT多IP网段的网络……(有些绕,请见谅) ...
在RedHat6下以mysql搭建freeradius稍稍有些麻烦。在Debian上直接apt-get就行了,在redhat下缺少radius-mysql包。 下载编译freeradius需要mysql以及mysql-devel包 ./configure --prefix=/ make make install 配置基础配置文/usr/local/etc/raddb/radiusd.conf log { destination = files file = ${logdir}/radius.log syslog_facility = ...
Global site tag (gtag.js) - Google Analytics