不得不说,张达的思路比较跳脱,看到这些照片,他居然想到做一个网站对这些照片进行打分,虽然他不懂技术,但是却直觉上认为这是可行的。本章由网友为您提供更新
林鸿思考了一下这件事的意义,实际上,投票的过程可以算是一种算法,通过大范围的统计,将优质的结果给筛选出来,不说这个算法的外在表现,其背后所隐含的意义却非常有意思。
这实际上也是一种对集体智慧的驾驭过程,通过集体的智慧寻找最佳答案。
林鸿最终同意了下来,他将这件事当成一次实验,很想看看最终是否真的能够像预料的那样,找出最优质的结果。
林鸿说道:可是可以做,只是不知道会有多少人参与到这个过程中来。
这个你放心,我负责来宣传李奇自告奋勇地说道。
他对自己的jiāo际能力还是很自信的,基本上这么两天下来,班级里面的所有男生他都认识了,并且在同一层的其他班级的男生他也认识了不少。
张达建议道:我们最好是能够赶在军训之前将其做出来,不然就要等三个星期之后了。
嗯,应该费不了多少时间。
说做就做,林鸿立刻开始动手。
他打算直接使用自己的笔记本当服务器,在上面建立一个这样的网站。
其他三人根本不懂这方面的技术,只能站在林鸿背后围观。
制作网站在这个时期,也是一种非常高端的工作,一般人连网站的基本运行原理都不知道,更别说制作网页了。
林鸿有意给他们普及这方面的知识,开拓眼界,所以他一边开始部署服务器和开发环境,一边给他们解说:
我现在做的这个网站,是需要通过浏览器访问的因为这样更直观,还可以直接浏览图片。浏览器是一种能够访问万维网服务器的软件,它能够从服务器中读取特定格式的文件,然后以另外一种格式将其展示出来。
林鸿停顿了一下觉得这样可能有些chou象,打了个比方:它就好像是一个翻译,将网页编程语言翻译成为我们能够看懂的文本语言。浏览器和服务器之间所使用的协议是一种叫做http的协议,全称就是超文本传送协议,它允许将超文本标记语言,也就是使用htmh编写的文档从bsp;接下来,他像他们解释了一下什么叫做htmh语言并且编写了一个简单的hmllabsp;这种语言非常简单,并且很多标签都是成对出现的,所以吴东他们都听懂了。
利用hmml语言,我们可以做出内容非常丰富的网页。林鸿继续说道,但是这些网页都是静态的,如果想要让其中的内容发生变化,例如张达所说的,给他们打分然后实时显示出来,这就涉及到动态语言方面的内容了,并且还需要保存数据利用到数据库。
林鸿也不指望一次xg就直接将他们全部教懂,只是让他们有一个比较直观的认识,如果以后自己有兴趣,可以进一步进行研究。所以他的讲解基本上都是一遍过,不管他们能听懂还是没听懂。
他打算使用的动态编程语言还是他比较擅长的c语言,通过一种通用网关接口cgi的技术来和用户进行jiāo互,记录用户对照片的评分。
cgi语言是由美国国家超级电脑应用中心开发的一种技术,1993年就出现了,后来很快便在互联网上流行起来,成为比较主流的动态ix的sc以及都可以用来开发cgi程序。
林鸿对这一块非常熟悉,所以他很快就将服务器的环境给部署完毕,将cgi的模块挂载上去然后编写了一个简单的加法jiāo互程序,让用户可以在上面输入两个数字然后点确认,就可以将其结果给计算出来。
老二,你去你的电脑上访问看看。林鸿说道。
这就可以了怎么访问张达还有些mi糊。
直接输入我的ipn址就行了。
张达将自己的电脑打开,启动浏览器程序,然后在地址栏上输入了林鸿的ip地址,确认之后,他看到浏览器中出现了一个加法计算器界面。
他尝试着输入了一个1,,点击提jiāo之后,界面上立刻显示了一个。
虽然只是一个简单的功能,但是他们都觉得这非常神奇。
老大,这个就是你刚刚编写的程序吴东饶有兴致地问道。
是的,这只是最简单的程序,但是也实现了动态的jiāo互,不单单只是静态网页了。
刚刚那个过程,实际上张达提jiāo之后,会在林鸿的这台笔记本上运行一个名为addcgi的程序,这是一个用c语言编写之后再编译过后的可执行程序能就是接受从网页前端提jiāo过来的数据,然后再进行处理。
在此之前,他们三人都觉得网站制作和编程都非常简单,可是今天看到林鸿这样示范一下,这块神秘面纱终于被揭开,他们发现也不过如此。
当然,这个过程如果不是亲眼去看,他们可能还需要很长一段时间才能够了解到这其中的基本原理。这就是有师父或者导师的好处所在了,可以节省自己很多时间和jg力,少走很多弯路。
接下来便是设计数据结构,林鸿所使用的数据库是mysql虽然创办这个数据软件的公司去年才开始创办,但是他们发布出来的这个数据库却是开源的,并且非常好用,很快就在网络上流行起来。
由于功能比较简单,涉及到的数据保存只有评分数值,所以林鸿只设计了一张表用来保存这个数值。至于以后的统计结果,则只要在这个基础上进行相应的计算就行了。
虽然照片不少,但是林鸿灵活使用命令行直接自动化处理,将这些照片进行重命名并且导入到了数据库中姓名和简单的文字内容也一起导入。
仅仅huā了不到半个小时的时间,林鸿就将这个创意的原型给实现出来了。
吴东他们三人站在林鸿的身后,简直看得目不暇接,刚开始的时候林鸿还解释几句,到了后面,由于设计到的知识点比较多,一两句话也说不清楚他便直接给省略了,这样一来,他的速度便瞬间快了起来。
已经编好了。林鸿调出一个图形化的浏览器,直接输入localhost一个比较简单的界面便显示了出来,上面显示着一排排的照片,可以按照院系进行分类浏览。
张达:牛bi啊
李奇:好快啊
吴东:我怎么才能够达到这种程度呢
他们三人实在是无法形容自己此刻的心情,虽然他们并不懂技术可是也知道之前林鸿那一番行云流水般的表演,并不是随便什么人都能够做到的。
可能还有些bug,你们来测试一下等没什么大问题之后,再对外公布。林鸿将座位让了出来。
程序员由于清楚自己所编写的软件一切细节,所以他们自己测试的时候,往往都会按照自己的理解去使用软件,这样的结果就是没有任何bug。故而一般负责软件测试的都是另外的人负责,这样才能找到一些意想不到的bug。
李奇立刻坐在了林鸿的位置上。
而张达则连忙跑到自己的电脑上,刷新了自己的页面,也同样看到了效果。
他点进去第一章照片,然后看到了有评分的选项,输入评分之后照片下面立刻出现了评分记录。而排行榜那儿,这个同学立刻排在了第一位,这是因为暂时还只有她一个人有评分记录。
他们开始对照片进行打分。
吴东虽然没有抢到位置,不过他也不在意,站在李奇身后不停喊着5分3分4分
几分钟之后,张达提除了第一个bug:我输入的时候不是数字也能够接受,例如直接输入a
林鸿点头道:的确是个问题,我忘记对输入进行判断了,应该限制一下,只能输入1到ko的数字,或者我干脆直接将其做为按钮形式,不让他们进行输入。
接着,李奇也提出一个问题:好像评分没有限制啊一个人可以一直重复评分,这样一来很容易刷分数吧
林鸿:这个可以通过限制ip来实现,同一个ip同一个照片最多允许四票好了。
吴东:我觉得排名算法还得进行优化一下,直接这样相加再相除的算法有点过于简单了,应该将最高分和最低分过滤掉,排除这些异常数据的干扰。
林鸿:有道理。
经过他们不断地提出各种问题,林鸿也持续地对这个程序进行完善,刚开始有些简单的原型,渐渐变得复杂起来。在这个过程中,他自己也受到了不启发而产生了一些灵感,例如碰到分数一样的两个人的时候,就会触发另外一个机制,两张照片会同时显示,然后让人判断哪一张更好看,于是会加上一个很小的数值来进行区分。
在四点多的时候,整个网站基本上都差不多了,他们都觉得再也找不到任何可以改进的地方。
于是,李奇跑到学校商店买来红纸以及笔墨,直接设计了一张宣传海报,然后在去食堂的必经之地宣传栏上面贴了出来。
海报的标题为96界美nv排行榜评比互动进行时,正文的内容也写得极具煽动xg,一时间引起了许多水木学生的围观。