自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

smallfish | http://chenxiaoyu.org/blog

如果不能改变结果 那就完善过程

  • 博客(48)
  • 收藏
  • 关注

原创 apache mod_perl 防盗链

大体思路是这样的,比如有一个地址:http://www.aa.com/down/1.mp3,不幸搜索引擎或者迅雷扒到了,就无偿为他们奉献流量了。但是假如在http://www.aa.com/down/1.mp3?key=123,key参数每天变化或者几分钟变化一次,在apache服务端校验下这个参数,不正确则显示拒绝访问或者找不到的话,那样防盗链的效果就算达到了把。modp

2009-09-08 10:55:00 1159 1

原创 使用 perl 快速解析 apache log

功能简述统计出日志里一个或多个页面总共访问的次数,比如aa.jsp, bb.jsp这样页面分别多少次。实现简述Apache单个日志文件800M。最初程序使用Python编写,按行来统计,分别使用in(最慢)和index方法去查找,然后使用了正则匹配,程序运行时间从最初的1分50多秒优化到1分10秒左右,参考了qyb博客中提到的gc.disable()

2009-09-08 10:41:00 1000

原创 [图文解说] Virtual Box 通过 NAT(默认) 共享虚拟机中的服务

Virtual Box 是个不错的虚拟机,小巧,功能也齐全。好像有点推销鸟。说正题,上次有个朋友就提到怎么能主机里访问虚拟机里的服务,昨晚实验了下,颇为顺利。记录下。这里利用的是默认的NAT上网,也就是共享主机上网,而不是设置独立的IP。主机:Win XP虚拟:Ubuntu 9.10目的:Win里ssh进Ubuntu,能访问里面提供的服务。主要是通过 VBoxManage

2010-05-15 16:53:00 1160

翻译 [译] MongoDB 入门教程

原文:http://chenxiaoyu.org/blog/archives/242 启动数据库下载 MongoDB, 解压后并启动:$ bin/mongodMongoDB 默认存储数据目录为 /data/db/ (或者 c:/data/db), 当然你也可以修改成不同目录, 只需要指定 –dbpath 参数:$ bin/mongod --dbpath /path/

2010-04-27 23:39:00 1194

原创 Python ConfigParser 与 ConfigObj INI 配置读写顺序

默认的ConfigParser对于选项是按照字母顺序排列的。如下代码:>>> from ConfigParser import ConfigParser>>> cf = ConfigParser()>>> cf.add_section(d)>>> cf.set(d, name, smallfish)>>> cf.add_section(a)>>>

2010-04-19 20:30:00 1679

原创 web.py 数据库操作指南

 原文:http://chenxiaoyu.org/blog/archives/226 官网地址:http://webpy.org/web.py是一个小巧灵活的框架,最新稳定版是0.33。这里不介绍web开发部分,介绍下关于数据库的相关操作。很多Pyer一开始都喜欢自己封装数据库操作类,本人亦如此。不过后来通过观摩web.py的源码,发现其数据库操作部分相当紧凑实用。推荐懒

2010-03-19 11:33:00 1241

原创 Python(Stackless) + MongoDB Apache 日志(2G)分析

为何选择Stackless? http://www.stackless.comStackless可以简单的认为是Python一个增强版,最吸引眼球的非“微线程”莫属。微线程是轻量级的线程,与线程相比切换消耗的资源更小,线程内共享数据更加便捷。相比多线程代码更加简洁和可读。此项目是由EVE Online推出,在并发和性能上确实很强劲。安装和Python一样,可以考虑替换原系统Py

2010-03-04 09:56:00 1830 4

原创 PostgreSQL UUID 函数

http://chenxiaoyu.org/blog/archives/209测试环境:PostgreSQL 8.4默认PostgreSQL是木有UUID函数可使用,而不像MySQL提供uuid()函数,不过在contrib里有,只需要导入一下uuid-ossp.sql即可。(PS:注意权限问题,要Pg可读改文件。)导入很简单,下面是win下面测试,其他平台类似该操

2010-02-26 15:15:00 1497

原创 PostgreSQL RPM 安装笔记

