learn 学习 试错 练习 SSL 事无贵贱,IT人不可自己瞧不起自己 理解RESTful架构 网站开发人员应该知道的61件事 Web service是什么? 传输层安全协议SSL 图解SSL/TLS协议 编译器的工作过程 SSL延迟有多大? 开发者刷榜被App Store 惩罚怎么办:一哭,二闹,三上吊

如何快速掌握一门技术

学一门新的语言,或者新的技术,与其说是一种能力,不如说是一种方法

试问什么样的人,或者说人在生命的什么阶段,学习效率最高?效果最好?答案显而易见:婴儿期。

如果你仔细观察,你会发现,婴儿的学习方法极尽实用之能。模仿,试错,练习,不管一切所谓「权威」的语法,词法,一切以用为主。

这是实用主义者的学习方法:绕过障碍,直奔主题,专注那些你马上需要学的。

堆积的图书往往在我豪气万丈地看到第一本的第X章(X<=5)后便被束之高阁。后来我发现,我被所谓的「学习要先系统地打下扎实的基本功」坑了 —— 我不断地陷入「基础知识」的泥沼,越陷越深,越学越苦,只能苦苦挣扎。这挣扎的结果,80%的情况变成了放弃。

其实我大可不必去担心这些「基础知识」,把它们先放在一边,用到多少,便学多少。比如说,我要学rails,那就直接从rails开始,遇到有关ruby 的语法障碍,回过头来看看ruby文档中相关的内容,扫清障碍立刻回到rails本身,而不是先从ruby啃起。要知道,rails里用到的ruby特 性,可能占ruby总体语言和类库特性的20%都不到!从ruby学起,便是走了岔路。

软件开发是个手艺活,它的学习不是各种可能很少用到的知识一股脑的堆积,我们没法在一切理论知识准备就绪以后再开始学习。scala的作者批评java的 低效时曾经说过,java把写程序变成了做仪式,因此毫无乐趣可言。那么,当我们在桌前堆满了从入门到专家的各种书籍,是不是也把学习变成了一场盛大庄重 的仪式?重要的不是堆砌了多少知识,而是学以致用。

仅专注并直奔主题还远远不够。学习过程中你需要大量练习和获得反馈。 婴儿并没有在累计了3000个词汇之后才开口说话,而是当身体和大脑准备好后的第一天就张口说话了,并且,尽管说得错误百出,他们依然越挫越勇,屡败屡战。

见过有人把书中的例子一个个敲到编辑器中,全部运行正确,然后就心满意足地认为自己「掌握」这门技术了。殊不知,这种「练习」并非有价值的练习。我们需要 试错,就像婴儿学步那样,模仿,迈步,摔倒,爬起来,再迈步。犯错是学习的一部分,当你看完教程掌握了里面所述的内容后,可以自己构思某个应用或者某个使 用场景,然后从头写起。你会发现很多问题,也会加深对教程的理解。自己无法回答的问题,可以寻求社区的帮助,大部分和开发有关的问题都能在 *上得到解决。这样不断地练习和获取反馈,你的开发功底会很快提升。很多非系统的知识和能力(甚至洞见)就是这样通过不断练习和 试错在下意识间学到的 —— 它们来得如此悄无声息,以至于除你之外,别人都将其视为你的一种天赋。

那么,什么时候需要系统地学习呢?当你有了实战所需的技术和经验,需要宏观上对自己所学的内容做一个升华时,或者当你的实战能力遭遇到了瓶颈的时候。

如何在面试中发掘程序猿的核心竞争力

 程序员的核心竞争力:什么是能力?这就是能力

《怎样识别水货程序员》说的是真的吗?

 技术团队的情绪与效率

苹果开发二周年

漫谈程序员系列:别说“我已经很努力了”

软件业黑暗内幕:年龄歧视

Limboy:自学 iOS 开发的一些经验

想开发iPhone App?来看看这个6个适合新手的项目吧 

理解RESTful架构

 密码学笔记

苹果好意被滥用?1元榜单的最大悲哀

网站开发人员应该知道的61件事

Web service是什么?

传输层安全协议SSL

图解SSL/TLS协议

编译器的工作过程

SSL延迟有多大?

 开源中国社区

给你的iOS APP名称找到合适的长度&关键词

 绕开海外那些坑,手游海外推广的3个阶段

开发者刷榜被App Store 惩罚怎么办:一哭,二闹,三上吊