如何让你的网页在Firefox右下角显示RSS标签

  Firefox右下方的RSS标签是表示目前浏览的页面提供了RSS来源。我们在网页的标签内加入下面这行代码,就可以让Firefox识别一个RSS来源:
<link title=”bluetent RSS” href=”rss2.php” type=”application/rss+xml” rel=”alternate” />
  其中title是这个来源的标题,可以自行设定,href是这个RSS的链接。
  目前似乎只有RSS2.0可以被Firefox识别。

使用mrtg监控Linux服务器的流量负载

  MRTG(Multi Router Traffic Grapher)是一个监控网络链路流量负载的工具软件,
它通过SNMP协议从设备得到设备的流量信息,并将流量负载以包含PNG格式的图形的HTML 文档方式显示给用户,以非常直观的形式显示流量负载。
  笔者近日在一台操作系统为Linux的服务器上使用了mrtg,现简述安装过程:

  1. 安装mrtg:具体过程略。
  2. 修改snmp配置:vi /etc/snmp/snmpd.conf

    #view systemview included mib2
    修改为:
    view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc

    access notConfigGroup “” any noauth exact systemview none none
    修改为:
    access notConfigGroup “” any noauth exact mib2 none none
    目的是为了让mrtg可以读取snmp数据。
  3. 创建mrtg配置文件:/usr/bin/cfgmaker –output /etc/mrtg.cfg public@localhost
    其中mrtg.cfg是我们打算生成的配置文件名称,cfgmaker的位置根据实际情况做适当改动,localhost可修改成自己的IP地址。
  4. 创建mrtg访问首页:/usr/bin/indexmaker –output=/var/www/mrtg/index.html
    /etc/mrtg.cfg
    事先需要安装并设置好apache,并建立相关目录,然后由配置文件生成html页面。
  5. 执行mrtg:/usr/bin/mrtg /etc/mrtg.cfg
    注意刚开始连续执行三次,遇到错误可以忽略。此后可将该句置入cron中定期运行。

  网上有不少实用的参考资料可以借鉴,比如 http://www.yesky.com/SoftChannel/72356686970486784/20031030/1740516.shtml

细细品味UNIX的数据流重定向

  我们经常会在UNIX系统下的一些脚本中看到类似”2>&1″这样的用法,例如“/path/to/prog 2>&1 > /dev/null &”,那么它的具体含义是什么呢?
  UNIX有几种输入输出流,它们分别与几个数字有如下的对应关系:0-标准输入流(stdin),1-标准输出流(stdout),2-标准错误流(stderr)。”2>&1″的意思就是将stderr重定向至stdout,并一起在屏幕上显示出来。如果不加数字,那么默认的重定向动作是针对stdout(1)的,比如”ls -l > result”就等价于”ls -l 1 > result”。这样便于我们更普遍性的理解重定向过程。
  下面举例说明:
#cat std.sh
#!/bin/sh
echo “stdout”
echo “stderr” >&2

#/bin/sh std.sh 2>&1 > /dev/null
stderr

#/bin/sh std.sh > /dev/null 2>&1

  第一条命令的输出结果是stderr,因为stdout和stderr合并后一同重定向到/dev/null,但stderr并未被清除,因此仍将在屏幕中显示出来;第二条命令无输出,因为当stdout重定向至/dev/null后,stderr又重定向到了stdout,这样stderr也被输出到了/dev/null。

Server Push技术

  服务器推送(Server Push)的思想是由服务器主动发送信息,并与客户端保持连接,直至服务器或客户端有一方自行中断连接为止。
  Server Push的优点在于减少了建立、销毁连接的时间,去除了无用的页面刷新,缺点是占用了大量端口和相关系统资源,单纯的Server Push无法支持大用户量的服务。
  Server Push使用了multipart/x-mixed-replace这种MIME类型,报文范例格式如下:

