上一篇寫了2011年上半年的學習生活跟自己的一些感受,這一篇毫無疑問當然是接着寫下半年啦。閑話不多說,切入正題!
畢業之后暑假之前
之前做學生信息管理系統算是小試牛刀,接下來進行的是我們的經典項目——機房收費系統。這個家伙至少會用三種不同方式開發三遍,怎么能說不經典!機房跟學生雖然核心沒什么太大區別,但是這次沒有源代碼,有一些功能必須自己想辦法實現,這次鍛煉的正是我們非常注重的能力之一——借助互聯網解決問題。能夠順利完成機房系統,強大的搜索引擎功不可沒啊!互聯網絕對是一個取之不盡用之不竭的寶藏!
嶄新的暑假生活
為什么叫嶄新的暑假生活呢?原因有二,第一我從現在開始已經不再是學生了,我已經畢業了,換了新的身份。而且是生活中周圍的人發生了變化,以前雖然大部分時間也是在機房學習,但是吃飯睡覺都是跟宿舍的兄弟一起。如今畢業以后,兄弟們都各奔前程了,不過還好以前的兄弟離開了更多新的兄弟又來了!入住機房后很快就融入了機房的大家庭,每天跟六期七期的師哥們一起生活、學習,隔幾天打打球,睡覺之前嘮嘮嗑。我們之間的感情也猶如親兄弟一般!
第二就是學習上的變化,暑假我們迎來了傳說中的 期盼已久的 前所未見的 英語學習方法——SB英語學習!興奮!好奇!因為從初中到大學自己的英語就特別的差,所以非常渴望能夠讓自己的英語水平有一個質的變化,因此我對暑假的英語學習也充滿了渴望(以至於一個假期光看英語了,其他事啥也沒干)!首先,我認真的將米老師撰寫的SB文檔從頭到尾一字不差的拜讀了一遍,這份文檔是我們SB的核心思想,其主要思想就是摒棄傳統英語學習的死記硬背,而是提倡一種自然獲得的方式。這種學習方法的靈感或者說是事實根據來自於嬰兒學習母語的過程。大家都知道嬰兒從出生到會說話,沒有刻意的學過任何語法,但是五六歲的小孩說話的時候幾乎不會有什么語法上的錯誤,而我們從初中,甚至現在從小學就開始學英語。到大學一共學了十多年的英語了,但是讓我們用英語交流仍然很困難,這是為啥呢,是我們不夠用功?不夠重視?不是,現在的學生、老師、家長對英語看得相當的重要。那為什么我們的英語水平一直上不去呢?很明顯,我們之前學習英語的方法都是錯的!語言不是一種知識,不是用來學的,而是通過自然獲得的一種能力!而想要獲得這種能力,我們必須經歷一個漫長的過程,革命尚未成功,我們仍需努力啊。
從暑假到現在,已經SB半年多了,不敢說英語有多大的進步,但是已經不像以前那樣看見英語就反感了。以前的看英文的視頻會覺得很別扭,現在看雖然也聽不太懂,但是不會覺得別扭了。我平時比較關注手機、電腦等數碼設備,所以經常會看一些評測跟技術教程等,而那些先進的技術和優秀的設備都是人家搞出來的,像最近才興起的WindowsPhone,關於它的最新的手機評測和技術教程都是英文視頻,由於自己有興趣,再加上從暑假到現在一直在SB,我已經很適應看英文視頻了。前幾天看了Nokia在2012CES大會上最新發布的WP7設備Lumia900的視頻,看着Nokia的CEO Stephen Elop介紹他們的最新產品,還有他跟微軟CEO Steve Ballmer的對話,雖然不是太懂,但也能猜個大概,而且完全沒有了以前那種抵觸的心理。
英語不可怕,只要你真心的去喜歡它,那么它會給你意想不到的回報。好好學英語吧,將來它帶給你的幫助絕對讓你意想不到!
熟悉而又陌生的軟件工程之路
為啥要說既熟悉又陌生呢?說來慚愧啊,熟悉是因為之前有學過,陌生則是因為沒有把它學好,只學了點皮毛,甚至連皮毛都沒學到........
軟件工程
結束了暑假的純英語學習,學習重心又重新回到了計算機。接下來學習軟件工程了,之前也學過軟工,學得實在不咋地,將視頻從頭到尾看了一遍,加上之前學過的一點點,感覺對於軟工還是一知半解。不過也沒關系,軟件工程是一門需要終身學習的課程。隨着以后不斷的積累會對其有更深的理解。學完就要實踐一下嘛,這次的實踐內容是將機房收費系統需要寫的文檔,按照軟件工程的標准寫一遍。參考着軟工文檔的范例,一邊寫一邊糾結。為啥糾結呢?因為里面的好的內容都不知道從何下手,不知道該寫些什么進去。這個問題讓我苦惱了好一段時間,不過最后還是挺住了。遇到困難是好事,遇到困難的時候就是能力提高的時候!
UML
UML是軟件開發過程中一個非常重要的環節,它是對整個軟件框架以及數據庫的設計,如果這個環節沒有做好,那么會對后面的開發帶來非常大的麻煩;相反,如果這一環節做得很好,那么之后敲代碼的時候就會一蹴而就,一氣呵成。因為它如此重要,所以我對這一階段的學習格外的重視。畫了很長時間去學習UML中各種圖(貌似有一個月+,后面還一直在研究),去各種論壇跟高手請教。經過不懈的努力,終於對UML有了一個比較完整的概念,不再像一開始學的時候那么摸不着頭腦。里面的各種圖也能畫個大概了,真是功夫不負有心人吶。
設計模式
設計模式的學習還是比較輕松快樂的,這還得感謝程傑老師,他寫的那本《大話設計模式》通俗易懂,而且舉的例子都貼近生活,讓人很容易接受。就這樣大概用了十天的時間將《大話》前言到附錄認認真真得學完了。學完歸學完,但是我對設計模式的理解還是非常的膚淺,所以一直也沒敢在博客上寫關於設計模式的總結,而且現在只是學了一遍根本沒有體會到其奧妙之處,所以打算以后在實際開發中用到一個總結一個。其實學習設計模式,不是為了學習怎么用設計模式,而是通過設計模式來學習編程的思想。如何寫出低耦合的代碼,就是要寫出靈活性高、易維護、易復用、易擴展的高質量代碼。
三層架構
三層是個很有意思的東西,剛開始聽說的時候,感覺它很神秘,貌似是個很高深的東西,后來通過從網上找資料、向師哥請教等方式對三層有所了解以后發現,其實三層也就那么回事,UI、BLL、DAL再加上一個實體層,他們各司其職,相互配合來完成軟件所以實現的功能。感覺也沒啥高深的東西,但隨着對三層認識的不斷加深,我發現其實不是那么簡單,他們每一層都有着特定的責任,層與層之間有着微妙的關系,想要開發出好的軟件就要分配好他們各自的職責,處理好他們之間的關系。這里就用到了之前提到的UML,類圖畫的好與壞直接決定着軟件的質量。
軟件工程、UML、設計模式、分層這些都不是一朝一夕就可以學會的,這些知識的學習將會伴隨我們整個IT職業生涯。沒有說哪天將他們完全掌握的時候,只能是對他們的理解越來越深刻,越來越全面。這就好比是數學中的漸近線,只能無限趨近,而不可以到達!
重構機房收費系統
前面已經提到,機房系統是我們的經典項目,所以這一次又要利用前一段時間學的知識重新開發一次。首先按照之前學過的軟工規范做可行性分析、需求分析,寫各種文檔(這次寫文檔比一開始舒服多了...)。然后設計數據庫、畫UML的各種圖,同樣比一開始順多了,思路也清晰了,所謂一回生兩回熟嘛。目前正在敲代碼中,寫這兩篇總結耽擱了幾天... 不過我想很快就會搞定的,因為費時費力的工作都已搞定,剩下代碼相對來說就好說了...
忽覺總結工程之巨大!欲將一年之所學、所感、所獲匯之於幾千字,實屬不易。思吾之2011,百感千言涌上心頭,一篇博客所言不及其百分之一。然今感總結之益甚廣,向不明師曰總結之重是何故,今終得其一二,甚爽!
PS:一時興起,拽兩句古文,勿噴...
之前米老師說過,這一段的學習是一個坎兒,會讓人感到很糾結,但過去之后就會變得很順暢。現在感覺確實如此啊,真有種山重水復疑無路,柳暗花明又一村的感覺啊!鳳凰涅槃,只為浴火重生!經歷了困難和挫折才能將知識化為己有,才能融會貫通得到升華!初高中積累下來的語文知識,到現在全忘光了,實在想不出啥詞兒了,就這樣吧!
自勉:
由於之前的學習耗時太長,以至於被別人落下好多,鏡哥哥表示壓力很大!鏡哥哥加油啊!