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系统源代码情景分析》!
Android之旅:梦想、学习、坚持、自信、淡定的更多相关文章
- 转载_2012年的Android之旅:梦想、学习、坚持、自信、淡定
原文地址:http://blog.csdn.net/luoshengyang/article/details/8452527 2012年的Android之旅:梦想.学习.坚持.自信.淡定.. ---- ...
- 我的Android之旅——学习、项目、心态
本文作者: 伯乐在线 - 唐韧 .未经许可,禁止转载!欢迎分享原创到伯乐头条. 来源:唐韧 学习Android也一年多了,项目做了五六个,有大有小,有难有易.一直以来都没有好好总结过,今天周六休息,就 ...
- Android 开源项目及其学习
Android 系统研究:http://blog.csdn.net/luoshengyang/article/details/8923485 Android 腾讯技术人员博客 http://hukai ...
- Android自动化测试之Monkeyrunner学习笔记(一)
Android自动化测试之Monkeyrunner学习笔记(一) 因项目需要,开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括Monkey.Monkeyr ...
- Android(java)学习笔记267:Android线程池形态
1. 线程池简介 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力. 假设一个服务器完成一项任务所需时间为:T1 创建线程时间, ...
- Android(java)学习笔记207:开源项目使用之gif view
1. 由于android没有自带的gif动画,我在Android(java)学习笔记198:Android下的帧动画(Drawable Animation) 播客中提到可以使用AnimationVie ...
- Android(java)学习笔记71:生产者和消费者之等待唤醒机制
1. 首先我们根据梳理我们之前Android(java)学习笔记70中关于生产者和消费者程序思路: 2. 下面我们就要重点介绍这个等待唤醒机制: (1)第一步:还是先通过代码体现出等待唤醒机制 pac ...
- Android(java)学习笔记167:Java中操作文件的类介绍(File + IO流)
1.File类:对硬盘上的文件和目录进行操作的类. File类是文件和目录路径名抽象表现形式 构造函数: 1) File(String pathname) Creat ...
- Android(java)学习笔记160:Framework运行环境之 Android进程产生过程
1.前面Android(java)学习笔记159提到Dalvik虚拟机启动初始化过程,就下来就是启动zygote进程: zygote进程是所有APK应用进程的父进程:每当执行一个Android应用程序 ...
随机推荐
- HDU 3333 Turing Tree (树状数组)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3333 题意就是询问区间不同数字的和. 比较经典的树状数组应用. //#pragma comment(l ...
- HDU 4593 Robot (水题)
题意:有 n 个数,其中有两个数中相同的,让你找出这个数. 析:太简单了么,只要用数组下标记一下这个数的数量即可. 代码如下: #include <iostream> #include & ...
- HDU 5777 domino (排序,水题)
题意:小白在玩一个游戏.桌子上有n张多米诺骨牌排成一列.它有k次机会,每次可以选一个还没有倒的骨牌,向左或者向右推倒.每个骨 牌倒下的时候,若碰到了未倒下的 骨牌,可以把它推倒.小白现在可以随意设置骨 ...
- thinkphp 防止sql注入
防止SQL注入 对于WEB应用来说,SQL注入攻击无疑是首要防范的安全问题,系统底层对于数据安全方面本身进行了很多的处理和相应的防范机制,例如: $User = M("User") ...
- hdu 1171 Big Event in HDU(多重背包+二进制优化)
题目链接:hdu1171 思路:将多重背包转为成完全背包和01背包问题,转化为01背包是用二进制思想,即件数amount用分解成若干个件数的集合,这里面数字可以组合成任意小于等于amount的件数 比 ...
- typedef block
给同一种类型的block定义一个别名 typedef int (^MyBlock) (int , int); int main(int argc, const char * argv[]) { @au ...
- c语言-格式控制字符 %XXd 用法
d格式字符 用来输出十进制整数,有以下几种用法: 1. %d, 按整型数据的实际长度输出. 2. %md,m为指定输出的整型位数的宽度,如果整型数据的实际位数小于m,则左端补以空格,如果大于m,则按 ...
- js 原型模型重写1
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 集成iscroll 下拉加载更多 jquery插件
一个插件总是经过了数月的沉淀,不断的改进而成的.最初只是为了做个向下滚动,自动加载的插件.随着需求和功能的改进,才有了今天的这个稍算完整的插件. 一.插件主功能: 1.下拉加载 2.页面滚动到底部自动 ...
- 用java写一个web服务器
一.超文本传输协议 Web服务器和浏览器通过HTTP协议在Internet上发送和接收消息.HTTP协议是一种请求-应答式的协议——客户端发送一个请求,服务器返回该请求的应答.HTTP协议使用可靠的T ...