Google的市场份额

热度:

在me心目中,Google无论技术实力、具体展现以及道德高度都是其他所谓对手不可比拟的,me也一直用它。在国内,百度市场份额领先的事实me一直不愿承认,再加上me的blog统计数据也支撑着一点。从数据来看,Google的份额领先且在逐渐攀升。

但这个月却出现了异常情况,国内搜索百度超越了Google。实在让me想不通,因三鹿奶粉事件,百度的名誉受损严重,但为什么大家用的还是越来越多呢。看来,不能不承认谷歌就是在吃母公司Google的技术老本,除了卖广告外,啥推广动作都没有做,或者是无效动作。惨就一个字。

立此存照,下表切自2008年10月25日,me的blog后台统计数据(源自WordPress的统计插件StatPressCN)。

搜索引擎

(最近三十天内)

访问
Baidu 1600
42.7%
Google cn 1238
33%
Windows Live 385
10.3%
Google 320
8.5%
Google Images 68
1.8%
Soso 63
1.7%
Google tw 39
1%
Google hk 12
0.3%
Google Cache 4
0.1%
Sogou 3
0.1%
*vs*

搜索引擎

(开启统计以来)

访问
Google cn 4327
40.4%
Baidu 3026
28.3%
Windows Live 1792
16.7%
Google 995
9.3%
Soso 184
1.7%
Google tw 133
1.2%
Google Images 127
1.2%
Google hk 47
0.4%
Yahoo cn 20
0.2%
Sogou 13
0.1%

从数据看:

最近三十天搜索引擎前三甲:Google的市场份额为33%+8.5%+1.8%+1%+0.3%+0.1%=44.7%;Baidu的市场份额为42.7%;Windows Live的为10.3%。搜索引擎市场份额 - http://sheet.zoho.com

所有时间内的统计前三甲:Google为40.4%+9.3%+1.2%+1.2%+0.4%=52.5%;Baidu为28.3%;Windows Live为16.7%。搜索引擎份额 - http://sheet.zoho.com

Google从原来的52.5%下滑至44.7%,Baidu从28.3%上升至42.7%,Windows Live则从16.7%下滑至10.3%。对Google来讲,要命的是失去的份额全部被Baidu拿去了。

另外,几乎消失的迟暮英雄是Yahoo,总体统计还有0.2%,在最近三十天的统计中已经消失。

——————————(更新:2008年10月27日)

发现微软的搜索引擎存在严重作弊行为(见垃圾搜索Windows Live的真面目 ),升级StatPressCN后,得到了最新准确数据如下:

搜索引擎

(最近三十天内)

访问
Baidu 1678
46.8%
Google cn 1288
35.9%
Google 310
8.6%
Windows Live 102
2.8%
Google Images 66
1.8%
Soso 60
1.7%
Google tw 37
1%
Google hk 12
0.3%
WordPressCN 8
0.2%
Google Cache 4
0.1%
*vs*

搜索引擎

(开启统计以来)

访问
Google cn 4423
46%
Baidu 3164
32.9%
Google 1005
10.4%
Windows Live 442
4.6%
Soso 187
1.9%
Google tw 134
1.4%
Google Images 127
1.3%
Google hk 47
0.5%
Yahoo cn 21
0.2%
Google Blog 13
0.1%

排位格局变化不大,就是微软的水份挤掉后份额大幅度下降了而已。嘲笑微软ing!

把所有无效搜索(垃圾数据)删除后,微软的份额居然只有0.2%了,唉何必装象呢,微软!

搜索引擎

(最近三十天内)

访问
Baidu 1689
48%
Google cn 1300
36.9%
Google 313
8.9%
Google Images 66
1.9%
Soso 61
1.7%
Google tw 36
1%
Google hk 13
0.4%
Windows Live 8
0.2%
WordPressCN 8
0.2%
Google Cache 6
0.2%
*vs*

搜索引擎

(开启统计以来)

