1. 程式人生 > >2012年的Android之旅:夢想、學習、堅持、自信、淡定

2012年的Android之旅:夢想、學習、堅持、自信、淡定

        前段時間參加了2012年度IT部落格大賽,進了前十強,寫了一篇獲獎感言,不過還沒正式在CSDN發表出來。眼看2012年就要結束了,剛好借這個機會將2012年度IT部落格大十強獲獎感言發表出來,也算是對2012年部落格的一個總結,關鍵字是“夢想”、“學習”、“堅持”、“自信”、“淡定”。希望大家一如既往地支援老羅的CSDN專欄《老羅的Android之旅》以及老羅的新書《Android系統原始碼情景分析》。

《Android系統原始碼情景分析》一書正在進擊的程式設計師網(http://0xcc0xcd.com)中連載,點選進入!

        自2011年6月21日開博至今天2012年12月31日,在這560天裡面,主要是做了以下三件事情:

        寫部落格之初,是沒有出書的計劃的,不過在各方面的巧合之下,就整理了部落格上的文章,然後就出版了,不過也算是了卻心願,以後就可以專心地寫部落格了。下面就簡單說一下從寫部落格以來的一些感受。

        1. 夢想。APP剛剛火起來的那陣子,還沒接觸過移動開發。有一天聽說我們的產品經理自己做了個APP,用來訂閱自己感興趣的視訊。頓時倍受打擊:連產品經理都會做APP了,作為一個碼農,怎麼還能對移動開發無動於衷呢?!於是就準備學習移動開發,做個APP來玩玩。但是後來想了一下,其實我更感興趣的是移動作業系統,很想知道它和PC作業系統有什麼區別。於是就帶著“瞭解移動作業系統長什麼樣子”這個夢想踏上了研究Android的旅程。再囉嗦說一下夢想這個話題。再年輕一些的時候,會覺得談夢想是一件很扯很遙遠很虛無縹緲的事情。隨著年紀的增大,年輕時的稜角隨著生活中的各種遭遇和壓力都慢慢地磨平了,只剩下每天重複的上下班。這時候才發現年輕時的夢想是多麼的彌足珍貴:夢想原來是可以讓人這麼年輕而富有激情的!現在看達人秀的時候,更多的感動是來自那些選手對夢想的執著追求,而不是他們的表演。

        2. 學習。決定了要學習移動作業系統開發以後,接下來就是選平臺了。當時iOS和Android都是紅透半邊天,WP還未成型。由於Android是開放原始碼的,因此,它就是學習移動作業系統的不二選擇了。瞭解到Android是基於Linux核心來開發之後,就開始看Linux核心的書:《Linux Kernel Development》、《Understanding the Linux Kernel》、《Linux Device Drivers》和《Linux核心原始碼情景分析》。這四本書每一本書都至少看過兩遍。對Linux核心有了大概的瞭解之後,就開始學習Android應用開發,因為我覺學習一個新知識的最好切入點就是先知道它是怎麼使用的。於是,接下來又看了兩本講Android應用開發的書:《Professional Android Application Development》和《Google Android SDK開發範例大全》。看完了之後,覺得還是有點雲裡霧裡,於是又寫了個Android小遊戲——

互動式人機對戰五子棋。說來和五子棋有緣,高中時經常和同學在幾何簿上畫著來玩玩五子棋,有時上課也偷偷玩;上大學學習C和Java時,也是拿五子棋來練手。在Android上開發的這個五子棋遊戲雖小,但卻五臟俱全:Activity、Service、Broadcast Receiver和Content Provider四大元件全用上了,非同步任務和Binder程序間通訊機制等也用上了。這為日後研究Android系統打下了堅實的基礎。其實學習這個東西就是這樣,它不是快餐,餓了就去吃,必須得老老實實地一步一步地打基礎。

        3. 堅持。長期地堅持去做一件事情,真的很難。不過,當你下定決心持續地去做一件事情的時候,你的堅持就會變成一種習慣。習慣一旦養成,你不去做那件事情的時候,反而會覺得心裡不舒服,好像少了什麼似的。因為平時要上班,所以一天下來,其實也沒多少時間去研究Android系統。這時候我就告訴自己,更加要堅持,並且給自己算了一筆數:工作日每天看20頁書,週末每天看50頁書,大概兩週就可以看一本400~500頁的書;一天看300行左右程式碼,一週就能看2000~3000行程式碼;一天寫1個段落的部落格,一週也能搗鼓出1篇來。另外,當堅持了一段時間之後,就會發現學習的速度比以前更快了,就好像有一種加速度一樣,這時候就會發現事情越做越快。

        4. 自信。自信是很重要的,尤其是在你做一件很有挑戰性的事情的時候。如果沒有自信,在碰到難以解決的困難時,或許就會放棄了。其實在很多時候,機遇都是偏愛那些有自信並且一直堅持著夢想的人。記得在研究Android系統的UI渲染服務SurfaceFlinger的時候,被一個20多行程式碼的函式難住了,百思不得其解。後來盯了兩三天,聯絡了各種上下文,最後總算是把它弄明白了。我一直都相信潛意識這種東西:只要你相信你能解決一個問題,並且堅持住不放棄,潛意識就會幫助你去加工和組織各種原始資訊。因此,自信很重要,它是一種軟實力:有自信不一定能成功,但是沒有自信要成功就難上加難。

        5. 淡定。淡定是一種人生態度,它能使你不功利,不浮躁,從容地面對得與失,找到一條更合適自己長遠發展的路。往往夢想都是一個比較長期的東西,不是短期內就能看到效益的。在堅持夢想的過程中,又可能要付出很多代價,例如,你沒有時間找(陪)老婆或者女朋友,你賺的錢沒有一起畢業的同學多,諸如此類的等等事情。這時候,你就更需要淡定:只要你判斷你正在做的事情是值得的,你就淡定地面對別人的眼光和周圍的環境。我發現寫部落格以來,自己變得越來越宅了,下班後和週末都更願意呆在房間裡,當漸漸地發現同學都在忙著晒結婚照或者小孩照的時候,自己還在單身著:(。這可能就是宅的代價吧,不過現在對這件事情還是比較淡定:)。

        上述5點感受總結來說就是:心懷夢想,帶著自信和淡定,持之以恆,學習、學習,再學習!很諷刺的是,如果是五六年以前的自己看到上面的這些文字,我會覺得很扯,很空洞,沒意義。人可能就是要非得親自去經歷一些事情,才能深刻地領會一些道理。

        最後,老羅和大多數人一樣,出身草根,也就是俗稱的屌絲,如今也是在平凡的職位上做著平凡的事情,但是老羅相信,雖不是官二代富二代,但是拼盡全力地去奮鬥,就會有希望!在接下來的2013年裡面,老羅仍然會堅持寫Android方面的文章,第一目標是繼續研究Android系統的UI架構,第二目標是研究Android系統的Dalvik虛擬機器。希望大家一如既往地支援《老羅的Android之旅》,同時,如果大家覺得部落格的內容有用,還請多多支援老羅的新書《Android系統原始碼情景分析》!