- 浏览: 114724 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
瘾心丶Android:
[color=red][/colo[size=large][/ ...
android捕获Home键的方法 -
j086924:
good share!
android Launcher——ui框架 -
m331006:
a、进入cocos2d-x\testandroid\andro ...
Android cocos2d-x开发(三)之创建Android工程和编译 -
sphway:
为什么在布局文件中加入android:layout_gravi ...
自定义控件---滑动按钮的实现 -
chenshijun0101:
LZ,你能把长按home键显示当前任务实现此功能的源码发给我一 ...
长按home键显示当前任务
ugmbbc发布于 2012-01-15 11:53:19| <script src="/counter.php?sid=169509"></script> 4308 次阅读 字体:大 小 打印预览
<script type="text/javascript"></script>
感谢伯乐的投递
对程序员们来说挑战自我非常重要,要么不断创新,要么技术停滞不前。新年伊始,我整理了12个月的目标,每个目标都是对技术或个人能力的挑战,而且可以年复一年循环使用。
01. 变得有耐心
02. 保持健康
03. 拥抱变化带来的不适应
04. 学习一门新的编程语言
05. 自动化
06. 学习更多数学知识
07. 关注安全
08. 备份你的数据
09. 学习更多理论知识
10. 接触艺术和人文
11. 向新的软件学习
12. 完成一个自己的项目
接下来我会对这些建议逐个介绍。
变得有耐心
程序员们会担心锻炼耐心付出的努力得不到应有的回报。其实,培养耐心只要付出很小的投入就能够得到相对而言很大的收获。下面是开始锻炼耐心可以尝试的一个列表,只要全身心投入其中任意一项,都可以在一个月左右脱离门外汉(成为有经验的新手)的阶段:
烹饪、徒步、滑雪、天文、慢跑、木工、武术、舞蹈
保持健康
程序员通常久坐少动,因此在日常工作中会面临健康问题,但通常都被我们忽略了。一年中花整整一个月来调整你的生活习惯、饮食和生活环境,这会促使你养成持久、健康的生活习惯。每年去一趟诊所检查血压、胆固醇和血糖,看看这些指标最近有什么变化。如果你的手腕开始疼痛或者已经疼了很久,马上停掉手上的工作开始与“鼠标手”(重复性劳损)作战。注意你的坐姿,尤其是肩膀和脖子。我使用了矫姿器来帮助治疗。
跟踪你的体重、摄入以及燃烧的卡路里。如果有必要,可以改变生活方式以养成健康的饮食习惯和减肥。(《Zed Shaw:程序员的常见健康问题》)
程序员的常见健康问题
拥抱变化带来的不适
在我20刚出头的时候,通过观察身边年纪稍大一些的伙伴我发现有些人停滞不前而另一些则活力充沛,我试着寻找背后的原因。答案就是舒适感。舒适会让技术停滞不前。当找到一个能够为我所用的系统时,我们会一直使用它。但技术是不断进步的,而那些停留在舒适区的人永远不会意识到这些进步能够为他们带来好处。不破不立,要让自己适应不舒适的感觉。
下面列出的事情一开始可能会让你感到不适应:
在一个月的尝试之后,你可以决定是否继续采用新方式,或者找到新方式中好的经验与原有方式的结合点。例如,在我从使用了10年的emacs转向vim时,我会为插入模式设置emacs风格快捷键从而继续使用vim。(《25个Vim教程、视频和资源》)
学习一门新的编程语言
编程语言起起落落。如果只了解一门语言,程序员的解决问题能力以及职业前景都会因此受到限制。花上整整一个月时间吸收一门新语言或者一个新的编程范式,并用它写一个小程序。
下面是一些可以学习但不是非常主流的编程语言:
Racket、 Haskell、Scala、Erlang、Clojure、SML/NJOCaml、Squeak、Prolog、Datalog.
如果你无所不知,那么你可以实现一门新的编程语言。
自动化
程序员拥有最强大的待开发技能就是将虚拟和现实自动化的能力。如果你从来没有造过一个机器人,那么去做一个吧。至少学会使用Lego Mindstorms或者玩一玩 Arduino board。
检查一下你每天的任务,看看其中有哪些可以完全或者部分自动化。自动化在家庭生活里已经有了长足的进步,甚至可以像Insteon那样对系统进行DIY。
投资一个月的时间来进行自动化:
procmail:procmail软件包包含一个自动的邮件管理器,可以很好的过滤和排序邮件。
cron:linux下的定时执行工具。
Roomba:Roomba是iRobo公司生产的定时智能机器人。
学习更多数学知识
计算机科学本质上讲是数学的一个学科。好的数学家中间会产出优秀的程序员。不要让你的数学能力丧失殆尽。
考虑每年花一个月时间复习列表中的一项:
逻辑学、离散数学、微积分、概率论、统计学、抽象代数、数论、范畴论、偏序理论 (《数学是成就卓越开发人员的必备技能》)
关注安全
很少有程序员具备好的安全习惯。如果你对自己的数字安全很在意,你就会对你写的代码安全性更加关心。确保你在每个站点都使用了唯一的高安全系数密码。使用加密的密码管理器来管理你的密码,例如PasswordSafe或者KeePassX。如果你还没有对整个磁盘加密,留出时间完成它。(在Mac上可以轻松完成)
每年都要研究过去12个月中前10位的安全漏洞。他们是如何发生的?在编程中需要怎么做能够避免在你的代码中出现这些漏洞?
下面是另外一些你需要尝试的安全任务:
nmap:linux下的网络扫描和嗅探工具包
备份你的数据
每年花一些时间检查你的备份策略。
花一个月时间将备份花费的时间减到最小。
使用基于云的备份服务,比如Mozy和Carbonite,很容易建立无缝自动备份。
更全面地防御可以选择为每个人分发硬盘,对每台电脑使用像Time Machine这样的自动备份工具进行备份。
对重要文件使用异地远程仓库进行版本控制。
学习更多理论知识
计算机科学有丰富的理论基础。
了解最新进展的同时还要加强对经典开发理论的掌握。
译注:
形式语言:按一定规律构成的句子或符号串的有限或无限的集合。
自动机:是有线状态机(FSM)的数学模型。
可计算性理论:研究计算的可行性和函数算法的理论。又称算法理论。它是算法设计与分析的基础,也是计算机科学的理论基础。
计算复杂性理论:计算复杂性理论是理论计算机科学的分支学科,使用数学方法对计算中所需的各种资源的耗费作定量的分析,并研究各类问题之间在计算复杂程度上的相互关系和基本性质,是算法分析的理论基础。
形式化方法:在逻辑科学中是指分析、研究思维形式结构的方法。
语义学:研究自然语言中词语意义的学科。也可以指对逻辑形式系统中符号解释的研究。
对于刚起步的程序员,可以先看一看下列文章:
CEK:CEK机器是由Matthias Felleisen和Dan Friedman开发的λ-演算的力学模型。
Haskell:一种纯函数式编程语言,以美国数学家Haskell Brooks Curry命名。
接触艺术和人文
工程师往往轻视艺术。他们没有意识到艺术和人文是基础升华的重要因素。史蒂夫·乔布斯乐于指出将技术与人文结合的重要性,事实也却是如此。
艺术和设计原则同样适用于人和计算机之间的交互。不要忽视这些原则。艺术和人文的训练让直觉更加敏锐,而这方面的练习是难以用数字来计量。工程师需要知道如何衡量那些他们不能计量的事物,而不是只是统计他们可以计量的内容。
每年至少有一个月学习下面列出的主题:
向新的软件学习
一个为自己的软件寻找灵感的好办法就是向新的或新型应用程序学习。例如,如果你从来没有尝试过3D建模软件,可以尝试Blender。抑或是,如果你从来没有接触过LaTeX,请真诚地试着去了解它。
在学习过程中,请注意你喜欢什么和讨厌什么。真诚地问自己,这些观察到的内容是否在你的软件中存在。在工作中很难看到自己的缺点,但发现别人的不足却很容易。天下没有哪个父母认为自己的孩子长得难看。请学习看到自己作品的不足。
完成一个自己的项目
如果你整天为别人写代码,那么为自己写程序能让你记得当初为什么会成为程序员。每年为自己选择的项目分配一个月的时间,完成核心功能,将其开源发布。
发表评论
-
Android Service学习之AIDL, Parcelable和远程服务
2012-06-26 19:33 648AIDL的作用 由于每 ... -
Android的系统的Binder机制(一)
2012-06-21 19:11 602Android系统的Binder机制之一—— ... -
Android的系统的Binder机制(一)
2012-06-21 19:11 682Android系统的Binder机制之一—— ... -
android中修改framework层代码后怎样操作才能看到修改后的效果?
2012-03-30 10:24 40161.下面方法适合真机:下载android源码,然后编译你修改的 ... -
Ubuntu下常用的快捷键
2012-03-19 09:10 0最常用 win+n切换背景颜色风格 alt+tab=不用说了 ... -
Android中全屏无标题设置
2012-03-06 10:29 2346方法一:在java代码中实现 //取消标题 ... -
如何通过wifi调试android程序
2012-03-06 09:53 3295android手机居然可以通过wifi进行程序的调试,太好 ... -
长按home键显示当前任务
2012-03-05 10:33 6288公司给我的任务就是怎么长按home键显示当前任务,刚开始我还以 ... -
android捕获Home键的方法
2012-03-05 10:08 2366Level5以上(包含)中,Activity类中有如下方法: ... -
在32位Ubuntu10.04上编译Android2.3
2012-02-18 11:23 01.安装JDK6 对于Android2.3系统,不要安 ... -
自定义控件---滑动按钮的实现
2012-02-11 16:27 2564package cn.flyaudio.android; ... -
滑动按钮
2012-02-10 19:09 678http://blog.csdn.net/luoyuhhy/a ... -
Android 支持多屏幕机制
2012-02-10 09:20 648在Android上进行开发, ... -
Android UI开发专题
2012-02-06 09:36 857Android UI开发专题 (一) ... -
Launcher(一)关于使用Eclipse调试Launcher的完美解决方法
2012-02-02 19:21 1233由于在Android源码中,很多方法、成员、类、包都被打上@h ... -
android Launcher——ui框架
2012-01-31 22:25 1056android Launcher——ui框架 分 ... -
Ubuntu Linux中连接Android真机调试
2012-01-14 14:50 1163首先确保用数据线链接后能识别设备,输入:lsusb,可以看 ... -
如何成为一名Android开发高手
2012-01-04 16:42 1793下面是成为一名真正的Android高手必须掌握和遵循的一些准则 ... -
android GestureDetector功能和使用
2011-12-26 15:36 836android为了增加用户体验 ... -
Android 系统自带样式Android:theme
2011-12-26 15:23 749•android:theme="@android: ...
相关推荐
这是是本为程序员量身打造的日语词汇速记大全, 当然,你要有一定的基础,如果你要从零开始学, 那请在下面留言,我发资料给你。
JAVA程序员培训定制课程
Inventor开发技术简介—为非程序员定制的入门课程
程序员应该具备哪些目标?本文告诉你什么样的目标才是程序员的目标
600个程序员常用的单词和词汇600个程序员常用的单词和词汇600个程序员常用的单词和词汇600个程序员常用的单词和词汇600个程序员常用的单词和词汇600个程序员常用的单词和词汇600个程序员常用的单词和词汇600个程序员...
如何做一个有素养的程序员如何做一个有素养的程序员如何做一个有素养的程序员如何做一个有素养的程序员如何做一个有素养的程序员如何做一个有素养的程序员如何做一个有素养的程序员如何做一个有素养的程序员如何做一...
程序员浏览器程序员浏览器程序员浏览器程序员浏览器程序员浏览器程序员浏览器程序员浏览器程序员浏览器
程序员必须掌握的600个单词程序员必须掌握的600个单词程序员必须掌握的600个单词程序员必须掌握的600个单词程序员必须掌握的600个单词程序员必须掌握的600个单词
程序员工资程序员工资程序员工资程序员工资程序员工资程序员工资
我们的模板设计简洁,专为程序员量身定制。它们强调了技术技能和项目经验,同时也考虑到了可读性和清晰度。每个模板都可以轻松地进行个性化,以反映您的个人品牌和职业目标。 我们的程序员简历模板大全包括: 1. **...
Java程序员培训定制课程
程序员考试程序员考试程序员考试程序员考试
JAVA程序员培训定制课程.pptx
优秀程序员的十个习惯
高级程序员的45个好习惯,很多很经典的习惯有助于你的开发之路