{eval=Array;=+count(Array);}
1. XML 首先,你要了解XML。我不是說僅僅是XML規(guī)格本身,還包括一系列相關(guān)的基于XML的語言:最重要的是XHTML、XSLT、XSL、DTDs、XML Schema (XSD)、XPath、XQuery和SOAP。那些在過去5年內(nèi)從未碰過鍵盤的人,可能不知道XML為何物。XML是一種文本文件,使用與HTML類似的標記。XML能定義一個樹狀結(jié)構(gòu),并能描述所含的數(shù)據(jù)。 XML最好的一點是既能存結(jié)構(gòu)化數(shù)據(jù)也能存非結(jié)構(gòu)化數(shù)據(jù)。它既能存貯和描述“規(guī)格的”(regular)表格數(shù)據(jù),也能容納和描述“粗糙的”(ragged)文件數(shù)據(jù)。 XHTML是現(xiàn)今寫HTML的首選方法。因為它是形式完好(well formed)的XML,比起古老的、通常是畸形(malformed)的HTML文件,XHTML格式的文件更容易處理。 XSLT和XSL是用于把XML文件轉(zhuǎn)成其它格式的語言??赊D(zhuǎn)換的格式包括:文本文件、PDF文件、HTML、以逗號為分隔符的文件,或其它XML文件。 DTD和XML Schema描述XML文件所能包含的內(nèi)容的類型,并讓你“驗證”XML文件內(nèi)容的合理性,而不用寫特殊代碼以確保內(nèi)容符合規(guī)則要求。 XPath和XQuery是用于從XML文件中抽取單個項目或一組項目的查詢語言。XQuery擴展了XPath,因而更重要。XQuery與XML的關(guān)系正像SQL與關(guān)系數(shù)據(jù)庫的關(guān)系。 SOAP是Web服務(wù)之間的一個標準通訊協(xié)議。盡管你不需要對SOAP標準一清二楚,你應(yīng)該熟悉一般的schema和它的工作原理,以便能應(yīng)用這門技術(shù)。 2. Web服務(wù) Web服務(wù)是XML流行后的一個直接產(chǎn)物。因為你能用XML描述數(shù)據(jù)和物件,因為你能用schema確保XML文件內(nèi)容的合理性,因為XML是基于文本的規(guī)范,XML為跨平臺通訊標準提供了一個極其方便的基本格式。如果你還從來沒碰到Web服務(wù),你可能很快就會碰到,在未來5年內(nèi),你幾乎肯定會碰到。熟悉Web服務(wù)十分重要,因為它是目前所有跨不同機器、不同語言、不同平臺和不同地點的通訊協(xié)議中最簡單的一個。不管你需要與否,Web服務(wù)是邁向互用性的重要一步。 XML工作組主席John Bosak曾說XML“給Java一些事做”。實際上,Web服務(wù)讓所有語言都有了一些事做。Web服務(wù)讓在大型機上運行的COBOL應(yīng)用軟件能調(diào)用在手持設(shè)備上運行的Java應(yīng)用程序、能讓Java applet與.NET服務(wù)器交談、能讓微機軟件與Web服務(wù)器無縫連接,并提供了一個相對容易的方法,讓企業(yè)不光能向外界提供數(shù)據(jù),還能提供功能,而且是一種與語言、平臺和位置都獨立的方法。 3. 面向?qū)ο蟮木幊? 很多程序員仍認為OOP是象牙塔里的技術(shù)。但如果你想一下是什么語言在過去的10年里占主導(dǎo)地位,你就會理解OOP不是象牙塔里的技術(shù)。OOP從Smalltalk開始,傳到C++和Pascal (Delphi)。Java使OOP大踏步地邁向主流,幾年后的VB.NET和C#則完全確立了OOP的優(yōu)勢地位。盡管這些語言中的多數(shù)并不要求你必須會OOP,但我覺得如果你不了解OOP的基本概念也不知道如何應(yīng)用這些概念,你能找到的編程工作將越來越少。 4. Java、C++、C#和VB.NET 我把這些語言列在一起,并不是建議你成為每一種語言的專家。我的理由是:學(xué)習(xí)編程最有效的方法之一是看代碼,而你能看到的大量的代碼很可能不是用你所喜愛的語言編寫的。 在過去幾年,各語言的能力越來越接近?,F(xiàn)在,你可以用VB.NET寫Windows服務(wù)、Web應(yīng)用程序或命令行程序。即使你只使用一種語言,你也應(yīng)該學(xué)一些其它語言,以便能看懂那些樣例,并將其翻譯到你所用的語言。這4種語言是基本核心,還有其它一些滿足不同需要、頗具用途的語言,如FORTRAN、COBOL、APL、ADA、Perl和Lisp。 5. javascript 盡管名字有些相像,但Java與javascript并無關(guān)聯(lián)。為什么一個腳本語言會如此重要呢?因為所有主流瀏覽器都用javascript。如果你需要寫Web應(yīng)用程序,你就有足夠的理由學(xué)javascript。javascript可以用作ASP或ASP.NET的服務(wù)器語言,也可以當(dāng)做用于擴展XSLT的功能語言(functional language)。javascript是Mozilla/Netscape中用于激活基于XUL的程序接口的首選語言。javascript的一個變種ActionScript是Flash MX的編程語言。將來,javascript很可能成為新設(shè)備的編程語言,以及大型應(yīng)用軟件中的宏語言。 與javascript相對照的是VBScript。盡管Microsoft的軟件對VBScript有良好的支持,但VBScript在未來的開發(fā)工作中很可能是一個糟糕的選擇。就是Microsoft也傾向于用javascript(或Microsoft自己的變種:JScript)寫客戶端程序。在選擇腳本語言時,請選擇javascript。 6. 正則表達式(Regular Expressions) 查尋關(guān)系數(shù)據(jù)庫可以用SQL,查詢XML可以用XPath和XQuery,查詢純文本文件則可以用正則表達式。例如,你可以用一個命令從一個HTML文件中查找并刪除所有的注釋。各種開發(fā)語言內(nèi)置的一些簡單的文本查詢功能,如"IndexOf"函數(shù)或VB中經(jīng)典的"InStr"函數(shù)或"Like"操作符,根本不能與正則表達式相提并論?,F(xiàn)在,各種主要的開發(fā)語言都提供使用正則表達式的途徑。盡管正則表達式本身既難懂更難讀(是回到早期計算機時代的一種倒退),但它卻是一個功能強大而且未被充分利用的工具。 7. 設(shè)計模式 正像OOP通過把對象分類以簡化編程一樣,設(shè)計模式對一些普遍的對象之間的交互進行分類,并賦予一個恰當(dāng)?shù)拿Q。OOP用得越多,設(shè)計模式就越有用。一些最常用的模式的名稱已經(jīng)變成了軟件開發(fā)領(lǐng)域共同使用的術(shù)語,所以要跟上信息的主流,你就要對設(shè)計模式有相當(dāng)?shù)睦斫狻? 8. Flash MX 如果你需要在客戶端得到比HTML和CSS更多的圖形和更強的編程功能,F(xiàn)lash是你的答案。用Flash編程比開發(fā)Java applets或?qū)?NET代碼要快得多,也容易得多。 在最新版本 (MX) 中,F(xiàn)lash不僅僅是畫圖和制造動畫的工具,它已經(jīng)成為一個編程功能強大的開發(fā)環(huán)境:能調(diào)用SOAP Web服務(wù),也能調(diào)用遠端服務(wù)器上的ColdFusion、Java或.NET程序。Flash無處不在。它的引擎存在于世界上大多數(shù)客戶端計算機,包括手持設(shè)備、置頂盒、甚至是新的書寫板電腦。所以使用Flash能大大擴展你的程序的應(yīng)用范圍。 9. Linux/Windows 熟悉Linux。在一臺舊機器或新機器上安裝Linux。下載圖形用戶界面,在其基礎(chǔ)上寫一些程序。安裝Apache,寫一個Web應(yīng)用程序。這個世界不再僅僅是屬于Windows,這種趨勢可能還會持續(xù)下去。如果你是一名中堅的Linux開發(fā)人員,那就拋棄你對Windows的憎惡,看看你能否做一些Windows編程。Windows能繼續(xù)在臺式電腦上稱王是有其原因的,這不僅僅是因為Microsoft控制了這個市場。 沒人知道你們公司會在什么時候決定從Linux轉(zhuǎn)向Windows(或從Windows轉(zhuǎn)向Linux),或者你想跳到一家用另一種平臺的公司,或者你想出了開發(fā)一個殺手軟件的好主意,所以你要爭取擁有在不同操作系統(tǒng)上的編程經(jīng)驗。 10. SQL 盡管SQL不像本文討論的其它技術(shù)那樣新,而且SQL的重要性在未來10年內(nèi)很可能降低,但它仍然是一項基本技能。很多開發(fā)人員還沒有掌握這門技術(shù),或掌握得不夠,不足以有效率地使用它。不要依賴具有圖形用戶界面的SQL生成器替你做事情,你要自己手工地寫查詢命令,直到你熟悉基本的SQL語法為止。了解SQL不僅能幫助你日后學(xué)習(xí)XQuery,你還有可能馬上發(fā)現(xiàn)能簡化或改進目前項目的方法。 培養(yǎng)好奇心 最后,(對,我意識到這是第11門技術(shù)),好奇心是你最重要的技能。要去嘗試各種東西。新語言或新技術(shù)對你當(dāng)前或?qū)淼墓ぷ骺赡苡杏?,也可能沒用,但并不是你所學(xué)的每一件事都是為了工作。不要害怕失敗,萬事開頭難,學(xué)新技術(shù)也是如此。大多數(shù)失敗是因為人們希望太快地學(xué)到太多的東西。要對每一點進步感到滿意,不要讓時間(或缺乏時間)妨礙你。相反,你要安排時間留心、研究、試驗新的開發(fā)技術(shù)和工具。 你可能永遠也沒有必要成為這些技術(shù)的專家,而且我的選擇可能根本不適合你的特殊情況,但通過培養(yǎng)好奇心,你將會發(fā)現(xiàn)你應(yīng)該了解的東西
[弈安傳媒科技提升自己的平臺]請關(guān)注:頭條號及公眾號 弈安傳媒科技
弈安傳媒科技回復(fù),成功后要回復(fù)喲,要點贊,并關(guān)注,轉(zhuǎn)發(fā).
[弈安傳媒科技提升自己的平臺]更多知識請關(guān)注:頭條號及公眾號 弈安傳媒科技
0
回答0
回答0
回答0
回答0
回答10
回答0
回答0
回答0
回答0
回答