eclipse本身自带了很多快捷键,当然也允许用户修改或自定义。依次打开window –> preferences –> General –> Keys,可以看到设置快捷键的列表。一般情况下设置好了快捷键就可以立马使用了,但某些操作好像无法使用快捷键,例如配置了svn相关的操作,发现快捷键不起作用。究其原因,可能是在 “Command Groups Availability”中没有启用。可以在 windows –> Customize Perspective –> Command Groups Availability下找到对应在快捷键配置的category,并将其选中。如果没有选中,那么快捷键不启用。
前段时间帮人在mac下安装支付宝插件。进入支付宝官网下载了插件,安装支付宝控件的时候却提示“不能打开替身,因为找不到原身”错误信息。他说曾经安装过的,后来删除过,然后再就安装不上了。
在网上查询后得知,控件存放的位置是 “~/Library/Internet Plug-Ins”,在finder中打开~/Library/,没有看到Internet Plug-Ins文件夹,在下面创建后在进行安装,提示成功。可以支付宝登陆了。
众所周知,z-index的值越大,其对应的层就会覆盖其他层,但是ie6下可能会有问题,因为它不止依赖自身的z-index,而且还要看父容器的z-index。
前段时间遇到过页面问题,在一个固定大小的容器中有一大段文字内容,别的浏览器都能正常显示完整,但是google chrome中却发现不能显示完成。追查到原因是设置了字体大小为10px,别的浏览器默认都支持,但是chrome默认情况下是不支持字体大小小于12px,如果小于这个,它会使用12px来代替。据说是为了人性化考虑才有此限制,因为通常字体小于12px看不太清楚,费眼睛。
人性化归人性化,但是还是需要使用12px以下的字体怎么办?很简单,只需要使用:-webkit-text-size-adjust:none; 即可。例如:
//针对某些特定容器不限制
.classname {
-webkit-text-size-adjust:none;
...
}
//当前页面所有容器都不限制
*{
-webkit-text-size-adjust:none;
}
目前很多网站可以为用户分配一个自己定义的二级域名,例如:myname.netingcn.com,但实际访问的地址可能为www.netingcn.com/user.php?uid=myname。要使其能正常工作,首先在DSN解析那里需要配置泛域名解析,接下来在nginx配置文件中设置rewrtie即可。nginx配置如下:
server {
listen 80;
server_name *.netingcn.com;
...
if ($host ~* ^(......)\.netingcn\.com) {
set $sub_name $1;
rewrite ^/ /user.php?uid=$sub_name last;
}
...
这里假设所有的6个字符的子域名都是用户自定义域名,然后对其进行rewrite。另外可以通过set指令把表达式中的某些信息存放在一个变量中,而后可以使用它。
nginx可以在配置文件中对某些内置变量进行判断,从而实现某些功能。例如:防止rewrite、盗链、对静态资源设置缓存以及浏览器限制等等。由于nginx配置中有if指令,但是没有对应else指令,所以判断要分为匹配和不匹配。字符串表达式支持正则表达式,能设定大小写是否敏感。因此共有四个操作符,如下:
- ~ 区分大小写(大小写敏感)匹配成功,可用正则表达式
- ~* 不区分大小写匹配成功,可用正则表达式
- !~ 区分大小写匹配失败,可用正则表达式
- !~* 不区分大小写匹配失败,可用正则表达式
- = 精确匹配普通字符串,匹配成功后停止匹配其他规则
- ^~ 匹配成功后停止匹配其他规则
HTTP_HOST是客户端请求时封装在HTTP request header中,而SERVER_NAME是web服务器中配置文件定义的。这两个值有时是相同的,但不能说他们就是一样的,因为这个起决于服务器的WEB server 配置。例如使用nginx作为为web 服务器,配置如下:
server {
listen 80;
server_name *.netingcn.com;
....
}
假设访问 http://www.netingcn.com/test.php,这是使用$_SERVER['HTTP_HOST']得到的结果为:www.netingcn.com,而$_SERVER['SERVER_NAME']则是*.netingcn.com
mysql安装成功后可以看到已经存在mysql、information_schema和test这个几个数据库,information_schema库中有一个名为COLUMNS的表,这个表中记录了数据库中所有表的字段信息。知道这个表后,获取任意表的字段就只需要一条select语句即可。例如:
select COLUMN_NAME from information_schema.COLUMNS
where table_name = 'your_table_name';
上述的做法有一点问题,如果多个数据库中存在你想要查询的表名,那么查询的结果会包括全部的字段信息。通过DESC information_schema.COLUMNS可以看到该表中列名为TABLE_SCHEMA是记录数据库名,因此下面的写法更为严格
select COLUMN_NAME from information_schema.COLUMNS
where table_name = 'your_table_name'
and table_schema = 'your_db_name';
centos5.7自带的python版本是2.4,可以通过源代码编译安装的方式来升级到2.7。源代码可以到python的官方网站下载,下载解压后后执行:
./configure
make all
make install
make clean
make distclean
不出意外,应该可以在/usr/local/bin/看到python2.7文件,也就说明2.7安装成功。接下来要做的就是通过软链接的方式让系统默认使用2.7,操作如下:
mv /usr/bin/python /usr/bin/bak_python
ln -s /usr/local/bin/python2.7 /usr/bin/python
现在升级就算完成了,不过由于yum使用的python是2.4这个版本,所有yum不能用了,解决这个问题也很简单,只需要修改/usr/bin/yum文件,把第一行的#!/usr/bin/python换成#!/usr/bin/python2.4即可。
使用secureCRT的都知道,可以同时打开多个session连接一台或多台服务器,假设需要在两个或以上的服务器上执行相同的操作,例如编译安装相同的软件,最原始的办法就是在每个上执行一遍相同操作。不过可以使用“chat window”的方式来同时向两个服务器发送相同命令。具体操作如为:在view菜单中选中Chat Window,此时在secureCRT最下方会出现一个窗口,在里面点击鼠标邮件,然后选择“Send Chat to All Tabs”,此时在里面输入命令,当前secureCRT打开的所有session都会执行输入的命令。