前段时间参加了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系统源代码情景分析》!

Android之旅:梦想、学习、坚持、自信、淡定的更多相关文章

  1. 转载_2012年的Android之旅:梦想、学习、坚持、自信、淡定

    原文地址:http://blog.csdn.net/luoshengyang/article/details/8452527 2012年的Android之旅:梦想.学习.坚持.自信.淡定.. ---- ...

  2. 我的Android之旅——学习、项目、心态

    本文作者: 伯乐在线 - 唐韧 .未经许可,禁止转载!欢迎分享原创到伯乐头条. 来源:唐韧 学习Android也一年多了,项目做了五六个,有大有小,有难有易.一直以来都没有好好总结过,今天周六休息,就 ...

  3. Android 开源项目及其学习

    Android 系统研究:http://blog.csdn.net/luoshengyang/article/details/8923485 Android 腾讯技术人员博客 http://hukai ...

  4. Android自动化测试之Monkeyrunner学习笔记(一)

    Android自动化测试之Monkeyrunner学习笔记(一) 因项目需要,开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括Monkey.Monkeyr ...

  5. Android(java)学习笔记267:Android线程池形态

    1. 线程池简介  多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力.     假设一个服务器完成一项任务所需时间为:T1 创建线程时间, ...

  6. Android(java)学习笔记207:开源项目使用之gif view

    1. 由于android没有自带的gif动画,我在Android(java)学习笔记198:Android下的帧动画(Drawable Animation) 播客中提到可以使用AnimationVie ...

  7. Android(java)学习笔记71:生产者和消费者之等待唤醒机制

    1. 首先我们根据梳理我们之前Android(java)学习笔记70中关于生产者和消费者程序思路: 2. 下面我们就要重点介绍这个等待唤醒机制: (1)第一步:还是先通过代码体现出等待唤醒机制 pac ...

  8. Android(java)学习笔记167:Java中操作文件的类介绍(File + IO流)

    1.File类:对硬盘上的文件和目录进行操作的类.    File类是文件和目录路径名抽象表现形式  构造函数:        1) File(String pathname)       Creat ...

  9. Android(java)学习笔记160:Framework运行环境之 Android进程产生过程

    1.前面Android(java)学习笔记159提到Dalvik虚拟机启动初始化过程,就下来就是启动zygote进程: zygote进程是所有APK应用进程的父进程:每当执行一个Android应用程序 ...

随机推荐

  1. 在PhpStorm9中与Pi的xdebug进行调试

    PI的配置参考 http://www.cnblogs.com/yondy/archive/2013/05/01/3052687.html 在PhpStorm 9.0中参考下面的截图进行配置 配置完成以 ...

  2. SD卡中的命令CMD

    SD卡中的命令是SD控制器和SD卡之间的桥梁,它封装了SD卡的实现细节,不影响SD卡中FLASH的读写变更. 命令的长度是48位,它的字段如图: SD校准定义的CMD如下:

  3. HDU 2544 最短路 http://acm.hdu.edu.cn/showproblem.php?pid=2544

    //代码: //方法1:Dijkstra's Algorithm #include<stdio.h> #include<math.h> #include<string.h ...

  4. scp,ssh双机互信操作步骤

     Node1:# ssh-keygen -t rsa 这一步是生成密钥# ssh-copy-id -i ~/.ssh/id_rsa.pub root@node2.xueping365.com ~/.s ...

  5. oracle学习 十 数据库的语句优化(持续更)

    平时关注Oracle数据库的网友都知道,Oracle性能优化保证了Oracle数据库的健壮性.下面就此提出需要注意的两个原则.   原则一:注意WHERE子句中的连接顺序: ORACLE采用自下而上的 ...

  6. C++中使用接口

    面向对象的语言诸如JAVA提供了Interface来实现接口,但C++却没有这样一个东西,尽管C++ 通过纯虚基类实现接口,譬如COM的C++实现就是通过纯虚基类实现的(当然MFC的COM实现用了嵌套 ...

  7. How Tomcat Works(四)

    Servlet容器有两个主要的模块,即连接器(connector)与容器(container),本文接下来创建一个连接器来增强前面文章中的应用程序的功能,以一种更优雅的方式来创建request对象和r ...

  8. Eclipse 和 NetBeans 快捷键即其他常用功能比较

    按: 自己用 Eclipse, 常用的也就这些功能, 在用 NetBeans 时, 有些不顺手, 因此列表如下. Eclipse和NetBeans常用快捷键对比:  功能  Eclipse     N ...

  9. 关于 mobile sui a外链 老是出现加载失败的解决办法

    mobile sui 框架里面的a本身都绑了了一个ajax方法,ajax只能处理同域,跨域就会出现问题 ,所以mobile sui 中的a如果是外链的话就会出现加载失败的提示,这种明显的bug,让用户 ...

  10. 用html5的canvas生成图片并保存到本地

    原文:http://www.2cto.com/kf/201209/156169.html 前端的代码: [javascript]  function drawArrow(angle)  {      ...