Archive for the ‘technology’ Category

边大师ie6下固定浮动层的修正js

很棒的代码。比我写的好多了。贴出代码供大家参考:

兼容ie6底部浮动的工具栏的代码

不多说废话了。看下面代码:

svn working copy 版本

目前svn客户端已经升级到1.6,1.6版本库的文件结构已经做了调整。但一些ide集成的svn仍旧使用1.5,当再次用svn更新时候就会提示 This client is too old to work with working copy。
这个时候只要把svn working copy 降级即可。
d:\change-svn-wc-format.py E:\work\ 1.4 –force
第一个change-svn-wc-format.py是执行脚本
第二个E:\work\sadapter是工程路径
第三个1.4是要修改到的版本
第四个–force不是必须的,在执行失败的情况下可以加入此参数。
change-svn-wc-format.py 下载地址:http://dl.javaeye.com/topics/download/f3d6910a-2493-3682-bd66-9fa059a033f5

python pdb 基础调试

首先你选择运行的 py
python -m pdb myscript.py
(Pdb) 会自动停在第一行,等待调试,这时你可以看看 帮助
(Pdb) h
说明下这几个关键 命令
>断点设置
(Pdb)b 10 #断点设置在本py的第10行
或(Pdb)b ots.py:20 #断点设置到 ots.py第20行
删除断点(Pdb)b #查看断点编号
(Pdb)cl 2 #删除第2个断点
禁用断点(Pdb)disable 2 #禁用第2个断点
设置某个断点的count,当count为0的时候断点状态为active,count不为0的时候每一次进入断点时候count自减
(Pdb) condition 2 10 #当运行10次后激活断点2
>运行
(Pdb)n #单步运行
(Pdb)s #细点运行 也就是会下到,方法
(Pdb)c #跳到下个断点
(Pdb)l(ist) [first [,last]] #列出代码
(Pdb)a(rgs) #打印出当前函数的参数
>查看
(Pdb)p param #查看当前 变量值
(Pdb)l #查看运行到某处代码
(Pdb)a #查看全部栈内变量
(Pdb)(!) statement #执行代码
(Pdb) q(uit) #退出

php 二维数组排序

直接上代码

python 多进程的服务端

直接贴代码了。

搭建mysql master-slave replication

转载:http://www.sou5.cn/archives/606.html
本篇文章记录了如何搭建一个master-slave架 构的mysql数据库服务器,一般用于读写分离的场景下:master for INSERT/UPDATE/DELETE,slave for SELECT。
根据实战结果,在master-connect-retry=5的情况下,基本可以做到读写同步(可以打开slave的log文件来观察同步结果:tail -f /var/run/mysql/mysql.log)
基本信息
主库:192.168.1.1
从库:192.168.1.2
数据文件存放位置:/data/mysql
待同步数据库:除了mysql、test库以外的所有数据库
一、设置MASTER
1、修改my.cnf
#vi /etc/my.cnf
server-id=1
log-bin
binlog-ignore-db=mysql
binlog-ignore-db=test
2、赋予SLAVE权限帐号,允许用户在 MASTER上LOAD TABLE和LOAD DATA
mysql> GRANT FILE,SELECT,REPLICATION SLAVE ON *.* TO slave@192.168.1.2 IDENTIFIED BY ‘password’;
3、锁主库表
mysql> FLUSH TABLES WITH READ LOCK;
4、显示主库信息
记录File和Position,从库设置将会用到
mysql> SHOW MASTER STATUS;
+—————+———-+————–+——————+
| File          | Position | Binlog_do_db | Binlog_ignore_db |
+—————+———-+————–+——————+
| hathor-bin.001 | 79   |              | mysql,test         |
+—————+———-+————–+——————+
5、打包主库
# [...]

Python-字符串操作方法

