運維是乙個不錯的職位,喜歡動手的我很熱衷與這個樣的職位,但是總覺得那樣子缺少了挑戰,因為時間一長了,經驗不斷的豐富了,對於任何問題的解決方案都是固定的何談激情,沒有激情了就等於什麼都沒有了。、
我還是選擇了乙個我覺得很值得去挑戰的職業,那就是linux
的c++
開發。下面的是我的大致規劃,在我計算機人生的規劃,這樣的規劃也差不多算是linux
開發從入門到精通的乙個步驟吧:
1、這個應該是大前提了,那就是你必須會程式設計對吧。那麼linux
下面支援的程式語言很多。這裡主要說c
和c++
了。那麼你就必需先會這兩種語言了。學完了這些內容,接下來你就該學習一些資料結構的知識了。她會幫助你的開發。
2、學完了語言和資料結構了,接下來的就是你得會linux
的使用了。這個是前提了,若都不會用,那麼何談來借用她來開發呢。
對了linux
基本的操作命令還是要知道的,比如檔案操作、使用者管理、磁碟資訊管理、網路工具(nfs
)等等的使用
至於很多人關心的開始使用linux
,選擇哪個發行版本才是最好的選擇,這個不存在最好的問題,之前我自己也在糾結這個問題,時間長了你就會發現,其實做linux
的工作,無所謂哪個發現版本的好與不好。但是,我們還是傾向於穩定的版本來學習了。這裡我推薦centos
,不必要求一定是最新的,能夠用就好了。
2、會了基本的使用linux
了,那麼接下來就可以在linux
上架設自己的開發環境了。
linux
上的開發環境有兩種:
一為系統提供的,就是簡單的
vi/vim + gcc/g++ + gdb + make
另乙個就是整合環境(ide
)用的比較多了是eclipse
和netbeans
這樣的吧。其他的我也沒有過多的接觸過。這兩款開發工具整合了編譯鏈結除錯程式,便於大型程式的開發設計。
那麼這點要學習的東西也就明確了:
1〉vi / vim
的使用;
2> gcc / g++
的使用3> gdb
的使用4>
make
工具對應的makefile
檔案的編寫
接下來就是對乙個ide
的使用,可以選擇eclipse
或netebeans
,當然你都會那是最好的了。不過學習工具不是我的主要任務哈,時間不要太長。這個就花1
周時間就差不多了吧。當然你要是之前接觸過這些相關的,那麼完全可以把時間壓縮。
最後我覺得可以學習一點shell
的程式設計的東西對以後的開發會有一定的幫助的。
3、完成的上面是工作那麼就算是進入
linux
的開發人生了。
接下來就是要擴充套件一些知識來幫助自己的開發:
作業系統、計算機網路等等
最重要就是要深化資料結構和演算法的學習和理解
完成了上面的工作之後那就可以為自己的開發人生添磚加瓦了:
linux
下的網路程式設計
linux
下的gtk+
程式設計linux
下的python
程式設計c++
的標準庫學習
c++的多執行緒學習
正規表示式
完成上面的工作之後就可以進攻
linux kernel
了哈哈哈
暫時想到的就這些了
,某天再想到了
再加入吧!
3 4 計算機專業學習規劃
1 建議多看國外計算機名校的教材 2 基礎 精通一門程式語言 主要是學習物件導向的思想,還有要清楚c 是如何分配記憶體的,以及派生,多型,過載,虛函式,構造析構,stl等,特別關注記憶體洩露。如果是入門學習的話,建議你看看書籍 essential c c primer 然後再去讀讀 c 程式設計思想...
計算機 計算機基礎整理
大學四年浪費的代價。半夜整理東西 cpu 其功能主要是解釋計算機指令以及處理計算機軟體中的資料。cpu由運算器 控制器和暫存器及實現它們之間聯絡的資料 控制及狀態的匯流排構成。差不多所有的cpu的運作原理可分為四個階段 提取 fetch 解碼 decode 執行 execute 和寫回 writeb...
計算機機試指南 動態規劃
1.n階樓梯上樓問題 題目描述 n階樓梯上樓問題 一次可以走兩階或一階,問有多少種上樓方式。非遞迴 輸入 輸入包括乙個整數n 1 n 90 輸出 有多組測試資料,對於每組資料,輸出當樓梯階數為n時的上樓方式個數 演算法思想 到達第n階樓梯的方式有兩種 從第n 1階樓梯走一階 從第n 2階樓梯走兩階。...