首页 > 范文大全 > 正文

“自习室搜索器”DIY

开篇:润墨网以专业的文秘视角,为您筛选了一篇“自习室搜索器”DIY范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

果果:又开学了,你在为找自习室发愁吗?如果你是北师大的学生就有福了,因为有高人开发了自习室查询平台,可以实时了解全校哪里可以上自习,PC、手机查询都OK()。你完全可以模仿一个这样的平台惠及全校师生,就让开发平台的同学手把手教你吧(如有不明之处,请发邮件至、)。

建站背景:北师大有9个主要的教学楼,由于学生众多,自习室资源常常不足。我们亲身经历了这样的痛苦,一开始满怀激情地去上自习,到最后失望而归。2009年春天,我们开始开发在线查询每个教学楼每天排课情况的平台。

实现过程:

1.教室数据存储结构

这个树形结构用什么载体实现查询呢?来看以下代码:

(教学楼IP)

(r00m是教室节点)

111100110000(w是星期节点)

001100001110(每周7天)

111111000022(每天12节课)

011100000000 (0 为无课)

110000001100 (1为有课)

011111111000 (2为有活动)

111111101100

这段代码属于XML(Extensible Markup Language,可扩展标记语言),它与HTML一样都是标准通用标记语言。由于XML具有天然的树形结构,因此我们采用它作为数据载体,并按周建立相应的XML文件。展现层可以根据数字用不同的颜色区分无课、有课、有活动。在周次确定的情况下,可以用XPath很方便地查找给定教学楼、给定星期的教室安排。

2.教室数据获取

北师大教务网络管理系统里可以查询每个教室一周的课表,但是同学们不可能每次上自习前都查遍几百个教室,因此我们搜集每个教室的数据,然后存储到之前所述的XML文件中,再通过更为直观的方式展现出来。

获取数据的原理和爬虫类似,抓取所有教室的排课情况,通过程序进行汇总处理,保存到我们设计的数据载体中。这里面需要用到页面的GET/POST请求、网页流处理、正则表达式替换等技术。

3.用户界面设计

我们设计了简单易用的用户界面,用Fireworks制作各种精美的图片应用于网页,同时也设计了一些漂亮的图标标识各个楼宇,界面整体漂亮大方。有了良好的界面,更重要的是采用较好的方法来响应用户操作。这里我们用到了CSS技术和AJAX技术,比如当用户选择相应楼宇时,响应鼠标的Hover事件,把相应楼宇的图标变色或突出显示。当用户在各个楼宇之间切换的时候,局部刷新查询结果区域。

4.评论和统计模块

这个基本全自动的网络应用平台从2009年7月正式上线后深受同学们的好评,已有接超过两万的访问量。我们一共进行了十多次更新,以不断满足同学的需求。另外,我们也统计了来访者的IP地址、访问时间、访问页面和客户端,便于分析用户行为,改进平台细节。

对于手机平台,由于局部浏览器大多不支持JavaScript,同时也受网速和流量限制,数据传输量越小越好,因此我们采用了文本形式展示(见图4)。