手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2010年01月的文章

UserAgent分析

本文并不是教你怎么分析,事实上,分析UserAgent也是一件很简单的事情,正则以空格分开,后前没有标点,就行了。。

不过,想要知道UserAgent里那么多的参数代表了什么意思,那还是一件挺复杂的事情,这不,有个网站就做了这样的事情,Look:http://www.useragentstring.com/

你会看到Useragent的分析报告 。。。

对于一般用户来说,他们是不会修改UserAgent的,但是对于经常混迹于互联网的你来说,一定要学会修改,呵呵,Firefox就有插件:Nightly Tester Tools

大小: 14.51 K
尺寸: 500 x 353
浏览: 1296 次
点击打开新窗口浏览全图

事实再一次证明,创意远比技术来得重要。。。

网易免费邮箱(163、126)重新免费开放POP/SMTP服务

其实,这个新闻里所说的:【众所周知,2006年12月之后申请的网易免费邮箱不再提供免费POP/SMTP服务】,我还真不知道。。。
我只是奇怪为什么我的帐号可以发邮件,而同事的却不能发。。毕竟我们更多的时候是用PHP来发邮件的。

原来是这样啊,http://www.cnbeta.com/articles/101483.htm:

据广大网友反映,从今天晚上20点40分开始,网易免费邮箱(163、126)再次免费开放POP/SMTP服务。众所周知,2006年12月之后 申请的网易免费邮箱不再提供免费POP/SMTP服务,不少用户因此都埋怨网易小气。可能是因为前几年稳坐国内免费邮箱头把交椅的缘故,网易一直对用户要 求免费开放POP的呼声置之不理。 这两年,随着QQ邮箱的高歌猛进,大量网易邮箱用户开始倒戈,投入QQ邮箱和gmail的怀抱,网易的免费邮箱老大哥地位也摇摇欲坠。2010年伊始,网易邮箱便展开了一些列大动作。升级到3.5版后,网友们欣喜地发现网易邮箱开始变得厚道起来,主要变现在:

1.从上个月开始, 免费邮箱去掉了发信时的广告尾巴;
2.从今天晚上20时40分开始,网易163和126免费邮箱可以免费开通POP服务。(默认未开启,用户需在邮箱设置中手动开启)

--EOF--

邮箱中,我常用的也就163和yahoo了。自从foxmail推出后,我也用了foxmail,但是现在。。。。登录却跳到了QQmail,真伤心。。。139邮箱也在用,不过。纯粹是为了免费提醒功能。可以让我收到一些提醒信息。。

163一改版,我就立马发现了。确实顺手,而且速度也很快

Tags: 163

Google的20%项目让你的网速达到极限

上个月谷歌推出了自己的DNS服务Google Public DNS,该项目的主要目标之一是速度。但问题是大多数互联网用户不知道什么是DNS服务器,更不用说如何配置DNS服务器或者说测试它的速度有多快了。现在Google推出了他自己的DNS测试工具Namebench,它可以帮你轻松找到最快的DNS。

Namebench作者是Google的一个工程师,他开发这个这个工具的目的是希望它能够帮助人们正确查找出有效的DNS中最快的一个,使网速达 到同等条件下能够达到的最快速度。Namebench是跨平台图形用户界面软件,并提供命令行接口,支持包括Windows,Linux和OS X在内的操作系统平台,而且是完全开源的。这个项目作为Google的”20% 项目”运行。不妨下载试试看!

你可能担心,Namebench是由Google工程师开发的,那么它是否会偏袒Google Public DNS呢?实际上不会,我刚才测试了一下,结果显示Google Public DNS的速度只是所有DNS中速度中等的一个,最快的DNS服务是Google Public DNS的最大竞争对手—OpenDNS。

使用Namebench进行测试可能会花费几分钟时间,但这是值得的,因为在它帮你找的最佳选择之后,就能使你的网速在同等条件下尽可能的快了,这对于抢沙发的你来说是多么重要啊!不是吗?

--EOF--
其实,新闻是几天前的了,本来也没有这么关注过,但事实上,最近发生的很多事情让人不得不关注啊。先是DNS频繁出错,后来 又是无法解析,时断时续,然后就开始使用8。8。8。8这类国外的DNS,所以,对于namebench就有点关注了。

有时候真的想建议领导,把8小时工作制改为7小时,对于技术人员来说,每天能够拿出一小时时间来看看书,学习一点其他的,或者放松一下,其实对于效率来说,反而会是提高的。

新闻原址:http://www.cnbeta.com/articles/101265.htm

Tags: google, namedns

又见使用Guid做主键和int做主键性能比较的文章

关于使用GUID和INT做主键,性能差异的文章历来很多,不过。大多都是从理论上来说明,这次难得看到某人用PC机做测试,所以贴上来看看。但我不贴全文,毕竟。。。大量的代码贴上来,也没有太大的意义 。所以仅贴上主体内容和测试结果,当然还会有一些用户的评论。。

