超腦黑客 VIP卷 第337章 網站出爐
    不得不說,張達的思路比較跳脫,看到這些照片,他居然想到做一個網站對這些照片進行打分,雖然他不懂技術,但是卻直覺上認為這是可行的。[本章由網友為您提供更新]//

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

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

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

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

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

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

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

    「嗯,應該費不了多少時間。」

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

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

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

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

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

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

    林鴻停頓了一下覺得這樣可能有些chōu象,打了個比方:「它就好像是一個翻譯,將網頁編程語言翻譯成為我們能夠看懂的文本語言。瀏覽器和服務器之間所使用的協議是一種叫做http的協議,全稱就是超文本傳送協議,它允許將超文本標記語言,也就是使用htmh編寫的文檔從bsp;接下來,他像他們解釋了一下什麼叫做htmh語言並且編寫了一個簡單的「hmllabsp;這種語言非常簡單,並且很多標籤都是成對出現的,所以吳東他們都聽懂了。

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

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

    他打算使用的動態編程語言還是他比較擅長的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過來的數據,然後再進行處理。

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

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

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

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

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

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

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

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

    張達:「牛bī啊!」

    李奇:「好快啊!」

    吳東:「我怎麼才能夠達到這種程度呢?」

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

    「可能還有些bug,你們來測試一下等沒什麼大問題之後,再對外公佈。」林鴻將座位讓了出來。

    程序員由於清楚自己所編寫的軟件一切細節,所以他們自己測試的時候,往往都會按照自己的理解去使用軟件,這樣的結果就是沒有任何bug。故而一般負責軟件測試的都是另外的人負責,這樣才能找到一些意想不到的bug。

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

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

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

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

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

    幾分鐘之後,張達提除了第一個bug:「我輸入的時候不是數字也能夠接受,例如直接輸入a……」

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

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

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

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

    林鴻:「有道理。」

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

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

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

    海報的標題為「96界美nv排行榜評比互動進行時!」,正文的內容也寫得極具煽動xing,一時間引起了許多水木學生的圍觀。  
本站首頁 | 玄幻小說 | 武俠小說 | 都市小說 | 言情小說 | 收藏本頁