四川麻將源碼
Ⅰ java的自學過程中怎麼能有個清晰的學習路線
Java是一種平台,也是一種程序設計語言,如何學好程序設計不僅僅適用於Java,對C++等其他程序設計語言也一樣管用。有編程高手認為,Java也好C也好沒什麼分別,拿來就用。為什麼他們能達到如此境界?我想是因為編程語言之間有共通之處,領會了編程的精髓,自然能夠做到一通百通。如何學習程序設計理所當然也有許多共通的地方。
學習路線圖可以看看動力節點的,比較清晰,專業性也比較強。下面說說java具體如何學習。
1.1 培養興趣
興趣是能夠讓你堅持下去的動力。如果只是把寫程序作為謀生的手段的話,你會活的很累,也太對不起自己了。多關心一些行業趣事,多想想蓋茨。不是提倡天天做白日夢,但人要是沒有了夢想,你覺得有味道嗎?可能像許多深圳本地農民一樣,打打麻將,喝喝功夫茶,拜拜財神爺;每個月就有幾萬十幾萬甚至更多的進帳,憑空多出個"食利階層"。你認為,這樣有味道嗎?有空多到一些程序員論壇轉轉,你會發現,他們其實很樂觀幽默,時不時會冒出智慧的火花。
1.2 慎選程序設計語言
男怕入錯行,女怕嫁錯郎。初學者選擇程序設計語言需要謹慎對待。軟體開發不僅僅是掌握一門編程語言了事,它還需要其他很多方面的背景知識。軟體開發也不僅僅局限於某幾個領域,而是已經滲透到了各行各業幾乎每一個角落。
如果你對硬體比較感興趣,你可以學習C語言/匯編語言,進入硬體開發領域。如果你對電信的行業知識及網路比較熟悉,你可以在C/C++等之上多花時間,以期進入電信軟體開發領域。如果你對操作系統比較熟悉,你可以學習C/Linux等等,為Linux內核開發/驅動程序開發/嵌入式開發打基礎。
如果你想介入到應用范圍最廣泛的應用軟體開發(包括電子商務電子政務系統)的話,你可以選擇J2EE或.NET,甚至LAMP組合。每個領域要求的背景知識不一樣。做應用軟體需要對資料庫等很熟悉。總之,你需要根據自己的特點來選擇合適你的編程語言。
1.3 要腳踏實地,快餐式的學習不可取
欲速則不達,浮躁是現代人最普遍的心態,能怪誰?也許是貧窮落後了這么多年的緣故。現在的軟體公司、客戶、政府、學校、培訓機構等等到處彌漫著浮躁之氣。就拿我比較熟悉的大連大工IT職業培訓來說吧,居然打廣告宣稱"20多年的計算機職業教育,遼寧省十佳學校",殊不知中國計算機發展才幾年,軟體發展才幾年,居然去報名的學生不少,簡直是藐視天下程序員。培訓出來的「程序員」大多不知道OO,OP為何物?社會環境如是,我們不能改變,只能改變自己,鬧市中的安寧,彌足珍貴。許多初學者C++/Java沒開始學,立馬使用VC/JBuilder,會使用VC/JBuilder開發一個Hello World程序,就忙不迭的向世界宣告,"我會軟體開發了",簡歷上也大言不慚地寫上"精通VC/Java"。結果到軟體公司面試時要麼被三兩下打發走了,要麼被駁的體無完膚,無地自容。到處碰壁之後才知道捧起《C++編程思想》《Java編程思想》仔細鑽研,早知如此何必當初呀。
"你現在講究簡單方便,你以後的路就長了",好象也是佛經中的勸戒。
1.4 多實踐,快實踐
彭端淑的《為學一首示子侄》中有窮和尚與富和尚的故事。
從前,四川邊境有兩個和尚,一個貧窮,一個有錢。一天,窮和尚對富和尚說:"我打算去南海朝聖,你看怎麼樣?"富和尚說:"這里離南海有幾千里遠,你靠什麼去呢?"窮和尚說:"我只要一個水缽,一個飯碗就夠了。"富和尚為難地說:"幾年前我就打算買條船去南海,可至今沒去成,你還是別去吧!" 一年以後,富和尚還在為租賃船隻籌錢,窮和尚卻已經從南海朝聖回來了。
這個故事可解讀為:任何事情,一旦考慮好了,就要馬上上路,不要等到准備周全之後,再去幹事情。假如事情准備考慮周全了再上路的話,別人恐怕捷足先登了。軟體開發是一門工程學科,注重的就是實踐,"君子動口不動手"對軟體開發人員來講根本就是錯誤的,他們提倡"動手至上",但別害怕,他們大多溫文爾雅,沒有暴力傾向,雖然有時候蓬頭垢面的一副"比爾蓋茨"樣。有前輩高人認為,學習編程的秘訣是:編程、編程、再編程,筆者深表贊同。不僅要多實踐,而且要快實踐。我們在看書的時候,不要等到你完全理解了才動手敲代碼,而是應該在看書的同時敲代碼,程序運行的各種情況可以讓你更快更牢固的掌握知識點。
1.5 多參考程序代碼
程序代碼是軟體開發最重要的成果之一,其中滲透了程序員的思想與靈魂。許多人被《仙劍奇俠傳》中凄美的愛情故事感動,悲劇的結局更有一種缺憾美。為什麼要以悲劇結尾?據說是因為寫《仙劍奇俠傳》的程序員失戀而安排了這樣的結局,他把自己的感覺融入到游戲中,卻讓眾多的仙劍迷扼腕嘆息。
多多參考代碼例子,對Java而言有參考文獻[4.3],有API類的源代碼(JDK安裝目錄下的src.zip文件),也可以研究一些開源的軟體或框架。
1.6 加強英文閱讀能力
對學習編程來說,不要求英語, 但不能一點不會,。最起碼像Java API文檔(參考文獻[4.4])這些東西還是要能看懂的,連猜帶懵都可以;旁邊再開啟一個"金山詞霸"。看多了就會越來越熟練。在學Java的同時學習英文,一箭雙雕多好。另外好多軟體需要到英文網站下載,你要能夠找到它們,這些是最基本的要求。英語好對你學習有很大的幫助。口語好的話更有機會進入管理層,進而可以成為剝削程序員的"周扒皮"。
1.7 萬不得已才請教別人
筆者在Martix與Java論壇的在線輔導系統中解決學生問題時發現,大部分的問題學生稍做思考就可以解決。請教別人之前,你應該先回答如下幾個問題。
你是否在google中搜索了問題的解決辦法?
你是否查看了Java API文檔?
你是否查找過相關書籍?
你是否寫代碼測試過?
如果回答都是"是"的話,而且還沒有找到解決辦法,再問別人不遲。要知道獨立思考的能力對你很重要。要知道程序員的時間是很寶貴的。
1.8 多讀好書
書中自有顏如玉。比爾蓋茨是一個飽讀群書的人。雖然沒有讀完大學,但九歲的時候比爾蓋茨就已經讀完了所有的網路全書,所以他精通天文、歷史、地理等等各類學科,可以說比爾?茨不僅是當今世界上金錢的首富,而且也可以稱得上是知識的巨富。
筆者在給學生上課的時候經常會給他們推薦書籍,到後來學生實在忍無可忍開始抱怨,"天吶,這么多書到什麼時候才能看完了","學軟體開發,感覺上了賊船"。這時候,我的回答一般是,"別著急,什麼時候帶你們去看看我的書房,到現在每月花在技術書籍上的錢400元,這在軟體開發人員之中還只能夠算是中等的",學生當場暈倒。(註:這一部分學生是剛學軟體開發的)
1.9 使用合適的工具
工欲善其事必先利其器。軟體開發包含各種各樣的活動,需求收集分析、建立用例模型、建立分析設計模型、編程實現、調試程序、自動化測試、持續集成等等,沒有工具幫忙可以說是寸步難行。工具可以提高開發效率,使軟體的質量更高BUG更少。組合稱手的武器。到飛花摘葉皆可傷人的境界就很高了,無招勝有招,手中無劍心中有劍這樣的境界幾乎不可企及。
2.軟體開發學習路線
兩千多年的儒家思想孔孟之道,中庸的思想透入骨髓,既不冒進也不保守並非中庸之道,而是找尋學習軟體開發的正確路線與規律。
從軟體開發人員的生涯規劃來講,我們可以大致分為三個階段,軟體工程師→軟體設計師→架構設計師或項目管理師。不想當元帥的士兵不是好士兵,不想當架構設計師或項目管理師的程序員也不是好的程序員。我們應該努力往上走。讓我們先整理一下開發應用軟體需要學習的主要技術。
A.基礎理論知識,如操作系統、編譯原理、數據結構與演算法、計算機原理等,它們並非不重要。如不想成為計算機科學家的話,可以採取"用到的時候再來學"的原則。
B.一門編程語言,現在基本上都是面向對象的語言,Java/C++/C#等等。如果做WEB開發的話還要學習HTML/JavaScript等等。
C.一種方法學或者說思想,現在基本都是面向對象思想(OOA/OOD/設計模式)。由此而衍生的基於組件開發CBD/面向方面編程AOP等等。
D.一種關系型資料庫,ORACLE/SqlServer/DB2/MySQL等等
E.一種提高生產率的IDE集成開發環境JBuilder/Eclipse/VS.NET等。
F.一種UML建模工具,用ROSE/VISIO/鋼筆進行建模。
G.一種軟體過程,RUP/XP/CMM等等,通過軟體過程來組織軟體開發的眾多活動,使開發流程專業化規范化。當然還有其他的一些軟體工程知識。
H.項目管理、體系結構、框架知識。
正確的路線應該是:B→C→E→F→G→H。
還需要補充幾點:
1).對於A與C要補充的是,我們應該在實踐中逐步領悟編程理論與編程思想。新技術雖然不斷涌現,更新速度令人眼花燎亂霧里看花;但萬變不離其宗,編程理論與編程思想的變化卻很慢。掌握了編程理論與編程思想你就會有撥雲見日之感。面向對象的思想在目前來講是相當關鍵的,是強勢技術之一,在上面需要多投入時間,給你的回報也會讓你驚喜。
2).對於資料庫來說是獨立學習的,這個時機就由你來決定吧。
3).編程語言作為學習軟體開發的主線,而其餘的作為輔線。
4).軟體工程師著重於B、C、E、D;軟體設計師著重於B、C、E、D、F;架構設計師著重於C、F、H。
3.如何學習Java?
3.1 Java學習路線
3.1.1 基礎語法及Java原理
基礎語法和Java原理是地基,地基不牢靠,猶如沙地上建摩天大廈,是相當危險的。學習Java也是如此,必須要有扎實的基礎,你才能在J2EE、J2ME領域游刃有餘。參加SCJP(SUN公司認證的Java程序員)考試不失為一個好方法,原因之一是為了對得起你交的1200大洋考試費,你會更努力學習,原因之二是SCJP考試能夠讓你把基礎打得很牢靠,它要求你跟JDK一樣熟悉Java基礎知識;但是你千萬不要認為考過了SCJP就有多了不起,就能夠獲得軟體公司的青睞,就能夠獲取高薪,這樣的想法也是很危險的。獲得"真正"的SCJP只能證明你的基礎還過得去,但離實際開發還有很長的一段路要走。
3.1.2 OO思想的領悟
掌握了基礎語法和Java程序運行原理後,我們就可以用Java語言實現面向對象的思想了。面向對象,是一種方法學;是獨立於語言之外的編程思想;是CBD基於組件開發的基礎;屬於強勢技術之一。當以後因工作需要轉到別的面向對象語言的時候,你會感到特別的熟悉親切,學起來像喝涼水這么簡單。
使用面向對象的思想進行開發的基本過程是:
●調查收集需求。
●建立用例模型。
●從用例模型中識別分析類及類與類之間的靜態動態關系,從而建立分析模型。
●細化分析模型到設計模型。
●用具體的技術去實現。
●測試、部署、總結。
3.1.3 基本API的學習
進行軟體開發的時候,並不是什麼功能都需要我們去實現,也就是經典名言所說的"不需要重新發明輪子"。我們可以利用現成的類、組件、框架來搭建我們的應用,如SUN公司編寫好了眾多類實現一些底層功能,以及我們下載過來的JAR文件中包含的類,我們可以調用類中的方法來完成某些功能或繼承它。那麼這些類中究竟提供了哪些方法給我們使用?方法的參數個數及類型是?類的構造器需不需要參數?總不可能SUN公司的工程師打國際長途甚至飄洋過海來告訴你他編寫的類該如何使用吧。他們只能提供文檔給我們查看,Java DOC文檔(參考文獻4.4)就是這樣的文檔,它可以說是程序員與程序員交流的文檔。
基本API指的是實現了一些底層功能的類,通用性較強的API,如字元串處理/輸入輸出等等。我們又把它成為類庫。熟悉API的方法一是多查Java DOC文檔(參考文獻4.4),二是使用JBuilder/Eclipse等IDE的代碼提示功能。
3.1.4 特定API的學習
Java介入的領域很廣泛,不同的領域有不同的API,沒有人熟悉所有的API,對一般人而言只是熟悉工作中要用到的API。如果你做界面開發,那麼你需要學習Swing/AWT/SWT等API;如果你進行網路游戲開發,你需要深入了解網路API/多媒體API/2D3D等;如果你做WEB開發,就需要熟悉Servlet等API啦。總之,需要根據工作的需要或你的興趣發展方向去選擇學習特定的API。
3.1.5 開發工具的用法
在學習基礎語法與基本的面向對象概念時,從鍛煉語言熟練程度的角度考慮,我們推薦使用的工具是Editplus/JCreator+JDK,這時候不要急於上手JBuilder/Eclipse等集成開發環境,以免過於關注IDE的強大功能而分散對Java技術本身的注意力。過了這一階段你就可以開始熟悉IDE了。
程序員日常工作包括很多活動,編輯、編譯及構建、調試、單元測試、版本控制、維持模型與代碼同步、文檔的更新等等,幾乎每一項活動都有專門的工具,如果獨立使用這些工具的話,你將會很痛苦,你需要在堆滿工具的任務欄上不斷的切換,效率很低下,也很容易出錯。在JBuilder、Eclipse等IDE中已經自動集成編輯器、編譯器、調試器、單元測試工具JUnit、自動構建工具ANT、版本控制工具CVS、DOC文檔生成與更新等等,甚至可以把UML建模工具也集成進去,又提供了豐富的向導幫助生成框架代碼,讓我們的開發變得更輕松。應該說IDE發展的趨勢就是集成軟體開發中要用到的幾乎所有工具。
從開發效率的角度考慮,使用IDE是必經之路,也是從一個學生到一個職業程序員轉變的里程碑。
Java開發使用的IDE主要有Eclipse、JBuilder、JDeveloper、NetBeans等幾種;而Eclipse、JBuilder佔有的市場份額是最大的。JBuilder在近幾年來一直是Java集成開發環境中的霸主,它是由備受程序員尊敬的Borland公司開發,在硝煙彌漫的Java IDE大戰中,以其快速的版本更新擊敗IBM的Visual Age for Java等而成就一番偉業。IBM在Visual Age for Java上已經無利可圖之下,乾脆將之貢獻給開源社區,成為Eclipse的前身,真所謂"柳暗花明又一村"。浴火重生的Eclipse以其開放式的插件擴展機制、免費開源獲得廣大程序員(包括幾乎所有的骨灰級程序員)的青睞,極具發展潛力。
3.1.6 學習軟體工程
對小型項目而言,你可能認為軟體工程沒太大的必要。隨著項目的復雜性越來越高,軟體工程的必要性才會體現出來。參見"軟體開發學習路線"小節。
3.2學習要點
確立的學習路線之後,我們還需要總結一下Java的學習要點,這些要點在前文多多少少提到過,只是筆者覺得這些地方特別要注意才對它們進行匯總,
Ⅱ 鑱鏄庝漢鐨勬濈淮鏂瑰紡閮芥湁鍝浜
銆銆鑱鏄庝漢鎳傚緱鍒╃敤緋葷粺宸ョ▼鐨 鎬濈淮鏂瑰紡 錛屾妸浠栨墍瑙傚療鎺ヨЕ鐨勪簨鍔″垎鏋愭媶瑙f垚涓涓涓灝忕殑鐜鑺傦紝鐮旂┒鍚勪釜鐜鑺備箣闂寸殑鍏崇郴浠ュ強鎵鏈夌幆鑺傚規暣浣撶殑褰卞搷;鐒跺悗鍒╃敤浠栧圭幆鑺傜殑鐮旂┒錛岃揪鍒拌嚜宸辯殑璁炬兂鐨勭洰鐨勩備互涓嬫槸鎴戜負澶у跺仛鐨勬湁鍏寵仾鏄庝漢鐨勬濈淮鏂瑰紡鐨勬暣鐞嗭紝甯屾湜澶у跺枩嬈銆
銆 銆鑱鏄庝漢鐨勬濈淮鏂瑰紡
銆銆涓銆佷漢闄呭叧緋諱腑“鏈熸湜鍊肩$悊”鎬濈淮
銆銆鍦ㄤ漢闄呭叧緋諱腑錛屽瓨鍦ㄨ繖鏍風殑鐜拌薄錛氬湴鐥炴祦姘擄紝紿佺劧騫蹭竴浠跺ソ浜嬶紝鍒欎細榪呴熷緩絝嬪ソ鐨勫嵃璞°傝屾湁浜涘悓蹇楋紝騫蟲椂琛ㄧ幇鏋佸害浼樼錛屽ぇ鎷涘敖鍑猴紝棰嗗艱佹眰鍙嶈岃秺鏉ヨ秺楂橈紝紿佺劧鏈変竴嬈℃弧瓚充笉浜嗛嗗礆紝鍒欒礋闈㈣瘎浠烽殢涔嬭岃搗銆(蹇冪悊瀛︿腑涓嶈儨浠婚櫡闃)銆
銆銆鍦ㄦ劅鎯呬笂涔熸槸涓鏍鳳紝濂界敺浜哄鉤鏃跺艦璞″畬緹庯紝紿佺劧鐘涓嬈¢敊璇錛屽氨閬楄嚟涓囧勾(婕旇壓鍦堟煇娉)錛屾湁浜涙福鐢風獊鐒跺共涓涓や歡鏀瑰杽褰㈣薄鐨勪簨錛屽氨濂借瘎濡傛疆銆
銆銆榪欒佹眰鎴戜滑騫蟲椂鍋氱殑錛屽氨鏄瑕佸︿細鎲嬪ぇ鎷涳紝閫傚害鍘嬫姂鑷宸辯殑琛ㄧ幇嬈插拰鉶氳崳蹇冿紝鍏抽敭鏃跺欏嚭鎵嬨
銆銆浜屻佹ā鍨嬫濈淮
銆銆妯″瀷鎬濈淮鍗蟲妸鎴戜滑鐭ヨ瘑鐐逛互鍙婂勭悊宸ヤ綔涓錛屾濈淮鐨勮繃紼嬫彁鐐間負妯″瀷鐨勮兘鍔涖
銆銆渚嬪傚ぇ瀛﹁劇▼閲屾湁涓闂ㄥ緢鐏鐨勮劇▼鍙“鏁板﹀緩妯”錛屽嵆鎶婄敓媧諱腑閬囧埌鐨勯毦棰橈紝寤虹珛鎴愭暟瀛︽ā鍨嬶紝鏉ラ噺鍖栧垎鏋愯В璇匯
銆銆紕板埌蹇冪悊瀛﹂棶棰橈紝鍙浠ュ緩絝嬫垚“浣曚漢浣曟晠鍦ㄤ綍鏃朵綍鍦板仛浜嗕綍浜”鐨勬濈淮妯″瀷;
銆銆浼佷笟閲屽父鐢ㄧ殑SWOT妯″瀷鍒嗘瀽娉曪細S (strengths)鏄浼樺娍銆乄 (weaknesses)鏄鍔e娍錛孫 (opportunities)鏄鏈轟細銆乀 (threats)鏄濞佽儊銆傝繍鐢ㄨ繖縐 鏂規硶 錛屽彲浠ュ圭爺絀跺硅薄鎵澶勭殑鎯呮櫙榪涜屽叏闈銆佺郴緇熴佸噯紜鐨勭爺絀訛紝浠庤屾牴鎹鐮旂┒緇撴灉鍒跺畾鐩稿簲鐨勫彂灞曟垬鐣ャ佽″垝浠ュ強瀵圭瓥絳夈
銆銆涓夈佺郴緇熸濈淮
銆銆鐗涗漢閮芥敞閲嶅叧緋誨垎鏋愯屼笉鏄鍏冪礌鍒嗘瀽銆備竴涓浜嬬墿鎬繪槸鍚屾椂澶勪簬涓や釜緇村害鐨勯泦鍚堬紝鍐呴儴鍏冪礌鐨勫叧緋婚泦鍚堬紝浠ュ強瀹冭嚜韜涓涓鏇村ぇ緋葷粺閲岀殑緇勬垚鍏冪礌銆
銆銆緋葷粺鍖栨濊冿紝灝辨槸瑕佽ゆ竻榪欎袱涓緇村害鐨勫叧緋匯備粠緋葷粺鍜岃佺礌銆佽佺礌鍜岃佺礌銆佺郴緇熷拰鐜澧冪殑鐩鎬簰鑱旂郴錛岀浉浜掍綔鐢ㄤ腑鎬誨拰鑰冭檻銆傚畠鍏鋒湁鏁翠綋鎬с佺粨鏋勬с佺珛浣撴с佸姩鎬佹с佺患鍚堟х殑鐗圭偣銆
銆銆鍥涖佹潬鏉嗘濈淮
銆銆寰堝氫漢鍠滄㈢敤闃垮熀綾沖痙鐨 鍚嶈█ 錛“緇欐垜涓涓鏀鐐,鎴戝氨鑳芥挰鍔ㄥ湴鐞!”鏉ユ弿榪版潬鏉嗘晥搴斻傝屽湪鐗涗漢鐨勭溂涓鏉犳潌涓嶆㈠彲浠ユ挰鍔ㄥ湴鐞冦傛墍鏈夌殑淇℃伅銆佺墿璐ㄥ拰鑳介噺閮芥槸鍙浠ョ敤鏉犳潌鏉ユ挰鍔ㄧ殑銆
銆銆浜斻佺粷鎯呮濈淮
銆銆鍗沖煿鍏諱竴縐嶄笉浠ョ墿鍠滐紝涓嶄互宸辨偛鐨勮秴寮虹殑鑷鎴戜環鍊艱ゅ悓鎰燂紝涓嶄互澶栫晫鐜澧冧負杞縐匯
銆銆寰堝氭椂鍊欙紝鎴戜滑媧誨湪涓栦笂錛屾繪槸澶鍦ㄦ剰鍒浜哄硅嚜宸辯殑璇勪環錛屼換浣曡屼負鍔ㄦ満閮芥槸涓轟簡婊¤凍鑷宸辮櫄寮辯殑鑷灝婂績錛岃繖鏄涓縐嶈嚜鎴戣ゅ悓鎰熷緢浣庣殑琛ㄧ幇銆傛垜浠騫沖父鐢熸椿涓鏄炬憜錛屽ア渚堟秷璐癸紝緇忎笉璧瘋辨儜錛屾祬灝濊緞姝㈣繖浜涜〃鐜伴兘璇存槑浜嗚繖涓鐐廣
銆銆鐒惰岋紝涓浜涙瘮杈冩垚鍔熺殑浜哄+錛屼粬鐨勪環鍊艱ゅ悓鎰熷畬鍏ㄦ潵鑷鍐呴儴錛屾瘮濡傛潕鍢夎瘹鍦ㄥ勾杞葷殑鏃跺欙紝涓轟簡鍋峰︼紝鎺掗櫎浜嗕竴鍒囧共鎵幫紝鍐呭績浠峰奸珮寰堝己錛屼笉鍙椾換浣曞栫晫鐨勫獎鍝嶏紝浠栦滑璁や負鎵鏈夌殑鍔鍔涘拰浠樺嚭閮芥槸涓轟簡鏈鏉ョ殑鑷宸便傝繖涓綾諱漢錛屾繁鍒誨︿細浜嗕笘鐣岀殑榪愯岃勫垯錛屽弽鑰岃兘澶熷仛鍒拌嚜寰嬶紝鐙絝嬫濊冿紝鍜屽緢寮虹殑鐩鏍囨劅銆
銆銆鍏銆佷環鍊兼濈淮
銆銆鐪嬪緟浜嬬墿鏃訛紝姘歌繙涓嶈佸逛簨瀹炲彂鐏錛岃屾槸鎬濊冧簨浠舵湰韜鐨勪環鍊箋傛f墍璋擄細灝忓╃湅瀵歸敊錛屽ぇ浜虹湅鍒╃泭銆備笉瑕佺洸鐩鍦板仛浠峰煎垽鏂銆
銆銆渚嬪備簡瑙f柊闂誨獟浣撶殑錛屽氨鐭ラ亾寰堝氬獟浣撶殑鍒濊》錛屽氨鏄鍚稿紩鐪肩悆錛屽埡嬋綺劇炪傛墍浠ヤ綘瀹屽叏娌″繀瑕佽佷負涓浜涘崥浜虹溂鐞冪殑鏂伴椈浜嬩歡錛屼箟鎰ゅ~鑶恆
銆銆鍙堟瘮濡備互鐭ヤ箮鐨勭墰浜“閲囬摐”錛屾彁鍒扮殑瀵逛簬浜嬫儏鐨勮瘎浠鋒柟娉曡轟婦渚嬶細鐢ㄤ簩緇寸殑鎬濈淮鏉ヨ冭檻錛屼竴鏄鏀剁泭鍊礆紝璇ヤ簨浠跺皢緇欐垜甯︽潵鐨勬敹鐩婂ぇ灝(璁ょ煡銆佹儏鎰熴佺墿璐ㄣ佽韓浣撴柟闈㈢殑鏀剁泭鐨嗗彲璁″叆)錛屼簩鏄鏀剁泭鍗婅「鏈燂紝璇ユ敹鐩婇殢鏃墮棿琛板噺鐨勯熷害錛屽崐琛版湡闀跨殑浜嬩歡錛屽規垜浠鐨勫獎鍝嶄細鎸佺畫鍦拌緝涔呰緝闀褲
銆銆鎴戜滑鏇村氱殑搴旇ラ泦涓浜庡仛楂樻敹鐩婂箋侀暱鍗婅「鏈熷拰浣庢敹鐩婂箋侀暱鍗婅「鏈熺殑浜嬨傝屽逛簬鏀剁泭鍊煎拰鍗婅「鏈熺殑鍒ゆ柇灝辨簮浜庢垜浠鍐呭績瀵硅嚜宸辯殑浠峰艱ゅ悓鍒ゆ柇銆傛瘮濡傚湪鐗涗漢鐪間腑鏈変環鍊肩殑璺蟲Ы鍙鏈変竴縐嶅氨鏄鑳藉姏宸茬粡鎻愰珮鑷充竴涓鐩稿綋鐨勯珮搴︼紝鎵炬洿澶х殑騫沖彴鎴栬呰鎸栬蛋銆
銆銆涓冦“鏀挎不浜洪檯”鎬濈淮
銆銆鎴戜滑鏈夋椂鍊欓兘鎮f湁紺句氦鎮愭儳鐥囷紝闄や簡鍜岃嚜宸辯煡鏍圭煡搴曠殑鏈嬪弸鑳藉悙闇插績澹板栵紝鍦ㄩ檶鐢熶漢闈㈠墠鎴戜滑鎬繪槸鎬鎬鎳︽嚘銆
銆銆鍏跺疄錛屾垜浠浜轟漢閮藉勪簬鏀挎不鐨勭綉緇滀腑銆傝皥璇濈殑鍐呭瑰線寰鏄鍏舵$殑錛屼漢緹や腑鐨勬斂娌誨叧緋繪墠鏄鏈閲嶈佺殑銆傛湁浜涙椂鍊欙紝浜轟漢閮介渶瑕佹埓鐫涓鍓闈㈠叿錛岃皥璇濈殑浠寮忓ぇ浜庡疄璐ㄤ綔鐢ㄣ
銆銆璇璦鏄紜絝嬫斂娌誨叧緋葷殑涓縐嶅伐鍏鳳紝鎴戜滑奼備漢鐨勬椂鍊欐槸涓縐嶆斂娌誨叧緋伙紝鐖跺瓙涔嬮棿鐨勮皥璇濇槸涓縐嶆斂娌誨叧緋伙紝鐢峰コ涔嬮棿鐨勪翰鐤忕▼搴︿篃鏄涓縐嶆斂娌誨叧緋匯
銆銆鍏銆佸歸殣鈃忎笘鐣岀殑媧炲療鎬濈淮
銆銆蹇冪悊瀛︽湁涓涓钁楀悕鐨“鍐板北鐞嗚”錛屼簨鐗╁憟鐜扮粰鎴戜滑鐨勶紝寰寰鍙鏄寰堝皬鐨勪竴閮ㄥ垎錛屾渶澶уご鐨勯儴鍒嗛氬父琚鎺╃洊浜嗐
銆銆瑕佸︿細鍩瑰吇瀵歸殣鈃忎笘鐣岀殑媧炲療鑳藉姏錛屼緥濡傛垜浠闃呰葷殑榪囩▼涓寰寰鍙鏄鐪嬪埌涓浜 鏂囩珷 鐨勮〃闈錛岃岀墰浜轟滑浼氱幇鍦“浣滆呮ā寮”涓鍘繪濊冮棶棰橈細鍐欎綔鐨勮儗鏅銆佸啓浣滅殑鍔ㄦ満銆佸啓浣滅殑鎵嬫點佸啓浣滅殑絳栫暐絳夛紝涓鏃︾啛緇冩帉鎻¤繖縐嶆妧鑳斤紝鎴戜滑鍦ㄥ︿範鐨勮繃紼嬩腑灝嗕細杈懼埌浜嬪崐鍔熷嶇殑鏁堟灉銆
銆銆涔濄侀榾鍊艱嚜鎺ф濈淮
銆銆闃鍊礆細鍗抽噴鏀句竴涓琛屼負鍙嶅簲鎵闇瑕佺殑鏈灝忓埡嬋寮哄害銆
銆銆涓句釜渚嬪瓙錛屽湪涓婁釜涓栫邯錛屾垜浠涓鍥戒漢瀵規插康鐨勮Е鍙戝煎氨寰堜綆錛屽ぇ琛椾笂鐪嬪埌濂充漢絀挎棗琚嶏紝灝辮兘鎯沖叆闈為潪錛岃屽綋浠婄綉緇滄椂浠o紝宀涘浗 鏁欒偛 鐗囨硾婊ワ紝鎵撳紑鐢佃剳婊″睆騫曠殑鐢熸畺鍣ㄥ畼錛屽ぇ瀹墮兘瑙夊緱娌℃湁鎰忔濄傚叾瀹炲氨鏄錛屾垜浠瀵圭敓鐞嗘叉湜鐨勯榾鍊兼彁楂樼殑緙樻晠銆
銆銆鍙堟瘮濡傦紝濂藉氬崟韜鑵愬コ錛屾矇婧轟簬闊╁浗鍋跺儚鍓т笉鑳借嚜鎷旓紝鏃墮棿闀誇簡錛屽ぇ鑴戞綔鎰忚瘑鐨勬嫨鍋舵爣鍑嗗氨鎻愰珮浜嗭紝鍒版渶鍚庡ょ嫭鍒拌侊紝榪樺湪鑻﹁嫤榪芥眰棰滃奸珮鏅哄晢楂樿繕浼氱収欏句漢鐨勯暱鑵挎у反銆
銆銆榪欎竴縐嶇幇璞″憡璇夋垜浠鐨 緇忛獙 灝辨槸瀛︿細涓瀹氱▼搴︾殑紱佹詫紝鑷鎺у拰鑷寰嬨
銆銆鑱鏄庝漢閬囧埌闂棰樻椂鐨勬濈淮鏂瑰紡涓庢垜浠宸鍒鍦ㄥ摢鍛
銆銆鑱鏄庣殑浜哄“闅”鏇撮挐鎰燂紝榪欐剰鍛崇潃浠栦滑鍙浠ユ洿杞繪澗鍦伴潰瀵歸櫋宄鐨勫︿範鏇茬嚎銆傛墦涓姣旀柟錛屽傛灉鎶婂︿範鏇茬嚎鐪嬩綔涓閬撻櫋鍧★紝瀵逛簬浠栦滑鏉ヨ村彲浠ュ噺鎺30°鐨勫捐掞紝鉶界劧璧扮殑鏈蹇呭揩錛屼絾鏄寰堣交鏉俱傛瘮濡傝村悓鏍鋒病鏈夌紪紼嬪熀紜錛屾垜浼氳夊緱rainmeter緙栫▼澶楹葷儲鑰屾斁寮冿紝浣嗗悓瀛L灝辮夊緱綆鍗曪紝鑺變簡涓鏅氫笂鎼炲畾銆傝櫧鐒朵箣鍚庢垜鑺變簡涓鏅氫笂涔熷彲浠ユ悶鍑烘潵涓涓妗岄潰錛屼絾鏄鎴戞繁鍒誨湴璁よ瘑鍒版垜鍜屼粬瀵“闅”鐨勮よ瘑鏄涓嶄竴鏍風殑銆傚悓鏍風殑榪囩▼閫傜敤浜巔s錛宮atlab錛宑錛宖ortran錛宭atex絳夌瓑錛岃繕鏈塧symptotic method錛宭aser diagnose絳夌瓑銆傚摢鎬曞拰鑱鏄庝漢鑺辨帀涓鏍風殑鏃墮棿鍙浠ュ﹀埌鍚屾牱鐨勪笢瑗匡紝浣嗘槸瀵規垜鑰岃█錛岃繖浜涗笢瑗塊毦錛屽逛粬浠鑰岃█錛屼笉闅俱傝屼笖寰寰鏄浠栦滑鍙浠ヨ姳鏇村皯鐨勬椂闂村︾殑鏇村氭洿閫忓交銆傛垜鎯崇┒鍏舵牴鏈錛屽湪浜庝粬浠瀹炲湪澶涔犳儻榪欑嶇▼搴︾殑瀛︿範鏇茬嚎錛岃韓緇忕櫨鎴樸備笉榪囪繖涓鐐圭殑濂藉勫湪浜庯紝榪欐槸鍙浠ュ悗澶╅敾鐐肩殑銆傝鉶愬埌鍚庢潵錛岀湅鍒板緢澶氫笢瑗垮緢楹葷儲寰堟兂鏀懼純錛屾兂鍒拌韓杈圭殑鍚屽﹀傛灉鐪嬪埌榪欎簺搴旇ヤ細瑙夊緱寰堢畝鍗曞惂錛屽挰鍜鐗欎篃灝卞︿笅鏉ヤ簡錛岃櫧鐒跺﹀緱鐪熸槸闈炲父杈涢吀銆傘傘
銆銆絎浜岀偣鍦ㄤ簬浠栦滑鍙浠ユ洿闀挎椂闂村湴淇濇寔娓呮櫚鐨勬濈淮錛屼笓娉ㄥ湴鎬濊冦傚湪涓浠朵簨鎯呴昏緫閾懼緢闀跨殑鏃跺欙紝鎴戝線寰瑕佹柇鎺夊緢澶氭★紝澶嶄範寰堝氭★紝鎵嶈兘鎶婅繖鏉$嚎璐閫氾紝浣嗘槸鏈夌殑浜哄氨鍙浠ユ娊涓濆墺鑼э紝鎱㈡潯鏂鐞嗗湴涓姝ユユ妸閫昏緫鎼炴竻妤氾紝鐩存帴鎺ㄧ悊鍑虹粨鏋溿備婦涓渚嬪瓙錛屼竴閬撴暟瀛﹁瘉鏄庨橈紝鎴戠煡閬撴潯浠跺拰緇撹猴紝瑕佸啓璇佹槑榪囩▼銆傜劧鍚庢垜寮濮嬫兂浠庢潯浠跺嚭鍙戱紝鍙鑳界敤鍒板畾鐞咥錛岄偅涔堥偅鎴戣繕闇瑕佽瘉鏄嶣錛岀劧鍚嶤錛岀劧鍚嶥錛岀劧鍚庢湁鐐歸毦錛屽厛緙撶紦銆傛帴鐫浠庣粨璁哄掓帹錛屾垜搴旇ョ敤鍒頒簡瀹氱悊E錛屼絾鏄榪橀渶瑕佽瘉鏄嶧錛岀劧鍚庛傘傘傜劧鍚庡氨鏂浜嗐
銆銆鎴戝凡緇忔悶涓嶆竻妤氭垜鍦ㄨ瘉浠涔堜簡錛屾垜澶磋剳宸茬粡涔辨帀浜嗭紝鍐呭瓨涓嶈凍:鍓嶉潰鐨勫繕璁頒簡;涓婚戜笉澶:鍚庨潰鐨勬帹涓嶅姩浜嗭紝鐒跺悗涓閬嶉亶澶嶄範鎺ㄧ悊鐨勮繃紼嬶紝鐔熸倝浜嗕箣鍓嶇殑姝ラわ紝鎵嶈兘緇х畫寰涓嬨備絾鏄榪欎簺闂棰樺逛簬涓浜涗漢灝卞緢杞繪澗錛岀涓嬈$湅鍒伴橈紝灝卞彲浠ュ緢杞繪澗鍦拌茬粰浣犲惉銆傚ご鑴戝緢娓呮氾紝鏉$悊鍒嗘槑錛岄昏緫鏈夊姏錛屾棤娉曞弽椹熾傛垜鏇劇粏闂榪囧緢澶氭′腑闂存濊冪殑榪囩▼錛屾渶鍚庣殑鎰熻Е灝辨槸鑱鏄庣殑浜哄彧闇瑕佹渶鍩烘湰鐨勪竴鏉″紩鐞嗗氨鍙浠ヨ剼韙忛昏緫鍑岀┖鑰岃搗錛岃屾垜闇瑕佷竴鏉″疄鍦ㄧ殑姊瀛愩傝繖涓鐐逛笉浠呮槸鍦ㄩ潰瀵歸毦棰樼殑鏃跺欙紝鐢熸椿寰堝氱粏鑺傚氨鍙瑙佺鍊錛岀被浼肩殑渚嬪瓙瑙併婄悊鎯沖浗銆嬨
銆銆絎涓夌偣鍦ㄤ簬浠栦滑瑙佽繃鏇存湰璐ㄧ殑涓滆タ錛屾垨鑰呰翠粬浠涔犳儻浜庢妸鎻℃洿鏈璐ㄧ殑涓滆タ銆傜墿鐞嗙殑榪愬姩瀛﹀逛粬浠鑰岃█鍙鏄璇翠簡涓浠朵簨鎯呭氨鏄痜=ma錛屽墿涓嬬殑鍙鏄鏁板;瀵規祦錛屼紶瀵礆紝杈愬皠璇村埌搴曞氨鏄綾諱技”涓嶅鉤鍒欓福“鐨勪竴浠朵簨鎯咃紝鏂圭▼璁頒笉寰椾簡鎸夊父璇嗘帹鎺ㄤ篃灝辨帹鍑烘潵浜;嫻佷綋鍔涘︽渶鍚庡氨鏄鎼撳嚭鏉ョ殑娑;涓闃剁殑鍋忓井鍒嗘柟紼嬪氨鏄嫻佺嚎絳夌瓑銆備笉鑳屽叕寮忥紝涓嶈儗鎺ㄨ猴紝甯歌瘑鍔犳暟瀛︼紝灝辨瀯鎴愪簡浠栦滑鐨勬暣涓鐗╃悊瀛︽嗘灦銆
銆銆鏈鍚庣殑鐘舵佸氨鏄錛屼粬浠紼崇ǔ絝欏湪甯歌瘑涔嬩笂錛岄潬鐫寮哄ぇ鐨勫惛鏀惰兘鍔涘拰娓呮櫚鐨勯昏緫錛屼竴楠戠粷灝橈紝鐩磋嚦鑲夌溂涓嶅彲瑙併
銆銆銆愯仾鏄庝漢鐨勬濈淮鏂瑰紡銆銆銆鍖哄埆灝卞湪浜庯紝鑱鏄庣殑浜哄湪浠栦滑鐨勮剳嫻蜂腑鏈変竴涓鏇寸戝︺佺簿瀵嗐侀珮鏁堢殑“鎶借薄鍦板浘”錛岃繖涓鍦板浘閲岄潰瀛樺偍鐨勪笉鏄鍦版爣銆佽竟鐣屻佺嚎璺錛岃屾槸姒傚康銆佺煡璇嗐佷簨瀹炲拰紼嬪簭銆備粬浠璺熸櫘閫氫漢鐨勬渶澶у尯鍒灝辨槸--鏃㈡嬁鐫涓寮犱俊鎮鍙堝氬張鍏ㄧ殑濂藉湴鍥撅紝鍙堢壒鍒浼氫粠榪欎簺鍦板浘涓楂樻晥鎻愬彇涓庣粍鍚堜俊鎮銆
銆銆浠庨樹富鏈夐檺鐨勮〃榪伴噷闈錛屾垜鎯沖厛閽堝規垜涓嬮潰鐨勭殑絳旀堥噷鎻愬埌鐨“鑱鏄”榪涜屼竴涓嬬晫瀹:
銆銆璇勪環“鑱鏄”涓庡惁鐨勬爣鍑嗗苟涓嶅畬鍏ㄤ緷闈犳櫤鍟嗭紝鑰屾槸鐪嬪叾鑳藉惁姣旇緝楂樻晥鍑嗙『鍦拌В鍐寵嚜宸辨墍闈㈠圭殑鐙鐗歸毦棰樸
銆銆“鑱鏄”鐨勪漢涓嶆槸鍦ㄧ敓媧諱腑姣忎竴涓鏂歸潰閮借仾鏄庯紝鎴戞洿鎰挎剰灝嗕粬浠鐪嬪仛鏌愪釜鎴栨煇浜涢嗗煙鐨“涓撳”銆
銆銆榪欓噷涓嶆帰璁ㄩ仐浼犲洜緔犮
銆銆涓嬮潰錛屾垜浠鍏堟潵浣撲細涓涓嬩袱鑰呯殑鍖哄埆銆
銆銆涓鍒楃伀杞﹀湪絀胯繃涓搴фí璺ㄥ北璋風殑澶фˉ鏃訛紝鐏杞︿笂鐨勪竴涓鏃呭浠庣獥鍙d涪涓嬩竴鍧楃煶澶達紝璇烽棶錛岃繖鍧楃煶澶寸殑钀界偣浼氬湪鍝閲?
銆銆鏈瀹為獙浜1984騫達紝鐢盡cCloskey涓嶬aiser瀵瑰ぇ瀛︾敓琚璇曞姞浠ユ祴璇曘
銆銆姝g『絳旀堟槸--鍛堟姏鐗╃嚎鍧犺惤錛岄櫎浜嗛噸鍔涘栵紝鐭沖ご鍚屾椂榪樻湁涓庣伀杞﹀悓鍚戠殑鍒濆嬮熷害闇瑕佽冭檻銆
銆銆涓夊垎涔嬩竴鐨勫︾敓璁や負鐭沖ご浼氬瀭鐩翠笅钀斤紝浜嬪疄涓婃垜鍦ㄧ湅涔︾湅鍒拌繖涓瀹為獙鐨勮繃紼嬩腑錛屼篃鏄榪欎箞鎯崇殑--澶涓嶈仾鏄庝簡銆
銆銆鍦“鑱鏄庝漢”鐨勫ご鑴戜腑錛屾湁鏁堣В鍐抽棶棰(灝ゅ叾鏄鎿呴暱鏂歸潰鐨勯棶棰)鐨勮繃紼嬩腑錛屽彲鑳藉拰鏅閫氫漢鎷夊紑宸璺濈殑鍦版柟鏈夊備笅榪欎簺:
銆銆璇嗗埆闂棰樼浉鍏充俊鎮:楂樹腑鏃訛紝鏈変竴嬈℃暟瀛﹁冭瘯鐨勪竴閬撳嚑浣曢橈紝寰堝氬鉤鏃剁殑鏁板︿紭絳夌敓閮藉仛閿欎簡銆傚師鍥犲嚭浜烘剰鏂欑殑綆鍗--棰樺共閲岀粰鍑虹殑涓涓鐪嬩笂鍘誨緢閲嶈佺殑淇℃伅錛屽叾瀹炴牴鏈灝辮窡瑙h繖閬撻樻病鍏崇郴銆備笉灝戝鉤鏃ラ噷浠旂粏璋ㄦ厧鐨勭敓鎷夌‖鎵鐨勫湪鑷宸辯殑瑙i樿繃紼嬩腑浣跨敤浜嗚繖涓鏉′歡錛屽弽鑰屽艱嚧鍋氶敊浜嗛樸傝冭瘯棰橀噷錛屼竴鑸娌″簾璇濓紝浣嗘槸瀹炶返鐢熸椿涓鐨勫緢澶氶毦棰橈紝鍚屾椂鍙堝嶆潅鍙堢畝鍗曪紝鑱鏄庝漢鍙浠ユ洿濂界殑鎻愬彇褰撳墠闂棰樻儏澧冨唴錛屼笌闂棰樼湡姝g浉鍏崇殑淇℃伅銆
銆銆璇涔夌悊瑙:渚嬪傦紝鎴戣佸﹩楠傛垜:“浣犻毦閬撲笉鐭ラ亾鑷宸辯珶鐒朵竴鐐歸兘娌℃湁涓嶆畫閰蜂笉鏃犳儏涓嶆棤鐞嗗彇闂瑰悧!?”濡傛灉鎴戣兘紲為熷弽搴旇繃鏉ュ簲璇ュ悎鐞嗗簲瀵癸紝閭f垜鏄鑱鏄庝漢銆傝仾鏄庝漢瀵瑰緢澶氭儏澧冧笅鐨勮瘽璇鏈変竴縐嶇被浼“鎾呰搗灞佽偂灝辯煡閬撴媺浠涔堝睅”鐨勭灛闂寸洿瑙夛紝榪涜岄】鎮熻В鍐蟲柟妗堛傜粰鎴戠湅婧愪唬鐮佷笉濡傛潃浜嗘垜鐥涘揩錛屽傛灉璁 @璧典笘濂囧仛錛屾儏鍐靛簲璇ヤ細濂藉緢澶氾紝鍥犱負鍦ㄨ繖鏂歸潰錛屼粬鏄涓撳訛紝鎴戜笉鏄銆
銆銆鏁翠綋琛ㄥ緛:鍚鏄庣櫧涓鍙ヨ瘽鏈蹇呭氨鐪嬮忎簡鏁翠釜闂棰橈紝寰堝氭儏鍐典笅錛屼笉鏄紿ヤ竴鏂戣岀煡鍏ㄨ憊鐨勩傝仾鏄庝漢浼氳皟鍔ㄦ洿澶“蹇冪悊鍦板浘”涓鐨勫唴瀹規潵鍚堢悊瑙e喅闂棰樸傛瘮濡傞浮鍏斿悓絎奸棶棰橈紝浣犳槸鍙浠ラ潬浜屽厓涓嬈℃柟紼嬩竴綾葷殑鍩虹鏁板︾煡璇嗕嬌鍔插効綆楀嚭鏉ョ殑錛屼絾鏄鏈夋洿鑱鏄庣殑瑙f硶:楦″拰鍏斿叡15鍙錛屽叡鏈40鍙鑴氾紝楦″拰鍏斿悇鍑犲彧?鍋囪鵑浮鍜屽厰閮借緇冩湁緔狅紝鍚逛竴澹板摠錛屾姮璧蜂竴鍙鑴氾紝40-15=25銆傚啀鍚瑰摠錛屽張鎶璧蜂竴鍙鑴氾紝25-15=10錛岃繖鏃墮浮閮戒竴灞佽偂鍧愬湴涓婁簡錛屽厰瀛愯繕涓ゅ彧鑴氱珛鐫銆傛墍浠ワ紝鍏斿瓙鏈10÷2=5鍙錛岄浮鏈15-5=10鍙銆
銆銆闂棰樺綊綾:灝卞儚鍦ㄤ笘鐣屽湴鍥鵑噷闈㈡壘“鍖椾含”錛屼綘闇瑕佸厛鎵懼埌“涓鍥”鐨勫ぇ姒備綅緗銆傚湪蹇冪悊鍦板浘閲岄潰錛屾壘“浜у墠鎶戦儊鐥”鐩稿叧鐨勯棶棰橈紝鑱鏄庝漢涓嶄細絎涓鍙嶅簲灝辨妸鐭ヨ瘑浣撶郴鍜屼笂闈㈡彁鍒扮殑鏁翠綋琛ㄥ緛鐩存帴瀹氫綅鍒“姘旇薄瀛”鍘伙紝鐩稿簲鐨勶紝浠栦滑浼氱洿鎺ュ畾浣嶅埌“蹇冪悊瀛”錛岀敋鑷寵兘鐩存帴綺劇『瀹氫綅鍒“涓村簥蹇冪悊瀛”錛岃繘鑰屽炲姞瑙e喅闂棰樼殑鏁堢巼銆傝繖灝辨槸鑰冮獙浣犲ご鑴戦噷蹇冪悊鍦板浘鐨勪俊鎮閲忋佺簿搴︺佽嚜宸卞硅嚜宸辯殑蹇冪悊鍦板浘鐞嗚В紼嬪害鐨勬椂鍊欎簡銆傚湪瀹為獙榪囩▼涓錛屾湁鐨勫︾敓鐪嬩簡棰樼洰鐨勫墠鍑犱釜瀛楀氨鑳芥剰璇嗗埌榪欓亾棰樻槸瑕佽“閲嶅姏鍔犻熷害”榪欎竴姒傚康錛岃繘鑰屽湪璇婚樿В棰樼殑榪囩▼涓鍒繪剰鍦板叧娉ㄤ笌閲嶅姏鍔犻熷害鏈夊叧鐨勪俊鎮錛岀敋鑷充富鍔ㄥ湴闂存帴瀵繪壘緙哄け淇℃伅銆傚悓鏃訛紝榪樻湁涓浜涘︾敓鐩村埌璇誨畬浜嗗叏棰橈紝鎵嶆縺媧諱簡鐩稿叧鐨勫績鐞嗗湴鍥俱備笉榪囧湪榪欎竴鐐逛笂錛岃繕鏈変袱鐐歸渶瑕侀濆栬:涓鏄闂棰樺綊綾昏緇冩湁鍔╀簬鎴愮嘩鎻愬崌銆1995騫達紝鎴戞瘝鏍¤タ鍗楀ぇ瀛︾殑寮犲簡鏋楄佸笀鐨勭爺絀惰瘉鏄庯紝鍦ㄦ妸36閬撶畝鍗曟暟瀛﹂(鍔犲噺涔橀櫎)鍋氬畬鍚庡苟鍔犱互鍒嗙被鐨勪竴緇勫︾敓錛屾瘮鍗曠嫭鍋氬畬榪欎簺棰樼洰鐨勫︾敓鏈緇堝湪綾諱技鏁板﹂樼殑嫻嬮獙涓鎴愮嘩瑕佸ソ銆備簩鏄榪囧害鑷淇″彲鑳藉艱嚧闂棰樺綊綾誨け璐ワ紝姣斿備綘濂蟲湅鍙嬫壘浣犺碭X涔頒簡涓鏂板寘鍖呮垚澶╃偒鑰錛屼綘閿欒鍦版妸闂棰樺綊綾繪垚“闇瑕佸叡鎯”錛屼簬鏄鍜屽コ鍙嬪悓鍠稾X錛屽叾瀹炲彲鑳芥槸濂沖弸鑷宸變篃鎯寵佷釜鏂板寘--鏄“鎯沖綋鐒”璁╅棶棰樺綊綾婚敊璇錛屽埌浜嗗簲璇ユ彁鍗囧績鐞嗗湴鍥劇簿搴︾殑鏃跺欎簡銆
銆銆綾繪瘮鎬濈淮:榪欐湁鐐瑰効鍍忎漢浠閫氳繃銛欒潬鐮旂┒鍑轟簡澹板憪銆傝仾鏄庝漢鏄鎿呴暱閫氳繃妗堜緥綾繪瘮鏉ヨВ鍐抽棶棰樼殑浜恆侴ick鍜孒olyoak鍦1983騫寸殑鐮旂┒鍙戠幇錛岀粰琚璇曟彁渚涗袱涓綾諱技鐨勯棶棰樻儏澧冿紝姣斿彧緇欒璇曟彁渚涗竴涓鎯呭冿紝鏇存湁鍔╀簬琚璇曠悊瑙i棶棰樺拰瑙e喅闂棰樸
銆銆蹇冪悊鍦板浘鐨勪俊鎮閲:鎴戝堣〃鎵榪囨垜鐨勪竴涓榪滄埧鍙斿彅:“XX鐪熸槸鑱鏄庯紝 楹誨皢 鎵撳緱閭d箞濂姐”鎴戠殑灝忓﹁佸笀涔熻〃鎵榪囨垜鐨勪竴浣嶅悓瀛:“XX鐪熸槸鑱鏄庯紝璞℃嬫瘮涓鑸澶т漢涓嬪緱濂藉緱澶氥”鐢氳嚦鍦ㄧ伀杞︿笂錛屼笅閾轟篃琛ㄦ壃浜嗗歸潰鍎跨殑鍝ヤ滑:“鍏勫紵浣犵湡鑱鏄庯紝娌¤佽繃 鏂楀湴涓 姣斾綘鎵撶殑濂界殑銆”1973騫達紝Simon鍜孋hase瀵硅薄媯嬪ぇ甯堝拰璞℃嬫柊鎵嬭繘琛屼簡涓撻棬鐨勭戠爺--璞℃嬪ぇ甯堝彲浠ュ緢蹇鍥炲繂5涓囦釜涓嶅悓鐨勫吀鍨嬭薄媯嬪畾鍔匡紝榪欓噷闈㈡瘡涓涓錛屼粬浠闈犲嚑縐掑氨鑳藉洖蹇嗗嚭姣忎竴涓媯嬪瓙鐨勪綅緗錛屽拰鍙鑳界殑鎿嶄綔璧板悜銆--鎴戞兂錛岄夯灝嗐佽薄媯嬨佹枟鍦頒富搴斿綋鍚岀悊銆傚湪浠栦滑鑴戞搗閲岋紝鐗岄潰銆佹嬪矓濡傚悓鎴戜滑鑴戞搗涓鎵瀛樺偍鐨勮瘝奼囥傚氨鍍忔垜闂浣“棣欒晧”鐨勫崟璇嶆槸浠涔堬紝浣犲彲浠ュ緢蹇鍦拌村嚭鏉ユ槸“banana”鑰岄潪“nababa”銆傛墍浠ワ紝鑱鏄庝漢錛岄兘鏄鏈夊共璐х殑--涓嶆槸鍏ㄩ潬澶╄祴銆
銆銆蹇冪悊鍦板浘鐨勭洰褰:鑱鏄庝漢鏈変竴涓鏇撮傚悎瑙e喅闂棰樼殑浠庡績鐞嗗湴鍥懼唴鎻愬彇淇℃伅鐨勭粨鏋勩傚氨鍍忚屾斂鍖哄垝鍥句笉鑳藉緢濂藉洖絳斾綘鍏充簬鏌愪釜鍦扮偣鐨勬搗鎷旀湁澶氶珮榪欑被闂棰樸傝仾鏄庝漢鐨勪俊鎮浠ヤ竴縐嶆洿濂藉湴鏂瑰紡瀛樺偍鐫銆侰hietal鍦ㄤ粬鐨勫疄楠岄噷錛岃╁ぇ瀛︾敓鍜屼粬浠鐨勬暀鎺堢粰涓浜涘熀紜鐗╃悊闂棰樿繘琛屽垎綾伙紝澶у︾敓鐨勫垎綾誨吀鍨嬬粨鏋勪箣涓鏄渚濋潬娑夊強鐨勫伐鍏:鐢ㄥ埌鏂滈潰錛岀敤鍒版湪鍧楋紝鐢ㄥ埌鏉犳潌錛岀敤鍒版嘗銆備粬浠鐨勬暀鎺堢殑鍒嗙被鏂規硶灝遍珮璐靛喎鑹沖氫簡:鑳介噺瀹堟亽闂棰橈紝鍧愭爣鍙樻崲鍨嬬墰欏垮師鐞嗛棶棰橈紝鍔犻熷害鐩稿叧鐨勭墰欏垮師鐞嗛棶棰橈紝鍔涘鉤琛$姸鍐典笅鐨勭墰欏垮師鐞嗛棶棰樸傛偍瑙夊緱錛屽摢涓鏇存樉寰“鑱鏄”?
銆銆閭d箞錛屾兂鍙樿仾鏄庡摢瀹跺己銆銆鍒涗綔寮忔濈淮鏁欑▼(Proctive Thinking Programs)錛屾潵鑷浜嶤ovington銆備富瑕佺粰瀛╁瓙鐢錛岄氳繃渚︽帰 鏁呬簨 鎻愬崌闂棰樿В鍐寵兘鍔涚殑銆
銆銆闂棰樿В鍐蟲ā寮(Pattern of Problem Solving)錛屾潵鑷猂ubinstein銆備富瑕佺粰澶у︾敓浣跨敤緙栧埗鐨勶紝閫氳繃涓昏佹潵鑷宸ョ▼瀛﹀拰鏁板﹂嗗煙鐨勯棶棰橈紝渚濋潬10鍛ㄦ椂闂存彁鍗囬棶棰樿В鍐寵兘鍔涖
銆銆CoRT(Cognitive Research Trust)錛屾潵鑷狣e Bono銆備富瑕侀潰瀵瑰︾敓鍙鑳藉湪鏍″栫板埌鐨勫叿浣撻棶棰樻儏澧冦
銆銆鎬濈淮宸ュ叿寮哄寲鏁欑▼(Instrumental Enrichment)錛屾潵鑷浠ヨ壊鍒楃殑Feuerstein錛屾槸鐩鍓嶆渶騫誇負浜虹煡涓旂爺絀跺箍娉涚殑鎬濈淮鎶鑳借劇▼錛屼富瑕侀潰鍚戞湁涓瀹氳ょ煡鎴栨儏緇闅滅嶇殑闈掑皯騫淬
銆銆鏅閫氫漢鍚屾墍璋“鑱鏄庝漢”涔嬮棿鐨勫樊璺濓紝鍦ㄦ垜鐪嬫潵錛屽ぇ鎶靛傛槸浜嗐傚啀嬈″己璋冿紝榪欓噷鐨“鑱鏄庝漢”鐪熺殑涓嶆槸宸茬粡娣峰埌鍑轟漢澶村湴鐨勬垚鍔熶漢澹錛岃屾槸鎸囧湪鐗瑰畾棰嗗煙鏈夎秴榪囦竴鑸浜鴻В鍐抽棶棰樿兘鍔涚殑鐩稿叧涓撳躲
銆銆銆愬紶瀛愬竻銆
銆銆鍦ㄥ寳澶х殑鏃跺欙紝鍚榪囧紶緇磋繋鏁欐巿璁插崥寮堣猴紝鑰佸疄璇達紝涔熶笉鎬庝箞鍑哄僵銆
銆銆鍦ㄥ浗澶栫殑鏃跺欙紝鍚浜嗗緢澶氳哄栧緱涓葷殑璁插駭錛岃佸疄璇達紝鐪熶笉姣旀垜鏈縐戞椂鍊欎竴涓璁插笀璁茬殑鏇村姞鐢熷姩綺懼僵銆
銆銆浠婂勾騫村垵錛屾垜鍚瀹2010騫村寲瀛﹁鴻礉灝斿栧緱涓婚搩鏈ㄧ珷鐨勬紨璁插悗錛屾垜鍘誨悗鍙版壘鍒頒粬錛岃皚鎱庣殑闂錛“璇烽棶錛屾垜濡備綍鎵嶈兘鎴愪負涓鍚嶅儚鎮ㄤ竴鏍蜂紭縐鐨勫寲瀛﹀?”綾諱技鐨勯棶棰橈紝鎴戦棶榪囧緢澶氬湪鍚勪釜棰嗗煙鏈夎繃鏉板嚭璐$尞鐨勪漢錛屽寘鎷浠ヤ笂鐨勫紶緇磋繋錛岄儙鍜稿鉤銆
銆銆閾冩湪絝犳暀鎺堢殑鍘熻瘽鎴戝凡緇忚頒笉澶ц搗鏉ヤ簡錛屽ぇ姒傛槸:“瀛︿細閫忚繃鐜拌薄鐪嬫湰璐”
銆銆鐪熸g殑鑱鏄庝漢錛屾晱浜庝簨鑰岃蜂簬璦錛岃儨浜庢垜浠鐨勫湴鏂瑰湪浜:閫忚繃鐜拌薄錛屼互鍏ㄩ潰鐨勮嗚掑幓灝濊瘯鎺㈢┒浜嬫儏鐨勬牴鏈鍘熷洜銆
銆銆灝卞儚鍐嶅勾杞諱竴鐐圭殑鏃跺欙紝閬囧埌浜嬫儏錛屾繪槸鍏堝ぇ鍙戝畯璁猴紝涔︾敓鎰忔皵錛屽ぇ鎶靛傛ゃ傛參鎱㈢殑錛屾墠鍙戠幇錛屽嵆浣挎槸鐢熸椿涓婃渶杞誨井鐨勪竴浠朵簨錛屼粠鎴愬洜鍒拌繃紼嬫渶鍚庡埌緇撴灉鍜屽獎鍝嶏紝浠ュ強浠婂悗鐨勭粡楠屾暀璁錛 鎬葷粨 鍙嶆 錛屽矀鏄涓鍙ヤ袱鍙ュ氨鑳界洊媯哄畾璁虹殑?
銆銆絳夊埌鎴戜滑縐緔浜嗚凍澶熺殑鐭ヨ瘑錛屾湁浜嗚凍澶熷逛互寰綾諱技浜嬩歡鐨勯勫垽錛岀劧鍚庢墠鑳芥湁涓涓鐩稿瑰噯紜鐨勬兂娉曪紝榪欎釜榪囩▼錛屼笉瑕佽達紝鍙鏄鐢ㄧ湅錛屽幓鎬濊冿紝鍘昏亞鍚錛屽幓娌夋穩錛屽幓鍙嶆濄
銆銆涓嶈佸仛絎涓涓鍙戝0鐨勪漢錛岃皨瀹氳屽悗鍔錛屽傛よ屽凡銆
鐚滀綘鍠滄錛
1. 鑱鏄庣殑鍚嶄漢鍚嶈█
2. 鑱鏄庤兘騫茬殑鍚嶄漢鍚嶈█
3. 濂充漢鑱鏄庣殑緇忓吀璇褰曞ぇ鍏
4. 鎸戞垬鑱鏄庝漢鐨50涓鑴戠瓔鎬ヨ漿寮綺鵑夊ぇ鍏
5. 鑱鏄庝漢鐨勯潰鐩稿垎鏋
6. 鑱鏄庝漢鐨勪氦闄呭勪簨鍘熷垯
7. 2015騫村洓宸濋珮鑰冧綔鏂囪寖鏂:鍋氫竴涓鑰佸疄鐨勮仾鏄庝漢
8. 鐖舵瘝鍐欑粰鎮嬬埍涓濂沖効鐨勪竴灝佷俊
Ⅲ java學習心得
Java學習心得
引言
軟體開發之路是充滿荊棘與挑戰之路,也是充滿希望之路。Java學習也是如此,沒有捷徑可走。夢想像《天龍八部》中虛竹一樣被無崖子醍醐灌頂而輕松獲得一甲子功力,是很不現實的。每天仰天大叫"天神啊,請賜給我一本葵花寶典吧",殊不知即使你獲得了葵花寶典,除了受自宮其身之苦外,你也不一定成得了"東方不敗",倒是成"西方失敗"的幾率高一點。
"不走彎路,就是捷徑",佛經說的不無道理。
1.如何學習程序設計?
Java是一種平台,也是一種程序設計語言,如何學好程序設計不僅僅適用於Java,對C++等其他程序設計語言也亂空掘一樣管用。有編程高手認為,Java也好C也好沒什麼分別,拿來就用。為什麼他們能達到如此境界?我想是因為編程語言之間有共通之處,領會了編程的精髓,自然能夠做到一通百通。如何學習程序設計理所當然也有許多共通的地方。
1.1培養興趣
興趣是能夠讓你堅持下去的動力。如果只是把寫程序作為謀生的手段的話,你會活的很累,也太對不起自己了。多關心一些行業趣事,多想想蓋茨。不是提倡天天做白日夢,但人要是沒有了夢想,你覺得有味道嗎?可能像許多深圳本地農民一樣,打打麻將,喝喝功夫茶,拜拜財神爺;每個月就有幾萬十幾萬甚至更多的進帳,憑空多出個"食利階層"。你認為,這樣有味道嗎?有空多到一些程序員論壇轉轉,你會發現,他們其實很樂觀幽默,時不時會冒出智慧的火花。
1.2慎選程序設計語言
男怕入錯行,女怕嫁錯郎。初學者選擇程序設計語言需要謹慎對待。軟體開發不僅僅是掌握一門編程語言了事,它還需要其他很多方面的背景知識。軟體開發也不僅僅局限於某幾個領域,而是已經滲透到了各行各業幾乎每一個虧慶角落。
如果你對硬體比較感興趣,你可以學習C語言/匯編語言,進入硬體開發領域。如果你對電信的行業知識及網路比較熟悉,你可以在C/C++等之上多花時間,以期進入電信軟體開發領域。如果你對操作系統比較熟悉,你可以學習C/Linux等等,為Linux內核開發/驅動程序開發/嵌入式開發打基礎。
如果你想介入到應用范圍最廣泛的應用軟體開發(包括電子商務電子政務系統)的話,你可以選擇J2EE或.NET,甚至LAMP組合。每個領域要求的背景知識不一樣。做應用軟體需要對資料庫等很熟悉。總之,你需要根據自己的特點來選擇合適你的嘩核編程語言。
1.3要腳踏實地,快餐式的學習不可取
先分享一個故事。
有一個小朋友,他很喜歡研究生物學,很想知道那些蝴蝶如何從蛹殼里出來,變成蝴蝶便會飛。有一次,他走到草原上面看見一個蛹,便取了回家,然後看著,過了幾天以後,這個蛹出了一條裂痕,看見裡面的蝴蝶開始掙扎,想抓破蛹殼飛出來。這個過程達數小時之久,蝴蝶在蛹裡面很辛苦地拚命掙扎,怎麼也沒法子走出來。這個小孩看著看著不忍心,就想不如讓我幫幫它吧,便隨手拿起剪刀在蛹上剪開,使蝴蝶破蛹而出。但蝴蝶出來以後,因為翅膀不夠力,變得很臃腫,飛不起來。
這個故事給我們的啟示是:欲速則不達。
浮躁是現代人最普遍的心態,能怪誰?也許是貧窮落後了這么多年的緣故,就像當年的大躍進一樣,都想大步跨入***主義社會。現在的軟體公司、客戶、政府、學校、培訓機構等等到處彌漫著浮躁之氣。就拿我比較熟悉的大連大工IT職業培訓來說吧,居然打廣告宣稱"20多年的計算機職業教育,遼寧省十佳學校",殊不知中國計算機發展才幾年,軟體發展才幾年,居然去報名的學生不少,簡直是藐視天下程序員。培訓出來的「程序員」大多不知道OO,OP為何物?社會環境如是,我們不能改變,只能改變自己,鬧市中的安寧,彌足珍貴。許多初學者C++/Java沒開始學,立馬使用VC/JBuilder,會使用 VC/JBuilder開發一個Hello World程序,就忙不迭的向世界宣告,"我會軟體開發了",簡歷上也大言不慚地寫上"精通VC/Java"。結果到軟體公司面試時要麼被三兩下打發走了,要麼被駁的體無完膚,無地自容。到處碰壁之後才知道捧起《C++編程思想》《Java編程思想》仔細鑽研,早知如此何必當初呀。
"你現在講究簡單方便,你以後的路就長了",好象也是佛經中的勸戒。
1.4多實踐,快實踐
彭端淑的《為學一首示子侄》中有窮和尚與富和尚的故事。
從前,四川邊境有兩個和尚,一個貧窮,一個有錢。一天,窮和尚對富和尚說:"我打算去南海朝聖,你看怎麼樣?"富和尚說:"這里離南海有幾千里遠,你靠什麼去呢?"窮和尚說:"我只要一個水缽,一個飯碗就夠了。"富和尚為難地說:"幾年前我就打算買條船去南海,可至今沒去成,你還是別去吧!" 一年以後,富和尚還在為租賃船隻籌錢,窮和尚卻已經從南海朝聖回來了。
這個故事可解讀為:任何事情,一旦考慮好了,就要馬上上路,不要等到准備周全之後,再去幹事情。假如事情准備考慮周全了再上路的話,別人恐怕捷足先登了。軟體開發是一門工程學科,注重的就是實踐,"君子動口不動手"對軟體開發人員來講根本就是錯誤的,他們提倡"動手至上",但別害怕,他們大多溫文爾雅,沒有暴力傾向,雖然有時候蓬頭垢面的一副"比爾蓋茨"樣。有前輩高人認為,學習編程的秘訣是:編程、編程、再編程,筆者深表贊同。不僅要多實踐,而且要快實踐。我們在看書的時候,不要等到你完全理解了才動手敲代碼,而是應該在看書的同時敲代碼,程序運行的各種情況可以讓你更快更牢固的掌握知識點。
1.5多參考程序代碼
程序代碼是軟體開發最重要的成果之一,其中滲透了程序員的思想與靈魂。許多人被《仙劍奇俠傳》中凄美的愛情故事感動,悲劇的結局更有一種缺憾美。為什麼要以悲劇結尾?據說是因為寫《仙劍奇俠傳》的程序員失戀而安排了這樣的結局,他把自己的感覺融入到游戲中,卻讓眾多的仙劍迷扼腕嘆息。
多多參考代碼例子,對Java而言有參考文獻[4.3],有API類的源代碼(JDK安裝目錄下的src.zip文件),也可以研究一些開源的軟體或框架。
1.6加強英文閱讀能力
對學習編程來說,不要求英語, 但不能一點不會,。最起碼像Java API文檔(參考文獻[4.4])這些東西還是要能看懂的,連猜帶懵都可以;旁邊再開啟一個"金山詞霸"。看多了就會越來越熟練。在學Java的同時學習英文,一箭雙雕多好。另外好多軟體需要到英文網站下載,你要能夠找到它們,這些是最基本的要求。英語好對你學習有很大的幫助。口語好的話更有機會進入管理層,進而可以成為剝削程序員的"周扒皮"。
1.7萬不得已才請教別人
筆者在Martix與Java論壇的在線輔導系統中解決學生問題時發現,大部分的問題學生稍做思考就可以解決。請教別人之前,你應該先回答如下幾個問題。
你是否在google中搜索了問題的解決辦法?
你是否查看了Java API文檔?
你是否查找過相關書籍?
你是否寫代碼測試過?
如果回答都是"是"的話,而且還沒有找到解決辦法,再問別人不遲。要知道獨立思考的能力對你很重要。要知道程序員的時間是很寶貴的。
1.8多讀好書
書中自有顏如玉。比爾蓋茨是一個飽讀群書的人。雖然沒有讀完大學,但九歲的時候比爾蓋茨就已經讀完了所有的網路全書,所以他精通天文、歷史、地理等等各類學科,可以說比爾?茨不僅是當今世界上金錢的首富,而且也可以稱得上是知識的巨富。
筆者在給學生上課的時候經常會給他們推薦書籍,到後來學生實在忍無可忍開始抱怨,"天吶,這么多書到什麼時候才能看完了","學軟體開發,感覺上了賊船 "。這時候,我的回答一般是,"別著急,什麼時候帶你們去看看我的書房,到現在每月花在技術書籍上的錢400元,這在軟體開發人員之中還只能夠算是中等的 ",學生當場暈倒。(註:這一部分學生是剛學軟體開發的)
1.9使用合適的工具
工欲善其事必先利其器。軟體開發包含各種各樣的活動,需求收集分析、建立用例模型、建立分析設計模型、編程實現、調試程序、自動化測試、持續集成等等,沒有工具幫忙可以說是寸步難行。工具可以提高開發效率,使軟體的質量更高BUG更少。組合稱手的武器。到飛花摘葉皆可傷人的境界就很高了,無招勝有招,手中無劍心中有劍這樣的境界幾乎不可企及。
2.軟體開發學習路線
兩千多年的儒家思想孔孟之道,中庸的思想透入骨髓,既不冒進也不保守並非中庸之道,而是找尋學習軟體開發的正確路線與規律。
從軟體開發人員的生涯規劃來講,我們可以大致分為三個階段,軟體工程師→軟體設計師→架構設計師或項目管理師。不想當元帥的士兵不是好士兵,不想當架構設計師或項目管理師的程序員也不是好的程序員。我們應該努力往上走。讓我們先整理一下開發應用軟體需要學習的主要技術。
A.基礎理論知識,如操作系統、編譯原理、數據結構與演算法、計算機原理等,它們並非不重要。如不想成為計算機科學家的話,可以採取"用到的時候再來學"的原則。
B.一門編程語言,現在基本上都是面向對象的語言,Java/C++/C#等等。如果做WEB開發的話還要學習HTML/JavaScript等等。
C.一種方法學或者說思想,現在基本都是面向對象思想(OOA/OOD/設計模式)。由此而衍生的基於組件開發CBD/面向方面編程AOP等等。
D.一種關系型資料庫,ORACLE/SqlServer/DB2/MySQL等等
E.一種提高生產率的IDE集成開發環境JBuilder/Eclipse/VS.NET等。
F.一種UML建模工具,用ROSE/VISIO/鋼筆進行建模。
G.一種軟體過程,RUP/XP/CMM等等,通過軟體過程來組織軟體開發的眾多活動,使開發流程專業化規范化。當然還有其他的一些軟體工程知識。
H.項目管理、體系結構、框架知識。
正確的路線應該是:B→C→E→F→G→H。
還需要補充幾點:
1).對於A與C要補充的是,我們應該在實踐中逐步領悟編程理論與編程思想。新技術雖然不斷涌現,更新速度令人眼花燎亂霧里看花;但萬變不離其宗,編程理論與編程思想的變化卻很慢。掌握了編程理論與編程思想你就會有撥雲見日之感。面向對象的思想在目前來講是相當關鍵的,是強勢技術之一,在上面需要多投入時間,給你的回報也會讓你驚喜。
2).對於資料庫來說是獨立學習的,這個時機就由你來決定吧。
3).編程語言作為學習軟體開發的主線,而其餘的作為輔線。
4).軟體工程師著重於B、C、E、D;軟體設計師著重於B、C、E、D、F;架構設計師著重於C、F、H。
3.如何學習Java?
3.1 Java學習路線
3.1.1 基礎語法及Java原理
基礎語法和Java原理是地基,地基不牢靠,猶如沙地上建摩天大廈,是相當危險的。學習Java也是如此,必須要有扎實的基礎,你才能在J2EE、 J2ME領域游刃有餘。參加SCJP(SUN公司認證的Java程序員)考試不失為一個好方法,原因之一是為了對得起你交的1200大洋考試費,你會更努力學習,原因之二是SCJP考試能夠讓你把基礎打得很牢靠,它要求你跟JDK一樣熟悉Java基礎知識;但是你千萬不要認為考過了SCJP就有多了不起,就能夠獲得軟體公司的青睞,就能夠獲取高薪,這樣的想法也是很危險的。獲得"真正"的SCJP只能證明你的基礎還過得去,但離實際開發還有很長的一段路要走。
3.1.2 OO思想的領悟
掌握了基礎語法和Java程序運行原理後,我們就可以用Java語言實現面向對象的思想了。面向對象,是一種方法學;是獨立於語言之外的編程思想;是 CBD基於組件開發的基礎;屬於強勢技術之一。當以後因工作需要轉到別的面向對象語言的時候,你會感到特別的熟悉親切,學起來像喝涼水這么簡單。
使用面向對象的思想進行開發的基本過程是:
●調查收集需求。
●建立用例模型。
●從用例模型中識別分析類及類與類之間的靜態動態關系,從而建立分析模型。
●細化分析模型到設計模型。
●用具體的技術去實現。
●測試、部署、總結。
3.1.3 基本API的學習
進行軟體開發的時候,並不是什麼功能都需要我們去實現,也就是經典名言所說的"不需要重新發明輪子"。我們可以利用現成的類、組件、框架來搭建我們的應用,如SUN公司編寫好了眾多類實現一些底層功能,以及我們下載過來的JAR文件中包含的類,我們可以調用類中的方法來完成某些功能或繼承它。那麼這些類中究竟提供了哪些方法給我們使用?方法的參數個數及類型是?類的構造器需不需要參數?總不可能SUN公司的工程師打國際長途甚至飄洋過海來告訴你他編寫的類該如何使用吧。他們只能提供文檔給我們查看,Java DOC文檔(參考文獻4.4)就是這樣的文檔,它可以說是程序員與程序員交流的文檔。
基本API指的是實現了一些底層功能的類,通用性較強的API,如字元串處理/輸入輸出等等。我們又把它成為類庫。熟悉API的方法一是多查Java DOC文檔(參考文獻4.4),二是使用JBuilder/Eclipse等IDE的代碼提示功能。
3.1.4 特定API的學習
Java介入的領域很廣泛,不同的領域有不同的API,沒有人熟悉所有的API,對一般人而言只是熟悉工作中要用到的API。如果你做界面開發,那麼你需要學習Swing/AWT/SWT等API;如果你進行網路游戲開發,你需要深入了解網路API/多媒體API/2D3D等;如果你做WEB開發,就需要熟悉Servlet等API啦。總之,需要根據工作的需要或你的興趣發展方向去選擇學習特定的API。
3.1.5 開發工具的用法
在學習基礎語法與基本的面向對象概念時,從鍛煉語言熟練程度的角度考慮,我們推薦使用的工具是Editplus/JCreator+JDK,這時候不要急於上手JBuilder/Eclipse等集成開發環境,以免過於關注IDE的強大功能而分散對Java技術本身的注意力。過了這一階段你就可以開始熟悉 IDE了。
程序員日常工作包括很多活動,編輯、編譯及構建、調試、單元測試、版本控制、維持模型與代碼同步、文檔的更新等等,幾乎每一項活動都有專門的工具,如果獨立使用這些工具的話,你將會很痛苦,你需要在堆滿工具的任務欄上不斷的切換,效率很低下,也很容易出錯。在JBuilder、 Eclipse等IDE中已經自動集成編輯器、編譯器、調試器、單元測試工具JUnit、自動構建工具ANT、版本控制工具CVS、DOC文檔生成與更新等等,甚至可以把UML建模工具也集成進去,又提供了豐富的向導幫助生成框架代碼,讓我們的開發變得更輕松。應該說IDE發展的趨勢就是集成軟體開發中要用到的幾乎所有工具。
從開發效率的角度考慮,使用IDE是必經之路,也是從一個學生到一個職業程序員轉變的里程碑。
Java開發使用的IDE主要有Eclipse、JBuilder、JDeveloper、NetBeans等幾種;而Eclipse、JBuilder 佔有的市場份額是最大的。JBuilder在近幾年來一直是Java集成開發環境中的霸主,它是由備受程序員尊敬的Borland公司開發,在硝煙彌漫的 Java IDE大戰中,以其快速的版本更新擊敗IBM的Visual Age for Java等而成就一番偉業。IBM在Visual Age for Java上已經無利可圖之下,乾脆將之貢獻給開源社區,成為Eclipse的前身,真所謂"柳暗花明又一村"。浴火重生的Eclipse以其開放式的插件擴展機制、免費開源獲得廣大程序員(包括幾乎所有的骨灰級程序員)的青睞,極具發展潛力。
3.1.6 學習軟體工程
對小型項目而言,你可能認為軟體工程沒太大的必要。隨著項目的復雜性越來越高,軟體工程的必要性才會體現出來。參見"軟體開發學習路線"小節。
3.2學習要點
確立的學習路線之後,我們還需要總結一下Java的學習要點,這些要點在前文多多少少提到過,只是筆者覺得這些地方特別要注意才對它們進行匯總,不要嫌我婆婆媽媽啊。
3.2.1勤查API文檔
當程序員編寫好某些類,覺得很有成就感,想把它貢獻給各位苦難的同行。這時候你要使用"Javadoc"工具(包含在JDK中)生成標準的Java DOC文檔,供同行使用。J2SE/J2EE/J2ME的DOC文檔是程序員與程序員交流的工具,幾乎人手一份,除了菜鳥之外。J2SE DOC文檔官方下載地址:http://Java.sun.com/j2se/1.5.0/download.jsp,你可以到google搜索CHM版本下載。也可以在線查看:http://Java.sun.com/j2se/1.5.0/docs/api/index.html。
對待DOC文檔要像毛語錄,早上起床念一遍,吃飯睡覺前念一遍。
當需要某項功能的時候,你應該先查相應的DOC文檔看看有沒有現成的實現,有的話就不必勞神費心了直接用就可以了,找不到的時候才考慮自己實現。使用步驟一般如下:
●找特定的包,包一般根據功能組織。
●找需要使用類,類命名規范的話我們由類的名字可猜出一二。
●選擇構造器,大多數使用類的方式是創建對象。
●選擇你需要的方法。
3.2.2 查書/google->寫代碼測試->查看源代碼->請教別人
當我們遇到問題的時候該如何解決?
這時候不要急著問別人,太簡單的問題,沒經過思考的問題,別人會因此而瞧不起你。可以先找找書,到google中搜一下看看,絕大部分問題基本就解決了。而像"某些類/方法如何使用的問題",DOC文檔就是答案。對某些知識點有疑惑是,寫代碼測試一下,會給你留下深刻的印象。而有的問題,你可能需要直接看 API的源代碼驗證你的想法。萬不得已才去請教別人。
3.2.3學習開源軟體的設計思想
Java領域有許多源代碼開放的工具、組件、框架,JUnit、ANT、Tomcat、Struts、Spring、Jive論壇、PetStore寵物店等等多如牛毛。這些可是前輩給我們留下的瑰寶呀。入寶山而空手歸,你心甘嗎?對這些工具、框架進行分析,領會其中的設計思想,有朝一日說不定你也能寫一個XXX框架什麼的,風光一把。分析開源軟體其實是你提高技術、提高實戰能力的便捷方法。
3.2.4 規范的重要性
沒有規矩,不成方圓。這里的規范有兩層含義。第一層含義是技術規范,多到http://www.jcp.org下載JSRXXX規范,多讀規范,這是最權威准確最新的教材。第二層含義是編程規范,如果你使用了大量的獨特演算法,富有個性的變數及方法的命名方式;同時,沒給程序作注釋,以顯示你的編程功底是多麼的深厚。這樣的代碼別人看起來像天書,要理解談何容易,更不用說維護了,必然會被無情地掃入垃圾堆。Java編碼規范到此查看或下載http://Java.sun.com/docs/codeconv/,中文的也有,啊,還要問我在哪,請參考3.2.2節。
3.2.5 不局限於Java
很不幸,很幸運,要學習的東西還有很多。不幸的是因為要學的東西太多且多變,沒時間陪老婆家人或女朋友,導致身心疲憊,嚴重者甚至導致抑鬱症。幸運的是別人要搶你飯碗絕非易事,他們或她們需要付出很多才能達成心願。
Java不要孤立地去學習,需要綜合學習數據結構、OOP、軟體工程、UML、網路編程、資料庫技術等知識,用橫向縱向的比較聯想的方式去學習會更有效。如學習Java集合的時候找數據結構的書看看;學JDBC的時候復習資料庫技術;採取的依然是"需要的時候再學"的原則。
4.結束語
需要強調的是,學習軟體開發確實有一定的難度,也很辛苦,需要付出很多努力,但千萬不要半途而廢。本文如果能對一直徘徊在Java神殿之外的朋友有所幫助的話,筆者也欣慰了。哈哈,怎麼聽起來老氣橫秋呀?沒辦法,在電腦的長期輻射之下,都快變成小老頭了。最後奉勸各位程序員尤其是MM程序員,完成工作後趕快遠離電腦,據《胡播亂報》報道,電腦輻射會在白皙的皮膚上面點綴一些小黑點,看起來鮮艷無比…… 拖起明天的夢想還得靠自己!
Ⅳ 怎麼學電腦編程
如何學電腦編程? 筆者發現問得最多的問題莫過於"如何學習編程?JAVA該如何學習?"。類似的問題回答多了,就萌生了寫下本文的想法。到時候再有人問起類似的問題,我可以告訴他(她),請你去看看《JAVA學習之路》。拜讀過台灣蔡學鏞先生的《JAVA夜未眠》,有些文章如《JAVA學習之道》等讓我們確實有共鳴,本文題目也由此而來。
軟體開發之路是充滿荊棘與挑戰之路,也是充滿希望之路。JAVA學習也是如此,沒有捷徑可走。夢想像《天龍八部》中虛竹一樣被無崖子醍醐灌頂而輕松獲得一甲子功力,是很不現實的。每天仰天大叫"天神啊,請賜給我一本葵花寶典吧",殊不知即使你獲得了葵花寶典,除了受自宮其身之苦外,你也不一定成得了"東方不敗",倒是成"西方失敗"的幾率高一點。
"不走彎路,就是捷徑",佛經說的不無道理。
我們今天來談談如何學習程序設計?
JAVA是一種平台,也是一種程序設計語言,如何學好程序設計不僅僅適用於JAVA,對C++等其他程序設計語言也一樣管用。有編程高手認為,JAVA也好C也好沒什麼分別,拿來就用。為什麼他們能達到如此境界?我想是因為編程語言之間有共通之處,領會了編程的精髓,自然能夠做到一通百通。如何學習程序設計理所當然也有許多共通的地方。
1培養興趣
興趣是能夠讓你堅持下去的動力。如果只是把寫程序作為謀生的手段的話,你會活的很累,也太對不起自己了。多關心一些行業趣事,多想想蓋茨。不是提倡天天做白日夢,但人要是沒有了夢想,你覺得有味道嗎?可能像許多深圳本地農民一樣,打打麻將,喝喝功夫茶,拜拜財神爺;每個月就有幾萬十幾萬甚至更多的進帳,憑空多出個"食利階層"。你認為,這樣有味道嗎?有空多到一些程序員論壇轉轉,你會發現,他們其實很樂觀幽默,時不時會冒出智慧的火花。
2慎選程序設計語言
男怕入錯行,女怕嫁錯郎。初學者選擇程序設計語言需要謹慎對待。軟體開發不僅僅是掌握一門編程語言了事,它還需要其他很多方面的背景知識。軟體開發也不僅僅局限於某幾個領域,而是已經滲透到了各行各業幾乎每一個角落。
如果你對硬體比較感興趣,你可以學習C語言/匯編語言,進入硬體開發領域。如果你對電信的行業知識及網路比較熟悉,你可以在C/C++等之上多花時間,以期進入電信軟體開發領域。如果你對操作系統比較熟悉,你可以學習C/Linux等等,為Linux內核開發/驅動程序開發/嵌入式開發打基礎。如果你想介入到應用范圍最廣泛的應用軟體開發(包括電子商務電子政務系統)的話,你可以選擇J2EE或.NET,甚至LAMP組合。每個領域要求的背景知識不一樣。做應用軟體需要對資料庫等很熟悉。總之,你需要根據自己的特點來選擇合適你的編程語言。
3要腳踏實地,快餐式的學習不可取
先分享一個故事。
有一個小朋友,他很喜歡研究生物學,很想知道那些蝴蝶如何從蛹殼里出來,變成蝴蝶便會飛。 有一次,他走到草原上面看見一個蛹,便取了回家,然後看著,過了幾天以後,這個蛹出了一條裂痕,看見裡面的蝴蝶開始掙扎,想抓破蛹殼飛出來。 這個過程達數小時之久,蝴蝶在蛹裡面很辛苦地拚命掙扎,怎麼也沒法子走出來。這個小孩看著看著不忍心,就想不如讓我幫幫它吧,便隨手拿起剪刀在蛹上剪開,使蝴蝶破蛹而出。 但蝴蝶出來以後,因為翅膀不夠力,變得很臃腫,飛不起來。
這個故事給我們的啟示是:欲速則不達。
浮躁是現代人最普遍的心態,能怪誰?也許是貧窮落後了這么多年的緣故,就像當年的大躍進一樣,都想大步跨入共產主義社會。現在的軟體公司、客戶、政府、學校、培訓機構等等到處彌漫著浮躁之氣。就拿筆者比較熟悉的深圳IT培訓行業來說吧,居然有的打廣告宣稱"參加培訓,100%就業",居然報名的學生不少,簡直是藐視天下程序員。社會環境如是,我們不能改變,只能改變自己,鬧市中的安寧,彌足珍貴。許多初學者C++/JAVA沒開始學,立馬使用VC/JBuilder,會使用VC/JBuilder開發一個Hello World程序,就忙不迭的向世界宣告,"我會軟體開發了",簡歷上也大言不慚地寫上"精通VC/JAVA"。結果到軟體公司面試時要麼被三兩下打發走了,要麼被駁的體無完膚,無地自容。到處碰壁之後才知道捧起《C++編程思想》《JAVA編程思想》仔細鑽研,早知如此何必當初呀。
"你現在講究簡單方便,你以後的路就長了",好象也是佛經中的勸戒。
4多實踐,快實踐
彭端淑的《為學一首示子侄》中有窮和尚與富和尚的故事。
從前,四川邊境有兩個和尚,一個貧窮,一個有錢。一天,窮和尚對富和尚說:"我打算去南海朝聖,你看怎麼樣?"富和尚說:"這里離南海有幾千里遠,你靠什麼去呢?"窮和尚說:"我只要一個水缽,一個飯碗就夠了。"富和尚為難地說:"幾年前我就打算買條船去南海,可至今沒去成,你還是別去吧!" 一年以後,富和尚還在為租賃船隻籌錢,窮和尚卻已經從南海朝聖回來了。
這個故事可解讀為:任何事情,一旦考慮好了,就要馬上上路,不要等到准備周全之後,再去幹事情。假如事情准備考慮周全了再上路的話,別人恐怕捷足先登了。軟體開發是一門工程學科,注重的就是實踐,"君子動口不動手"對軟體開發人員來講根本就是錯誤的,他們提倡"動手至上",但別害怕,他們大多溫文爾雅,沒有暴力傾向,雖然有時候蓬頭垢面的一副"比爾蓋茨"樣。有前輩高人認為,學習編程的秘訣是:編程、編程、再編程,筆者深表贊同。不僅要多實踐,而且要快實踐。我們在看書的時候,不要等到你完全理解了才動手敲代碼,而是應該在看書的同時敲代碼,程序運行的各種情況可以讓你更快更牢固的掌握知識點。
5多參考程序代碼
程序代碼是軟體開發最重要的成果之一,其中滲透了程序員的思想與靈魂。許多人被《仙劍奇俠傳》中凄美的愛情故事感動,悲劇的結局更有一種缺憾美。為什麼要以悲劇結尾?據說是因為寫《仙劍奇俠傳》的程序員失戀而安排了這樣的結局,他把自己的感覺融入到游戲中,卻讓眾多的仙劍迷扼腕嘆息。
多多參考代碼例子,對JAVA而言有參考文獻[4.3],有API類的源代碼(JDK安裝目錄下的src.zip文件),也可以研究一些開源的軟體或框架。
6加強英文閱讀能力
對學習編程來說,不要求英語, 但不能一點不會,。最起碼像JAVA API文檔(參考文獻[4.4])這些東西還是要能看懂的,連猜帶懵都可以;旁邊再開啟一個"金山詞霸"。看多了就會越來越熟練。在學JAVA的同時學習英文,一箭雙雕多好。另外好多軟體需要到英文網站下載,你要能夠找到它們,這些是最基本的要求。英語好對你學習有很大的幫助。口語好的話更有機會進入管理層,進而可以成為剝削程序員的"周扒皮"。
7萬不得已才請教別人
筆者在網校的在線輔導系統中解決學生問題時發現,大部分的問題學生稍做思考就可以解決。請教別人之前,你應該先回答如下幾個問題。
你是否在google中搜索了問題的解決辦法?
你是否查看了JAVA API文檔?
你是否查找過相關書籍?
你是否寫代碼測試過?
如果回答都是"是"的話,而且還沒有找到解決辦法,再問別人不遲。要知道獨立思考的能力對你很重要。要知道程序員的時間是很寶貴的。
8多讀好書
書中自有顏如玉。比爾·蓋茨是一個飽讀群書的人。雖然沒有讀完大學,但九歲的時候比爾·蓋茨就已經讀完了所有的網路全書,所以他精通天文、歷史、地理等等各類學科,可以說比爾·蓋茨不僅是當今世界上金錢的首富,而且也可以稱得上是知識的巨富。
筆者在給學生上課的時候經常會給他們推薦書籍,到後來學生實在忍無可忍開始抱怨,"天吶,這么多書到什麼時候才能看完了","學軟體開發,感覺上了賊船"。這時候,我的回答一般是,"別著急,什麼時候帶你們去看看我的書房,到現在每月花在技術書籍上的錢400元,這在軟體開發人員之中還只能夠算是中等的",學生當場暈倒。(註:這一部分學生是剛學軟體開發的)
9使用合適的工具
工欲善其事必先利其器。軟體開發包含各種各樣的活動,需求收集分析、建立用例模型、建立分析設計模型、編程實現、調試程序、自動化測試、持續集成等等,沒有工具幫忙可以說是寸步難行。工具可以提高開發效率,使軟體的質量更高BUG更少。組合稱手的武器。到飛花摘葉皆可傷人的境界就很高了,無招勝有招,手中無劍心中有劍這樣的境界幾乎不可企及
Ⅳ 四川麻將出現天胡與地胡的概率
人在四川過年,免不了上桌打麻將,作為一個標準的麻將新手,上桌送錢是免不了的,當然在這個運七技三的游戲中,本民工居然還偶然有一天贏了一點點錢。
於是這個引起了本民工的好奇,實際上民工本人以前開發過鬥地主外掛,還搞了三個麻將作弊APP還有配套的藍牙硬體,有兩個是用手機控制麻將出牌,有一個是用手機查看桌上所有人手上牌的(原理是用IC麻將牌)。
所以,一定要遠離賭博,珍愛生命!
因為好奇加上正好過年有時間,本民工於是想用實現一個能夠自打麻將的小程序,首先是使用圖像識別的方法獲取出牌和發牌信息,其實模擬按鍵操作出牌,理論這樣種採用圖像識別的外掛是封不了的,因為圖像識別對本民工來說完全不是事兒,大概2007年時間,已經有一樣的方法做了一個自動偷菜外掛。所以難點就只在麻將出牌AI和攻防AI上了,然後先查詢了一下當前麻將AI的現況,好象當前基本是採用「有限狀態機」和 博弈樹alpha-beta 來,實現水平還沒有達到人類頂級高手。當然既然已經有了在圍棋上大殺四方的狗,麻將應該也不遠了,當然狗用的是Deeplearning來做,正好Deeplearning也正好是本民工在玩的東西。所以想嘗試弄一個AI玩一下。但是弄下為,實際情況是…
又掉坑裡了。
首先是想Deeplearning一下,發現沒有樣本!
其次,找了很久,網上也沒有什麼像樣的開源庫可以直接用,好不容易找到一個算和牌(胡牌)的源碼,結果一看,效率低得嚇人。世上一切都是有代價的,計算機的基本代價就是空間與時間,演算法不優化,很多玩法(主要是笨方法)沒得搞。
算了,反正過年閑著,先發明一下輪子吧。
第一步,概率估算。
蒙特卡洛法。本來本民工是想用蒙特卡洛法去生成海量樣本的,然後統計出一些有意思的概率,然後把相關概率形成參數表,供後面的 博弈樹alpha-beta 搜索優化用。
蒙特卡洛法,原理在這里就不表述了,但是這個的確是一個非常非常優秀的搞法,在處理復合概率問題方面,特別適合本民工這樣不喜歡動腦的人。
因此在樣本生成的過程中,一些有意思的數據就出來了。
先看一下地胡的概率。
注意一點: 因為出牌AI還沒有完成,目前還沒有讓程序開始自動對弈,本文給的地胡概率並不準確,這個概率只是上手就有可能胡的概率。
以下是三個數據:
總體大概做了十幾次發牌測試吧,因為每次要大概十分鍾時間,太浪費寶貴時間,還不如多娛樂下別的,所以十幾次也夠了,出現地胡的概率是46W~116W次這樣,抽樣中值位置大約是80萬。
需要說明的這不是一個嚴肅學術研究,只是一個有意思的測試。所以本民工的隨機發牌程序實際是每家發了14張牌。所以真正有地胡的概率是320萬(只有莊家是會起手拿14張牌)。
另外,這個是四川麻將,四川麻將是108張牌,只有萬、條、筒。實際上概率大了很多。
結論就是:打四川麻將地胡的概率是320萬分之一,這個概率… 比摸百萬大獎還要難。簡單算了一下,平均一天打10場麻將,大概平均要876年可能搞得上一次地胡。
好了地胡概率算出來了。下面是天胡。
不好意思天胡概率,還沒有算出來。
本民工做了大概率四次每次3000萬的抽樣(每次要搞4個小時左右,太浪費時間),抽樣樣本是1.2億次,因為只有莊家有條件天胡,所以實際是抽樣4.8億次沒有出現一次天胡。
所以本民工算是明白了,為什麼傳說中會有老頭摸到天胡,激動得那個…,這個概率真是太低了。因為這個概率本民工現在也沒有算出來,現在還不敢亂說,那天把發牌和計和程序改成並發後,找台電腦讓他去瞎算吧。
但是不論是地胡還是天胡它的實際概率,怎麼說呢?遠比本民工想像的要低非常多,因為我身邊出現過兩次,打牌時朋友和我說他的牌是摸了一張就上聽,雖然沒有地胡上,但實際上320萬分之一這個就是四川麻將摸牌上聽的概率。我怎麼可能有這么好運氣呢?當然需要說明的是,從小到大我沒有聽說身邊有人地胡過,也許是身邊沒有人打作弊麻將吧。
另外,再分享一下,一個有意思的概率。
就是起手有一個對加上3副牌(含兩個對)的概率,同時還缺了一門牌的概率,大概是6萬分之一。平均一天打10場麻將,大概16年能搞得上來一次。這個似乎比較平民化,打麻將的人人都有機會,不過似乎也比我想像的要低。本民是不是應該檢查一下演算法的問題了?
說到最後,放個彩彈。
不知道大家沒有仔細看圖,實際上本民工已經隨機抽樣出來了天胡牌。請仔細看數據圖2。因為只出現了一次,所以沒有形成統計樣本。