軟體學習之路總結

weixin_34337265發表於2017-05-18

       已經接觸軟體快有兩年了吧,總想自己寫點什麼又不知所措,所以藉著清閒的時間就想了想自己這兩年的軟體學習之路,想著想著,就突然想寫一寫。

        第一年主要學習C#,主要是跟著專案學習的,這樣的好處就是學習要快一些,從開始的看一些基礎的知識,語法,然後就直接看專案中別人已經編好的程式碼,加以理解,有不懂的地方就自己多查查手冊或者向其他人請教,在不斷的瞭解中,逐步學習了執行緒,執行緒池,非同步通訊,資料通訊中介軟體,事件,同時也被微軟強大的開發工具visual studio 所折服,強大的語法解析,編譯能力,良好的使用者介面都是我比較喜歡的,據說今年的釋出的vs2017更是讓人有好的介面體驗,等有時間體驗一下。

        學習這些之後,有時間就自己多逛逛開源社群,多去看看別人的程式碼,學習別人程式碼的構架,整潔性,不拖泥帶水,期間,主要以視覺化方面為主,學習了二維開發和三維球的開發程式碼,中間認識到了C#的一些高階用法,如反射,外掛載入機制;當然在專案中也用到了資料庫相關知識,所以對於關係型資料庫進行了部分研究,如oracle ,mysql ,sql service等,主要學習資料庫的sql語句,索引,檢視,主鍵,外來鍵,資料的備份,回收等,通過這些學習,認識到資料庫的重要性以及普及性,基本專案開發中都會用到資料庫。

        第二年主要以學習java和web為主,乍一看,java和我以前學過的C#好像啊,語法也像啊,不同點就是一種是.net一種是jdk,所以學起來就容易多了,開發的專案中主要用的是java web,所以重點學習了html和java script,css,html主要掌握幾個重點的標籤就行,js語法業比較簡單,其實難點就在於如何讓他們聯合發揮最大的作用,實現專案。

       java web專案的開發主要以一些框架為主,這些框架的主要作用就是簡化開發,讓程式設計師快速有效的開發出自己想要的程式,如spring 框架,還有一些元件,如mybaits ,shiro,luance,rpc等,這裡要感謝簡書上的各路大神,是你們的文章與寶貴經驗讓我學到了這些知識。之後就是了解伺服器,如tomcat,apache,反向代理nginx,學習它們如何讓你的java web程式在它們上面跑起來。

      休閒之餘就是在開源社群上逛逛了,認識了jfinal spring開發框架,使開發更加簡潔,使用者互動性也比較強,還有spring boot等,然後就是多學習學習java的一些高階用法,如反射機制,併發程式設計以及效能調優等,不過目前我仍然在探索中。

     當然,有時看的過程中會遇到一些專案用到了python以及go語言,它們也有自己基於 spring開發的框架,和java大同小異,只是表現方式不同,spring的宗旨是不變的。

      還有就是大資料方面的學習了,如hbase,Hadoop,mongo的學習,對於這些非關聯式資料庫,對於資料的儲存更加人性化,對於資料的使用也與眾不同,這裡運用最多的我想應該是hbase了吧,其具體介紹可以參考我的其他文章,這裡就不介紹了。

     其實知識的分塊還是比較好學的,關鍵是如何根據專案需求將這些塊組合起來,這是比較難的,這不是一蹴而就的,是建立在大量的專案經驗基礎上的,就像你自己要蓋一棟房子,起初只是一磚一磚往上堆,要想真正把房子蓋好,需要這樣一磚一磚好長時間才能蓋出一間好的房子,至於怎麼組合就看你怎麼運作了,可能最後每個人蓋的房子的形狀大小都不同,但是感覺舒適的房子還是少數的。

     兩年的軟體開發經驗,程式猿小白一名,以上是自己的一些粗劣學習過程,在這裡獻醜了。

相關文章