转载:http://www.sou5.cn/archives/636.html
字符串中字符大小写的变换:
* S.lower()   #小写
* S.upper()   #大写
* S.swapcase()   #大小写互换
* S.capitalize()   #首字母大写
* String.capwords(S)
#这是模块中的方法。它把S用split()函数分开,然后用capitalize()把首字母变成大写,最后用join()合并到一起
* S.title()    #只有首字母大写,其余为小写,模块中没有这个方法
字符串在输出时的对齐:
* S.ljust(width,[fillchar])
#输出width个字符,S左对齐,不足部分用fillchar填充,默认的为空格。
* S.rjust(width,[fillchar])    #右对齐
* S.center(width, [fillchar])    #中间对齐
* S.zfill(width)   #把S变成width长,并在右对齐,不足部分用0补足
字符串中的搜索和替换:
* S.find(substr, [start, [end]])
#返回S中出现substr的第一个字母的标号,如果S中没有substr则返回-1。start和end作用就相当于在S[start:end]中搜索
* S.index(substr, [start, [end]])
#与find()相同,只是在S中没有substr时,会返回一个运行时错误
* S.rfind(substr, [start, [end]])
#返回S中最后出现的substr的第一个字母的标号,如果S中没有substr则返回-1,也就是说从右边算起的第一次出现的substr的首字母标号
* S.rindex(substr, [start, [end]])
* S.count(substr, [start, [end]])    #计算substr在S中出现的次数
* S.replace(oldstr, newstr, [count])
#把S中的oldstar替换为newstr,count为替换次数。这是替换的通用形式,还有一些函数进行特殊字符的替换
* S.strip([chars])
#把S中前后chars中有的字符全部去掉,可以理解为把S前后chars替换为None
* S.lstrip([chars])
* S.rstrip([chars])
* S.expandtabs([tabsize])
#把S中的tab字符替换没空格,每个tab替换为tabsize个空格,默认是8个
字符串的分割和组合:
* S.split([sep, [maxsplit]])
#以sep为分隔符,把S分成一个list。maxsplit表示分割的次数。默认的分割符为空白字符
* S.rsplit([sep, [maxsplit]])
* S.splitlines([keepends])
#把S按照行分割符分为一个list,keepends是一个bool值,如果为真每行后而会保留行分割符。
* S.join(seq) #把seq代表的序列──字符串序列,用S连接起来
字符串的mapping,这一功能包含两个函数:
* String.maketrans(from, to)
#返回一个256个字符组成的翻译表,其中from中的字符被一一对应地转换成to,所以from和to必须是等长的。
* S.translate(table[,deletechars])
#使用上面的函数产后的翻译表,把S进行翻译,并把deletechars中有的字符删掉。需要注意的是,如果S为unicode字符串,那么就不支持 [...]

用Python编写WEB服务器压力测试工具

别人写的,看着不错就引用。原文地址:http://www.xinqdian.com/index.php/archives/125/
自己也写过类似的。不过代码太丑陋了,就不贴出来了。大致思想一样,把压力最大的一些链接挑出来,一个劲的加线程数量,每台机器要加500线程以上都没问题。mac os 注意看下ulimit 是否有限制。

mysql MERGE Storage Engine

mysql Merge 引擎只能用于myISAM表的合并。它能把几个相同结构的表合并成一个表来查询。而数据和索引都还在原表中储存。
假设需要记录视频每天的播放数量,但由于记录数太大,只能一天一张表来记录,如果需要查询一个月播放次数最多的10个视频。这个时候就可以创建一个merge表把一个中的30表联合成一张表,然后一条语句就能查询出来。
例子:
在mysql执行以下sql:
CREATE TABLE EXISTS `t1` (
`id` int(11) default NULL,
`value` int(11) default NULL
) ENGINE=MyISAM;
INSERT INTO `t1` (`id`, `value`) VALUES
(1, 2),
(2, 3);
CREATE TABLE `t2` (
`id` int(11) default NULL,
`value` int(11) default NULL
) ENGINE=MyISAM;
INSERT INTO `t2` (`id`, `value`) VALUES
(1, 3),
(2, 5);
CREATE TABLE IF NOT EXISTS `t` (
`id` [...]