作者文章: Fenng

GreatNews 订阅本 Blog 的朋友请注意

Feedburner 的统计中可以看到,大约有 100 个朋友使用 GreatNews 订阅本 Blog,这个数字很久没有发生太大变化了。这可能是因为 GreatNews 的一个 Bug 造成的。
GreatNews 目前正式发布的版本是 1.0 Beta (Build 370)。这个版本订阅 FeedBurner 烧录的 RSS 有一个比较恼人的问题: 点击单篇 Blog 的 链接,总会提示你:

链接可能是个新闻频道,要尝试订阅吗?

根据 GreatNews 官方论坛上对该问题的解释,最好升级到 Build 371 (或者更高)。在 Build 371 的 ChangeLog 可以看到:

-Fixed: GreatNews treats FeedBurner modified article urls as rss feeds

不知道为什么官方站点不正式放出来新的版本。
现在论坛上已经看到 1.0 Build 373 发布了。推荐下载使用这个版本。
1.0 Build 373 地址
GreatNews 是我首选的 RSS 阅读工具,可能也是目前最好的桌面客户端 RSS 工具。我向大家推荐它。
EOF

Blog 剽窃是我最反感的事情

剽窃者


剽窃者

Originally uploaded by Fenng.

写Blog 本来是挺美好的一事儿。可每次看到那些剽窃我 Blog 内容的时候都感觉很恶心。这是我最反感的事情。
我以前写过《这些大网站都用什么操作系统与Web 服务器?》,偶然搜索一下,很多所谓的“博客”,直接一字不差的贴在自己的“博客”上(见图),继续搜索一下,会发现非常多类似的帖子被别人冒名顶替,就是不标记出处。这不是剽窃是什么? 我的 Blog 版权不够明显么?
我为什么火大? 这和老罗反感新东方的有些无耻年轻老师抄袭老教师不但抄袭老教师的讲课内容还把老教师讲述的人生经历也套在自己身上一样。造成的后果是学生认为老教师在抄袭那个无耻的年轻教师。看看那些”博客”,一个字不改,就好比有个人模仿你的一言一行去博取别人的好感,能不恶心么?
虽然我说过《转载技术文章是对互联网的一种伤害》,现在也只能把标准继续降低:转贴我的 Blog 内容无所谓,必须注明出处。否则我向这类人比出中指!
借《疯狂的石头》的道哥之口送这类人一句话:素质,注意素质!

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