关于“无双城堡PHP探针”抄袭“雅黑PHP探针”的证据



虽然目前市面上的PHP探针很多,但都是静态版的,“雅黑PHP探针”首次采用ajax技术,探针可以实时动态无刷新的显示服务器的硬盘、内存、流量、负载和在线时间等信息,得到了广大站长和运维人员的喜爱。

随着“雅黑PHP探针”的流行越来越广,导致一些抄袭的也多了起来,据雅黑所碰到的抄袭版探针,已经发现十几个打着自己的名字却直接使用雅黑PHP探针源码的案例。

当然,在些要感谢长期对“雅黑PHP探针”提出建议和支持的朋友,没有大家的支持,“雅黑PHP探针”的使用范围不会像现在这样如此之广。

针对越来越多的抄袭事件,雅黑决定抓一个典型案例出来。

这个典型案例就是——“无双城堡PHP探针”,雅黑到他的博客反映抄袭一事,他居然不知悔改,还振振有词的为自己辩护,好吧,那么雅黑来揭开事情的真相。

事情的是起因是,“雅黑PHP探针”推出v0.3.0版本的时候,有个朋友反映说,本探针的某个功能不是太好,应该向“无双城堡PHP探针”学习。

于是雅黑决定去看看“无双城堡PHP探针”的优点,不看不知道,一看吓一跳,这明明是雅黑发布探针的最初版本。

首先看看“无双城堡PHP探针”的界面,这风格我一看就是自己的,蓝色调,负载那里用粉红色显示,内存的使用进度条用绿色,这些都是雅黑PHP探针的最初版的样式。雅黑本人思考css样式的时候,思考了几天,才最终确定这个风格。

再看网卡流量后面的小数点,精确到5位,这也是雅黑当时定下的规格。



图0

打开源码,他居然说是自己开发的,“创建时间”和“最后修改时间”搞得就像真的一样,当然,下面是他自己的博客网址。



图1

在源码里,大部分功能因为市面上的探针都差不多,所以不好说谁抄谁的。

我要说的是ajax最核心的那里吧,硬盘空间、内存、负载、uptime等这些不是难事,当时让雅黑苦恼的是,如何显示网卡那里的信息?

网卡的项目可多可少,我自己经常用到一些OpenVZ的VPS,所以那里基本上只有两项:venet0和lo

但如果是xen的vps或者独服,情况又不一样了,比如有:lo、eth0、eth1、tunl0、gre0、sit0等这些,我还见过有的网卡那里显示近10个项目的。

我最初的构思是,让程序循环自动网卡里的所有项目,但是这个构思至今没有实现,因为要实现起来我还没有想到最好的算法。

所以后来,我想既然网卡里的项目一般不超过10个,我就让事先指定html里的10个id,让他来动态输出相关的参数。

这就有了源码里的NetOut2-10和NetInput2-10:
	$("#NetOut2").html(dataJSON.NetOut2);
	$("#NetOut3").html(dataJSON.NetOut3);
	$("#NetOut4").html(dataJSON.NetOut4);
	$("#NetOut5").html(dataJSON.NetOut5);
	$("#NetOut6").html(dataJSON.NetOut6);
	$("#NetOut7").html(dataJSON.NetOut7);
	$("#NetOut8").html(dataJSON.NetOut8);
	$("#NetOut9").html(dataJSON.NetOut9);
	$("#NetOut10").html(dataJSON.NetOut10);
	$("#NetInput2").html(dataJSON.NetInput2);
	$("#NetInput3").html(dataJSON.NetInput3);
	$("#NetInput4").html(dataJSON.NetInput4);
	$("#NetInput5").html(dataJSON.NetInput5);
	$("#NetInput6").html(dataJSON.NetInput6);
	$("#NetInput7").html(dataJSON.NetInput7);
	$("#NetInput8").html(dataJSON.NetInput8);
	$("#NetInput9").html(dataJSON.NetInput9);
	$("#NetInput10").html(dataJSON.NetInput10);
关于使用google的jq库的问题,我本来想直接自己写个ajax包含在探针里,但是那样会让代码变得臃肿,使用jq是个非常方便省事的习惯。

于是才有了引用jq库的代码: http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js

当然,在最新的雅黑PHP探针中,jq库的代码已经由当初的1.3.1变成1.7.0版本了,还有的朋友说让雅黑紧跟最新jq版本,但是雅黑觉得现在的版本够用就好了,以后会看情况决定要不要升级最新的jq版本。

除了ajax外,还有个明显属于雅黑特有代码标记的东西,请看css样式这块: .w_small{font-family: Courier New;} .w_number{color: #f800fe;}



可能有些朋友没看明白,这两个样式后来是雅黑复制在自己其他项目中使用的代码,所以样式名称是以w_开头的,为什么是这样呢?因为雅黑本人姓王,基本上都是以姓的第一个这字母为标记,来进行相关的命名。你可以看看本站的css文件里的一些样式命名http://www.yahei.net/css/style.css

我想“无双城堡PHP探针”的作者也非常巧合的有使用w_开头命名的习惯,难道他也姓王?或者姓汪?



最后想说的是:“无双城堡”,你究竟要抵赖到什么时候?





2012/2/19 上午12点