如何学习Fullstack开发。图表中的路线图

你是否应该专注于全栈?"_。

如果你想把学习作为你的职业,请关注全栈。

全栈开发人员将不断发展的软件世界视为机会,而不是威胁。他们利用现代语言和新框架。他们不断发展自己的各种技能。他们就像技术本身一样前沿。

全栈开发人员能够适应。每个公司都有一个独特的堆栈,在前端和/或后端有不同的挑战。因此,应用多样化技能组合的能力使得全栈开发人员真正有价值。

最后,全栈开发人员利用了软件中最令人兴奋的部分:探索未知。如果你第一百次都在编码相同的解决方案,工作就会很无聊。但全栈开发者永远有机会深入到新的问题空间。


如果你是一个新人,你从哪里开始?

本文中的图表追踪了你如何成为一名全栈开发者。它列出了你需要学习的技术。请注意,时间估计是基于个人经验,以及我的同事的经验。另外,估计值假设你每天投入2-3个小时来学习。如果你可以投入更多或更少的时间,请调整估计值。

即使你很有经验,你也会发现这个图表很有用。看看你的落脚点并跟踪你的进度。无论是哪种方式,无论是新手还是有经验的人,在图表结束时,都可以认为自己是一个全栈开发者。🏆

前端(约5个月)

HTML/CSS(1周以上)。

从学习网络的构件开始。你必须学习超文本标记语言(HTML)。它是用来构建网站的语法。幸运的是,它是列表中较快学会的技术之一。

接下来,你有层叠样式表(CSS)。学习这个主要是通过实验来完成。一旦你学会了基础知识,包括flexbox,就不要花太多时间进一步挖掘。你可以在其他项目中必要的时候学习其他的CSS细节。

JavaScript (1 month+)

Image for post

你的很多时间将被用来学习JavaScript编程语言。JavaScript可以让你的网站变成动态的网络应用。

JavaScript是一个必不可少的检查点。幸运的是,有大量的资源可以用来加紧学习JavaScript。但仍然要注意专注于基础知识。将中级和高级概念留到以后再学。随着学习的深入,它们会变得不那么混乱/令人沮丧。

Image for post

框架(2个月以上)。

当你使用JavaScript的势头越来越好的时候,请学习一个JS框架。一个框架可以让你重用常用功能,更快地实现大型应用。

有几个选择。React,Angular,Vue,等等。在我看来,要学的是React.js.,它既对初学者友好,又受到很多有经验的开发者的喜爱。

这并不是说你应该完全忽略Angular和Vue。至少要读懂它们,知道它们与React的区别。甚至做一两个教程。

但你的时间是一种资源。我会把大部分时间用在React上。

Image for post

相关的前端概念(1个月以上)。

测试(2周以上)。

毋庸置疑,可靠的软件公司都会测试他们的代码。因此,一个全栈开发人员应该熟悉测试实践和库。既然你懂JavaScript和React,那么Jest和Enzyme就是不错的选择。

Redux (2 weeks+)

Image for post

如果你在学习React,就无法避免Redux。的确,它们是不同的概念。React是呈现层。Redux管理的是内部数据。然而,将Redux与React一起应用已经成为业界的标准。

Image for post

相关软件概念(约1个月)。

尽量将以下概念尽快融入到学习过程中。

HTTP和客户端-服务器架构(2周以上)。

一个全栈开发人员应该知道数据是如何在万维网上进行通信的。在HTTP中,函数遵循请求和响应模式。它是这样的。一台计算机作为客户端。客户端使用Web浏览器向服务器发送HTTP请求。服务器,也就是另一台计算机,用HTML和CSS等资源来响应客户端。

我建议建立一个向公共API发出请求的项目,让你对HTTP脏手。

Git (1 week+)

Image for post

尽快学习Git。Git是一个版本控制系统,用于跟踪仓库(软件项目)中的变化。你可以把它看成是有版本的Google Drive。你可以与他人共享仓库。文件有多个贡献者。但在Git中,你可以拥有项目仓库的分支,用于替代版本。Commits 记录了添加、更新或删除文件的确切时间。而这仅仅是它功能的开始(小贴士:git reflog是一个秘密武器)。