访问
Google cn 4454
48.1%
Baidu 3193
34.5%
Google 1013
10.9%
Soso 188
2%
Google tw 134
1.4%
Google Images 127
1.4%
Google hk 48
0.5%
Yahoo cn 21
0.2%
Google Blog 13
0.1%
Sogou 13
0.1%

搜索引擎份额 - http://sheet.zoho.com

PHP、MYSQL编程笔记

热度:

开发StatPressCN过程中恶补PHP和MYSQL知识,水平不行,只好边干边学,呵呵。对一些基础不高深的东东简单梳理下,免得忘了下次重来。

一、MYSQL

  1. 用MYSQL语句直接修改数据。update `db_name` set `urlrequested` = replace(`urlrequested`,'\'','') where `urlrequested` like "%\'",把以'结尾的链接请求末尾的'去掉。replace可以保证key的连续性,如果先删除后添加就没有这个好处了。
  2. 插入记录。INSERT INTO users(name, age) VALUES('姚明', 25), ('比尔.盖茨', 50), ('火星人', 600);如果values中为空,则添加默认值为基础的记录。
  3. 更新记录。需要配合where条件判断。UPDATE users SET age = 30 WHERE id = 12;以上语句都很危险,如果where没有设置的话会更新所有的数据记录,所以在进行类似操作的时候一定要先备份,再审慎
  4. 删除数据有两个命令delete和TRUNCATE。DELETE FROM users WHERE name = 'Mike' ORDER BY id DESC LIMIT 6;如果有自动增加的字段,用没有where的delete和truncate都会让这个字段从0开始,如果不想这样,可以用带where 1的语句,不过那样的执行效率很多,因为需要遍历整个数据库的所有记录;删除数据时如果使用形如like '$tmpstr%'的语句,一定要判断下$tmpstr是否为空,否则很危险,可能删除掉所有数据,后果严重的很。
  5. 正则表达式在where语句中也可使用,好爽,这下me对正则表达式的学习可以用了。官方文档参见这里。

二、PHP

  1. 分开字符串。$p = explode("=",$url);
  2. 打印出数组中的所有元素。print_r($p);
  3. 计算数组中的元素个数。count($p);
  4. 数组运算,类似于java中集合的概念,很方便。生成一个空数组:$bloglist = Array();向数组中增加一个或几个元素(从末尾):array_push($bloglist,$matches[1]);添加到数组头部之前则是array_unshift($bloglist,$matches[1]) ;从数组尾部删除一个元素用array_pop(),从头部删除一个元素则用array_shift();让数组中元素唯一(即无重复元素,类似于结合set的概念):$bloglist = array_unique($bloglist);迭代输出每个元素可以在foreach中使用as:foreach($bloglist as $blog);判断某元素是否在数组中:in_array($lookingFor, $bloglist),返回布尔值真假;数组中每个元素都有个默认的key,可以这样输出看看:while (list($key,$value) = each($bloglist)) {echo "$key : $value<br>";};还可以合并多个数组$bloglistall = array_merge($bloglist1, $bloglist2);得到两个数组的交集可用array_intersection($bloglist1, $bloglist2);差集可用array_diff($bloglist1, $bloglist2);如需要合集则先array_merge(),然后再用一次array_unique();对数组进行排序则用sort($bloglistall),默认是英文字母顺序;数组的key必须是唯一的,并且key可以设定为字符串,默认是整数。关于数组,更详细的阐释是Array的官方说明(e文版)。
  5. 奇妙的类型自动转换。print("8&heart5"+20);输出结果为28。
  6. 字符串函数:strlen,得到字符串长度;substr($v,start_pos,length),截取指定长度的字符串,不指定长度则自动取到末尾;strripos($v,"postname"),是否包含指定子字符串,返回所处位置或;sscanf,扫描规律字符串得到相应变量;printf,格式化输出字符串;str_replace,替换子字符串;strstr,找到特定子字符串出现的位置;rtrim会删除末尾的空格和换行等字符,包括空格、\t、\n、\r、\0、\x0b;explode会自动处理行尾的空字符。
  7. 正则表达式。ereg('^/[0-9]{4}/[0-9]{2}/{0,1}$',$out_url);匹配/2008/10
  8. 时间函数。println(strtotime("now"));输出1224902867,然后用date函数格式化println(date("c",$d1));输出2008-10-24T18:03:42+08:00,println(date("r",$d1));输出Fri, 24 Oct 2008 18:03:42 +0800,如果用gmdate则输出格林威治标准时,println(gmdate("r",$d1));输出Fri, 24 Oct 2008 10:03:42 +0000;其中时区信息是通过date_default_timezone_set('prc');设定的,prc指中国大陆,也可以是其他,有效值列表见这里;另外strtotime还可以对时间做修正,比如strtotime("3 October 2005")和strtotime("1 days",strtotime("2 October 2005"))输出的结果都是一样的,可以用的修正符号有“+1 week 3 days 7 hours 5 seconds”,可以用+-号。
  9. file打开某个文件并把每行读入数组;fopen打开一个文件返回句柄,可以设定打开方式为读或者写,打开后内容置空;fwrite则写入内容,成功则返回true,否则是false;操作完毕后需要fclose关闭句柄。