测试环境:REHL 5.3PostgreSQL版本:8.4.21. 首先检查下是否已经有PostgreSQL安装程序(俺的机器有pg-libs 8.1,无视之)shell> rpm -qa | grep postgres2. 下载最新的8.4.2RPM安装包,这个FTP速度挺快的。:)shell> wget http://ftp.easynet.be/postgre

2010-02-06 10:30:00 1541

原创 MySQL & PostgreSQL 小命令对比

对比下一些两个数据库常用的操作。MySQL命令行:mysql -uuser -pxxx -h127.0.0.1 databasePostgreSQL命令行:psql -U user -h 127.0.0.1 database操作对比:mysql psqlSHOW DATABASES; /l

2010-02-05 12:40:00 816

原创 emacs windows配置笔记

原文地址:http://chenxiaoyu.org/blog/archives/96最近手痒,看到不少牛x人物都是用emacs,遂在windows下装一个玩玩。下载地址:http://ftp.gnu.org/pub/gnu/emacs/windows/emacs-23.1-bin-i386.zip解压到:D:/emacs-23.1可以看到bin、etc、l

2009-12-10 16:59:00 1481

翻译 使用Git维护你的网站

原文地址: http://chenxiaoyu.org/blog/archives/90简介git是由Linus Torvalds编写的一个开放源码的版本控制系统. 它的主要目标是高度分散, 效率超过其他竞争对手.我就是使用git维护本网站. 我知道git不应该这样的粗重任务的使用, 即每一个开发者维护一份代码拷贝, 但是它工作的很好, 所有我使

2009-12-08 10:22:00 902

原创 tornado.database添加PooledDB连接池功能