Content-type:multipart/x-mixed-replace;boundary=ThisRandomString
–ThisRandomString
Content-type:text/plain
第一个对象的数据
–ThisRandomString
Content-type:text/plain
第二个(最后一个)对象的数据
–ThisRandomString–

  每个数据块由三部分组成:一是Content-type之类的头标,二是数据正文,三是报文边界,每当客户端接收到新的头标时,原有文档将被清除,并被新的数据块填充。
  Apache和IIS均支持Server Push技术,笔者推荐Linux/Unix下的Apache软件,它可以自由的增删相应模块,以满足较多连接状态下的高性能需求。

电子期刊协同编辑系统设计

  同其它OA系统类似,电子期刊编辑系统的设计目的是为了减少网络交流带来的不便,协调各部门的进度,提高工作效率,从而将编辑从枯燥的排版、美工中解脱出来,把更多的精力投入到期刊内容的规划中去。
  下面笔者将从几个方面来阐述编辑系统的相关设计思想。

PHP5与Sqlite运用于期刊编辑系统的可行性分析

1. 电子期刊编辑系统的特性分析
1. 数据安全性:对于电子期刊编辑部来说,数据的安全是最重要的,它是整个部门脑力劳动的结晶,因而,电子期刊编辑系统的设计需要易于数据的移植和备份。
2. 代码易用性:编辑部成员并非都是电脑高手,一套便于安装维护的代码会更利于日常工作的进行。
3. 平台无关性:我们希望代码是平台无关的。费力腾出一台机器安装这套代码显然没有必要,只要硬件稳定,无论什么OS都能跑的很好,这才是省心的系统。

2. PHP5与Sqlite有利于电子期刊编辑系统的一些特点
1. Sqlite的数据库以文件形式独立存放,管理员可以使用ftp、rcp等方式异地备份。
2. 管理员只需懂得配置apache+php5、IIS+php5等组合之一,并将代码拷贝到一个目录下,即可完成安装。

保存与查看编辑历史

  大家知道在Unix/Linux下有一个命令叫做diff,它可以表现出两个文本文件间的差异,并用规范化的格式输出结果。人们用它来制作patch,比较文件,一些协同开发平台如也广泛应用了这样的思想。
  将编辑历史用diff表现的好处是节约大量硬盘资源,下面我们借鉴pmwiki(一套基于php技术的wiki系统)的一些设计,介绍如何保存一篇文稿的编辑历史。
  pmwiki将每篇文章保存为一个单独的文件,各个历史版本与前一个版本的差异就以特定的格式附加在文件的末尾,我们期刊编辑系统则可以设计一个diff表来存储编辑历史,这个表应至少包含“稿件id”、“改动时间”、“diff内容”几个字段。
  最关键的一点是:如何得到diff的内容呢?pmwiki是这样做的:
//$tempold和$tempnew是文章改动前后的两个版本
$SysDiffCmd = ‘/usr/bin/diff’;
//…
$diff = ”;
$diff_handle = popen(“$SysDiffCmd $tempold $tempnew”,”r”);
if ($diff_handle) {
while (!feof($diff_handle)) { $diff .= fread($diff_handle,1024); }
pclose($diff_handle);
}
@unlink($tempold); @unlink($tempnew);
return $diff;

  其实就是利用系统的diff程序,附加管道方式读取。

MSN出现0x81000370错误的解决方法

  今天在登录MSN6.2的时候,突然出现了“0x81000370错误”,由于先前只是更改了软件的配置,没有动过程序文件,因而比较奇怪。google一番找到了几种解决办法,在此与网友分享。

1. 进入命令行方式:输入regsvr32 softpub.dll,重新打开MSN并登录。我的MSN就是用这种方法解决的。
2. 如果上面的方法不行,就仔细回忆刚刚进行的配置改动,例如网络环境、代理服务器设置、防火墙配置,都是需要考虑的因素。此外还需查看IE的安全设置,以及用户密码是否正确等等。