此外,其他软件工程师和招聘人员也会希望在Github上看到你的作品。

后台(约3个月)

Node.js(1个月以上)。

利用你的JavaScript经验,在后端探索Node.js。将其与 Express.js 中间件一起使用,构建您自己的 API。Node.js在基于聊天的应用和流媒体方面大放异彩。利用这些优势,尝试构建一个Facebook Messenger/WhatsApp克隆。

就像你第一次接触JavaScript一样,Node.js会显得很庞大。有大量的资源是很好的。但如果你不知道从哪里开始就不行了。专注于基础教程,自然而然地提升水平。

SQL和关系型数据库(1.5个月以上)。

你不能忽视SQL和关系模型。后台的一个基本方面是数据存储。结构化查询语言(SQL)是使用最广泛的语言,以协调如何读取、写入和更新数据。学习关系模型。这是MySQL、PostgreSQL和Oracle等工业标准关系数据库系统背后的概念。

当你在学习Node.js的时候,你会遇到很多MongoDB的教程。MongoDB是一个NoSQL数据库--关系型数据库系统的替代品。小心,只关注MongoDB可能很诱人。现在,了解一下NoSQL数据库和语言是很好的。也要了解它们的优势/劣势。但不要跳过SQL,也不要跳过关系模型。它们在行业中的应用如此广泛。你最终会遇到它们。

Image for post

🍾🍾🏆🍾🍾

就这样,你已经完成了图表!开香槟吧! 派对就像你5岁生日时一样热闹!那么,在这种情况下,香槟可能是不合适的... ...

无论如何,蛋糕来一块吃起来。你是一个全栈开发者。

但是,它并没有停止在这里... ...

超越

一个将所有内容整合在一起的项目(2周以上)。

你有全栈技术。希望你一直在积累作品集。但是为了帮助你,真的很难在网上找到一个将所有全栈概念联系在一起的教程。你得自己去拼凑一个项目。

所以我建立了一个课程来解决这个问题。到最后,你的作品集里会有一个全栈项目。其重点是React.js、Redux、Node.js和PostgreSQL。它还关注那些能让你脱颖而出的小细节:代码设计的最佳实践,以及方法命名。

Master Full-Stack Development | Node, SQL, React, and More

Image for post

计算机科学(5个月以上)。

一个全栈开发人员也应该懂计算机科学。是的,从时间估算上看,大学四年的时间确实可以归结为五个月。那是不是说拿到CS学位就没有意义了呢?当然不是,获得计算机科学学位是一项巨大的投资。你可以和许多聪明的人建立联系。而且你还可以探索你可能感兴趣的其他工程课题。

但那些在行业中立即适用的东西--数据结构和算法、操作系统和软件开发原理--可以在高度集中的五个月内完成。

我的很多同事都是非CS专业毕业的(有的甚至是非科学专业)。他们要么自学,要么上过训练营。

其他语言/技术全栈(正在进行)。

正如一开始提到的,全栈开发者在未知中茁壮成长。学习的过程是持续的。一旦你在一种技术上变得很危险,是时候把它的竞争对手/替代品添加到你的工具箱中了。用另一个JS框架(如Vue.js)构建一两个项目。开始探索NoSQL数据库,比如Redis。

真正让自己脱颖而出的方法是了解每种技术的优势/劣势。知道什么时候最好使用Node.js,与什么时候应该使用Go或Scala。

了解语言的哪些部分值得称赞。_知道哪些部分值得抱怨。

最终,如果你想把学习作为你的职业,请专注于全栈开发。


David是旧金山Zendesk的全栈开发人员和软件工程师。他喜欢制作教育内容。他有17门课程,有来自世界各地的约20万名学生。看看他们吧 https://www.udemy.com/user/54cd8dd54e49b/

Highlights:

Master Full-Stack Development | Node, SQL, React, and More

Build a Blockchain and a Cryptocurrency from Scratch

React — Mastering Test and Behavior Driven Development

Also, feel free to connect with David by finding his social media links on davidtkatz.com

以上是 如何学习Fullstack开发。图表中的路线图 的全部内容, 来源链接: utcz.com/a/40930.html

回到顶部