写Blog 本来是挺美好的一事儿。可每次看到那些剽窃我 Blog 内容的时候都感觉很恶心。这是我最反感的事情。
我以前写过《这些大网站都用什么操作系统与Web 服务器?》,偶然搜索一下,很多所谓的“博客”,直接一字不差的贴在自己的“博客”上(见图),继续搜索一下,会发现非常多类似的帖子被别人冒名顶替,就是不标记出处。这不是剽窃是什么? 我的 Blog 版权不够明显么?
我为什么火大? 这和老罗反感新东方的有些无耻年轻老师抄袭老教师不但抄袭老教师的讲课内容还把老教师讲述的人生经历也套在自己身上一样。造成的后果是学生认为老教师在抄袭那个无耻的年轻教师。看看那些”博客”,一个字不改,就好比有个人模仿你的一言一行去博取别人的好感,能不恶心么?
虽然我说过《转载技术文章是对互联网的一种伤害》,现在也只能把标准继续降低:转贴我的 Blog 内容无所谓,必须注明出处。否则我向这类人比出中指!
借《疯狂的石头》的道哥之口送这类人一句话:素质,注意素质!
Monthly Archives: September 2006
Yapache-Yahoo! Apache 的秘密
作为世界上 NO.1 的 Web 站点,Yahoo! 的 Web 服务器定有独到之处. 这也应该是很多 Web 技术人员关心的一个问题。
前一段时间, Yahoo! 架构软件组的技术经理 Michael J. Radwin 在 OSCON 2006 上作了一个题目为 Hacking Apache HTTP Server at Yahoo! 的报告,透露了很多关于 Yahoo! Apache 的技术信息。
Yahoo! Apache = Yapache , 这是雅虎内部使用的名字吧。发音是(why·apache)(注:根据下面的留言,读音应为[ya`pache])。 YApache 是基于 Apache 1.3 进行 hack 的,目前在向 Apache 2.2 迁移(Prefork Multi-Processing Module ?)。 Michael 介绍说构建 YApache 的原因有三个:
1) 安全性;
2) 节省带宽;
3) NETSCAPE GUIDE BY YAHOO–这是 97 年的时候 Yahoo! 与 Netscape 联合推出的 一个互联网信息与导航服务,需要用到富媒体内容,当时的 Apache 对这样的内容支持较弱,所以雅虎不得不动手改造 Apache (要知道97 年的时候 Netscape 就好比现在的 Google 啊)。据说这才是主要原因。
Apache 1.3 的功能对雅虎来说已经够用 (在 98 年对 yapache 添加了 gzip 的支持),所以这个版本一致用到现在。YApache 的一个倾向性的原则是用进程而不用线程,相对比较保守,不过这样选择的原因也是很明显的:进程更加稳定,线程对与程序员来说,更容易引入新的问题。
接下来 PPT 描述了一些关于 LOG 格式的内容,继续看下去,我感兴趣的是关于配置参数 StartServers / MaxSpareServers / MinSpareServers / MaxClients 的问题。很多 Web 技术人员往往要在这个地方反复推敲。YApache 一般只设置 MaxClients,这个值一般小于 100, 对于 99% 的站点是足够用了。尽量让系统(Yahoo! BSD) Kernel 来处理 Buffer, 在这个地方关于 几个 kernel 参数的设置很有讲究。
关于SSL 的部分我不太感兴趣,倒是最后的 ysar (Yahoo! sar) 看起来是一个有趣的工具.
这样的定制对于 Yahoo! 这样需要大量 Web 服务器的站点来说(现在平均每天接近 40 亿 的 PV),得到的收益无疑是巨大的。对于规模相对较小的 Web 2.0 站点,类似 LightTPD 这样的轻量级 Web 服务器更为适合(比如豆瓣):
$ curl -I www.douban.com HTTP/1.1 200 OK Connection: close Status: 200 OK Content-Length: 13213 Content-Type: text/html; charset=utf-8 Set-Cookie: dbcl2="MPmAySb0OYE::"; path=/; domain=douban.com; \ expires=Thu, 01-Jan-2009 00:00:00 GMT Date: Fri, 22 Sep 2006 12:34:16 GMT Expires: -1 Server: lighttpd/1.4.11
(那些盯着豆瓣页面看的模仿者,很少有人留心豆瓣的运维技术吧)
在线查看这个PPT: Hacking Apache HTTP Server at Yahoo! (PDF Version) (其实这个文档和 05 年的内容基本上是一致的)。
cURL Tips
记录一下使用 cURL 时的一个小技巧.
比如上次举的这个备份 del.icio.us 书签的例子中,因为该页面需要验证, –user YourUserName:YourPassword ,需要提供用户名字和密码,我上次说:
如果想定期备份,又怕密码出现在命令行上,可以考虑把这个命令写到一个脚本里,能提高一点点安全。
其实通过 -K 参数就可以很好的避免这个问题,创建一个文本文件 .pass ,内容如下
--user YourUserName:YourPassword
(把具体的用户名字替换一下) 然后通过:
curl https://api.del.icio.us/v1/posts/all -K .pass
cURL 的功能足够丰富,官方站点的文档也足够全,如何在实际工作中方便、灵活的用到这些功能,需要慢慢磨练。
cURL 也是我 Windows 上安装的命令行小工具之一.
–EOF–
Opera 90.1 版本? Opera 90.2 版本?
难道软件也要时不时的搞点绯闻才好? Opera 上次升级的时候看到一个 90.1 的版本:

这次 9.02 升级,这个问题还是存在:

这么低级的错误倒让人怀疑是不是 Opera 有意为之. 只可惜 Opera 不是大明星,如果是 Google 什么软件的版本这样搞一下,估计全世界都会知道了。
