As I grew up, my interests kept diverging, and they were all in seemingly unrelated fields. I like mathematics just as I like history. My goal is to become a multi-talented person-a polymath-who can be an excellent person in many fields. This proved to be an arduous task, and I was suddenly faced with the danger that everything works and everything is sparse.
I began to think about focusing on certain fields, so that even if I can't become a generalist like the Renaissance, I can at least be proficient in certain aspects. So how can I focus on a certain field while mastering the huge knowledge system required for software development?
The content of this post is based on my experience in the past 5 years, and outlines the
Most web developers today face the same problem: they have to be good at many different areas, from the database to the back-end architecture, to the front-end user interface, and use their CSS knowledge to modify the UI.
Reading book
In order to achieve proficiency, focus and effort are the first conditions. If you don’t devote yourself to work, you will end up with a little understanding. For example, by reading some blog posts, because the initial time investment is low, it looks simpler. But in the long run, this learning model will take more time than the process of focusing on the essence of learning. The solution to this problem is simple: read a book.
Books let us stand on the shoulders of civilization. The refined words allow our knowledge to be passed on from generation to generation. As for the question of how to become a web technology expert, you have to keep a certain distance from the web itself in the process of learning. Because the web itself is a mixed and scattered medium for learning, my first suggestion is to read books related to majors.
For JavaScript
Learn, use and read the library
The next most important step is to understand the library. If books teach you how to understand language, the library teaches you how to express it. For libraries, you have two important things to do: use them and read their source code.
By using the library, I started to know: jQuery, Backbone, underscore and one of React, Angular, Ember. Of course, this does not mean that you have to use these libraries, but competent JavaScript
For improving JavaScript
理解上述列表里的其它库,如 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/