0%

因为PHP没有形成的判断奇偶函数,所以以前一直使用 %2 来判断一个数字变量是奇数还是偶数,如果把该变量 mod2 得到结果是1那么就是奇数,得到结果是 0 那么就是偶数。最近看了PHP手册,发现除了使用算术运算符判断,还可以使用位运算符来判断。

1
2
3
4
5
6
7
8
9
10
<?php
//判断奇数,是返回TRUE,否返回FALSE
function is_odd($num){
return (is_numeric($num)&($num&1));
}
//判断偶数,是返回TRUE,否返回FALSE
function is_even($num){
return (is_numeric($num)&(!($num&1)));
}
?>

当然,如果已经知道变量值是数字而非字符或字符串,则可以省略 is_numeric 函数的判断,直接使用 $num&1 来判断就行了。

安装环境:RHEL4 update 1

一、下载VPN服务器所需软件

dkms-2.05-1.noarch.rpm
动态内核模块支持的RPM安装包
kernel_ppp_mppe-0.0.5-2dkms.noarch.rpm
MPPE加密协议的内核补丁的RPM安装包
ppp-2.4.3-5.rhel4.i386.rpm
升级内置PPP到2.4.3版本,以支持MPPE加密协议
pptpd-1.3.0-0.i386.rpm
pptp点对点隧道协议的RPM安装包

下载地址:

Read more »

网络实验环境:
双网卡AS5.0 VPN服务器:eth0=192.168.10.1 eth1=192.168.20.1,eth0内网卡,虚拟网络vmnet2,eth1外网卡,虚拟网络桥接。
内网服务器IP地址:192.168.10.1
外网PC机,做VPN客户端,IP地址:192.168.20.2

一、软件包

  1. dkms-2.0.17.5-1.noarch.rpm
  2. kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
    MPPE(Microsoft Point to Point Encryption,微软点对点加密)
  3. ppp-2.4.4-9.0.rhel5.i386.rpm(AS5.0光盘默认就有)
    PPP(Point-to-Point Protocol,点到点协议)
  4. pptpd-1.3.4-1.rhel5.1.i386.rpm

软件包下载地址

Read more »

以超级用户登路
先关闭 fastestmirror

vi /etc/yum/pluginconf.d/fastestmirror.conf and set enable=0

1
2
3
4
cd /etc/yum.repos.d/
wget http://mirrors.163.com/.help/CentOS-Base-163.repo
yum makecache
yum update

now enjoy it!

安装某些版本(常见于‘去广告、特别、增强版’之类)的迅雷,运行后会自动在桌面添加一个BlogCID.dat文件,虽然对系统没有什么影响,但桌面上总要多出一个文件,感觉不那么舒服。

桌面出现BlogCID.dat的解决方法:

找到你迅雷的启动快捷方式,右键-属性;在”起始位置”中,填入”迅雷安装目录Profiles”,如下图。

现在运行迅雷,是不是不会在桌面出现BlogCID.dat文件了呢?:P

其实道理很简单,迅雷博客会生成一个BlogCID.dat文件,当快捷方式没有指定或指定到安装目录时,每次运行迅雷就会自动在桌面创建BlogCID.dat文件,将起始位置设置到“Profiles”文件夹,迅雷就会将生成的文件放到这个位置,而不是桌面上了。

vista和win7在 C:\Users\用户名\AppData\Roaming\Lingoes

xp在C:\Documents and Settings\用户名\Application Data\Lingoes

把tip.xml内容清空,属性中选上只读即可。

这个问题存在好久了,表现是:初次打开chrome时,第一次点击图片能够正常放大浏览,从第二次点击开始,图片收没了,无任何显示,只能通过下方的链接打开图片。而在IE下,没有这个问题。

今天把chrome的扩展一个个拿出来鼓捣,发现当禁用AdThwart后,浏览正常。然后去安装了adblock扩展,发现问题是一样的。估计是新浪微博的网址进入了filter list。

解决办法:把t.sina.com.cn加入到adblock的exduded sites清单中,缺陷消除。

AdThwart用同样办法应该也能解决,我没试。

首先,确认你使用的 Windows Live Messenger 版本为8.1或8.5,9.0理论上无效,可以使用后面说的修改方法尝试。
其次,覆盖文件或编辑文件时,要先关闭MSN

###方案一:享受现成的
点击这里下载我修改好的文件,解压缩后将 msgsres.dll 放到 MSN 所在目录(默认安装位置 C:\Program Files\MSN Messenger )。

###方案二:自己动手阉去多余物件
工具:Resource Hacker 3.4.0.79 绿色汉化版
打开MSN安装目录下 msgsres.dll 文件

  1. 去除面板底部广告
    打开资源 4004 -> 923 -> 1033,找到(按F9搜索)ID=Atom(SSConstrainer),将其前面的 layoutpos=top 改为 layoutpos=none
  2. 去除聊天框广告
    打开资源 4004 -> 920 -> 1033,找到 id=atom(adbannergutter),将其前面的 layoutpos=top 改为 layoutpos=none
  3. 去除面板底部搜索
    打开资源 4005 -> 923 -> 1033,找到 id=atom(idSearchContainer),这个资源下有2个,修改第2个,第867行,将下面的 layoutpos:bottom; 改为layoutpos:none;
    修改完后点“编译脚本”,保存文件,完成。

启动MSN看看,整个界面没有广告,清爽速度还快

有两个文本:

a.txt的内容:

0001|abc|1000.00
0002|ddd|1200.20
0003|dde|100.01
0005|ggg|200
……
……

b.txt的内容:

1234|2600|1|AAAAA|abc|88888888|
1234|2600|2|BBBBB|ddd|8888888|
1234|2600|3|CCCCC|dde|8888|
1234|2600|4|DDDDD|eee|88888888888|
1234|2600|5|AAAAA|ggg|888888|
……
……

我想把a.txt的第一个字段删去前面的0后与b.txt的第3个字段比较,如果相等,就把b.txt中的第4个字段放在a.txt的前面.

生成结果如下:

AAAAA|0001|abc|1000.00
BBBBB|0002|ddd|1200.20
CCCCC|0003|dde|100.01
AAAAA|0005|ggg|200
……

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/perl

$filea="a.txt";
$fileb="b.txt";

open(FB,"<$fileb") || die "Can't read $fileb\n$!\n";
while() {
@line=split(/\|/);
$datab{$line[2]}=$line[3];
}
close FB;
open (FA,"<$filea") || die "Can't read $filea\n$!\n";
while()
{
@line = split(/\|/);
$dataa{$line[0]} = $_;
}

foreach $key (sort {$b cmp $a} keys %dataa)
{
print $datab{int $key}.'|'.$dataa{$key} if exists $datab{int $key};
}