設置
上一章
下一章
返回
設置
上一章
下一章
書頁
前一段     暫停     繼續    停止    下一段

第337章 網站出爐

›››第二卷黑客圣地第337章網站出爐  不得不說,張達的思路比較跳脫,看到這些照片,他居然想到做一個網站對這些照片進行打分,雖然他不懂技術,但是卻直覺上認為這是可行的。

  林鴻思考了一下這件事的意義,實際上,投票的過程可以算是一種算法,通過大范圍的統計,將優質的結果給篩選出來,不說這個算法的外在表現,其背后所隱含的意義卻非常有意思。

  這實際上也是一種對集體智慧的駕馭過程,通過集體的智慧尋找最佳答案。

  林鴻最終同意了下來,他將這件事當成一次實驗,很想看看最終是否真的能夠像預料的那樣,找出最優質的結果。

  林鴻說道:“可是可以做,只是不知道會有多少人參與到這個過程中來。”

  “這個你放心,我負責來宣傳!”李奇自告奮勇地說道。

  他對自己的交際能力還是很自信的,基本上這么兩天下來,班級里面的所有男生他都認識了,并且在同一層的其他班級的男生他也認識了不少。

  張達建議道:“我們最好是能夠趕在軍訓之前將其做出來,不然就要等三個星期之后了。”

  “嗯,應該費不了多少時間。”

  說做就做,林鴻立刻開始動手。

  他打算直接使用自己的筆記本當服務器,在上面建立一個這樣的網站。

  其他三人根本不懂這方面的技術,只能站在林鴻背后圍觀。

  制作網站在這個時期,也是一種非常高端的工作,一般人連網站的基本運行原理都不知道,更別說制作網頁了。

  林鴻有意給他們普及這方面的知識,開拓眼界,所以他一邊開始部署服務器和開發環境,一邊給他們解說:

  “我現在做的這個網站,是需要通過瀏覽器訪問的,因為這樣更直觀,還可以直接瀏覽圖片。瀏覽器是一種能夠訪問萬維網服務器的軟件,它能夠從服務器中讀取特定格式的文件,然后以另外一種格式將其展示出來。”

  林鴻停頓了一下,覺得這樣可能有些抽象,打了個比方:“它就好像是一個翻譯,將網頁編程語言翻譯成為我們能夠看懂的文本語言。瀏覽器和服務器之間所使用的協議是一種叫做HTTP的協議,全稱就是超文本傳送協議,它允許將超文本標記語言,也就是使用HTML編寫的文檔從Web服務器傳送到瀏覽器…”

  接下來,他像他們解釋了一下什么叫做HTML語言,并且編寫了一個簡單的“HELlOWOND"程序給他們示范。

  這種語言非常簡單,并且很多標簽都是成對出現的,所以吳東他們都聽懂了。

  “利用HTML語言,我們可以做出內容非常豐富的網頁。”林鴻繼續說道,“但是這些網頁都是靜態的,如果想要讓其中的內容發生變化,例如張達所說的,給他們打分,然后實時顯示出來,這就涉及到動態語言方面的內容了,并且還需要保存數據,利用到數據庫。”

  林鴻也不指望一次性就直接將他們全部教懂,只是讓他們有一個比較直觀的認識,如果以后自己有興趣,可以進一步進行研究。所以他的講解基本上都是一遍過,不管他們能聽懂還是沒聽懂。

  他打算使用的動態編程語言還是他比較擅長的C語言,通過一種“通用網關接口(CGI)”的技術來和用戶進行交互,記錄用戶對照片的評分。

  CGI語言是由美國國家超級電腦應用中心開發的一種技術,1993年就出現了,后來很快便在互聯網上流行起來,成為比較主流的動態WEB編程技術,它的編程語言可以有多種,比較常見的有PER語言,當然其他諸如Unix的SHELL命令,PYTHONC以及C都可以用來開發CGI程序。

  林鴻對這一塊非常熟悉,所以他很快就將服務器的環境給部署完畢,將CGI的模塊掛載上去,然后編寫了一個簡單的加法交互程序,讓用戶可以在上面輸入兩個數字然后點確認,就可以將其結果給計算出來。

  “老二,你去你的電腦上訪問看看。”林鴻說道。

  “這就可以了?怎么訪問?”張達還有些迷糊。

  “直接輸入我的IP地址就行了。”

  張達將自己的電腦打開,啟動瀏覽器程序,然后在地址欄上輸入了林鴻的IP地址,確認之后,他看到瀏覽器中出現了一個加法計算器界面。

  他嘗試著輸入了一個“12,,點擊“提交”之后,界面上立刻顯示了一個“3。

  雖然只是一個簡單的功能,但是他們都覺得這非常神奇。

  “老大,這個就是你剛剛編寫的程序?”吳東饒有興致地問道。

  “是的,這只是最簡單的程序,但是也實現了動態的交互,不單單只是靜態網頁了。”

  剛剛那個過程,實際上張達提交之后,會在林鴻的這臺筆記本上運行一個名為ADDCGI的程序,這是一個用C語言編寫之后再編譯過后的可執行程序,功能就是接受從網頁前端提交過來的數據,然后再進行處理。

  在此之前,他們三人都覺得網站制作和編程都非常簡單,可是今天看到林鴻這樣示范一下,這塊神秘面紗終于被揭開,他們發現也不過如此。

  當然,這個過程如果不是親眼去看,他們可能還需要很長一段時間才能夠了解到這其中的基本原理。這就是有師父或者導師的好處所在了,可以節省自己很多時間和精力,少走很多彎路。

  接下來便是設計數據結構,林鴻所使用的數據庫是MYSQL雖然創辦這個數據軟件的公司去年才開始創辦,但是他們發布出來的這個數據庫卻是開源的,并且非常好用,很快就在網絡上流行起來。

  由于功能比較簡單,涉及到的數據保存只有評分數值,所以林鴻只設計了一張表,用來保存這個數值。至于以后的統計結果,則只要在這個基礎上進行相應的計算就行了。

  雖然照片不少,但是林鴻靈活使用命令行直接自動化處理,將這些照片進行重命名并且導入到了數據庫中,姓名和簡單的文字內容也一起導入。

  僅僅花了不到半個小時的時間,林鴻就將這個創意的原型給實現出來了。

  吳東他們三人站在林鴻的身后,簡直看得目不暇接,剛開始的時候林鴻還解釋幾句,到了后面,由于設計到的知識點比較多,一兩句話也說不清楚,他便直接給省略了,這樣一來,他的速度便瞬間快了起來。

  “已經編好了。”林鴻調出一個圖形化的瀏覽器,直接輸入DOCALHOST,一個比較簡單的界面便顯示了出來,上面顯示著一排排的照片,可以按照院系進行分類瀏覽。

  張達:“牛逼啊!”

  李奇:“好快啊!”

  吳東:“我怎么才能夠達到這種程度呢?”

  他們三人實在是無法形容自己此刻的心情,雖然他們并不懂技術,可是也知道之前林鴻那一番行云流水般的表演,并不是隨便什么人都能夠做到的。

  “可能還有些BUG,你們來測試一下,等沒什么大問題之后,再對外公布。”林鴻將座位讓了出來。

  程序員由于清楚自己所編寫的軟件一切細節,所以他們自己測試的時候,往往都會按照自己的理解去使用軟件,這樣的結果就是沒有任何BUG。

  故而一般負責軟件測試的都是另外的人負責,這樣才能找到一些意想不到的BUG。

  李奇立刻坐在了林鴻的位置上。

  而張達則連忙跑到自己的電腦上,刷新了自己的頁面,也同樣看到了效果。

  他點進去第一章照片,然后看到了有評分的選項,輸入評分之后,照片下面立刻出現了評分記錄。而排行榜那兒,這個同學立刻排在了第一位,這是因為暫時還只有她一個人有評分記錄。

  他們開始對照片進行打分。

  吳東雖然沒有搶到位置,不過他也不在意,站在李奇身后不停喊著“5分、3分、4分…”

  幾分鐘之后,張達提除了第一個BUG:“我輸入的時候,不是數字也能夠接受,例如直接輸入A…”

  林鴻點頭道:“的確是個問題,我忘記對輸入進行判斷了,應該限制一下,只能輸入1到10的數字,或者我干脆直接將其做為按鈕形式,不讓他們進行輸入。”

  接著,李奇也提出一個問題:“好像評分沒有限制啊?一個人可以一直重復評分,這樣一來很容易刷分數吧?”

  林鴻:“這個可以通過限制IP來實現,同一個IP同一個照片最多允許四票好了。”

  吳東:“我覺得排名算法還得進行優化一下,直接這樣相加再相除的算法有點過于簡單了,應該將最高分和最低分過濾掉,排除這些異常數據的干擾。”

  林鴻:“有道理。”

  經過他們不斷地提出各種問題,林鴻也持續地對這個程序進行完善,剛開始有些簡單的原型,漸漸變得復雜起來。在這個過程中,他自己也受到了不啟發而產生了一些靈感,例如碰到分數一樣的兩個人的時候,就會觸發另外一個機制,兩張照片會同時顯示,然后讓人判斷哪一張更好看,于是會加上一個很小的數值來進行區分。

  在四點多的時候,整個網站基本上都差不多了,他們都覺得再也找不到任何可以改進的地方。

  于是,李奇跑到學校商店買來紅紙以及筆墨,直接設計了一張宣傳海報,然后在去食堂的必經之地——宣傳欄上面貼了出來。

  海報的標題為“96界美女排行榜評比互動進行時!”,正文的內容也寫得極具煽動性,一時間引起了許多水木學生的圍觀。()

夢想島中文    超腦黑客
上一章
書頁
下一章