三、WordPress

  1. get_option直接得到选项值,不用每次用mysql语句查询。
  2. get_permalink($id)得到帖子的固定链接地址,注意是包含域名的绝对路径,如果需要相对路径,则需要str_replace(get_bloginfo("url"),"",get_permalink($id));
  3. update_option如果该项不存在会自动建立。技巧:如果不能确定某个选项是否存在,则可以先update后再delete。
  4. 数组可以一次性存入option中,存储形如a:2:{s:5:"title";s:8:"my titile";s:4:"body";s:12:"Home is warm";},a指的数组,2是元素个数,title是key名称,5是字符串长度,my titile是title的值,后面body同。
  5. 要调用插件或主题中的函数必须进入wp的主题运作机制,直接调用是无效的,出于安全考虑,同时也是因为无法得到相关环境设定和变量。官方提供的方式是模板,比如您可以自己定义一个page的新模板,然后创建page是选择新模板就可以了。模板标头有特殊要求,见这里
  6. php代码执行其实是以用户权限进行的,因为可以获取文件的在服务器上的本地地址并进行读写操作。

四、HTML

  1. 因为php可以控制输出逻辑,因此可以尽量使用html代码而不是通过php的echo或print输出,这样页面逻辑更清晰,也容易调试。
  2. 表格需要设定宽度后,表格单元中的左对齐右对齐才能起作用。
  3. input type=checkbox name='statpress_showhotdepth' value='checked' xxx

五、CSS

  1. 样式表嵌入标签的方法。<table class='mytable'>……</table>,这种情况下mytable应该在外链的css或者当前页面自定义的css中已经定义过;或者直接写style:<table style="outline:dotted 1px green;">……</table>
  2. 在形如#sidebar h2{……}中,仅对那些class是sidebar中出现的h2才起作用。

web开发环境的搭建(for php)

热度:

为了方便程序开发,必须要搭建一个开发环境。需要一个http服务器、支持mysql和php,这样才能在本机上运行wordpress。在网上找到了xampp,用了一段时间,感觉不错。稍微记一下,聊以备忘。

下载apache friends - xampp

安装:下载安装版本一路next就行了,或者下载zip版本自己解压后运行xampp_setup.bat。

使用

用管理面板启动Apache和mysql即可。需要注意的是请修改xampp安装目录下的apache\conf\httpd.conf,把#LoadModule rewrite_module modules/mod_rewrite.so语句中的#去掉,否则不支持wordpress中的permalink。

至于mysql的优化,建议找专门的文章学学,me简单调整了下my.cnf中的参数,效果很一般,运行起来还是慢的要死,看来这是个专业活。