“利用hmml语言,我们可以做出内容非常丰富的网页。”林鸿继续说道,“但是这些网页都是静态的,如果想要让其中的内容发生变化,例如张达所说的,给他们打分然后实时显示出来,这就涉及到动态语言方面的内容了,并且还需要保存数据利用到数据库。”
林鸿也不指望一次xìng就直接将他们全部教懂,只是让他们有一个比较直观的认识,如果以后自己有兴趣,可以进一步进行研究。所以他的讲解基本上都是一遍过,不管他们能听懂还是没听懂。
他打算使用的动态编程语言还是他比较擅长的c语言,通过一种“通用网关接口(cgi)”的技术来和用户进行jiāo互,记录用户对照片的评分。
cgi语言是由美国国家超级电脑应用中心开发的一种技术,1993年就出现了,后来很快便在互联网上流行起来,成为比较主流的动态ix的sc以及都可以用来开发cgi程序。
林鸿对这一块非常熟悉,所以他很快就将服务器的环境给部署完毕,将cgi的模块挂载上去然后编写了一个简单的加法jiāo互程序,让用户可以在上面输入两个数字然后点确认,就可以将其结果给计算出来。
“老二,你去你的电脑上访问看看。”林鸿说道。
“这就可以了?怎么访问?”张达还有些mí糊。
“直接输入我的ipn址就行了。”
张达将自己的电脑打开,启动浏览器程序,然后在地址栏上输入了林鸿的ip地址,确认之后,他看到浏览器中出现了一个加法计算器界面。
他尝试着输入了一个“1,,点击“提jiāo”之后,界面上立刻显示了一个“。
虽然只是一个简单的功能,但是他们都觉得这非常神奇。
“老大,这个就是你刚刚编写的程序?”吴东饶有兴致地问道。
“是的,这只是最简单的程序,但是也实现了动态的jiāo互,不单单只是静态网页了。”
刚刚那个过程,实际上张达提jiāo之后,会在林鸿的这台笔记本上运行一个名为addcgi的程序,这是一个用c语言编写之后再编译过后的可执行程序能就是接受从网页前端提jiāo过来的数据,然后再进行处理。
在此之前,他们三人都觉得网站制作和编程都非常简单,可是今天看到林鸿这样示范一下,这块神秘面纱终于被揭开,他们发现也不过如此。
当然,这个过程如果不是亲眼去看,他们可能还需要很长一段时间才能够了解到这其中的基本原理。这就是有师父或者导师的好处所在了,可以节省自己很多时间和jīng力,少走很多弯路。
接下来便是设计数据结构,林鸿所使用的数据库是mysql虽然创办这个数据软件的公司去年才开始创办,但是他们发布出来的这个数据库却是开源的,并且非常好用,很快就在网络上流行起来。
由于功能比较简单,涉及到的数据保存只有评分数值,所以林鸿只设计了一张表用来保存这个数值。至于以后的统计结果,则只要在这个基础上进行相应的计算就行了。
虽然照片不少,但是林鸿灵活使用命令行直接自动化处理,将这些照片进行重命名并且导入到了数据库中姓名和简单的文字内容也一起导入。
仅仅huā了不到半个小时的时间,林鸿就将这个创意的原型给实现出来了。
吴东他们三人站在林鸿的身后,简直看得目不暇接,刚开始的时候林鸿还解释几句,到了后面,由于设计到的知识点比较多,一两句话也说不清楚他便直接给省略了,这样一来,他的速度便瞬间快了起来。
“已经编好了。”林鸿调出一个图形化的浏览器,直接输入localhost一个比较简单的界面便显示了出来,上面显示着一排排的照片,可以按照院系进行分类浏览。
张达:“牛bī啊!”
李奇:“好快啊!”
吴东:“我怎么才能够达到这种程度呢?”
他们三人实在是无法形容自己此刻的心情,虽然他们并不懂技术可是也知道之前林鸿那一番行云流水般的表演,并不是随便什么人都能够做到的。
“可能还有些bug,你们来测试一下等没什么大问题之后,再对外公布。”林鸿将座位让了出来。
程序员由于清楚自己所编写的软件一切细节,所以他们自己测试的时候,往往都会按照自己的理解去使用软件,这样的结果就是没有任何bug。故而一般负责软件测试的都是另外的人负责,这样才能找到一些意想不到的bug。
李奇立刻坐在了林鸿的位置上。
而张达则连忙跑到自己的电脑上,刷新了自己的页面,也同样看到了效果。
他点进去第一章照片,然后看到了有评分的选项,输入评分之后照片下面立刻出现了评分记录。而排行榜那儿,这个同学立刻排在了第一位,这是因为暂时还只有她一个人有评分记录。
他们开始对照片进行打分。
吴东虽然没有抢到位置,不过他也不在意,站在李奇身后不停喊着“5分、3分、4分……”
几分钟之后,张达提除了第一个bug:“我输入的时候不是数字也能够接受,例如直接输入a……”
林鸿点头道:“的确是个问题,我忘记对输入进行判断了,应该限制一下,只能输入1到ko的数字,或者我干脆直接将其做为按钮形式,不让他们进行输入。”
接着,李奇也提出一个问题:“好像评分没有限制啊?一个人可以一直重复评分,这样一来很容易刷分数吧?”
林鸿:“这个可以通过限制ip来实现,同一个ip同一个照片最多允许四票好了。”