右键快速打开cmd到当前目录

2012年5月17日 没有评论

鼠标右键增加CMD.bat

1
2
3
REG ADD "HKCR\*\shell\Cmd Here\command" /ve /t REG_EXPAND_SZ /d %ComSpec%
REG ADD "HKCR\Directory\shell\Cmd Here\command" /ve /t REG_EXPAND_SZ /d "%ComSpec% /k cd %1"
REG ADD "HKCR\Drive\shell\Cmd Here\command" /ve /t REG_EXPAND_SZ /d "%ComSpec% /k cd %1"

鼠标右键取消CMD.bat

1
2
3
echo Y|REG DELETE "HKCR\*\shell\Cmd Here"
echo Y|REG DELETE "HKCR\Directory\shell\Cmd Here"
echo Y|REG DELETE "HKCR\Drive\shell\Cmd Here"
分类: 工具/服务器 标签:

安装Tornado

2012年5月12日 没有评论

安装Tornado

1
2
3
4
5
wget https://github.com/downloads/facebook/tornado/tornado-2.2.1.tar.gz
tar xvzf tornado-2.2.1.tar.gz
cd tornado-2.2.1
python setup.py build
python setup.py install

到此,tornado已安装完成。

开启服务,运行hello world程序

1
2
cd tornado-2.2.1
./demos/helloworld/helloworld.py    

此时打开浏览器,地址栏输入:http://127.0.0.1:8888,即可看到hello,world

也可以通过命令行查看

1
python -m tornado.httpclient http://127.0.0.1:8888

如果连接不上可以打开iptables的配置文件:

1
vi /etc/sysconfig/iptables

看看是否没有开放端口,修改后重启iptables

1
service iptables restart

例,开放8000~8999端口:

1
-A POSTROUTING -p tcp -m state --state NEW -m tcp --dport 8000:8999 -j ACCEPT
分类: Python, 工具/服务器 标签:

Centos下安装pycurl

2012年5月12日 没有评论

下载curl

1
2
3
4
5
6
wget http://curl.haxx.se/download/curl-7.21.3.tar.gz
tar xzvf curl-7.21.3.tar.gz
cd curl-7.21.3
./configure
make
make install

下载pycurl

1
2
3
4
wget http://pycurl.sourceforge.net/download/pycurl-7.19.0.tar.gz
tar xzvf pycurl-7.19.0.tar.gz
cd pycurl-7.19.0
python setup.py install

貌似一切很顺利,一个错误都没有提示,但运行python之后,出了问题

1
import pycurl

提示如下错误

1
2
3
4
Traceback (most recent call last):
File “<stdin>, line 1, in ?
ImportError: No module named pycurl
</stdin>

检查一下,原来是pycurl自己假定的curl路径不对。
需要给pycurl指定curl-config 路径,如下所示:

1
python setup.py install –curl-config=/usr/local/bin/curl-config

问题很小,有点隐蔽

相关报错:

1
2
File "", line 1, in
ImportError: libcurl.so.4: cannot open shared object file: No such file or directory

提示错误,解决方法:

1
export LD_LIBRARY_PATH=/usr/local/lib

or

1
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
分类: 工具/服务器 标签:

CentOS升级Python到2.7版本

2012年5月11日 没有评论

查看python的版本

1
2
[root@localhost ~] python  -V  
Python 2.4.3

1.先安装GCC

1
yum -y install gcc

2.下载Python-2.7.2

1
[root@localhost ~] wget http://python.org/ftp/python/2.7.2/Python-2.7.2.tar.bz2

3.解压Python-2.7.2

1
[root@localhost ~] tar -jxvf Python-2.7.2.tar.bz2

4.进入刚解压后的文件夹(可使用命令):

1
[root@localhost ~] cd Python-2.7.2

5.安装

1
2
3
4
5
[root@localhost Python-2.7.2] ./configure
[root@localhost Python-2.7.2] make all          
[root@localhost Python-2.7.2] make install
[root@localhost Python-2.7.2] make clean
[root@localhost Python-2.7.2] make distclean

6.查看版本信息

1
/usr/local/bin/python2.7 -V

7.建立软连接,使系统默认的python指向python2.7
正常情况下即使python2.7安装成功后,系统默认指向的python仍然是2.4.3版本,考虑到yum是基于python2.4.3才能正常工作,不敢轻易卸载。
如何实现将系统默认的python指向到2.7版本呢?

1
2
mv /usr/bin/python /usr/bin/python2.4  
ln -s /usr/local/bin/python2.7 /usr/bin/python

检验python指向是否成功

1
python -V

8.解决系统python软链接指向python2.7版本后,yum不能正常工作

1
vi /usr/bin/yum

将文件头部的

1
#!/usr/bin/python

改成

1
#!/usr/bin/python2.4
分类: Python, 工具/服务器 标签:

mongodb常用命令

2012年4月10日 没有评论

超级用户相关:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#进入数据库admin
use admin
#增加或修改用户密码
db.addUser('name','pwd')
#查看用户列表
db.system.users.find()
#用户认证
db.auth('name','pwd')
#删除用户
db.removeUser('name')
#查看所有用户
show users
#查看所有数据库
show dbs
#查看所有的collection
show collections
#查看各collection的状态
db.printCollectionStats()
#查看主从复制状态
db.printReplicationInfo()
#修复数据库
db.repairDatabase()
#设置记录profiling,0=off 1=slow 2=all
db.setProfilingLevel(1)
#查看profiling
show profile
#拷贝数据库
db.copyDatabase('mail_addr','mail_addr_tmp')
#删除collection
db.mail_addr.drop()
#删除当前的数据库
db.dropDatabase()

