古詩詞大全網 - 成語故事 - 如何成為壹名高級程序員?

如何成為壹名高級程序員?

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