標籤:
我是2009年才考試大學的,報考的是東北師範大學,是免費師範生,讀的是電腦科學與技術專業。因為是當初報考的是師範,所以就想學一個是不是師範都一樣的專業,這樣可以在畢業的時候多一條出路,所以就選擇的了電腦專業。在上大學前,自己對電腦是沒有多少知識的,因此對電腦也沒啥認識,只知道學電腦要編程,但是編程是啥,也不知道。高中時候也去過網吧,也算是摸過電腦了吧!
大一的時候,才去大學有很多不懂,就按部就班的學習理論知識,自己也沒啥想法。還記得,在學習C語言時,第一節課根本就沒聽懂,書也沒咋看懂,後來上實驗課才知道有個軟體叫編譯器。因為自己的智力不是很高,所以我就按照老師上課講的內容,課後把書上的代碼抄抄,然後編譯運行,我還清楚地記得自由運行成功第一個程式時的激動心情。C語言大概就是這樣學習的。當初唯一學習不好的地方是檔案,因為當時忙於社團活動,所以就翹課了,沒跟上。後來在大三看了一本《UNIX環境進階編程》才徹底把這部分補回來。大一基本上就是這樣平淡的過去了。
在大一的暑假,我從http://www.cnbeta.com/ 上看新聞時知道了一個名詞Ubuntu,出於好奇在網上查了相關資料,原來這個世界上除了windows還有別的系統,頓時眼界大開。後來在假期自己就開始自學Ubuntu,瞭解到Ubuntu是Linux的一個發行版本,去圖書館尋找相關書籍,找到了兩本介紹Ubuntu的書,是人民郵電出版社的。按照書上的介紹,在自己的筆記本上安裝了虛擬機器,是用wubi安裝方法安裝的,Ubuntu的版本是10.04。由於這是一個全新的事物,我對其一無所知,所以很多時候遇到問題在書上找不到答案,就很無助,有的同學會問為什麼不在網上搜呢?是啊,因為有些問題在自己知識面很窄的情況下都不知道該怎麼描述,於是看著搜尋引擎卻無濟於事。隨著自己對Ubuntu有些熟悉了,就在自己的電腦上安裝了Ubuntu,電腦是雙系統了。以前聽人家說誰誰的電腦是雙系統的就感覺很進階,其實也就這麼回事。比較幸運的是,假期在軟體學院的教室自學,碰到了軟體學院的學長,他們用的都是Linux,於是給了我一個連網用戶端(後來我們班自學Linux的用的用戶端都是從我這裡拷的),教會了我如何更換軟體源等等,給予了不少協助。我們學校上網都需要用戶端,沒有用戶端認證是上不了網的,當時網路中心的網站上還沒有Linux版本的用戶端。在圖書館找書的過程中看到一本標題為LAMP的書,又是出於好奇,瀏覽了一下。在網上查了一下,才知道LAMP是一個很火的架構,當時好多網站用的都是Apache伺服器,Ngix還沒出來。然後就伴隨著學習Linux學習LAMP,當時既看書也看教學視頻,當時看的是兄弟連的教學視頻。因為知道的少才覺得看視頻很省事省時,按照視頻上講的一步一步練習,到大三結束視野開闊一些了才感覺看視頻不如看書快。在這裡要感謝我一位同寢同學——程同學。他之前接觸電腦較早,知道的也比較多,cnbeta就是他推薦給我們寢室看的,他說電腦發展速度太快,建議我們每天關注一下it新聞。後來因為我們性格不太合,也產生了各種矛盾,不過這個人心底挺好,他在我心中始終都不是壞人的形象,只是有點怪,從心底裡還是感謝這位同學,畢竟從他身上學到了很多東西,現在這位同學在微軟工作。
說了這麼多,我想總結一下,我們之前可以很差勁,可以很無知,但是我們不能缺少一顆好奇心,一顆好奇心可以帶你走很遠。還有就是,有些時候不是我們感興趣了才學,而是我們堅持學了才感興趣的。我們校長給教工開會的時候也說了類似的話:做事並不是我們看到了希望才堅持下去,而是我們堅持下去了才看到了希望!希望同學們有一顆好奇心,有堅持下去的信念。
很快大二就開學了。大二的課程還不是很多,這給我能自學留下了充足時間。每次沒課的時候我都到我們學院的230階梯教室自學,坐在教室的西南角(因為那裡有個插座),一個人很安靜。看一下230教室的照片(今年暑假回去讀研親自用手機拍的)
我的很多同學都是在圖書館看書學習,我覺得那不適合我,我一般都是從圖書館借書拿回來看,到畢業時看了一下書單,自己共借閱了180多本說吧。我覺得230是一塊寶地,但是寶地總歸會被人發現的,後來就有同學也看中這塊地了,這給我搶座位增添了點困難。
也就是在這個學期我結識了我的人生貴人——楊老師。這個學期楊老師教我們數字電路,楊老師上課不用滑鼠,只用鍵盤操作一切事情,很酷。後來問了才知道他用了一款軟體叫totalcommand。楊老師上課也很風趣,知識很淵博,他本科學的是電子,研究生學的是軟體,博士是中科院的化學博士。在他的課堂中知道他會Linux,他的筆記本裝的就是Ubuntu,我當時也正好遇到了一些問題,於是趁著下課很膽小地到他辦公室問他問題,他細緻地給我說示範了如何解決類似問題。完事後楊老師說要我跟著他做項目,我當時都不敢回覆,因為我知道的太少,會的也太少。楊老師也看出來了,於是鼓勵我,說我是可以的,沒有問題的。其實能跟著老師做項目是一件很難得的事情,我也想跟著楊老師學習,我硬著頭皮答應了。
我參與做的第一個項目是離線電驢下載,給圖書館做的,雖然後來沒有上線。一起做項目的都是馬老師(院長)的研究生,起初是四個人,後來有一位研究生不知道為啥不參與了,變成了我們三個人。這個項目是楊老師設計的,他畫好了設計圖給我們看,流程和定義好的Api,我負責與Linux有關的,因為那兩位研究生之前不會Linux。主要是用php調用命令列的amuled,amule的各種反饋,下載進度,檔案轉移到ftp目錄,ftp伺服器的搭建,下載完成後自動發郵件通知使用者,伺服器的維護等。因為楊老師不用qq,當時還沒有,我們約定用郵件溝通,因為楊老師用的是gmail,於是我們都申請了gmail。大多時候都是郵件溝通,從那時起,我才知道郵件原來也是很方便的。起初用郵件的時候我們會犯各種錯誤,比如問題描述不準確,有歧義,需要重新回複詢問,發郵件不是群發而是只發給楊老師等等。也是從那時候我接觸了git,也用了一段時間。在這個項目上,我獲得了很大的長進,項目要運行需要我把環境搭建好,安裝所需軟體,都是命令列遠程操作,因為伺服器機器在圖書館的機房,這讓我對Linux的命令更加熟悉了,也能看懂了很多安裝失敗提示了,會瞭解決問題的方法,當然了期間也給楊老師發了很多封求助郵件(是群發)。更重要的是我們學會了溝通配合。後來系統添加了三塊硬碟,系統的磁碟突然變滿,都是我來維護的,從這個過程中我學會了看日誌尋找問題,然後解決問題。因為是第一個項目,我們三個人都很積極主動,我們好像是用了兩周時間把第一版做好了,然後我約他倆來230做一次測試,發現了一些問題,然後又想辦法解決。現在回憶起來那是一段難忘而美好的時光,這也是我軟體工程的入門教程,很感謝楊老師。到第二個學期,因為要做挑戰杯,對電驢的投入就沒那麼大了。說一個插曲,因為每年開兩會期間gmail基本上都登不上去,所以楊老師搭建了一個wiki平台來供我們交流,這個也很方便。挑戰杯做的是一個視唱練耳系統,要識別鋼琴每個鍵發的音,當時我好想是初八就來學校開始做前期準備工作了。才開始用MATLAB做,因為MATLAB裡面直接有快速傅裡葉變換函數,對於一個一次也沒接觸過MATLAB的人而言,學習MATLAB也花了點時間。要識別一個音是哪個鍵發出的,就要把這個音的基頻提前出來,起初沒有啥想法,跟楊老師交流後還是不太理解。那時候我天天在想如何把基頻提取出來,後來在一次上課過程中突然想到了辦法,當時好激動。然後下課後實驗我的想法,結果成功了,我把方法告訴了楊老師,楊老師說跟他的方法有點不同,這可能是一個小創新吧。最終用MATLAB編程,把鋼琴的88個鍵的音都能識別出來了,又一進步!然後大二基本上就結束了。
總結一點就是機會總是留給那些有準備的人的。我如果不學習Linux就不會接觸到楊老師,楊老師也不會找到我跟他做項目,沒有這種機會你的成長會很慢的,而且是迷茫的。當你做好了準備,機會自然會降臨。在機會到臨前,你要做的就是堅持。
未完待續,不好意思!
關於自己學習電腦的一些經曆