阅读全文…

如何保存TFS登陆密码

2012年2月21日 没有评论

每次打开VS2008,都要输入TFS账号,麻烦,下面提供一个方法,试过有效。
在运行中输入:rundll32 netplwiz.dll,UsersRunDll->用户帐户->高级->管理密码,会弹出”存储的用户名和密码”对话框。
添加ip:192.168.200.10
账号:COVICS10\xu.zhibin
密码:********
保存重启TFS即可。

分类: 工具/服务器 标签:

移动WebApp开发记录

2011年12月2日 没有评论

这段时间在做移动WebApp开发,基于PhoneGap+Jquery Mobile,遇到不少问题,下面进行部分总结。

1.webStorage有大小限制(5M),Chrome出现”QUOTA_EXCEEDED_ERR: DOM Exception 22″错误,极有可能因为webStorage缓存的问题。

2.localStorage只能存字符串,不能存对象。

3.Jquery的Html(str)函数会将str里的内容进行过滤,遇到显示有问题,可使用(“.show”)[0].innerHTML=str代替。

4.对于xml字符串,如果用jquery操作,需转换为xml对象,$.parseXML(source)。对于从接口返回的xml,Jquery可以设置指定返回xml对象。

5.Jquery Mobile在不同的页面切换,Android有明显的卡顿及闪屏感觉。$.mobile.showPageLoadingMsg()不生效。
A1.Android有明显的卡顿及闪屏感觉,据说是因为其对CSS3支持不好。
A2.Jquery Mobile在不同的页面切换,需要Loading效果的可以试下以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function w2mTransitionHandler( name, reverse, $to, $from ) {
    $(".ui-loader").css({"display": "block", "top": "252px !important" });
    var deferred = new $.Deferred(),
    reverseClass = reverse ? " reverse" : "",
    viewportClass = "ui-mobile-viewport-transitioning viewport-" + name,
    doneFunc = function() {

        $to.add( $from ).removeClass( "out in reverse " + name );

        if ( $from && $from[ 0 ] !== $to[ 0 ] ) {
            $from.removeClass( $.mobile.activePageClass );
        }
       
        $to.parent().removeClass( viewportClass );
        $(".ui-loader").css({ "display": "none" });
        deferred.resolve( name, reverse, $to, $from );
    };

    $to.animationComplete( doneFunc );

    $to.parent().addClass( viewportClass );

    if ( $from ) {
        $from.addClass( name + " out" + reverseClass );
    }
    $to.addClass( $.mobile.activePageClass + " " + name + " in" + reverseClass );

    return deferred.promise();
}
$.mobile.defaultTransitionHandler = w2mTransitionHandler;

A3.$.mobile.showPageLoadingMsg()有时会不生效,考虑以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$(":button").click(function(){   
    //position:fixed;top: 252px !important; display: block;
    $(".ui-loader").css({"top": "252 !important","position":"fixed"});
    $(".ui-loader").show("normal", function () {
        var list = new ListData(channelid, num, channelname);
        list.getData();
        if(list.list.length==0)
        {
            alert("已是最后一页");
        }
        else
        {
            list.showData();
            num++;
        }
        $(".ui-loader").hide("normal");
    });
})

悟透JavaScript笔记

2011年11月8日 没有评论

原生闭包

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function Person(firstName, lastName, age)
{
    //私有变量:
    var _firstName = firstName;
    var _lastName = lastName;

    //公共变量:
    this.age = age;

    //方法:
    this.getName = function()
    {
        return(firstName + " " + lastName);
    };
    this.SayHello = function()
    {
        alert("Hello, I'm " + firstName + " " + lastName);
    };
};

var BillGates = new Person("Bill", "Gates", 53);
var SteveJobs = new Person("Steve", "Jobs", 53);

BillGates.SayHello();
SteveJobs.SayHello();
alert(BillGates.getName() + " " + BillGates.age);
alert(BillGates.firstName);     //这里不能访问到私有变量

阅读全文…

分类: Web前端 标签:

HTML5笔记(5)-地理定位

2011年11月3日 没有评论

地理定位(Geolocation)是一个可以获取到客户端经纬度等地理位置信息的API。
API本身是不知道客户端地理信息的,常见的地理位置信息来源有全球定位系统(GPS)和从网络信号中推断出的地理信息(如IP地址, RFID, WIFI, 蓝牙MAC地址, GSM/CDMA手机id,以及用户输入的信息 )
阅读全文…

分类: Web前端 标签:

HTML5笔记(4)-离线应用

2011年11月3日 没有评论

为了能够让用户在离线状态下继续访问 Web 应用,需要一种方式来指明应用程序离线工作时所需的资源文件。这样,浏览器才能在在线状态时,把这些文件缓存到本地。此后,当用户离线访问应用程序时,这些资源文件会自动加载,从而让用户正常使用。HTML5 中,通过 cache manifest 文件指明需要缓存的资源,并支持自动和手动两种缓存更新方式。

开发者需要提供一个 cache manifest 文件。这个文件中列出了所有需要在离线状态下使用的资源,浏览器会把这些资源缓存到本地。 阅读全文…

分类: Web前端 标签: