程序員可以分為很多種,像Unix程序員、Windows程序員,或是C++程序員、Delphi程序員,等等。今天我想談的是Web程序員,一名真正的Web程序員應該懂得那些方面的知識,應該注意學(xué)習哪些東西。
也許有些朋友會(huì )說(shuō),我知道Asp、Jsp,會(huì )做網(wǎng)站、會(huì )做bbs,這應該叫Web程序員了吧。確實(shí),我承認,這些技術(shù)是一名Web程序員應該具備的;但是,你如果僅懂得這些,卻只能叫做Asp程序員、Jsp程序員,而不是真正意義上的Web程序員?,F在的世界是屬于Internet的,大部分的應用基于Internet,大家可以想想,像Yahoo、Microsoft、Amazon那樣的網(wǎng)站,其訪(fǎng)問(wèn)量之大、應用之復雜,需要什么樣的技術(shù)才可以支撐,難道僅僅是硬件的功勞么。
我想在Windows平臺下來(lái)談?wù)刉eb程序員應該掌握的技術(shù)
1. 首先,就是上面提到的各種腳本,asp、jsp、php等等,這些東西大同小異,基本可以舉一反三。
2. 數據庫,
相信做Web的人肯定用過(guò),像Access、Sql Server、Oracle。很多人會(huì )用各種數據庫,但是僅限于寫(xiě)一些sql,select、update、insert,用ADO來(lái)操作,如果這樣,就算會(huì )用100種數據庫又有什么用呢?
你應該考慮用戶(hù)量、訪(fǎng)問(wèn)速度、內存消耗,這些東西和你的sql密切相關(guān),我經(jīng)常見(jiàn)到很多分頁(yè)程序根本不去考慮數據庫中有多少條數據,統統select出來(lái),很明顯,當你從數據庫中查出1萬(wàn)條數據和100條數據,占用的內存是不同的。
另外,數據庫連接池和事務(wù)機制是非常重要的,應該知道數據庫用什么來(lái)保證事務(wù),連接池如何實(shí)現,這些都是商務(wù)應用的關(guān)鍵。譬如,目前很多的應用服務(wù),像weblogic、MTS,都包含事務(wù)處理,可以說(shuō)好的事務(wù)處理決定了他們的競爭力。
3. 組件技術(shù)
我想是現在的Web應用推動(dòng)了組件技術(shù)的發(fā)展。以前,從老式的靜態(tài)庫、動(dòng)態(tài)庫(dll),到現在的COM/DCOM,再到正在興起中的Web Service;從單機調用,到基于內部網(wǎng)的分布式調用,到現在基于Internet的分布式計算?,F在的應用都是基于組件的n層結構,最明顯的就是COM和JavaBean。
這些東西體現了軟件架構的發(fā)展,以前是基于單機的應用,然后是C/S結構,到現在的B/S結構。我記得李維曾經(jīng)說(shuō)過(guò),程序員一定要注意軟件技術(shù)的發(fā)展趨勢,只有這樣,才不至于被淹沒(méi)在技術(shù)的洪流中。我想,作為Web程序員,一定要明白COM的原理,如何實(shí)現這種調用、如何進(jìn)行分布式調用。說(shuō)實(shí)話(huà),我覺(jué)得COM還是比較復雜的,否則微軟為什么要提供ATL和VB呢,要搞明白,應該學(xué)學(xué)C++,因為VC中提供的ATL庫可以很明顯的說(shuō)明COM的內部運行機制。
4. 網(wǎng)絡(luò )技術(shù)
這可以說(shuō)是Web程序員最應該懂得東西。起碼,應該知道Web服務(wù)器的機制,要明白Http協(xié)議。就拿IIS來(lái)說(shuō),要懂得web應用程序運行的進(jìn)程安全和IIS的關(guān)系,懂得ISApi的作用。
如果有時(shí)間,就看看TCP/IP,看看winsock,這些都是底層的網(wǎng)絡(luò )的東西。
我所說(shuō)的這些都是基于微軟技術(shù)下的東西,其他的像Java方面的東西都可以對照參考,就不多說(shuō)了,這也是我這幾年來(lái)的一些心得??傊?,學(xué)海無(wú)涯,每當接觸一些新的東西,就會(huì )發(fā)現自己的不足,同時(shí)也就覺(jué)得基礎知識的重要。說(shuō)實(shí)話(huà),像我們做應用開(kāi)發(fā),用別人的東西,在現在這種情況下,新的技術(shù)層出不窮,稍不注意就會(huì )被甩開(kāi),這也是沒(méi)有辦法的事情。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。