如何学习Fullstack开发。图表中的路线图
你是否应该专注于全栈?"_。
如果你想把学习作为你的职业,请关注全栈。
全栈开发人员将不断发展的软件世界视为机会,而不是威胁。他们利用现代语言和新框架。他们不断发展自己的各种技能。他们就像技术本身一样前沿。
全栈开发人员能够适应。每个公司都有一个独特的堆栈,在前端和/或后端有不同的挑战。因此,应用多样化技能组合的能力使得全栈开发人员真正有价值。
最后,全栈开发人员利用了软件中最令人兴奋的部分:探索未知。如果你第一百次都在编码相同的解决方案,工作就会很无聊。但全栈开发者永远有机会深入到新的问题空间。
如果你是一个新人,你从哪里开始?
本文中的图表追踪了你如何成为一名全栈开发者。它列出了你需要学习的技术。请注意,时间估计是基于个人经验,以及我的同事的经验。另外,估计值假设你每天投入2-3个小时来学习。如果你可以投入更多或更少的时间,请调整估计值。
即使你很有经验,你也会发现这个图表很有用。看看你的落脚点并跟踪你的进度。无论是哪种方式,无论是新手还是有经验的人,在图表结束时,都可以认为自己是一个全栈开发者。🏆
前端(约5个月)
HTML/CSS(1周以上)。
从学习网络的构件开始。你必须学习超文本标记语言(HTML)。它是用来构建网站的语法。幸运的是,它是列表中较快学会的技术之一。
接下来,你有层叠样式表(CSS)。学习这个主要是通过实验来完成。一旦你学会了基础知识,包括flexbox,就不要花太多时间进一步挖掘。你可以在其他项目中必要的时候学习其他的CSS细节。
JavaScript (1 month+)
你的很多时间将被用来学习JavaScript编程语言。JavaScript可以让你的网站变成动态的网络应用。
JavaScript是一个必不可少的检查点。幸运的是,有大量的资源可以用来加紧学习JavaScript。但仍然要注意专注于基础知识。将中级和高级概念留到以后再学。随着学习的深入,它们会变得不那么混乱/令人沮丧。
框架(2个月以上)。
当你使用JavaScript的势头越来越好的时候,请学习一个JS框架。一个框架可以让你重用常用功能,更快地实现大型应用。
有几个选择。React,Angular,Vue,等等。在我看来,要学的是React.js.,它既对初学者友好,又受到很多有经验的开发者的喜爱。
这并不是说你应该完全忽略Angular和Vue。至少要读懂它们,知道它们与React的区别。甚至做一两个教程。
但你的时间是一种资源。我会把大部分时间用在React上。
相关的前端概念(1个月以上)。
测试(2周以上)。
毋庸置疑,可靠的软件公司都会测试他们的代码。因此,一个全栈开发人员应该熟悉测试实践和库。既然你懂JavaScript和React,那么Jest和Enzyme就是不错的选择。
Redux (2 weeks+)
如果你在学习React,就无法避免Redux。的确,它们是不同的概念。React是呈现层。Redux管理的是内部数据。然而,将Redux与React一起应用已经成为业界的标准。
相关软件概念(约1个月)。
尽量将以下概念尽快融入到学习过程中。
HTTP和客户端-服务器架构(2周以上)。
一个全栈开发人员应该知道数据是如何在万维网上进行通信的。在HTTP中,函数遵循请求和响应模式。它是这样的。一台计算机作为客户端。客户端使用Web浏览器向服务器发送HTTP请求。服务器,也就是另一台计算机,用HTML和CSS等资源来响应客户端。
我建议建立一个向公共API发出请求的项目,让你对HTTP脏手。
Git (1 week+)
尽快学习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,也不要跳过关系模型。它们在行业中的应用如此广泛。你最终会遇到它们。
🍾🍾🏆🍾🍾
就这样,你已经完成了图表!开香槟吧! 派对就像你5岁生日时一样热闹!那么,在这种情况下,香槟可能是不合适的... ...
无论如何,蛋糕来一块吃起来。你是一个全栈开发者。
但是,它并没有停止在这里... ...
超越
一个将所有内容整合在一起的项目(2周以上)。
你有全栈技术。希望你一直在积累作品集。但是为了帮助你,真的很难在网上找到一个将所有全栈概念联系在一起的教程。你得自己去拼凑一个项目。
所以我建立了一个课程来解决这个问题。到最后,你的作品集里会有一个全栈项目。其重点是React.js、Redux、Node.js和PostgreSQL。它还关注那些能让你脱颖而出的小细节:代码设计的最佳实践,以及方法命名。
Master Full-Stack Development | Node, SQL, React, and More
计算机科学(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