tornado.database模块简单包装了下对MySQL的操作,短小精悍。无奈源码中无连接池功能,遂加上了一段DBUtils模块功能。主要修改了reconnect()方法,大致在database.py第86行左右。(tornado 0.2 win版)原代码如下: def reconnect(self): """Closes the exi

2009-12-01 15:40:00 1934 2

原创 Pysvn 程序员指南

原文参见:http://chenxiaoyu.org/blog/archives/75 这是一篇关于pysvn模块的指南.完整和详细的API请参考 pysvn Programmer’s Reference.pysvn是操作Subversion版本控制的Python接口模块. 这个API接口可以管理一个工作副本, 查询档案库, 和同步两个.该API不能创建

2009-11-20 17:35:00 3066 1

原创 Cython参考指南 – 编译

译文地址:http://chenxiaoyu.org/blog/archives/60Cython代码跟Python不一样,必须要编译。编译经过两个阶段:* Cython编译.pyx文件为.c文件* C编译器会把.c文件编译成.so文件(Windows上是.pyd)以下会分节介绍几种方式来建立你的扩展模块。注意: -a 选项,如果使用该选项将

2009-11-19 15:06:00 1301

原创 MySQL Query Profile 简单使用

MySQL Query Profile MySQL 5.0.37 以上开始支持 MySQLQuery Profiler, 可以查询到此 SQL 会执行多少时间, 并看出 CPU/Memory 使用量, 执行过程中 Systemlock, Table lock 花多少时间等等. 详细可以参见官方文档:Using the New MySQL Query Profiler启动

2009-11-04 10:11:00 672

原创 Apache 虚拟主机配置笔记

环境:Linux Apache2.2 (路径 /usr/local/apache)步骤:1. 修改 conf/httpd.conf,找到如下位置,去除 # 注释符# Virtual hostsInclude conf/extra/httpd-vhosts.conf2.修改 conf/extra/httpd-vhosts.conf

2009-11-03 15:00:00 799 1

原创 Java调用linux scp操作

先来回顾下linux下scp命令的用法:[shell $] scp -r /本地目录或文件 [email protected]:/远程目录这条命令是把本地的目录或者文件拷贝到远程192.168.0.110一个目录下,如果是从远程拷到本地,则反一下ip和目录。-r则是递归目录。更多参见scp --help最近在Java里调用scp,是通过一个JSP页面来触发。为了在调用

2009-10-26 17:00:00 1567

原创 ssh, scp 不输入密码

经常在不同linux机器之间互相scp拷文件,每次总是要输入密码才可行。 通过ssh-keygen生成公钥,在两台机器之间互相建立信任通道即可。 假设本地机器client,远程机器为server。 1. 生成rsa keygen [winter@client winter] $ ssh-keygen -b 1024 -t rsaGener

2009-10-19 17:51:00 754

原创 web.py session 应用

注意: web.py版本必须是0.3以上import webweb.config.debug = Falseurls = ( "/", "index",)app = web.application(urls, locals())session = web.session.Session(app, web.session.DiskStore(sessi

2009-10-14 16:31:00 1307

原创 修改 ModPython 下 PYTHON_EGG_CACHE 报错

环境:Linux Apache Python(mod_python)换了一台新机器,没有配置Mod_Python了,在一些应用里import MySQLdb出现了下面错误:ExtractionError: Cant extract file(s) to egg cacheThe following error occurred while trying to extract file(s) to

2009-09-28 09:59:00 1342 1

翻译 [译]Bottle中文简介

最新文档地址:http://pynotes.appspot.com/static/bottle/index.htm译者: smallfish 原文: http://bottle.paws.de/文档: 简体中文Bottle是一个使用Python语言编写的符合WSGI规范Web框架.它提供根据URL参数转发请求(映射),模板,key/

2009-09-23 16:40:00 1740

翻译 [译]Python Bottle框架文档

Bottle是一个小巧的Python Web开放框架,源码只有一个文件,约34K,不到1000行。这是本人第一次翻译,不好之处请勿调戏。最新文档地址:http://pynotes.appspot.com/static/bottle/docs.htm这份文档会不断更新. 如果在文档里没有找到答案,请在版本跟踪中提出issue.译者: smallfish

2009-09-21 14:06:00 2163

原创 jsp 图形验证码 IllegalStateException 异常

最近用了jsp做了一个简单的图形验证码,产生四个随机字符。使用时候发现后台异常不断。异常日志如下:2009-9-10 13:39:23 org.apache.catalina.core.StandardWrapperValve invoke严重: Servlet.service() for servlet jsp threw exceptionjava.lang.I

2009-09-10 13:56:00 2278 6

原创 python 千分位输出 1,233,232格式

摘抄自邮件列表,我的方法比较土,小数点也没有加进去,locale未尽测试。邮件收录在:http://wiki.woodpecker.org.cn/moin/MiscItems/2009-01-13最新方法:>>> while True:...     (s,count) = re.subn(r"(/d)(/d{3})((:?,/d/d/d)*)$",r"/1,

2009-09-08 11:05:00 1640

原创 python set 简单应用

set也是python里一个重要类型,有时候还是蛮好用的。详细文档和说明可以用help(set) 查看其说明和方法。下面来点简单的小例子说明把。>>> x = set(spam)>>> y = set([h,a,m])>>> x, y(set([a, p, s, m]), set([a, h, m]))再来些小应用

2009-09-08 11:04:00 569

原创 python 字符反转

偶然看到论坛有人问python字符串怎么没有反转的方法,是很纳闷。后来找到了几个解决办法,还是很酷的说,记录以分享下。>>> s = "abcdefg" >>> s[::-1]>>> a=list(s) >>> a.reverse() >>> "".join(a) >>> reduce(lambda x,y:y+x,s)

2009-09-08 11:04:00 522

原创 python 单词翻译小工具

附件提供了一个win编译的exe版本,用py2exe编译。linux下直接输入文件名即可。下载文件以及源码请到:http://www.chinaunix.net/index.php?uid=386791&url=http://bbs.chinaunix.net/viewthread.php?tid=1256415 linux编码为utf-8,win编码为gbklin

2009-09-08 11:02:00 759

原创 apache mod_perl实现 url rewrite

相信apache的mod_rewrite模块都很熟悉了,今天这儿换个思路,利用mod_perl来实现下,发现竟然是如此的简单!首先得保证apache已经安装了mod_perl模块,具体安装配置可以看上一篇文章哦。修改下http.conf配置,添加一下内容:PerlTransHandler MyTrans # MyTrans 这个是自己添加的处理模块名具体MyTr

2009-09-08 11:00:00 516

原创 memcached 常用方法笔记

官网地址 http://www.danga.com/memcached/(需要先安装libevent http://www.monkey.org/~provos/libevent/)编译过程略过启动/结束memcached -d -m 10 -u root -l 192.168.0.122 -p 11200

2009-09-08 10:57:00 528

原创 c apache module 开发入门

chinaunix地址:http://www.chinaunix.net/index.php?uid=386791&url=http://bbs.chinaunix.net/viewthread.php?tid=1255594前言: 扩展Apache模块开发网上大部分教程都是围绕Perl语言记性,老外的《Writing Apache Moduleswith Perl and

2009-09-08 10:57:00 701

原创 expect telnet 发送邮件

python通过smtplib链接到smtp.163.com可以正常发送,换perl就不行了。很诡异的事件啊。perl程序大致代码如下:use Net::SMTP;$smtp = Net::SMTP->new(smtp.163.com, Hello => smtp.163.com, Timeout => 120, Debug => 1);

2009-09-08 10:55:00 1114

原创 postgresql 表空间

pgsql允许管理员在文件系统里定义表空间存储位置,这样创建数据库对象时候就可以引用这个表空间了。好处就不用多说了,可以把数据库对象存储到不同的分区上,比如更好的存储之类。默认initdb之后会有两个表空间pg_global和pg_default。查看pgsql当前表空间有哪些可以试试下面:postgres=> SELECT spcname FROM pg_tablespace;

2009-09-08 10:54:00 817

原创 postgresql 常用语句

-- 查看pg数据库用户列表/du -- 数据库列表,所属者以及编码 /l -- 数据库表或者视图等列表 /d -- 表或者视图的结构/d  视图名 /d 表名 -- 连接到该用户名下的数据库 /c 数据库名 用户名 -- 查看pg某配置值

2009-09-08 10:53:00 578

原创 pexpect通过ssh执行远程命令

pexpect是python一个模块,可以通过:easy_install pexpect 来安装。这里主要是用pexpect执行ssh,查看远程uptime和df -h看硬盘状况。#ssh_cmd.py#coding:utf-8import pexpectdef ssh_cmd(ip, user, passwd, cmd): 

2009-09-08 10:53:00 1041

原创 windows python pyrex 扩展

在偶的ubuntu里编写pyrex程序编译成so还是挺爽的,用 timeit.Timer 测试性能提升不少,今天在windows也尝试了一番。需要的工具有:- Pyrex http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/- Dev C++ http://www.bloodshed.net/devcp

2009-09-08 10:52:00 577

原创 postgresql 创建表分区

测试版本:pg 8.3 (ubuntu)在pg里表分区是通过表继承来实现的,一般都是建立一个主表,里面是空,然后每个分区都去继承它。创建表分区步骤如下:1. 创建主表CREATE TABLE users ( uid int not null primary key, name varchar(20));2. 创建分区表(必须继承上面的主表)C

2009-09-08 10:52:00 800 2

原创 mysqldumpslow 慢查询日志分析工具

mysql自带的这个玩意挺好使的,可以对慢查询里的sql进行排序、计算等操作。首先得配置my.cnf:log_slow_queries = /path/slow.log # 定义log位置,注意要有写入的权限具体的使法如下:mysqldumpslow -s c -t 40 /path/slow.log出来的结果是访问次数最多的40个sql,几个参数大概意思如下:

2009-09-08 10:51:00 542

原创 ssh tunnel && memcached

最近一台服务器放进了移动机房,需要访问原电信机房一台Memcached服务器,Memcached服务是以内网形式启动。依靠google大神,搜索出解决思路,在本地起一个SSH链接,通过本地一个端口实现对另外机器的映射或者叫做转发。上周本来已经搞定,本周突发灵异事件,竟然不管了,最后百般尝试,完成结果如下:移动机器IP:220.xxx.xxx.xxx 电信机器IP:155.x

2009-09-08 10:50:00 497

原创 memcached java && python client api 共享

用Python写了一个计划任务,定时更新Memcached中一个key值,写的很happy,几分钟搞定。然后在Java Servlet测试,代码写的也很happy,编译 - 刷新,一气呵成。然后发现值一直是null,再tail日志看看,异常不断:com.danga.MemCached.MemCachedClientMon Jul 20 09:37:04 CST 2009

2009-09-08 10:50:00 676

空空如也

空空如也

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

TA关注的人

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