科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Linux系统小型日程表挑战大型群件 (3)

Linux系统小型日程表挑战大型群件 (3)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

群件很强大也很重要。如果需要,可以购买一个群件系统。或者可能是一个集群 —— 有一个使用了 RAID 的专用的数据库服务器,以及磁带备份的保证,还有单独的机器来运行界面。为什么?当然是因为它更可靠,而且可以根据负载扩展!

作者:hehao 来源:赛迪网技术社区 2007年10月22日

关键字: 操作系统 群件 挑战 Linux

  • 评论
  • 分享微博
  • 分享邮件
 

我不喜欢漫长的告别

于是,您可以登录进入。不能登录出去 —— 出于未知的原因,多数浏览器通常不允许刷新所请求的用户名/口令组合的内存。可以刷新 cookies,可以刷新缓存 —— 但是浏览器可能仍然认为它知道您要做什么。

所以,如果登录到公用的计算机,那么在离开之前一定要关闭整个浏览器。否则,人们可能碰巧会看到您的家务杂事列表,而不是他们自己的,这样就会出笑话了。如果这确实是个问题,那么可使用 cookies.

尽管如此,这使得系统允许用户使用他们自己的用户名登录,对于让用户添加记录来说就足够了。只要有添加记录的途径!

室友记录

实现此目标的基本概念很简单:公开地张贴有时间标记的消息,用户可以读取。 Berkeley msgs 工具刚好是所需的复杂程度(也就是说,几乎根本就不难)。每个文件将包含一个名称、一个时间标记以及一些文本。系统将向用户显示特定时间段的消息,或者将用户最后一次访问之后张贴的消息显示给他们。

要读取的消息的数目应该暂时不重要,所以我将使用最简单的所有文件格式:目录中的全部文件,每个文件中,第一行是一个时间标记和一个用户名,然后是一些文本。这甚至不需要为文件准备数据库;文件系统的灵活性就足够了。(您可能会问我为什么不直接使用文件系统中的时间标记;答案是我并不相信它,因为粗心的用户会破坏它。我的很多目录中所有的文件都拥有相同的时间标记。)我确实需要某种类型的数据库,用于用户以及他们的最近的时间标记,所以每个用户都将拥有一个数据文件,现在其中包含有一个时间标记。

整个项目很小,只使用一个 CGI 脚本就可以借助 Perl 的标准 CGI 模块来实现。目标是折衷所需附加代码(尽可能少)以及所需开发时间(尽可能短)。在本例中,系统所附带的功能是足够的。

/var/www/msgs 是一个新目录,用于保存消息(以数字命名的文件)和用户记录(使用 .htaccess 文件中给出的用户名作为文件名)。CGI 脚本会识别自身,执行被请求的动作,并展现出相当简单的界面;它所需要的只是一些按钮和一个文本区域。 为了表示尊敬,这个脚本命名为 msgs.cgi.

开发过程中涉及了一些设计方面的考虑。

甚至不需要去解析日期,因为在大部分情况下可以简单地让用户使用按钮(最近 24 小时、上一周、自上一次访问,以及所有消息)。

以数字为名称的文件可以简单地由内置的 glob 来识别,它能够方便地整理文件。不过,如果数字的位数发生了变化,整理就会发生错误,所以要给出前导的零。脚本并没有精心地去分辨主题,而只是为每条消息的第一行使用了 H3 标签。程序假定输入消息的全部 HTML 都是没有恶意的。如果室友没有足够的幽默感,那么用户在写入时应该仔细检查。

这个脚本非常短小,只有 2K 多一点。不过,它也有潜在的开销,因为 CGI 库实际上很大。但是相对于更大的系统,它还是非常小的,而且它提供了一个适当的途径让用户张贴消息并让其他人方便地进行查看。

图 1. 尽管针对室友的记录的实现方法发生了变化,但其基本特性没有发生变化

可能以后会开发某些方法来指定时间范围或搜索函数。最好也要有删除较老消息的方法。虽然如此,相对于贴在冰箱上的淡黄色便笺,这是一个可靠而实际的创新。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章