毕业设计

今天上午进行了毕业设计答辩,很顺利的结束了。这也意味着我大学生涯的最后一门课程的完成,马上就要毕业了。

我的毕业设计就是我做的 newsnavig.com 这个网站,题目取为《SNS网站的研究与实现》。虽然学的是数学,但导师并没有要求一定要和数学相关。一开始做这个项目并不是当作毕业设计来做的,纯粹是个人的兴趣。还有为了打法这学期无聊的时光,因为我在上学期的时候就把毕业设计完成了。是的,后来我把毕业设计改了,抛弃了原来的,重新写了一篇论文。当时自己是觉得这个项目更酷些,加上有的是时间。现在想想,确实如导师所说,这是一个不明智的决定。

Newsnavig 目前完成的只能说是个原型。开发使用的是流行的 LAMP (Linux + Apache + Mysql + Python) 组合,后台用的 Django 框架是现学的,在开始写代码前花了将近两周的时间去看官方英文文档。再加上初期设计不周,代码写的有点混乱,有时间的话准备彻底重构一次。前端用了 twitter 的 Bootstrap 框架,用起来还算顺手,几乎不用怎么去写 CSS 和 JS 就实现了一个看起来还算可以的界面,风格上借鉴了知乎和豆瓣。此外,还用到了 Memcached 用来缓存。

如果从产品或运营角度来说,Newsnavig 无疑是失败的,刚上线时在几个技术论坛发了链接,但带来的只是上百个僵尸帐号。为了让它看起来还没死掉,我每天也会发一些链接上去,主要是自己看 GR 时感觉好的文章。最初是想模仿 HackNews 和 Reddit, 加入社会化的特征,所以发布界面也类似。但通过自己的使用和写作论文时的一些思考,Newsnavig 和它们虽然都是网址分享,但还是很不同的东西。设想的 Newsnavig 使用场景是:看到一个不错的网页,顺手分享,顺便添加一些话题和评论。但现在交互太差了,一般情况下发布一条链接需要在两个网页之间切换数次进行复制粘贴。所以在下一版本中准备加入快速发布书签和浏览器插件。还准备把名字改了,更贴切的描述该网站,已经想好,暂不公布。

但把这个项目写成论文就有点麻烦了,本来准备详细写技术方面的东西。但技术这东西,写复杂了难,写简单了也难,还不如直接看代码。还有导师一再强调,论文要提取出科学问题,而不仅仅是解决一个普通的问题。所以在论文中提出了一个“协同过滤”的概念,当然这个名词不是我发明的。论文只用了不到三分之一的篇幅写了技术方面的东西。毕设论文就不公开了,感觉上面全是废话,至少有一半是复制粘贴过来的,很多来自维基百科,只是为了凑字数。如果你对 Newsnavig 感兴趣,直接看代码吧:https://github.com/haipome/Newsnavig 没打算做成开源项目,只是为了备份代码。

原来的比设项目是给一个空军工程大学的教授做一个数据分析软件,他和我的导师有合作关系。这个项目简单的说就是通过分析一些模拟飞行游戏 Lock On 的轨迹数据,计算得出一些关心的统计数据。软件要求能够批量的读入数据,图形化的界面展示。轨迹数据是文本文件,格式:http://lomac.strasoftware.com/tacview-flight-recordings.php 数据分析很简单,就是字符串的分析处理,再加上一些简单的高中物理知识。难点就在图形化的界面上,之前没有做过着方面的东西。最后用了 python 和 QT, 也是现学现用,做的还像个样子。当然,代码也是公开的:https://github.com/haipome/acmia

上午答辩过程中,五分钟陈述,然后三个评审老师只有一个老师问了一个很简单的问题,顺利通过。接下来坐等毕业了。

毕业设计》上有5条评论

  1. abc881858

    挺有趣的 twitter框架和Qt库 我也喜欢
    网站页面我也很喜欢 内容我也曾试想过
    把每个人自己喜欢的rss整合成一个页面
    可是我一直光顾玩war3了 想得多做得少
    虽然不知道什么时候加的博主rss
    但是看到这篇 还是觉得好厉害的样子 O(∩_∩)O~

    回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注