原文网址为:http://www.cnblogs.com/jackhuclan/archive/2010/01/04/1639005.html
内容大致如下,【如想看全文,请使用上面的链接】
在数据库的设计中我们常常用Guid或int来做主键,根据所学的知识一直感觉int做主键效率要高,但没有做仔细的测试无法说明道理。碰巧今天在数据库的优化过程中,遇到此问题,于是做了一下测试。

 

测试环境:

  台式电脑 Pentiun(R) 4 Cpu 3.06GHz
Win XP professional
1.5G DDR RAM
SQL Server 2005 个人版 

测试过程:
首先创建测试数据库Test
1.创建Test_Guid表,创建Test_Int表
2.创建Test_Guid子表:Test_Guid_Detail和创建Test_Int子表:Test_Int_Detail,用来做连接查询
3、然后进行一些CRUD的操作【这是我写的,因为原文中写插入N行数据,删除N行数据之类的太复杂,也太多,简化为一句话了】

测试结果如下
大小: 50.14 K
尺寸: 326 x 376
浏览: 1687 次
点击打开新窗口浏览全图

综上所述,使用int做主键比用guid做主键各中情况下效率均有提高,特别是在有连接查询和删除记录效率提升明显。

而且本人今日在guid做主键的数据查询中因为嵌套几个子查询结果屡屡出现查询超时。因此本人赞同用int做主键,不赞同guid做主键。
以上观点代表个人观点,欢迎大家各抒己见,说明guid和int各自做主键的优劣所在。

----EOF---

本来到这里就可以结束了,但有一个用户的评论还算不错:

徐少侠
  1. 首先  
  2. 10万行不算大数据量  
  3. 我测试插入操作的时候是1600万行。性能约有10-20%的差异  
  4. 当然,10万行也能说明一些问题了  
  5.   
  6. 其次,请在所有的where和on条件中使用到的列身上增加一个索引  
  7. 也就是说所有的外键都要有索引,非唯一索引  
  8. 具体说,就是主表的TestId以及子表对应的外键列  
  9.   
  10. 然后再重新执行一下上述测试  
  11. 主要对带where和inner join的测试表示疑问  
  12.   
  13. 最后,int在多数情况下一定比Guid快,这是不用怀疑的。  
  14. 同时,查询优化主要靠索引,以及对索引树的优化以及查询顺序的安排  
  15. 主键的数据类型一般只影响到插入操作的速度  
  16. 对于查询操作的影响是比较小的  
  17. 不至于出现50%左右的性能差异  

更多的人认为GUID在做数据迁移的时候很方便,而如果使用INT则会有意料不到的问题。而GUID遇到的问题会少很多。。。

相对于以上的观点我还是比较认同的,但我认为性能相差这么大是有可能有以下的原因:
1、作者用的是PC机
2、操作系统是XP
3、sql server 是个人版【我没有试用服务器版性能如何,但我想,一定比个人版性能更优,当然这是猜测】

说归说,对于MYSQL来说,基本上还是只能使用INT做主键。毕竟MYSQL没有自带的生成GUID的方法【我不是指手动生成,我是说自动生成。。。UUID()函数是可以生成GUID的,但不能象INT那样自动插入,也没有办法设置default为UUID()方法】

Tags: guid, int

ThinkSNS 插件配置BUG

由于最近一直在使用thinksns,所以相对关注的就比较多了一点。BUG偶尔也会发现一些,小的就不提了,没意义,偶尔也有可能是手误的关系,但一些稍大一点的。我还是写下来做个记录。。

比如这个插件配置的BUG。

一般来说,项目的配置要覆盖原始配置都是array_merge就结束了。于是乎,ThinkSNS在每个插件的Conf目录下的Config文件里也都有这么一行。

然而。。。问题就出来这里,插件的作者好象都没有注意过Array_merge的作用范围。

大多情况都是这样写的:

PHP代码
  1. $miniConfig = array (  
  2.     'DEBUG_MODE'        =>  false,  
  3.     'DEFAULT_ACTION'    =>   'index',  
  4. );  
  5. $array = require_once( SITE_PATH.'/config.inc.php' );  
  6. $array = array_merge$miniConfig,$array );  
OK,让我们来温习一下array_merge函数。
XML/HTML代码
  1. array_merge() merges the elements of one or more arrays together so that the values of one are appended to the end of the previous one. It returns the resulting array.   
  2.   
  3. If the input arrays have the same string keys, then the later value for that key will overwrite the previous one. If, however, the arrays contain numeric keys, the later value will not overwrite the original value, but will be appended.   
  4.   
  5. If only one array is given and the array is numerically indexed, the keys get reindexed in a continuous way.   

看到第二段没?如果有相同的KEY,后面的会覆盖前面的。。那么。。上面第6行的array_merge,和没运行有什么区别???

把参数顺序颠倒一下就OK了。。。

Records:3912345678