image image
10年積累的網(wǎng)站制作、成都做網(wǎng)站經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有新鄉(xiāng)免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
本文由 黑殼博客 轉(zhuǎn)載
本文來源 什么是REST以及 RESTful??
imagepng imagepng
自從Roy Fielding博士在2000年他的博士論文中提出 REST (Representational State Transfer)風格的軟件架構(gòu)模式后,REST就基本上迅速取代了復雜而笨重的SOAP,成為Web API的標準了。
什么是Web API呢?
如果我們想要獲取某個電商網(wǎng)站的某個商品,輸入 ,就可以看到id為123的商品頁面,但這個結(jié)果是HTML頁面,它同時混合包含了Product的數(shù)據(jù)和Product的展示兩個部分。對于用戶來說,閱讀起來沒有問題,但是,如果機器讀取,就很難從HTML中解析出Product的數(shù)據(jù)。
如果一個URL返回的不是HTML,而是機器能直接解析的數(shù)據(jù),這個URL就可以看成是一個Web API。比如,讀取 ,如果能直接返回Product的數(shù)據(jù),那么機器就可以直接讀取。
REST就是一種設(shè)計API的模式。最常用的數(shù)據(jù)格式是JSON。由于JSON能直接被JavaScript讀取,所以,以JSON格式編寫的REST風格的API具有簡單、易讀、易用的特點。
編寫API有什么好處呢?由于API就是把Web App的功能全部封裝了,所以,通過API操作數(shù)據(jù),可以極大地把前端和后端的代碼隔離,使得后端代碼易于測試,前端代碼編寫更簡單。
此外,如果我們把前端頁面看作是一種用于展示的客戶端,那么API就是為客戶端提供數(shù)據(jù)、操作數(shù)據(jù)的接口。這種設(shè)計可以獲得極高的擴展性。例如,當用戶需要在手機上購買商品時,只需要開發(fā)針對iOS和Android的兩個客戶端,通過客戶端訪問API,就可以完成通過瀏覽器頁面提供的功能,而后端代碼基本無需改動。
當一個Web應(yīng)用以API的形式對外提供功能時,整個應(yīng)用的結(jié)構(gòu)就擴展為:
REST-arch REST-arch
把網(wǎng)頁視為一種客戶端,是REST架構(gòu)可擴展的一個關(guān)鍵。
** 網(wǎng)絡(luò)上的所有事物都被抽象為資源**
** 每個資源都有一個唯一的資源標識符**
** 同一個資源具有多種表現(xiàn)形式(xml,json等)**
** 對資源的各種操作不會改變資源標識符**
** 所有的操作都是無狀態(tài)的**
** 符合REST原則的架構(gòu)方式即可稱為RESTful**
REST主要對以下兩方面進行了規(guī)范
-定位資源的URL風格,例如
-如何對資源操作
采用HTTP協(xié)議規(guī)定的GET、POST、PUT、DELETE動作處理資源的增刪該查操作
image image
對應(yīng)的中文是rest式的;Restful web service是一種常見的rest的應(yīng)用,是遵守了rest風格的web服務(wù);rest式的web服務(wù)是一種ROA(The Resource-Oriented Architecture)(面向資源的架構(gòu)).
符合REST約束風格和原則的應(yīng)用程序或設(shè)計就是RESTful.
- Spring MVC 對 RESTful應(yīng)用提供了以下支持
- 利用@RequestMapping 指定要處理請求的URI模板和HTTP請求的動作類型
- 利用@PathVariable講URI請求模板中的變量映射到處理方法參數(shù)上
- 利用Ajax,在客戶端發(fā)出PUT、DELETE動作的請求
** 可以采用Ajax方式發(fā)送PUT和DELETE請求**
采用RESTful架構(gòu)后,需要將web.xml中控制器攔截的請求設(shè)置為/,這樣會將css,js等靜態(tài)資源進行攔截,發(fā)送404錯誤。
解決方法:
本篇文章參考了一部分 ,
程序員是個辛苦的職業(yè)
請善待你們身邊的每一位程序員~
歡迎在評論寫下你的程序員趣事,程序員不是一個死板的職業(yè)~~
歡迎掃描二維碼加入我們的小組織 ,大家都叫我殼叔,很期待你的到來。
黑殼網(wǎng)交流群 Q 群: 200408242
11a84075a304ac57f6d37323512fd24cde9836350b9d80148b282eeaa188b196c2358d4ffd7006cbpng 11a84075a304ac57f6d37323512fd24cde9836350b9d80148b282eeaa188b196c2358d4ffd7006cbpng
我們的生活離不開水,我們依靠水生存。但現(xiàn)如今我們的生活中總有一些人毫不吝惜地去用水,長此下去,也許在某年某月的某一天,世上可能只剩下一滴水,那可能就是我們的眼淚,這可不是危言聳聽……
當家中的自來水“嘩啦嘩啦”地響個不停;當剛洗完菜后,就把滿盆的水潑向遠方;當轎車上有了一丁點兒的塵土,就用水洗了一遍又一遍;當天稍微有一點熱時,就回家用淋浴沖洗好幾遍;當……
我們與水為伴,它為我們奉獻了全部,可我們卻一次次地忽略它,使它沒能體現(xiàn)它的價值所在。因此我們要用心和它相處,這樣才能和睦到永久。當自來水“嘩啦”作響時,我們應(yīng)該健步走上前去,關(guān)上水龍頭;當洗過菜后,我們還可以用它刷洗碗碟;當轎車上有了塵土,我們可以用抹布把它擦去;天熱了,洗個臉就行了,到了晚上我們再痛痛快快地洗個澡。
在學校里,我們也與水為伴,當我們洗了臉后,我們可以把水存起來,晚上用來洗腳,時時刻刻把節(jié)約用水記在心上,只有這樣我們的校園才會變得有歡聲笑語,讓人心情舒暢。
水是靈動的,它像一串美妙的音符,我愿為它譜上一段動人的樂曲,它像一本古舊的書本,在里面你可以尋找到許多故事,“小橋流水,江南人家”這樣的仙境,誰不想去體會一番?“大江東去,滔滔河水”這樣的壯志凌云,誰又不愛呢?它的存在讓世間變得五彩繽紛,因為有了它的渲染,我們的祖國變得更加秀美。水不會因為我們的貪婪而不理我們,不會因為我們的自私而逃避我們。但當它一天天的變得混沌,原本潔凈的它卻被我們搞得越來越黑時,我們又于心何忍呢?
也許到了某個特定的時段,一杯飲用水也可能需要竟拍,也可能在你蒼老之時,你的孫兒依在你的膀彎里,好奇地問:“爺爺,飲用水是什么顏色的呀?”到了那時,你可能會無言以對,因為你也解釋不清。
上海市因為大量地抽取地下水,導致其地表不斷下沉,作為一個繁華的商業(yè)大都會,將來可能會沉入海底,成為永久的水下奇觀。
保護我們的水資源吧,從我做起,從現(xiàn)在做起,做一個節(jié)約水資源的小衛(wèi)士,牽著你父母的手,帶著你的親戚朋友,一起為節(jié)約水資源而努力吧。我想當我們凝成一股繩,用心在一起,節(jié)約用水這場戰(zhàn)役,我們一定會勝利。
剛剛過去的“5·12”汶川大地震,對于那些從死亡邊緣上又爬回來的人們對水一定會有說不盡的感情。想想看,當我們在家洗了蘋果,躺在沙發(fā)上看電視時,他們也許只想得到一口水,這樣就增強了生存的希望。所以當我們看見水“嘩啦”流逝時,應(yīng)該有一種緊迫感,一種使命感,應(yīng)立即健步上前,關(guān)上水龍頭。
我們很懷念那“一江春水向東流”的閑情,那“大江東去浪淘盡”的雄壯,那“水面初平云腳低”的別致,那“不盡長江滾滾來”的氣派……我們更會懷念故鄉(xiāng)那淺淺的河灣,我們一起嬉鬧的情景,那比自己大上好多倍的老井,那甜甜的清清的故鄉(xiāng)水??僧斘覀兒翢o保留地去使用它,它只會變得越來越少,終將會從我們的視線里消失。
作為祖國未來的建設(shè)者,我們應(yīng)該把節(jié)約用水作為己任,帶動周圍、帶動大家、帶動全社會、一起節(jié)約用水,這樣的話我們才能與清清的河水永存。朋友們,加油吧!你節(jié)約一些,我節(jié)約一些,他節(jié)約一些,我們一定會成功的。
節(jié)約用水——我們義不容辭的責任!
桑桑是作家曹文軒寫的《草房子》中的人物。他機智勇敢,有愛心,喜歡養(yǎng)他的那群鴿子,但又淘氣。雖然有時會因為好奇心做出一些讓人啼笑皆非的事情,可總的來說,他還是有自己思想,講道理的
O’Reilly出品的動物叢書在IT界可謂婦孺皆知,它有很多昵稱,如動物世界、飼養(yǎng)員指南等,這些昵稱均一定程度上反映了廣大讀者對該系列叢書的喜愛之情(好吧或者其它什么的各種感情)。沒必要多介紹,想必知道動物叢書的人都知道這系列書最顯著的特點,就是封皮上會有一只手繪的動物坐鎮(zhèn),基本格式如右圖所示(右圖有一點不是很標準,一般書的標題會用一個巨大的色塊+白色字)。
看過那么多動物叢書,有時候好奇心就突然來了:為什么O’Reilly要用動物形象來做書籍封面?這是來自哪的靈感?封面的動物是怎么挑的?和內(nèi)容有關(guān)系嗎?有些詭異的動物都叫什么名字?
應(yīng)該是太多人問過這樣的問題吧,可愛的O’Reilly在官網(wǎng)上就發(fā)表了很完美的文章解釋,我就圖省事翻譯一下重點吧(原文地址都附在文中)。
起源:為什么用動物形象做封面
O’Reilly動物叢書的最初設(shè)計是由Edie Freedman 完成的,她十年前(2000年) 在O’Reilly官網(wǎng)上發(fā)表了一篇文章對動物叢書的封面進行了一定程度的解釋 (還是保留了一部分神秘感),并講了一些封面帶來的趣事:
事情要追溯到上世紀80年代末期,Edie接手了第一本動物叢書封皮設(shè)計的工作。之后她就被各種涌來的關(guān)于動物選擇的問題淹沒,比如為什么這個內(nèi)容會選那個動物之類,連作者也會追問,有些作者甚至不爽自己封皮上的動物,怕讀者會誤以為作者像河馬一樣胖或者像藍腳鰹鳥一樣笨,但是她從來沒有解釋過這些選擇背后的原因,文章里當然也沒有明確解釋出來,只是說每個選擇并不是隨便挑出來的,的確有著某種原因(強烈譴責賣關(guān)子行為)。
動物叢書的第一本書和UNIX相關(guān),在此之前Edie只是聽說過UNIX,并不清楚具體是什么。突然接觸到vi、sedawk、uucp、lex、yacc這些不知所云的詞(UNIX詞匯),讓她覺得這些詞都像來自于當時正流行的游戲“龍與地下城”,于是她心目中UNIX程序員的形象就是一個龍與地下城的玩家(強囧)。開始給書設(shè)計封皮的時候,Edie在一系列19世紀的木版畫中找到了靈感。畫中詭異的動物剛好和那些高深的UNIX術(shù)語是絕配。 不過當Edie把這個封面交給O’Reilly的時候,他們的反應(yīng)不大好。有人說太丑了,有人覺得太恐怖了,還有人說沒人會買畫著這種封面的書。不過O’Reilly的創(chuàng)始人Tim很喜歡這種詭異的風格,認為這能讓這套書在眾多出版社的書里脫穎而出。事實證明動物叢書的封皮獲得了巨大的成功(左圖就是動物叢書第一批之一sedawk初版封面)。
此后,他們從作者和讀者那學到了各種和動物相關(guān)的知識。有個作者執(zhí)意要在封面畫上象鼻蟲(boll weevil),他給Edie發(fā)了無數(shù)的關(guān)于象鼻蟲的資料,仔細的解釋了象鼻蟲應(yīng)該放在該內(nèi)容書籍封皮的原因(為什么眼前浮現(xiàn)出來的是Sheldon追著Penny給她講呢)。最終Edie采納了他的意見,于是O’Reilly出版的《Oracle Web Applications》一書的封面就是一大一小兩只象鼻蟲。
有時會因為在動物知識上的欠缺,出現(xiàn)一些認錯版畫中動物的情況。有一次Edie把一只猴子說成了黑猩猩,結(jié)果收到鋪天蓋地的讀者郵件指出,黑猩猩是絕對沒有尾巴的!
此外還有一個意料之外的問題,有些讀者因恐懼癥而無法閱讀書籍,比如蜘蛛、蛇、貓。有一個讀者的老公就曾給出版社寫信,抱怨《Webmaster in a Nutshell》(蜘蛛恐懼癥勿點)一書封面上的蜘蛛讓他老婆大人不敢看書,他只好通篇翻閱該書,用白膠布把書中的每章章首的蜘蛛圖案貼上(模范老公?。?。還有一個讀者憤怒的說不會在他們的網(wǎng)站上買任何東西,因為在“如何訂購”的網(wǎng)頁上有蛇(考慮到生意問題,O’Reilly已經(jīng)換掉了蛇的圖案)。
還有一件更嚴肅的事情,出版動物叢書讓Edie更加注意到生態(tài)問題。很多封面動物已經(jīng)瀕臨滅絕,而在版畫繪制的時期(19世紀),這些動物還是大量存活的。O’Reilly也希望他們使用這些動物做封面能夠引起人們對動物保護的關(guān)注。
先看一下這個文章吧......首先確定一個你要學習的語言.然后找對應(yīng)的教材視頻....求學習方法...多練,多問,找個好點的扣群..不用先學什么VB,C,C++那些亂七八糟的 ---- 在學習之前,請允許自己先問下自己:我為什么要做這樣的事。對于編程,我會先問一下,你為什么要學習編程?你會怎么回答? A:興趣; B:讀書需要; C:傳聞是高薪職業(yè); D:容易就業(yè); E:被逼的; F:無聊學學; 這個你會怎么選擇;什么樣的目的,得到什么樣的結(jié)果。如果你選擇(A)我會開心,興趣就是動力,就算沒有人教,你也會鼓足勇氣去學習,就我個人來說,我是那種屁股坐不穩(wěn)的人,你叫我坐在那里什么都不做半個小時,我會全身都不舒服的。但是一說到計算機,編程我可以一坐就是7,8個小時自己還沒感覺。興趣第一,很好,你以這個為目的我相信你一定能學好。相信你也有自己的一套學習方式。 如果你選擇的是B:那么你也有一定的成功幾率,首先你要是一個會讀書的人,可以說讀書就是你的興趣,那么你也可以學好。當然如果只是隨潮流大家都讀所以我也要讀,那么你只能學不好了。 如果你選擇的是C:那么你還是早點放棄吧,那些擁有高薪的都是十分牛的人,其實的廣大程序員還是掙扎在生活的水平線上。混飯吃而已,所以如果你抱著高薪去學習編程,你一定肯痛苦。這類也是最能有成就的一類,編程是技術(shù)需要的是一份執(zhí)著,但是你的執(zhí)著只是金錢。技術(shù)現(xiàn)在并不等于金錢。。。。 如果你選擇的是D:我還是勸你早點放棄,現(xiàn)在的就業(yè)也不樂觀啊,失業(yè)大軍里計算機就占了很大的一部分比重,你隨時都可能是其中的一分子。 如果你選擇的是E:很好,你也有可能學好,前提是逼你的人能一直強逼你下去,讓你進步,一句非常經(jīng)典的話:“人都是被逼出來的。。。。?!薄D愠錾臅r候的確是被逼出來的,被你媽媽逼出來,呵呵! 如果你選擇的是F:也不錯,起碼你無聊的時候想到的居然是編程,證明編程還能給你帶來樂趣。 既然你已經(jīng)知道為什么學習編程,那么我們要做的就是怎么去學習了?,F(xiàn)在的編程語言很多,上百個語言,但是無論什么語言,都會有共同性的。所以你要學習編程那么就要先學習編程的思想,這個編程的思想你也只能看一下而已。了解一下計算機如何去讀這些編程語言這個很重要。不了解過個你學習任何編程語言都很難做到靈活運用。 你明白了計算機是如何讀編程語言是的這個時候你就可以開始選擇你學習的語言了。至少這些編程語言都是我能看懂的,可以說是自己學過的。也會解析一下學習這些語言的一些特點。 A: c#.NET B: Java C: C/C++ D: PHP E: JavaScript F: lua 我只列出了五種,其實還有更多的語言,有興趣可以自己去找下這些語言的特色.其實我了出的這些都有一個特色.都是跟C語言有一定的相似的. A: C#這個語言是微軟推出的,目前大部分應(yīng)用都是應(yīng)用在WIN平臺上,雖然LINUX也能用,但支持還不是太好.編程風格上我覺得是最優(yōu)美.至少看起來很舒適,強大的智能感知.編程的學習難度分級是:初學偏易,一般編程中等,高級編程難。梯度不算陡峭。雖然是面向?qū)ο螅乾F(xiàn)在大部分的人都很用到面向?qū)ο笾辽傥以趪鴥?nèi)反編譯很多的應(yīng)用系統(tǒng)的時候很多都沒有用到編程思想的,雖多就是把類用來實現(xiàn)腳本編程閉包功能而已。真正使用到面向?qū)ο蟮睦^承多態(tài)的并不多。當然也有很多是使用了面向?qū)ο笏枷氲?,所以我覺得初學C#的時候完全可以放棄對象的繼承,多態(tài)這類比較復雜的東西。專心學習他的語法糖,還有封裝好的API,其實C#這個語言已經(jīng)有個很完善的API基本上的應(yīng)用都可以直接使用API來實現(xiàn),而且從算法構(gòu)造上也不算復雜。再加上IDE的智能感知,新手只需要了解各個命名空間的作用就可以了,智能感知會幫助我們完成API的調(diào)用(至少你要知道那些方法在那個空間,怎么用)。所以初學我把它定義在上手“易”?,F(xiàn)在的學習其實并非一定要從記事本開始。學會使用IDE學習其實也是一項技能。編程很重要的一點。就是你動了多少手,你就收獲了多少,無論你看了多少別人的代碼,如果你不自己動手去寫一下,你永遠沒辦法感受到內(nèi)涵,之前我有部分同學,他們跟我說,現(xiàn)在網(wǎng)上大把代碼,那里需要自己敲得那么辛苦干嘛上網(wǎng)COPY一下就什么都有了,傻瓜才自己手寫。好吧我承認我傻瓜。但是自少我現(xiàn)在的水平我敢說,,你只需要給我2樣東西我一樣能寫出你上網(wǎng)找的那些代碼。一樣是VS,另一樣是幫助文檔。說起這個事又令我想起最近公司招聘的一些趣事。最近公司面試了接近80個人吧,因為我們公司的上機考試是不允許上網(wǎng)的。呵呵!你們可以想象一下,不能上網(wǎng)后只有30個能勉強敲的出代碼的。能做出題目的更是少得可憐。突然我就想,這些人到底有沒基礎(chǔ)的,一個簡單的登錄功能和上傳文件功能不能上網(wǎng)就不會寫,我真是狂汗。。。一些號稱三年五年工作經(jīng)驗的,居然還寫不出一個簡單的交叉表查詢。(其實就10句代碼。。。。)。所以啊過分依靠網(wǎng)絡(luò)怎么可能有自己的技術(shù)積累呢,這些人在我眼里三年五年也成不了構(gòu)架師。。可能十年也去不到構(gòu)架師的水平。 B:JAVA 跟C#類似,傳聞微軟推出C#也是為了對抗JAVA而搞出來的。這兩種語言有很多相似的地方什么是命名的方式上都有很多相似的地方,JAVA也是從C語言里發(fā)展起來的。不過我覺得在學習曲線上,初學要比C#難,中國人普遍英語不太好。而且在IDE上微軟的VS要比JAVA的各類編輯器要優(yōu)勝,主要是在智能感知上,還有一些輔助上??赡芎芏郕AVA的鐵桿FANS會給我丟西瓜,丟雞蛋了。但我敢說,我說的是事實,JAVA位置一個環(huán)境都很辛苦,至少我學習的時候是這樣。免費啊,JAVA很多東西都是免費的,微軟要收費的,收費肯定好了。。。。我會偷偷的笑。。。你丫就不用盜版?有了光榮的盜版。收費問題根本就不是問題,再說從學習的角度。。盜版這些東西根本就無關(guān)痛癢的。。反而更容易召集人氣。。。 C: C語言可以說是非常牛逼的語言,長期位居第一。但是需要投入的精力也不少啊,智能感知一直進步不大,可能是因為萬惡的宏定義呵呵(這個萬惡可不是我說的。)當然學習C語言如果你不懂使用宏定義那么你肯定沒學過C語言,C語言的宏定義雖然一直在C語言的書本上很少描述但是實際應(yīng)用卻是不可缺少的,我看過IDSOFT的DOOM的源代碼里簡直就是神一般。但是看起來也真是辛苦。題外話,其實上面很多語言都是根據(jù)C語言衍生出來的,什么很多特性都是參照了C語言。用很玄幻的說話。C語言是遠古時代遺留的強大魔法。既然是遠古學習曲線自然就陡峭得可以,我個人感覺我的C語言水平其實都只是菜鳥而已。C++一樣是菜鳥。C++和C其實我覺得是2個語言根本不能混為一談的,但是很多招聘之的都把C/C++歸為一類,所以我也把它歸為一類,很多人想問學C++是不是要先學C。而且C++的分支多得嚇人。內(nèi)涵也豐富得嚇人。。C語言個人技術(shù)化,我個人覺得C/C++起碼要4年才算出師,JAVA是2年,C#都是2年。而且還需要一系列的計算機基礎(chǔ),算法基礎(chǔ)等一些東西。而JAVA和C#都把這些東西封裝了成標準的API了,我們只需要使用。但是C/C++這些東西都沒有一個確定的標準例如界面庫,有人用QT有人用MFC。這些都是不一樣的所以選擇的路也多,學的東西自然也更多了。但從編程上,并非就是C++的就比用C#的牛。C++只是擁有深厚的歷史,有自己獨特的文明。是因為它的文明而牛。 D:PHP 接觸不深,但是我覺得它是一個制作網(wǎng)頁的好語言,其他領(lǐng)域我并不怎么看好他,我覺得PHP在開發(fā)網(wǎng)頁上有很大的優(yōu)勢,但是開發(fā)B/S級系統(tǒng)應(yīng)用就現(xiàn)得比較力不從心了。所以如果你定位自己作為一個網(wǎng)頁開發(fā)人員的話,你就應(yīng)該學習這種語言。如果是B/S級的應(yīng)用的話,就應(yīng)該使用C#或者JAVA,或者其他的語言。 E:JavaScript,非常有名的腳本語言,如果你想從事B/S的開發(fā),網(wǎng)頁開發(fā),你就一定要學這個,是一個必須掌握的技能。學習曲線相對比較平坦,而且內(nèi)容也不算多,但是應(yīng)用卻十分靈活的語言。強烈推薦初學者先學習這個語言,來尋找感覺,因為這個語言完全不存在編程環(huán)境的問題,你只需要有瀏覽器,記事本,兩樣任何系統(tǒng)都有的軟件就可以編寫它。所以我覺得首先學習它會對你理解編程思想有一定幫助。 F:LUA這個也是一個腳本語言,成就這個語言的名聲是來自一個叫“魔獸世界”的游戲,目前我了解LUA應(yīng)用的領(lǐng)域比較多都是作為一種嵌入語言,嵌入到C或者C++中去使用,在國內(nèi)很多游戲公司都會有LUA程序員,部分會由C語言程序員去兼任。因為LUA在語法上和C有很相似的地方,基本對舊的C語言程序員學習LUA是無難度的。當然也有它的局限性,作為腳本語言它本身就存在不足,而且這個語言本身就是作為C語言的擴展來用的所以,學習這個語言的話,建議先學習C語言。或者成就更高(或者而已?。? 我個人是選擇C#作為長期發(fā)展的語言的。我覺得這個語言比較適合我這種英語不算好,但是又喜歡編程的人。 PS:真心想學編程的必須要學習一定的英語能力,因為很多編程的先進思想都是英文的。所以英語好,對成為高手起很大作用的。 知道為什么學習編程,又選擇了目標語言,接下來就是基礎(chǔ)學習了。 這個基礎(chǔ)學習,我覺得首先要對一些語法糖熟悉,第二件事情就是要多編,多看,可能你買的書都附帶著實例代碼的,我覺得對于初學者,首先你把書上的程序都照著編一次,在這期間,你一定會遇到無數(shù)的錯誤,但是這些錯誤將會是重復出現(xiàn)的,這個時候你就學會了如何排錯,有人說過編程不是一口氣寫出來的,是修改出來的。所以學習排錯是編程的第一步,雖然隨書光盤有很多代碼,但是這些代碼都不屬于你的。沒有入你腦,唯一讓這些代碼屬于你的辦法就是多抄(打)幾次。當你把一本編程的基礎(chǔ)書都看透了。。至少別人問你這本書的知識你能答得上口,那就是你度過了第一時期了。你可以進入一搬階段了。 一般的階段,這個階段我把它定義為是把這些語法組織成句子,組織成文章的時期。我想問下,大家都上過語文課吧,我們來回想一下,我們學習語文的過程 字=》詞=》句=》文章; 而編程的學習則是這樣的; 變量=》函數(shù)=》類=》架構(gòu) 所以我們在初學階段做的都是學那些字,那些詞(其實就是語法糖)然后我們就會學造句,造句的時候就會涉及到把什么詞語組合起來會得到優(yōu)美的句子,而合理的句子,加上合理的邏輯就會變成一篇優(yōu)美的文章。但是一篇優(yōu)美的文章并非那么簡單的。也就是一個程序架構(gòu)的優(yōu)美一樣沒那么簡單一樣,需要很多很多學識
Java學習心得
引言
軟件開發(fā)之路是充滿荊棘與挑戰(zhàn)之路,也是充滿希望之路。Java學習也是如此,沒有捷徑可走。夢想像《天龍八部》中虛竹一樣被無崖子醍醐灌頂而輕松獲得一甲子功力,是很不現(xiàn)實的。每天仰天大叫"天神啊,請賜給我一本葵花寶典吧",殊不知即使你獲得了葵花寶典,除了受自宮其身之苦外,你也不一定成得了"東方不敗",倒是成"西方失敗"的幾率高一點。
"不走彎路,就是捷徑",佛經(jīng)說的不無道理。
1.如何學習程序設(shè)計?
Java是一種平臺,也是一種程序設(shè)計語言,如何學好程序設(shè)計不僅僅適用于Java,對C++等其他程序設(shè)計語言也一樣管用。有編程高手認為,Java也好C也好沒什么分別,拿來就用。為什么他們能達到如此境界?我想是因為編程語言之間有共通之處,領(lǐng)會了編程的精髓,自然能夠做到一通百通。如何學習程序設(shè)計理所當然也有許多共通的地方。
1.1 培養(yǎng)興趣
興趣是能夠讓你堅持下去的動力。如果只是把寫程序作為謀生的手段的話,你會活的很累,也太對不起自己了。多關(guān)心一些行業(yè)趣事,多想想蓋茨。不是提倡天天做白日夢,但人要是沒有了夢想,你覺得有味道嗎?可能像許多深圳本地農(nóng)民一樣,打打麻將,喝喝功夫茶,拜拜財神爺;每個月就有幾萬十幾萬甚至更多的進帳,憑空多出個"食利階層"。你認為,這樣有味道嗎?有空多到一些程序員論壇轉(zhuǎn)轉(zhuǎn),你會發(fā)現(xiàn),他們其實很樂觀幽默,時不時會冒出智慧的火花。
1.2 慎選程序設(shè)計語言
男怕入錯行,女怕嫁錯郎。初學者選擇程序設(shè)計語言需要謹慎對待。軟件開發(fā)不僅僅是掌握一門編程語言了事,它還需要其他很多方面的背景知識。軟件開發(fā)也不僅僅局限于某幾個領(lǐng)域,而是已經(jīng)滲透到了各行各業(yè)幾乎每一個角落。
如果你對硬件比較感興趣,你可以學習C語言/匯編語言,進入硬件開發(fā)領(lǐng)域。如果你對電信的行業(yè)知識及網(wǎng)絡(luò)比較熟悉,你可以在C/C++等之上多花時間,以期進入電信軟件開發(fā)領(lǐng)域。如果你對操作系統(tǒng)比較熟悉,你可以學習C/Linux等等,為Linux內(nèi)核開發(fā)/驅(qū)動程序開發(fā)/嵌入式開發(fā)打基礎(chǔ)。
如果你想介入到應(yīng)用范圍最廣泛的應(yīng)用軟件開發(fā)(包括電子商務(wù)電子政務(wù)系統(tǒng))的話,你可以選擇J2EE或.NET,甚至LAMP組合。每個領(lǐng)域要求的背景知識不一樣。做應(yīng)用軟件需要對數(shù)據(jù)庫等很熟悉。總之,你需要根據(jù)自己的特點來選擇合適你的編程語言。
1.3 要腳踏實地,快餐式的學習不可取
先分享一個故事。
有一個小朋友,他很喜歡研究生物學,很想知道那些蝴蝶如何從蛹殼里出來,變成蝴蝶便會飛。有一次,他走到草原上面看見一個蛹,便取了回家,然后看著,過了幾天以后,這個蛹出了一條裂痕,看見里面的蝴蝶開始掙扎,想抓破蛹殼飛出來。這個過程達數(shù)小時之久,蝴蝶在蛹里面很辛苦地拼命掙扎,怎么也沒法子走出來。這個小孩看著看著不忍心,就想不如讓我?guī)蛶退?,便隨手拿起剪刀在蛹上剪開,使蝴蝶破蛹而出。但蝴蝶出來以后,因為翅膀不夠力,變得很臃腫,飛不起來。
這個故事給我們的啟示是:欲速則不達。
浮躁是現(xiàn)代人最普遍的心態(tài),能怪誰?也許是貧窮落后了這么多年的緣故,就像當年的大躍進一樣,都想大步跨入***主義社會?,F(xiàn)在的軟件公司、客戶、政府、學校、培訓機構(gòu)等等到處彌漫著浮躁之氣。就拿我比較熟悉的大連大工IT職業(yè)培訓來說吧,居然打廣告宣稱"20多年的計算機職業(yè)教育,遼寧省十佳學校",殊不知中國計算機發(fā)展才幾年,軟件發(fā)展才幾年,居然去報名的學生不少,簡直是藐視天下程序員。培訓出來的“程序員”大多不知道OO,OP為何物?社會環(huán)境如是,我們不能改變,只能改變自己,鬧市中的安寧,彌足珍貴。許多初學者C++/Java沒開始學,立馬使用VC/JBuilder,會使用 VC/JBuilder開發(fā)一個Hello World程序,就忙不迭的向世界宣告,"我會軟件開發(fā)了",簡歷上也大言不慚地寫上"精通VC/Java"。結(jié)果到軟件公司面試時要么被三兩下打發(fā)走了,要么被駁的體無完膚,無地自容。到處碰壁之后才知道捧起《C++編程思想》《Java編程思想》仔細鉆研,早知如此何必當初呀。
"你現(xiàn)在講究簡單方便,你以后的路就長了",好象也是佛經(jīng)中的勸戒。
1.4 多實踐,快實踐
彭端淑的《為學一首示子侄》中有窮和尚與富和尚的故事。
從前,四川邊境有兩個和尚,一個貧窮,一個有錢。一天,窮和尚對富和尚說:"我打算去南海朝圣,你看怎么樣?"富和尚說:"這里離南海有幾千里遠,你靠什么去呢?"窮和尚說:"我只要一個水缽,一個飯碗就夠了。"富和尚為難地說:"幾年前我就打算買條船去南海,可至今沒去成,你還是別去吧!" 一年以后,富和尚還在為租賃船只籌錢,窮和尚卻已經(jīng)從南海朝圣回來了。
這個故事可解讀為:任何事情,一旦考慮好了,就要馬上上路,不要等到準備周全之后,再去干事情。假如事情準備考慮周全了再上路的話,別人恐怕捷足先登了。軟件開發(fā)是一門工程學科,注重的就是實踐,"君子動口不動手"對軟件開發(fā)人員來講根本就是錯誤的,他們提倡"動手至上",但別害怕,他們大多溫文爾雅,沒有暴力傾向,雖然有時候蓬頭垢面的一副"比爾蓋茨"樣。有前輩高人認為,學習編程的秘訣是:編程、編程、再編程,筆者深表贊同。不僅要多實踐,而且要快實踐。我們在看書的時候,不要等到你完全理解了才動手敲代碼,而是應(yīng)該在看書的同時敲代碼,程序運行的各種情況可以讓你更快更牢固的掌握知識點。
1.5 多參考程序代碼
程序代碼是軟件開發(fā)最重要的成果之一,其中滲透了程序員的思想與靈魂。許多人被《仙劍奇?zhèn)b傳》中凄美的愛情故事感動,悲劇的結(jié)局更有一種缺憾美。為什么要以悲劇結(jié)尾?據(jù)說是因為寫《仙劍奇?zhèn)b傳》的程序員失戀而安排了這樣的結(jié)局,他把自己的感覺融入到游戲中,卻讓眾多的仙劍迷扼腕嘆息。
多多參考代碼例子,對Java而言有參考文獻[4.3],有API類的源代碼(JDK安裝目錄下的src.zip文件),也可以研究一些開源的軟件或框架。
1.6 加強英文閱讀能力
對學習編程來說,不要求英語, 但不能一點不會,。最起碼像Java API文檔(參考文獻[4.4])這些東西還是要能看懂的,連猜帶懵都可以;旁邊再開啟一個"金山詞霸"??炊嗔司蜁絹碓绞炀殹T趯WJava的同時學習英文,一箭雙雕多好。另外好多軟件需要到英文網(wǎng)站下載,你要能夠找到它們,這些是最基本的要求。英語好對你學習有很大的幫助??谡Z好的話更有機會進入管理層,進而可以成為剝削程序員的"周扒皮"。
1.7 萬不得已才請教別人
筆者在Martix與Java論壇的在線輔導系統(tǒng)中解決學生問題時發(fā)現(xiàn),大部分的問題學生稍做思考就可以解決。請教別人之前,你應(yīng)該先回答如下幾個問題。
你是否在google中搜索了問題的解決辦法?
你是否查看了Java API文檔?
你是否查找過相關(guān)書籍?
你是否寫代碼測試過?
如果回答都是"是"的話,而且還沒有找到解決辦法,再問別人不遲。要知道獨立思考的能力對你很重要。要知道程序員的時間是很寶貴的。
1.8 多讀好書
書中自有顏如玉。比爾蓋茨是一個飽讀群書的人。雖然沒有讀完大學,但九歲的時候比爾蓋茨就已經(jīng)讀完了所有的百科全書,所以他精通天文、歷史、地理等等各類學科,可以說比爾?茨不僅是當今世界上金錢的首富,而且也可以稱得上是知識的巨富。
筆者在給學生上課的時候經(jīng)常會給他們推薦書籍,到后來學生實在忍無可忍開始抱怨,"天吶,這么多書到什么時候才能看完了","學軟件開發(fā),感覺上了賊船 "。這時候,我的回答一般是,"別著急,什么時候帶你們?nèi)タ纯次业臅?,到現(xiàn)在每月花在技術(shù)書籍上的錢400元,這在軟件開發(fā)人員之中還只能夠算是中等的 ",學生當場暈倒。(注:這一部分學生是剛學軟件開發(fā)的)
1.9 使用合適的工具
工欲善其事必先利其器。軟件開發(fā)包含各種各樣的活動,需求收集分析、建立用例模型、建立分析設(shè)計模型、編程實現(xiàn)、調(diào)試程序、自動化測試、持續(xù)集成等等,沒有工具幫忙可以說是寸步難行。工具可以提高開發(fā)效率,使軟件的質(zhì)量更高BUG更少。組合稱手的武器。到飛花摘葉皆可傷人的境界就很高了,無招勝有招,手中無劍心中有劍這樣的境界幾乎不可企及。
2.軟件開發(fā)學習路線
兩千多年的儒家思想孔孟之道,中庸的思想透入骨髓,既不冒進也不保守并非中庸之道,而是找尋學習軟件開發(fā)的正確路線與規(guī)律。
從軟件開發(fā)人員的生涯規(guī)劃來講,我們可以大致分為三個階段,軟件工程師→軟件設(shè)計師→架構(gòu)設(shè)計師或項目管理師。不想當元帥的士兵不是好士兵,不想當架構(gòu)設(shè)計師或項目管理師的程序員也不是好的程序員。我們應(yīng)該努力往上走。讓我們先整理一下開發(fā)應(yīng)用軟件需要學習的主要技術(shù)。
A.基礎(chǔ)理論知識,如操作系統(tǒng)、編譯原理、數(shù)據(jù)結(jié)構(gòu)與算法、計算機原理等,它們并非不重要。如不想成為計算機科學家的話,可以采取"用到的時候再來學"的原則。
B.一門編程語言,現(xiàn)在基本上都是面向?qū)ο蟮恼Z言,Java/C++/C#等等。如果做WEB開發(fā)的話還要學習HTML/JavaScript等等。
C.一種方法學或者說思想,現(xiàn)在基本都是面向?qū)ο笏枷耄∣OA/OOD/設(shè)計模式)。由此而衍生的基于組件開發(fā)CBD/面向方面編程AOP等等。
D.一種關(guān)系型數(shù)據(jù)庫,ORACLE/SqlServer/DB2/MySQL等等
E.一種提高生產(chǎn)率的IDE集成開發(fā)環(huán)境JBuilder/Eclipse/VS.NET等。
F.一種UML建模工具,用ROSE/VISIO/鋼筆進行建模。
G.一種軟件過程,RUP/XP/CMM等等,通過軟件過程來組織軟件開發(fā)的眾多活動,使開發(fā)流程專業(yè)化規(guī)范化。當然還有其他的一些軟件工程知識。
H.項目管理、體系結(jié)構(gòu)、框架知識。
正確的路線應(yīng)該是:B→C→E→F→G→H。
還需要補充幾點:
1).對于A與C要補充的是,我們應(yīng)該在實踐中逐步領(lǐng)悟編程理論與編程思想。新技術(shù)雖然不斷涌現(xiàn),更新速度令人眼花燎亂霧里看花;但萬變不離其宗,編程理論與編程思想的變化卻很慢。掌握了編程理論與編程思想你就會有撥云見日之感。面向?qū)ο蟮乃枷朐谀壳皝碇v是相當關(guān)鍵的,是強勢技術(shù)之一,在上面需要多投入時間,給你的回報也會讓你驚喜。
2).對于數(shù)據(jù)庫來說是獨立學習的,這個時機就由你來決定吧。
3).編程語言作為學習軟件開發(fā)的主線,而其余的作為輔線。
4).軟件工程師著重于B、C、E、D;軟件設(shè)計師著重于B、C、E、D、F;架構(gòu)設(shè)計師著重于C、F、H。
3.如何學習Java?
3.1 Java學習路線
3.1.1 基礎(chǔ)語法及Java原理
基礎(chǔ)語法和Java原理是地基,地基不牢靠,猶如沙地上建摩天大廈,是相當危險的。學習Java也是如此,必須要有扎實的基礎(chǔ),你才能在J2EE、 J2ME領(lǐng)域游刃有余。參加SCJP(SUN公司認證的Java程序員)考試不失為一個好方法,原因之一是為了對得起你交的1200大洋考試費,你會更努力學習,原因之二是SCJP考試能夠讓你把基礎(chǔ)打得很牢靠,它要求你跟JDK一樣熟悉Java基礎(chǔ)知識;但是你千萬不要認為考過了SCJP就有多了不起,就能夠獲得軟件公司的青睞,就能夠獲取高薪,這樣的想法也是很危險的。獲得"真正"的SCJP只能證明你的基礎(chǔ)還過得去,但離實際開發(fā)還有很長的一段路要走。
3.1.2 OO思想的領(lǐng)悟
掌握了基礎(chǔ)語法和Java程序運行原理后,我們就可以用Java語言實現(xiàn)面向?qū)ο蟮乃枷肓恕C嫦驅(qū)ο?,是一種方法學;是獨立于語言之外的編程思想;是 CBD基于組件開發(fā)的基礎(chǔ);屬于強勢技術(shù)之一。當以后因工作需要轉(zhuǎn)到別的面向?qū)ο笳Z言的時候,你會感到特別的熟悉親切,學起來像喝涼水這么簡單。
使用面向?qū)ο蟮乃枷脒M行開發(fā)的基本過程是:
●調(diào)查收集需求。
●建立用例模型。
●從用例模型中識別分析類及類與類之間的靜態(tài)動態(tài)關(guān)系,從而建立分析模型。
●細化分析模型到設(shè)計模型。
●用具體的技術(shù)去實現(xiàn)。
●測試、部署、總結(jié)。
3.1.3 基本API的學習
進行軟件開發(fā)的時候,并不是什么功能都需要我們?nèi)崿F(xiàn),也就是經(jīng)典名言所說的"不需要重新發(fā)明輪子"。我們可以利用現(xiàn)成的類、組件、框架來搭建我們的應(yīng)用,如SUN公司編寫好了眾多類實現(xiàn)一些底層功能,以及我們下載過來的JAR文件中包含的類,我們可以調(diào)用類中的方法來完成某些功能或繼承它。那么這些類中究竟提供了哪些方法給我們使用?方法的參數(shù)個數(shù)及類型是?類的構(gòu)造器需不需要參數(shù)?總不可能SUN公司的工程師打國際長途甚至飄洋過海來告訴你他編寫的類該如何使用吧。他們只能提供文檔給我們查看,Java DOC文檔(參考文獻4.4)就是這樣的文檔,它可以說是程序員與程序員交流的文檔。
基本API指的是實現(xiàn)了一些底層功能的類,通用性較強的API,如字符串處理/輸入輸出等等。我們又把它成為類庫。熟悉API的方法一是多查Java DOC文檔(參考文獻4.4),二是使用JBuilder/Eclipse等IDE的代碼提示功能。
3.1.4 特定API的學習
Java介入的領(lǐng)域很廣泛,不同的領(lǐng)域有不同的API,沒有人熟悉所有的API,對一般人而言只是熟悉工作中要用到的API。如果你做界面開發(fā),那么你需要學習Swing/AWT/SWT等API;如果你進行網(wǎng)絡(luò)游戲開發(fā),你需要深入了解網(wǎng)絡(luò)API/多媒體API/2D3D等;如果你做WEB開發(fā),就需要熟悉Servlet等API啦??傊?,需要根據(jù)工作的需要或你的興趣發(fā)展方向去選擇學習特定的API。
3.1.5 開發(fā)工具的用法
在學習基礎(chǔ)語法與基本的面向?qū)ο蟾拍顣r,從鍛煉語言熟練程度的角度考慮,我們推薦使用的工具是Editplus/JCreator+JDK,這時候不要急于上手JBuilder/Eclipse等集成開發(fā)環(huán)境,以免過于關(guān)注IDE的強大功能而分散對Java技術(shù)本身的注意力。過了這一階段你就可以開始熟悉 IDE了。
程序員日常工作包括很多活動,編輯、編譯及構(gòu)建、調(diào)試、單元測試、版本控制、維持模型與代碼同步、文檔的更新等等,幾乎每一項活動都有專門的工具,如果獨立使用這些工具的話,你將會很痛苦,你需要在堆滿工具的任務(wù)欄上不斷的切換,效率很低下,也很容易出錯。在JBuilder、 Eclipse等IDE中已經(jīng)自動集成編輯器、編譯器、調(diào)試器、單元測試工具JUnit、自動構(gòu)建工具ANT、版本控制工具CVS、DOC文檔生成與更新等等,甚至可以把UML建模工具也集成進去,又提供了豐富的向?qū)椭煽蚣艽a,讓我們的開發(fā)變得更輕松。應(yīng)該說IDE發(fā)展的趨勢就是集成軟件開發(fā)中要用到的幾乎所有工具。
從開發(fā)效率的角度考慮,使用IDE是必經(jīng)之路,也是從一個學生到一個職業(yè)程序員轉(zhuǎn)變的里程碑。
Java開發(fā)使用的IDE主要有Eclipse、JBuilder、JDeveloper、NetBeans等幾種;而Eclipse、JBuilder 占有的市場份額是最大的。JBuilder在近幾年來一直是Java集成開發(fā)環(huán)境中的霸主,它是由備受程序員尊敬的Borland公司開發(fā),在硝煙彌漫的 Java IDE大戰(zhàn)中,以其快速的版本更新?lián)魯BM的Visual Age for Java等而成就一番偉業(yè)。IBM在Visual Age for Java上已經(jīng)無利可圖之下,干脆將之貢獻給開源社區(qū),成為Eclipse的前身,真所謂"柳暗花明又一村"。浴火重生的Eclipse以其開放式的插件擴展機制、免費開源獲得廣大程序員(包括幾乎所有的骨灰級程序員)的青睞,極具發(fā)展?jié)摿Α?/p>
3.1.6 學習軟件工程
對小型項目而言,你可能認為軟件工程沒太大的必要。隨著項目的復雜性越來越高,軟件工程的必要性才會體現(xiàn)出來。參見"軟件開發(fā)學習路線"小節(jié)。
3.2學習要點
確立的學習路線之后,我們還需要總結(jié)一下Java的學習要點,這些要點在前文多多少少提到過,只是筆者覺得這些地方特別要注意才對它們進行匯總,不要嫌我婆婆媽媽啊。
3.2.1勤查API文檔
當程序員編寫好某些類,覺得很有成就感,想把它貢獻給各位苦難的同行。這時候你要使用"Javadoc"工具(包含在JDK中)生成標準的Java DOC文檔,供同行使用。J2SE/J2EE/J2ME的DOC文檔是程序員與程序員交流的工具,幾乎人手一份,除了菜鳥之外。J2SE DOC文檔官方下載地址:,你可以到google搜索CHM版本下載。也可以在線查看:。
對待DOC文檔要像毛語錄,早上起床念一遍,吃飯睡覺前念一遍。
當需要某項功能的時候,你應(yīng)該先查相應(yīng)的DOC文檔看看有沒有現(xiàn)成的實現(xiàn),有的話就不必勞神費心了直接用就可以了,找不到的時候才考慮自己實現(xiàn)。使用步驟一般如下:
●找特定的包,包一般根據(jù)功能組織。
●找需要使用類,類命名規(guī)范的話我們由類的名字可猜出一二。
●選擇構(gòu)造器,大多數(shù)使用類的方式是創(chuàng)建對象。
●選擇你需要的方法。
3.2.2 查書/google-寫代碼測試-查看源代碼-請教別人
當我們遇到問題的時候該如何解決?
這時候不要急著問別人,太簡單的問題,沒經(jīng)過思考的問題,別人會因此而瞧不起你??梢韵日艺視絞oogle中搜一下看看,絕大部分問題基本就解決了。而像"某些類/方法如何使用的問題",DOC文檔就是答案。對某些知識點有疑惑是,寫代碼測試一下,會給你留下深刻的印象。而有的問題,你可能需要直接看 API的源代碼驗證你的想法。萬不得已才去請教別人。
3.2.3學習開源軟件的設(shè)計思想
Java領(lǐng)域有許多源代碼開放的工具、組件、框架,JUnit、ANT、Tomcat、Struts、Spring、Jive論壇、PetStore寵物店等等多如牛毛。這些可是前輩給我們留下的瑰寶呀。入寶山而空手歸,你心甘嗎?對這些工具、框架進行分析,領(lǐng)會其中的設(shè)計思想,有朝一日說不定你也能寫一個XXX框架什么的,風光一把。分析開源軟件其實是你提高技術(shù)、提高實戰(zhàn)能力的便捷方法。
3.2.4 規(guī)范的重要性
沒有規(guī)矩,不成方圓。這里的規(guī)范有兩層含義。第一層含義是技術(shù)規(guī)范,多到下載JSRXXX規(guī)范,多讀規(guī)范,這是最權(quán)威準確最新的教材。第二層含義是編程規(guī)范,如果你使用了大量的獨特算法,富有個性的變量及方法的命名方式;同時,沒給程序作注釋,以顯示你的編程功底是多么的深厚。這樣的代碼別人看起來像天書,要理解談何容易,更不用說維護了,必然會被無情地掃入垃圾堆。Java編碼規(guī)范到此查看或下載,中文的也有,啊,還要問我在哪,請參考3.2.2節(jié)。
3.2.5 不局限于Java
很不幸,很幸運,要學習的東西還有很多。不幸的是因為要學的東西太多且多變,沒時間陪老婆家人或女朋友,導致身心疲憊,嚴重者甚至導致抑郁癥。幸運的是別人要搶你飯碗絕非易事,他們或她們需要付出很多才能達成心愿。
Java不要孤立地去學習,需要綜合學習數(shù)據(jù)結(jié)構(gòu)、OOP、軟件工程、UML、網(wǎng)絡(luò)編程、數(shù)據(jù)庫技術(shù)等知識,用橫向縱向的比較聯(lián)想的方式去學習會更有效。如學習Java集合的時候找數(shù)據(jù)結(jié)構(gòu)的書看看;學JDBC的時候復習數(shù)據(jù)庫技術(shù);采取的依然是"需要的時候再學"的原則。
4.結(jié)束語
需要強調(diào)的是,學習軟件開發(fā)確實有一定的難度,也很辛苦,需要付出很多努力,但千萬不要半途而廢。本文如果能對一直徘徊在Java神殿之外的朋友有所幫助的話,筆者也欣慰了。哈哈,怎么聽起來老氣橫秋呀?沒辦法,在電腦的長期輻射之下,都快變成小老頭了。最后奉勸各位程序員尤其是MM程序員,完成工作后趕快遠離電腦,據(jù)《胡播亂報》報道,電腦輻射會在白皙的皮膚上面點綴一些小黑點,看起來鮮艷無比…… 拖起明天的夢想還得靠自己!