40

4.2 心得体会 40

4.3 有待完善的地方 40

4.4 未来打算 41

致谢 42

参考文献 43 

1 绪论

大学四年的时间转眼即逝,回顾这大学四年,每天都给我留下了许多美好的回忆,过得也算是充实,我也十分庆幸自己在大四上学期能够进入一家很好的软件公司实习,在这家公司实习的半年时间了,我遇到了许多有实力,有梦想的同龄人,在他们的帮助下,我的编程水平突飞猛进,回想15年11月刚进公司的时候,我基本只能写写简单的sql语句,那时甚至连html是啥都不知道,如今能够自己做出一个小网站来,内心也是十分激动的。言归正传,在本次设计中我选择express+mongodb来建站,当初选择mongodb是因为看到网上说它和nodejs一起使用是最完美的组合,由于mongodb是典型的nosql数据库,所以我在设计的过程中遇到了很多的问题,但是我并不是一个惧怕挑战的人,虽然我实习的岗位是Oracle数据库开发工程师,如果选用关系型数据库的话可以说是轻车熟路,但是出于对非关系型数据库的好奇,我还是毅然决然的决定用mongodb来构建自己的网站。为此我付出了很多的时间作为代价,举个例子来说,非关系型数据库对于聚合查询和关联查询的使用比较麻烦,我到现在还没能搞懂,所以我在设计的时候本来一句group by就可以出来的东西往往被我分成几步走,先从这个表里查出数据,再从下一个表取数据,再加上nodejs的异步回调模型,我陷入了一层层的回调地狱之中,难以自拔,或许这也是nodejs很难火起来的原因,但是我相信nodejs也有自己很独特的特点,就构建一个小型网站来说,不管是基于速度性能还是其他原因的话,nodejs都有卓越的表现。到了设计的中期,我接触到了Promise方法,这虽然并没有把我彻底的从回调地狱中解决出来,但是很大程度的缓解了层层的回调,使得代码的可读性,重用性,可修改性都有了很大的提升,到了后期的设计中,我又接触到了纤程Fiber,它可以调用yield来阻塞代码的执行,从而等待异步调用完成后,再执行下面的代码,这个方法的发现,让我激动了很久,可以很好的处理大量的回调所产生的负面影响。

1.1 课题的背景和由来

我本次选择的课题’社交网站的设计与实现’是我经过深思熟虑之后选择出来的,因为我对于这一方面的东西一直都是比较有兴趣,虽然其实自己在大学时候,web相关的知识学的很糟糕,我觉得自己作为一个网络工程的学生,毕业之后连个最简单的网站都设计不出来的话,还是有点说不过去。正式因为这个原因,我在去年11月份的时候就下定注意,要选一个网页作为自己的毕设课题,并且充分利用这几个月的时间,去好好自学一下web知识,争取做一个漂漂亮亮的网站出来。

1.1.1 课题的背景

(1)国内外现状

众所周知,国内外的交友网站十分之多。Facebook,新浪,雅虎,人人网,百度贴吧等等网站层出不穷,所以如果还是效仿这样的网站来进行交友网站的设计的话,我觉得是十分没有创意的。

反观,国内外没有几个交友网站是为了让我们找到身边的游戏伙伴而建立的。所以我从这里入手,希望能开拓创新,呈现出一个不一样的交友网站。

(2)发展趋势

趋势发展

上一篇:jsp洗衣店管理系统的设计与实现+业务流图
下一篇:jsp+mysql大学生创业服务平台系统设计

基于Apriori算法的电影推荐

考证平台静态网页设计与制作

基于PageRank算法的网络数据分析

基于神经网络的验证码识别算法

基于网络的通用试题库系...

基于消费者个性特征的化...

网络常见故障的分类诊斷【2055字】

医院财务风险因素分析及管理措施【2367字】

国内外图像分割技术研究现状

10万元能开儿童乐园吗,我...

中国学术生态细节考察《...

公寓空调设计任务书

志愿者活动的调查问卷表

神经外科重症监护病房患...

C#学校科研管理系统的设计

承德市事业单位档案管理...

AT89C52单片机的超声波测距...