當前位置:編程學習大全網 - 編程語言 - 如何學習OpenStack與精通OpenStack好書推薦 00 OpenStack中國社區

如何學習OpenStack與精通OpenStack好書推薦 00 OpenStack中國社區

如何學習OpenStack與精通OpenStack好書推薦

Joshua

2013-9-25

OpenStack的官方文檔在開源世界裏應該說做得還是很不錯的,如果妳只是想隨便跑壹下運行壹下的話, 看看這些文檔應該足夠了。

但是如果它出問題了呢?由於還未真正懂OpenStack,可能妳會感到:

壹是解這個問題會很累;

二是經常性的沒有思路,不知道如何下手;

三是花費的時間成本也不會少,會成十上百倍的大增;

四是下次遇到類似的問題可能依然不清楚,依然耽誤時間;

五是由於未理解把不是問題的問題當成問題;

六是由於未理解也容易出方向性問題得不償失;

七是壹直看不到系統的全貌與本質始終在壹個局部打轉轉,長時間處於惡性循環中;

八是同樣沒有真正理解給別人講的時候也講不明白,問個問題別人都不知道妳在問什麽耽誤大家時間;

這樣,無論對於公司還是對於妳自己來說都是損失,不會有好效果,對於此類問題,筆者給出的藥方就是系統性學習,沒有捷徑。

可能有人以為,系統性學習看起來在內功修煉未開竅之前會沒有效率,那特錯特錯了,俗話說得好,磨刀不誤砍柴工,妳的Skill的提高帶來的將是效率的成幾 何倍數的提升。這也是為什麽IT領域永遠是20%的人幹80%的活,看看Linux,看看Hadoop,看看那些創業公司就知道了。

既然從事了碼農這壹行,怎麽著都是壹個累,但是系統性學習了,開竅了,那就壹勞永逸的解決這些問題了,上層再怎麽變,底層的Linux內核或者網絡這些知 識卻不會變,並且萬變不離其蹤,有了這些底層牢靠的基礎,是非常容易理解上層的變動的。這就會步入良性循環,妳算算這其中的好處帳吧,呵呵。

下面是筆者這壹年半學習OpenStack的歷程,僅供參考:

1,首先隨便找幾篇架構方面的理論文章,心裏清楚它是幹什麽的。

2,看代碼之前,首先得會用。會用可以看官方的文檔,我反正是沒看,因為早期的文檔並不像現在這麽豐富。我直接看的devstack的腳本,照著它那腳本壹步步手工源碼安裝壹遍之後就基本能解決所有的安裝使用方面的最基礎的問題了。

3,做為壹個程序員,首先debug得先行,使用pydev創建開發環境,在debug的過程中,妳就知道它的運行流程了,當然現在有文檔講它的運行流程,但早期也少見啊。再怎麽著,也沒有妳自己debug壹遍來的印象深吧。

4,稍微fix壹些bug,任何壹個小bug都會把妳帶到實際代碼之中去,遇到很多腳踏實地的問題。但是這個不用太多,因為妳還要省時間出來系統性學習消化了。

5,多review社區那些高質量的代碼,尤其是看那些對妳理解代碼有代表性的patch。每壹個patch背後都會有它的背景知識,這個就需要系統性的學習了,剛開始壹兩周可能稍微影響效率壹點,但接下來馬上帶來的效率提升就會大豐收了,絕對是劃算的買賣。

6,反復地看,反復的加深印象,好記性不如爛筆頭,慢慢隨著妳知識的廣度的提高,妳就能隨意觸類旁通了。如果再有機會對某壹領域進行深度的探索時,妳也總能把握住方向,出了問題就從理論上都能想象得到可能問題出在哪個環節,站得高,看得遠,還輕松。

這期間筆者也系統性地學習了下列25本書,不包括電子文檔等。基本原則就是:

1,想精通python的話,隨便找本python的書花個半天時間了解壹下就可以開始寫代碼了然後遇到什麽回過頭來再翻閱什麽就行了,然後想精通 python的話最應該看的是C編程的書,如UNIX編程的大塊頭,慢慢啃吧,神馬進程死鎖啊,同步啊等等思想都在裏頭了,因為技術都是相通的,當然,世 間萬事萬物都是相通的,技術和非技術也是通著的。

