前端观察 2015-09-12 11:52
在成长的过程中,我的兴趣点不断发散,而且都是看似不相关的领域。我喜欢数学正如我喜欢历史一样。我的目标是成为一个 多才多艺的人 – 博学者-,能在多个领域成为优秀人才。这证实是一项艰巨的任务,我忽然面临着行行皆通,样样稀松的危险。
我开始考虑专注于某些领域,这样即使不能成为像文艺复兴时期的通才,但至少能精通某些方面。那我怎么样才能专注于某一领域的同时,掌握软件开发所需的庞大的知识体系呢?
本帖内容是基于我过去 5 年经验编写的,概述了我成为一个优秀的 JavaS
当今大多数 web 开发者都面临着同样的问题:他们不得不擅长多个不同领域,从数据库到后端架构,再到前端的用户界面,用所精通的 CSS 知识去修改 UI 。
看书
为了达到精通,专注与努力是首要条件。如果不投入全身心工作,最后你只会一知半解。例如通过阅读一些博客文章,因为初期时间投入较低,所以看起来会比较简单。但从长远来看,这种学习模式将会比专注于学习精髓的过程花费更多的时间。解决这个难题的方法很简单:看书。
书籍让我们站在文明的肩膀上。而精炼的文字让我们的知识代代相传。而对于如何成为 web 技术专家这个问题,你在学习的过程中就要与 web 本身保持一定距离。因为 web 对于学习来说,其本身就是一个混杂且分散的媒介,所以我的第一个建议是阅读相关专业的书籍。
对于 JavaS
学习、使用并阅读库
接下来最重要的一步是了解库。如果书籍教会你如何理解语言,则库教你如何表达它。对于库,你有两个重要的事情要做:使用它们并阅读它们的源代码。
通过使用库,开始知道:jQuery、Backbone、underscore和 React、Angular 、Ember中的一个。当然,这不是说你必须使用这些库,但称职的 JavaS
对于提高 JavaS
理解上述列表里的其它库,如 React、Ember等,可能有点难,但值得付出努力。至少略读其它库的源代码,看看它们是如何组织基础代码并尽量发现一些模式。其它一些值得使用和阅读源代码的库还有 d3、highcharts 和 moment.js。
练习与问自己问题
成为优秀 JavaS
我朋友 Armagan 是一名杰出的 JavaS
试着回答诸如:原型继承是如何工作的?闭包的定义是什么?this 关键字是如何改变的?如何使用 apply/bind/map/filter/call?收集一些 JavaS
学习标准
下一步是学习更多关于 EcmaScript 标准。找到一份最新的 EcmaScript 标准并尝试阅读它。除了这些,也要尝试学习即将推出的 JavaS
使用 web 上的资源
我之前提到使用 web 获取 web 知识的危险性,所以最后的建议是具体如何在 web 中获取最好的资源。Hacker News 是一个很好的资源,然而如果时刻关注它的话,将会花费较多时间,因为信噪比较低(表示 JavaS
另一个重要资源是大会视频和教育视频。对于大会,JSConf 系列都是高质量的。对于教育视频,我强烈建议 Pluralsight,因为他们拥有经验丰富的开发者准备的高质量课程。(我与 Pluralsgiht 没有隶属关系)
浓缩版
1)从阅读书籍开始,因为书籍能为你提供精华信息。
2)学习主要的库,如 jQuery、underscore、Backbone,并阅读它们的源代码。
3)多实践并尝试用自己的话解释“继承”之类的常见 JavaS
4)仔细阅读最新标准,并开始使用该语言的最新特性。
5)关注 web 资源,每周关注一次文摘或博客,或观看会议视频和视频教程。
总结
一直反复这些并完成大量项目,将会极大地提高你的 JavaS
后语:
1)之前在朋友圈分享,人丑就要多读书。读书是一件很快乐的事情,可以让你经历过的问题沉淀下来。可以让你知道为什么会这样。可以让你把问题总结下来。
2)文中提到的小练习,小编的做法一般是如果要练某个技术,往往会想一个小产品,然后把你想学的技术都往这个产品上用。这样比单纯的写demo会好很多,既锻炼了产品感觉,又把技术练起来。
《前端观察》专注于网站前端设计与前端开发、纯粹的前端技术分享。更多前端文章请订阅本头条号,也可以关注微信订阅号qianduanguancha(长按可复制)
原文地址 http://toutiao.com/a6192742314210083074/