- 博客(43)
- 资源 (2)
- 收藏
- 关注
原创 redis老版本中的expire问题及新版本的安装测试
今天发现redis数据库中一个值总是1,但是程序中确实对这个值incr了N多次每次incr了之后,都设置了一个expire时间,试着将expire这句注释掉之后,这个值就一直在增长难道是expire不对吗?查找了redis的官方文档,没错啊,于是自己测试了一下debian:~$ redis-cliredis> incr dd(integer) 1redis> incr
2011-12-11 16:03:16
1861
原创 我的项目
TabinalDescription: tabbed terminal.Tag: python puremvc libvte gtk+ pygtkJiliuDescription: http load balanceTag: java consistent-hash httpclient java-aio load-balance proxy-serverO
2011-11-12 14:15:45
570
原创 自己写的PHP的Logger
工作中需要用到php写日志,log4php需要复杂的配置文件,不想去弄。虽然跟log4j的配置差不多,但也没必要去维护一个日志配置文件。就自己写了一个单文件的logger类,只需要include进来使用即可。不多说,贴代码<?php/* * PHP Logger Class * Created: 2011-10-26 * Author: xingfei(http://blo
2011-10-26 14:18:35
6039
原创 linux格式化磁盘出错
在linux上格式化一个磁盘分区时,出现如下错误root@debian:~# mkfs.ext4 /dev/sdb1mke2fs 1.41.12 (17-May-2010)mkfs.ext4: inode_size (128) * inodes_count (0) too
2011-10-18 17:24:55
36220
原创 linux系统一次添加用户名和密码
首先 htpasswd -n username输入密码后,会生成一个字符串,例如# htpasswd -n adminNew password: Re-type new password: admin:GVLzmOPtFrZko然后,使用命令user
2011-10-11 13:02:11
2081
原创 debian6添加了insserv用来代替update-rc.d
<br />debian6里边要添加一个自动启动的服务<br />先将启动脚本放在/etc/init.d,然后使用insserv来启用这个服务<br />例如服务名称为 myserver,则脚本为/etc/init.d/myserver<br /> <br />然后使用 insserv myserver可以将myserver设为自动启动<br />insserv myserver #添加服务insserv -r myserver #删除服务insserv -d myserver #使用默认的runl
2011-05-13 11:12:00
7196
原创 HTTP负载均衡软件(激流)的进展 4
<br />项目源文件已经上传到sourceforge了,我把项目状态设定为了preAlpha<br />也就是说功能方面初步具备,但是还有很多工作要做。<br /> <br />1.创建ant的build文件,使用ant自动编译,打包,测试,生成文档和生成可分发的二进制包<br />2.添加log4j支持,输出日志,包括access日志和error日志。日志格式要能和apache日志兼容<br />3.源文件目录暂定有2个,src/core和src/protocols。<br /> core是核心部分代
2011-04-21 10:50:00
1020
1
原创 HTTP负载均衡软件(激流)的进展 3
<br />激流(jiliu)在sourceforge的项目开通了。项目地址jiliu.sf.net。项目文件还没传上去,等我把文件夹安排好,一并上传。<br /> <br />想要加入jiliu项目的,可以在sourceforge上申请哦。<br /> <br />我晚上回去处理申请。
2011-04-20 13:11:00
658
原创 HTTP负载均衡软件(激流)的进展 2
<br />用apache的HttpClient做了http的代理<br />获取到响应后,将HttpClient的HttpResponse转换成netty的HttpResponse, <br />将这个response写到channel,然后在pipeline里添加HttpResponseDecoder即可<br /> <br />HttpClient和Netty的http codec中有很多重名的类,写起来比较麻烦,所以在转换时<br />用的都是类的全名。<br /> <br />然后简单测试了一下。
2011-04-19 17:48:00
1456
1
原创 HTTP负载均衡软件(激流)的进展
<br /> <br />这个周末,做了一些工作了。<br />已经初步完成<br />1.配置文件读取<br />2.FNV Hash<br />3.负载均衡算法uri, url_param(name), header(name), roundrobin, source<br />4.基于一致性Hash计算后端服务器节点<br /> <br />接下来要做的是<br />1.将前端请求转发到后端服务器节点<br />2.添加必要的头部信息,如X-Forwarded-For, X-Powered-By等等<
2011-04-18 14:13:00
1298
2
原创 正在准备写一个Java实现的HTTP的负载均衡软件
<br />类似软件Haproxy,官方主页http://haproxy.1wt.eu/<br /> <br />Haproxy非常的优秀,在许多大型网站都有应用。这里不多做介绍。我准备用Java来重写一个Haproxy的初衷是,解决Haproxy不能用在多核模式的一个小小的弊端。其实Haproxy可以使用nbproc指令来启动多个进程进行处理,这样就可以使用多个cpu内核但是这毕竟是多个进程的模式,其中必然有一些进程间通信(IPC)的开销。<br /> <br />我的目的并不是要超越haproxy,我也
2011-04-15 12:20:00
2097
2
原创 python的fnv哈希扩展
<br />自己写一个python的fnv哈希的扩展,文件名fnv_module.c<br />#include <Python.h>#include <sys/types.h>/* typedef unsigned long fnv_t; */typedef u_int32_t fnv_t;static fnv_t FNVHash(char* data, size_t n){ unsigned char *s = (unsigned char*)data; fnv_
2011-04-13 13:56:00
2595
原创 REMOTE HOST IDENTIFICATION HAS CHANGED 问题解决
<br />WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!<br /> <br />使用命令将host对应的key删掉即可<br />ssh-keygen -R host<br /> <br />例如<br />ssh-keygen -R 192.168.1.3
2011-04-11 13:04:00
528
原创 LFS系列 一 准备工作
<br />在写这篇文章时,LFS的最新版本是6.8,笔者实际使用的是6.7<br />因为6.8的packages,在LFS提供的下载网站上还没有,最新的package为6.7的<br /><br /><br />要创建LFS,需要有一个宿主的Linux,在这个Linux上创建新的LFS<br />笔者使用的是Debian Lenny的最小化安装,后又添加了几个必须的包<br /><br /><br />以下过程中,我们的LFS将会在一个空的磁盘分区上进行操作<br />这个磁盘分区不要太小,我使用了20
2011-03-25 11:44:00
906
原创 python-rrdtool创建rrd文件的TypeError: argument 0 must be string 错误
在使用python-rrdtool进行rrd的创建时产生TypeError: argument 0 must be string的错误始终搞不明白是为什么,每个参数都已经检查了是字符串但是总是出这个错误后来在rrdtool的forum上偶尔看到,参数不可以是unicode才想起来,我的参数确实是unicode的解决方法很简单,使用参数时,encode一下即可。注:python中>>> type(u'server')>>> type('server')>>> u'server' == 'server'True
2011-03-25 11:16:00
2609
原创 md5sum 批量检查文件
<br />1. md5sum *.txt > md5.sum<br />2. md5sum -c md5.sum<br /> <br />md5.sum是一个文本文件,每行表示一个文件的md5和文件名<br />第2个命令检查每个文件的md5是否与文件中的md5相同<br />相同则输出OK,不同则输出FAILED
2011-03-03 17:08:00
5887
原创 淘宝api的自己的封装
最近想要做一个基于淘宝API的东西,看了下SDK,发现淘宝自己提供的SDK真是啰嗦,非常简单的东西让它动的超级复杂,还带了个很大的第三方库,非常之不方便(论坛上也有对其颇有微词的啊^_^),于是乎自己也简单的写了个。
2011-01-06 14:33:00
4938
转载 jquery 简单语法概览
<br />转自 http://www.javaeye.com/topic/857093 <br />jQuery <br /> 1.特点: <br /> 小巧 <br /> 功能强 <br /> 跨浏览器 <br /> 插件 <br /><br /> 2.使用 <br /> 实际是js文件 <br /> a) 复制js到WebRoot <br /> b) 页面<script src="jquery.js" charset=""></script> <br />
2011-01-05 10:32:00
806
原创 ubuntu获取sudo权限
ubuntu在安装时,创建了一个默认用户,这个用户拥有sudo的权限,可以获取root shell但是后来再添加的用户,是不可以sudo的,提示xxx is not in the sudoers file. This incident will be reported. 这是因为在/etc/sudoers文件中,可以看到%sudo ALL=(ALL) ALL%admin ALL=(ALL) ALL 也就是说在sudo组和admin组的用户是可以拥有sudo的权限的,因此,给刚添加的用户增加sudo或ad
2010-12-16 11:28:00
5419
原创 显示桌面.scf
<br /><br />[Shell]<br />Command=2<br />IconFile=explorer.exe,3<br />[Taskbar]<br />Command=ToggleDesktop
2010-12-14 12:59:00
645
原创 Linux使用小tips
1 转换自己使用的SHELL 2.修改系统时区设定3.shell script中的多行注释4.vsftpd /usr/sbin/nologin
2010-12-08 15:53:00
631
原创 请抵制那个“栽倒”名师课堂
<br />现在利用博客评论做广告的太恶心了,就像以前有个“袋鼠蛋”疼的那个<br />看别人的评论挺好的,突然出现一个广告的,就像吃了一个苍蝇一样的
2010-11-30 11:54:00
4882
原创 不需中间变量的swap
<br />import sysx = int(sys.argv[1])y = int(sys.argv[2])def swap1(a, b) : a = a + b b = a - b a = a - b print 'swap1', a, bdef swap2(a, b) : a = a - b b = a + b a = b - a print 'swap2', a, bdef swap3(a, b)
2010-07-21 14:09:00
1410
原创 org.json.JSONObject的optXXX方法
<br />JSONObject有很多optXXX方法,比如optBoolean, optString, optInt...<br />他们的意思是,如果这个jsonObject有这个属性,则返回这个属性,否则返回一个默认值<br /> <br />例如<br />JSONObject json = new JSONObject(content);int x = json.optInt("length", 0); <br />表示如果json有length属性,则返回length的整数值,否则返回0
2010-07-14 18:13:00
40698
1
原创 Python 计算不重复元素的个数
<br />情景:计算日志文件中,独立IP的个数,也就是unique visitor。<br />计算量:每小时大概有70万左右的记录,每天24小时,大概1400-1500万条记录<br /> <br />一开始,想到用一个list来保存客户端IP,从日志里边取出一个IP,<br />判断是否已经存在,如果存在,就忽略,否则添加到这个list中去<br />addrs = []<br /> <br />for line in f.readlines() :<br /> addr = get_addr(
2010-06-10 11:22:00
21632
原创 CodeIgniter系列 记录count和分页
<br />对于某个表的不带条件的count,可以简单的用<br />$total = $this->db->count_all($table_name)<br />来获取,但是如果有条件,则要用count_all_results<br />$this->db->where('sex', 'M');<br />$this->db->from('user');<br />$total = $this->db->count_all_results();<br /> <br />CI的pagination库可以帮
2010-06-02 11:22:00
12221
原创 CodeIgniter系列 添加filter和helper
filter:使用CI的hooks来实现filter.1.在system/application/config/config.php中,把enable_hooks的值改为TRUE $config[enable_hooks] = TRUE;2.在syste/application/config/hooks.php中,添加hooks,如下 $hook[post_contr
2010-05-13 10:21:00
2418
转载 apache 防盗连
来源于网络 在httpd.conf中添加SetEnvIfNoCase Referer "^http://mydomain.com" local_ref=1SetEnvIfNoCase Referer "^$" local_ref=1 Order Allow,Deny Allow from env=local_ref 对于referer为http:
2010-05-06 13:50:00
484
原创 linux之间一些差别
redhat系列(rhel,centos,fc) yum install package-namedebian系列(debian,ubuntu) apt-get install package-name 对于开发包redhat: yum install python-develdebian: apt-get install python-dev 添加用户red
2010-04-19 14:10:00
740
原创 python logging 的一个简单的包装
import logging, osimport logging.handlersimport datetimeloggers = []def getlogroot(name) : logroot = os.path.basename(name) if logroot.endswith(.py) : logroot = logroo
2010-04-02 17:16:00
1704
原创 python ssh工具paramiko的一点修改
经常使用paramiko工具对几百台设备进行管理。主要是每天到上边取文件过来,作为备份。今天发现程序运行了10个小时还没有结束,就上去看一个究竟。查看日志,发现在取一台服务器上的文件时卡在那里了。自己手动ssh登录上去,执行了一个ls命令就卡住了,原来是这个服务器的硬盘出问题了。怪不得取不到文件。 但是想想,程序应该是在一段时间内读取不到数据就超时退出的阿,怎么会卡在那里呢
2010-04-02 16:40:00
15117
转载 新型的大型bbs架构(squid+nginx)
转自 http://www.sudone.com/archie/archi_bbs.html新型的大型bbs架构(squid+nginx)[2009-08-24 21:33:31]这个架构基于squid、nginx和lvs等技术,从架构上对bbs进行全面优化和保护,有如下特点:1、高性能:所有的点击基本上全部由前端缓存负责,提供最快速的处理。2、
2010-03-01 15:38:00
832
原创 Linux从源码安装subversion遇到问题及解决
Linux源码安装Subversion先从subversion的官方网站下载源码,subversion.apache.org解压开到subversion-xxx 然后configure然后一般就是找不到某某库的错误,以下说明1.找不到sqlite3 从sqlite网站上下载sqlite3的源码,然后把sqlite3.c拷贝到 subversion-xxx/sqlite-ama
2010-03-01 13:05:00
736
原创 Python发送邮件的类
综合网上查到的内容,写的Python发送邮件的类。 具体用法可以参看if __name__ == __main__之后的代码 !/usr/bin/env python# coding:utf-8import emailimport smtplibclass Mailer: def __init__(self, smtp_host, smtp_use
2009-12-23 15:45:00
2433
原创 linux下/proc/stat字段含义
user systemnice idle iowait irq softirqcpu 17906755 86377 53312329 1322524322 29311124 101704 1096939cpu0 4665564 22883 13417357330376020 7206071 99986
2009-03-18 11:59:00
3707
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人