明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

怎么才能成為一名真正的Web程序員

[摘要]程序員可以分為很多種,像Unix程序員、Windows程序員,或是C++程序員、Delphi程序員,等等。今天我想談的是Web程序員,一名真正的Web程序員應該懂得那些方面的知識,應該注意學習哪些東...

程序員可以分為很多種,像Unix程序員、Windows程序員,或是C++程序員、Delphi程序員,等等。今天我想談的是Web程序員,一名真正的Web程序員應該懂得那些方面的知識,應該注意學習哪些東西。

也許有些朋友會說,我知道Asp、Jsp,會做網(wǎng)站、會做bbs,這應該叫Web程序員了吧。確實,我承認,這些技術是一名Web程序員應該具備的;但是,你如果僅懂得這些,卻只能叫做Asp程序員、Jsp程序員,而不是真正意義上的Web程序員,F(xiàn)在的世界是屬于Internet的,大部分的應用基于Internet,大家可以想想,像Yahoo、Microsoft、Amazon那樣的網(wǎng)站,其訪問量之大、應用之復雜,需要什么樣的技術才可以支撐,難道僅僅是硬件的功勞么。

我想在Windows平臺下來談談Web程序員應該掌握的技術

 

1.       首先,就是上面提到的各種腳本,aspjsp、php等等,這些東西大同小異,基本可以舉一反三。

2.       數(shù)據(jù)庫,

相信做Web的人肯定用過,像Access、Sql Server、Oracle。很多人會用各種數(shù)據(jù)庫,但是僅限于寫一些sql,selectupdate、insert,用ADO來操作,如果這樣,就算會用100種數(shù)據(jù)庫又有什么用呢?

你應該考慮用戶量、訪問速度、內存消耗,這些東西和你的sql密切相關,我經(jīng)常見到很多分頁程序根本不去考慮數(shù)據(jù)庫中有多少條數(shù)據(jù),統(tǒng)統(tǒng)select出來,很明顯,當你從數(shù)據(jù)庫中查出1萬條數(shù)據(jù)和100條數(shù)據(jù),占用的內存是不同的。

另外,數(shù)據(jù)庫連接池和事務機制是非常重要的,應該知道數(shù)據(jù)庫用什么來保證事務,連接池如何實現(xiàn),這些都是商務應用的關鍵。譬如,目前很多的應用服務,像weblogicMTS,都包含事務處理,可以說好的事務處理決定了他們的競爭力。

3.       組件技術

我想是現(xiàn)在的Web應用推動了組件技術的發(fā)展。以前,從老式的靜態(tài)庫、動態(tài)庫(dll),到現(xiàn)在的COM/DCOM,再到正在興起中的Web Service;從單機調用,到基于內部網(wǎng)的分布式調用,到現(xiàn)在基于Internet的分布式計算,F(xiàn)在的應用都是基于組件的n層結構,最明顯的就是COMJavaBean。

這些東西體現(xiàn)了軟件架構的發(fā)展,以前是基于單機的應用,然后是C/S結構,到現(xiàn)在的B/S結構。我記得李維曾經(jīng)說過,程序員一定要注意軟件技術的發(fā)展趨勢,只有這樣,才不至于被淹沒在技術的洪流中。我想,作為Web程序員,一定要明白COM的原理,如何實現(xiàn)這種調用、如何進行分布式調用。說實話,我覺得COM還是比較復雜的,否則微軟為什么要提供ATLVB呢,要搞明白,應該學學C++,因為VC中提供的ATL庫可以很明顯的說明COM的內部運行機制。

4.       網(wǎng)絡技術

這可以說是Web程序員最應該懂得東西。起碼,應該知道Web服務器的機制,要明白Http協(xié)議。就拿IIS來說,要懂得web應用程序運行的進程安全和IIS的關系,懂得ISApi的作用。

如果有時間,就看看TCP/IP,看看winsock,這些都是底層的網(wǎng)絡的東西。

 

我所說的這些都是基于微軟技術下的東西,其他的像Java方面的東西都可以對照參考,就不多說了,這也是我這幾年來的一些心得?傊,學海無涯,每當接觸一些新的東西,就會發(fā)現(xiàn)自己的不足,同時也就覺得基礎知識的重要。說實話,像我們做應用開發(fā),用別人的東西,在現(xiàn)在這種情況下,新的技術層出不窮,稍不注意就會被甩開,這也是沒有辦法的事情。