我也來寫linux入門帖之學什麼?

雖然很多人都不承認,作爲開發人員我們絕大部分的工作都是工程,我們做的事情就是以儘可能少的成本完成儘可能多的任務,作爲高級技工,最重要的是其實是熟練掌握工作需要的技能。

以此爲前提,javaeye上面的大部分開發人員不需要基本的linux技能,除了少數需要去進行linux(unix)系統的配置,部署的。但學習linux似乎總是不可抗拒的,linux不是越來越重要了嗎?不似很有那麼多的大公司在支援linux系統嗎?不是linux源碼公開,可以看到操作系統的實現嗎?不學習不是很不“潮流”嗎?

我們不得不看一下linux的應用背景,LAMP很流行對吧?那麼在windows下有好用的開發工具,部署又不需要自己做,有需要學習linux嗎?以linux(unix)作爲應用服務器的情況下面,絕大部分情況下面開發都在集成的IDE裏面就可以搞定了對吧?有必要學Linux嗎?RoR?情況有變化嗎?結果就是還是不需要學習linux。實際的情況,linux在嵌入式開發,以C/C++爲開發語言的情況下面更加常用。而需要的技能不外乎從編輯,編譯鏈接到運行調試的一套:vim/emacs, gcc, makefile, gdb. 這些技能對於javaeyer完全沒用。

然後就是以學習操作系統爲目標,這方面的論述資料也很多了,開源容易找到的一本就是趙炯博士的linux0.95內核完全註釋,對於javaeyer來講最關鍵的是學非所用,kernel的內存管理不光不直觀,而且對於工作一點兒幫助都沒有。花費了大量的時間精力,但對於理解操作系統或者改善工作只能有一些似是而非的想法。

但如果我們把步子邁小一點兒,不去管那麼多的遠大的目標,也許我們也能找到一些立馬對工作有幫助的,可以學習的技能;也許這可以打破我們對於linux的陌生感受呢?

聽說正則表達式被列爲程序員必備十大技能之一,在linux下面能學的更好嗎?

在開發過程中,不可避免會用到正則表達式,他隨處可見,什麼匹配電話號碼,什麼匹配用戶名規則(是否符合要求的用戶名?),驗證是否爲合法IP地址(不管是IPv4還是IPv6),驗證是否和合法年月日,甚至在strusts中,在form validate裏面提供了一系列的使用正則表達式對form中的input做驗證的方法,有可能你會需要依據需求讀懂他們,修改它們(比如允許中文的年月日輸入法?)。
問題是那些正則表達式的規則並不是那麼容易閱讀以及容易記憶,怎麼辦呢?通常你可以上網去查一下資料,比如這個,常用正則表達式
http://www.williamlong.info/archives/433.html;
或者找一份兒更加詳細,包含一些規則本身的資料,自己在試圖寫出自己的正則表達式,放到java代碼或者javascript代碼中去試驗。
http://hedong.3322.org/archives/000244.html

而且你會發現在ultraedit中的選項使用正則表達式和你在上面的資料中看到的正則表達式習慣不同,怎麼辦?有沒有更好的辦法?當然有,你可以在每天的開發中使用它們,學習,並且習慣他們。你只需要開始使用vim編輯器,或者下載一個windows版的gvim,學習下基本的“/”查找指令即可。你可以輸入你想要驗證的字符串,然後用正則表達式來進行查找就可以了。(當然,有可能你需要通過:set hls 來設置匹配字符高亮顯示)。這個過程並不能夠代替你學習正則表達式本身,他只是提供了一個練習的方法,而且當你用習慣了VIM以後,你會覺得用他看代碼是很舒服的一件事情。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章