2,學OpenStack當然要看OpenStack的代碼,但也不是全看,筆者在之初就很少直接盯著看Neutron的代碼,而是系統性學習它背後的知 識,然後再回過頭來妳就會發現原來這些代碼都是按妳心裏預想的步驟來寫的。舉個例子,筆者最初想評審IPSec VPN的代碼,直接上去看肯定看不懂,算了,不看了,回過頭先花半天系統性過壹下IPSec的理論與Linux下的IPSec的具體實現 strongwan的用法,再花壹個小時回過頭來仔細研究代碼,妳就會發現這些代碼都是順著妳的思路來走的,這樣又能review到點子上,也節省時間, 更輕松人不累,還能學到東西。我相信妳直接壹上來就對著這個patch幹看,不系統的話,估計看兩天也是壹知半解吧,就像社區某些不是很懂的人壹樣看不懂 又要量化的數字就盡提壹些莫名其妙的python的用法相關的comment。又累又沒效果也沒學到什麽東西。Python也就是壹個殼,掌握它遠沒有掌 握裏面的領域知識更有意義。社區的有些core他們永遠被那些量化的數字糾纏著,有美麗的光環,但很少有時間來掌握領域知識的,頂多多熟悉了點 python了而已,不熟悉,又要評審,就只能莫名的-2,不能服眾,影響了組件的穩定性,延遲了openstack在企業的部署。

總之,系統性最重要,那才是正規軍,非遊擊隊。

這些書包括:

1, Computer network, version 5, the teaching material of the university of China, Publishing House of Electronics Industry, Xie Xiren

2, IPv6 technology, Publishing House of Tsinghua University, Huawei company

3, Cloud computing, second editon, Publishing House of Electronics Industry, Liupeng

4, Got Git: The Deinitive Guide of Git, China Machine Press, Jiang Xin

5, Python Core Program, PRENTICE HALL, Wesley J. Chun

6, The Python Standard Library by Example, Doug Hellmann

7, The storage network technology and application, Publishing House of Tsinghua University, Lu Shiwen

8, Network Warrior, O’REILLY, Gary A. Donahue

9, Network traffic monitoring and control, www.buptpress.com, Liu Fang

10, IPSec VPN design, ciscopress.com, Vijay Bollapragada, Mohamed Khalid, Scott Wainner

11, MPLS and VPN Architectures, ciscopress.com, Ivan PepeInjak, Jim Guichard

12, Technology & Practice of Network attack & defense, Publishing house of electronics industry, Zhuge Jianwei

13, The Principles & Practive of Virtualization Technology, Publishing house of electronics industry, Guang Xiaoming

14, Operating systems Internals and Design Principles, Sixth Editioin, William Stallings

15, Linux Kernel Development Third Edition, PEARSON Education, Robert Love

16, Understanding Linux network Internals, O’REILLY, Christian Benvenuti

17, Linux Device Drivers, O’REILLY, Jonathan Corbet, Alessandro Rubini & Greg Kroah-Hartman

18, Linux Kernel Hacks, O’REILLY, Munehiro IKEDA, Naohiro Ooiwa, Hiroshi Shimanmoto, Akio Takebe

19, Understanding the Linux kernel, Third Edition, O”REILLY, Daniel P. Bovet & Marco Cesati

20, Advanced Programming in the UNIX Environment Second Edition, TURING PEARSON, W. Richard Stevens Stephen A. Rago

21, Embedded Linux Primer, A Practica Real-World Approach, Second Edition, TURING PEARSON, Christopher Hallinan

22, Understanding the Eembedded Linux Device Driver Program, Publishing House of Electronics Industry, Cao Guohui

23, Custom your Own Linux System Step by Step, Posts & Telecom Press, Sun Haiyong

24, Puppet Master, Orion Children’s, Joanne Owen

25, Linux Iptable Firewall

  • 上一篇:oppo編程思想的特點
  • 下一篇:如何簡單地畫出哈利·波特的海報——哈利·波特的畫法
  • copyright 2024編程學習大全網