Android之旅:梦想、学习、坚持、自信、淡定
前段时间参加了2012年度IT博客大赛,进了前十强,写了一篇获奖感言,不过还没正式在CSDN发表出来。眼看2012年就要结束了,刚好借这个机会将2012年度IT博客大十强获奖感言发表出来,也算是对2012年博客的一个总结,关键字是“梦想”、“学习”、“坚持”、“自信”、“淡定”。希望大家一如既往地支持老罗的CSDN专栏《老罗的Android之旅》以及老罗的新书《Android系统源代码情景分析》。
自2011年6月21日开博至今天2012年12月31日,在这560天里面,主要是做了以下三件事情:
1. 发表了72篇原创博客,访问量1060200次,评论3153条。
2. 出版了《Android系统源代码情景分析》一书,一共3大篇16章830页1570千字。
3. 被评为2012年度十大杰出博客。
写博客之初,是没有出书的计划的,不过在各方面的巧合之下,就整理了博客上的文章,然后就出版了,不过也算是了却心愿,以后就可以专心地写博客了。下面就简单说一下从写博客以来的一些感受。
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系统源代码情景分析》!