作者 | Antonio Cucciniello
翻译 | 王江平
译者注:
这篇文章对如何快速的学习一门语言或者技术提出了一些观点。当然,每个人都有自己的学习方法,只有适合自己的才是最好的。
前言
“我想学习如何使用Angular!”或“我想学习Ruby on Rails!”,对于从哪里开始学起,你可能完全没有头绪,谷歌搜索 “如何学习Ruby on Rails”。这可以让你搜索一些教程,然后阅读, 做一些笔记,但是并没有真正地实践过。这些教程有时会给你提供太多的信息,容易混淆,但有时又太少,少得你搞不清其工作原理。
很幸运,通过长时间的反复实验,我摸索出一些方法,可以让你快速的从入门到精通。
以终为始
许多人都毫无目的的去尝试学习一门语言或者技术,如果没有一定的目的性,很容易学过就忘,而且很快对这件事情失去兴趣。
解决办法:制定一个目标。
这是项目的一个方面。需要知道自己想做什么,做的东西不需要是新的和革命性的东西。事实上,这可能是一个已经被做过10万次以上的东西(想做一个应用程序)。这里的重点是给你一个提示, 知道你想要产品的最终形态以及功能点。从这里, 你想要创建一个确切的需求清单。
工具选择
清楚地了解了想要构建的内容, 就可以从中选择实现它的技术。例如, 如果你想做一个客户端应用程序, 也许我会选择React or Angular作为框架使用。一旦选定处理应用程序的所有部分需要用到的技术和你想学的东西, 就可以开始编码了!
基础知识培训
这是你进行基础知识培训的最后一次。除了这一次, 不要盲目地尝试查找随机教程, 现在您必须了解项目应该朝哪个方向前进。
开始学习东西的最好方法是先尝试处理最小和最简单的事情。在大多数情况下, 将会从hello world应开始。
学习教程的关键是完全按照原样输出代码,让示例代码正常工作。
通过这些示例, 你将会对这一技术的工作原理以及各个部分之间是如何交互工作有一个直观的了解。
提问
现在有一些工作代码, 产生某种类型的输出,你想要通过修改来达到你的目的(取决于你所做的项目/产品)。 然后就开始搜索并查找需要的代码。 例如,如果您需要在PostgreSQL数据库中表示ID的列表,那么我将搜索“ How to create a table with an auto incrementing key PostgreSQL”。
这个过程通常会将您在项目目标中建立的要求分解为计算机科学的含义。
重复
现在,您已经找到了需要在代码中实现而又适合你自己的例子。 让它运行, 然后重复下一组功能。
你会不断地重复这个过程:
1. 提问
2. 键入+按照示例/教程说明需要做什么
3. 根据您的项目需求进行更改
结论
我希望你喜欢这篇文章,并在你的学习过程中实施。 如果您有任何关于如何改进此过程的建议,我将非常感谢您的反馈。 在
Twitter(
https://twitter.com/antocucciniello
)
上联系我。在
GitHub(
https://github.com/acucciniello
)
上面查看我用这种方法做的项目。
更多原文所涉链接可点击
「阅读原文」
查看。