Server-Side
Planet 是一个比较常用的 feed 聚合器,GNOME、Debian、Perl 等社群都使用这个收集他们相关的新闻,采用的是 Mark Pilgrim 的 Universal Feed Parser (现在这个 feed parser 已经不由 mark 维护,而是放在 sourceforge.net 由几个人共同维护),原来的设置里没法正常处理中文,前几天试用这个东西的时候,顺手做了点修改。这里是 diff 文件,应用在 planetlib.py 上 (我的修改根据的是前几天的一个 nightly 版本)。
但请注意,这仅仅是一个面向简体中文用户的修改,如果你希望支持其他的编码 (比如 ISO-8859-1、Big-5 等),可以参考我的改动变化一下,并不复杂。
因为面对的仅仅是简体中文用户,所以只需要保证不同的来源编码 (gb2312、gbk、gb18030 和 utf-8) 都能够正确转换成目标编码 utf-8 即可。现在使用的策略是这样的,不根据 xml encoding= 中的内容来判断编码,首先尝试以 gbk (即 cp936) 解码,不行则用 gb18030 解码,再不行则直接返回 (认为此时是 utf-8)。
这种策略是考虑到简体中文的 blog 一般只有可能使用上述三种编码。(本来没用 gb18030,但在测试的时候遇到一个 blog 的 RSS 有个地方 gb2312 无法解析,换用 [...]
Apache 的模块是很有意思的东西,原来 O’Reilly 有本 Writing Apache Modules in Perl and C,算是这方面的终极宝典,可惜此书名不副实,Perl 的内容占了绝大部分,C 的内容几乎是一笔带过 (也难怪,作者就是 mod_perl 的作者嘛),而且这本书是 1999 年写的,也是按照 Apache 1.3 的内容来写的,和现在 Apache2 的情况已经有了不少差别。
而且网上有的教程都是讲 Linux 下的配置过程,问题在于我自己在测试开发的时候是要用 Win32 下的 Apache 的,所以只好自己搞定。
我在网上 google 了一下,没找到什么详细的资料,考虑可能有朋友需要这种上手的教程,把今天的步骤写下来。
安装 Apache 2.
到 这里 找到一份最简单的 Apache2 module 源代码,这里有这份代码的详细说明,不过讨论是 Unix/Linux 下的情况。
如果你没有安装 Visual C++ 6.0 或者 Visual Studio .Net 的话,可以安装 Visual C++ 2003 Toolkit,这是免费的 M$ 的 C++ [...]
现在做的东西基本上和 Web 无关,所以也就很久找不到什么 Web 标准相关的东西,有的时候太注重效率了,做起东西来束手束脚的,也很不爽。
前一阵子我用 C 写过一个简单的模版库,用于高效率,但保留一定灵活性的 CGI 程序,不过这份代码已经和我的 C 盘一同被格掉了,所以现在可以放弃它,开始一些新的想法。
最近比较喜欢的几个东西有,用 PHP5 调用动态链接库 (.so) 文件的方式、在 PHP5 下使用 sqlite 轻量级数据库、用 lua 语言的一个扩展 CGILUA 写 CGI 程序、Perl 的 Template Toolkit,等等。时间紧张,来不及加上链接,有兴趣的可以自己 google 一下,不难找到,前两个 php.net 有文档,最后一个 O’Reilly 出了一本书。
一切从一个糟糕的浏览器开始,它完全不支持 XHTML。
我一直觉得很有必要谈一点很基本的东西,这就是我们的 Web 是如何运作的,或者说,Web 浏览器和 Web 服务器是如何运作的,其间又是如何交互的。因为了解原理之后,许多设计师,或者开发者们的困惑就迎刃而解了。这些困惑包括:我能不能用 ASP(.net) 开发符合标准的网站?网站是不是只有静态的才能符合标准?等等,事实上,在你了解原理之后,就会明白它们都不会成为问题。
© jjgod / blog. Powered by WordPress using the DePo Skinny Theme.