devops开发模式流程图_2020 Web开发人员路线图–成为前端,后端或DevOps开发人员的视觉指南

devops开发模式流程图

There are many ways you can go about picking up the skills you need to become a developer.

您可以采用多种方法掌握成为开发人员所需的技能。

There are linear curriculums that teach you a bit of everything - like freeCodeCamp's full stack development curriculum.

有线性课程可以教给您很多知识,例如freeCodeCamp的全栈开发课程。

And then there are massive lists of skills - and sometimes lists of resources - you can use to "choose your own adventure" through the learning process.

然后是大量的技能列表,有时还有资源列表,您可以用来在学习过程中“选择自己的冒险”。

One of the best such list of skills is Kamran Ahmed's Developer Roadmap, which he regularly updates.

卡姆兰·艾哈迈德 ( Kamran Ahmed)的开发人员路线图是此类技能中最好的一种,他会定期进行更新。

This is no ordinary list of resources. Kamran has painstakingly mapped out all the skills he feels are essential to breaking into different fields of development.

这不是普通的资源列表。 卡姆兰(Kamran)精心设计了他认为对进入不同发展领域必不可少的所有技能。

I've written about his roadmap in the past. And to celebrate us all being half way into 2020, I'm going to share his entire roadmap here - all three of them.

我过去曾经写过关于他的路线图的文章。 为了庆祝我们进入2020年的一半,我将在这里分享他的整个路线图-所有这三个路线图。

That's right - he has lists of tools and resources that are required for the following paths:

没错-他提供了以下路径所需的工具和资源列表:

  • Front end web development

    前端网页开发
  • Back end web development

    后端网页开发
  • DevOps (also known as "site reliability" - this is sort of an evolution of the old System Administrator role)

    DevOps(也称为“站点可靠性”-这是对旧系统管理员角色的一种演变)

所有开发人员都需要的技能,无论他们的专业是什么 (The skills all developers need regardless of their specialization)

In addition to these paths, Kamran also recommends everyone who wants to work as a developer learn the following skills:

除了这些途径之外,Kamran还建议所有想成为开发人员的人学习以下技能:

Git-版本控制 (Git - Version Control)

Git is a powerful version control system that as of 2020 is used almost universally. If you don't know it - yes it's related to GitHub and GitLab, and you can learn how to use those tools, too.

Git是一个功能强大的版本控制系统,截至2020年几乎已普遍使用。 如果您不知道-是的,它与GitHub和GitLab有关,您也可以学习如何使用这些工具。

基本终端用法-Bash命令行,SSH和其他技能 (Basic Terminal Usage - The Bash Command Line, SSH, and other skills)

This could be the terminal on a Mac, a Windows DOS prompt, or Bash/ZSH. Note that regardless of which operating system you use, you should probably learn Linux. Even if you're not using it for your laptop/desktop environment, you'll almost certainly use it for servers.

这可能是Mac上的终端,Windows DOS提示符或Bash / ZSH。 请注意,无论使用哪种操作系统,都应该学习Linux。 即使您不在笔记本电脑/台式机环境中使用它,也几乎肯定会在服务器上使用它。

数据结构与算法 (Data Structures and Algorithms)

The freeCodeCamp curriculum covers these in-depth. You'll probably want to learn these by solving lots of algorithm problems on freeCodeCamp, CodeWars, Project Euler, or another drilling website. I personally recommend doing this in either JavaScript or Python but if you're up for a challenge and have lots of time on your hands, doing it in C wouldn't hurt.

freeCodeCamp课程涵盖了这些内容。 您可能想通过在freeCodeCamp,CodeWars,Project Euler或其他钻探网站上解决许多算法问题来学习这些知识。 我个人建议使用JavaScript或Python进行此操作,但是如果您面临挑战并且有很多时间在手,那么使用C进行操作不会有任何伤害。

了解网络的工作原理:HTTPS和API (An understanding of how the web works: HTTPS and APIs)

There are a lot of other concepts you can learn. I recommend working through a good entry-level computer science course to get started. Here's all of Harvard's CS50 course lectures ad-free on freeCodeCamp's YouTube channel.

您还可以学习很多其他概念。 我建议您完成一门入门的入门级计算机科学课程。 以下是所有在freeCodeCamp的YouTube频道上进行的无广告的CS50课程讲座 。

设计模式,YAGNI,KISS,SOLID (Design Patterns, YAGNI, KISS, SOLID)

I don't think beginners need a deep understanding of these, but it wouldn't hurt.

我认为初学者不需要对此有深入的了解,但这不会有任何伤害。

Design Patterns are basically time-tested ways to implement different types of software systems and coding structures. You can learn these gradually as you progress.

设计模式基本上是经过时间考验的方法,用于实现不同类型的软件系统和编码结构。 您可以随着学习的进行逐步学习。

As for the alphabet soup, here's what these stand for:

至于字母汤,这些代表:

  • YAGNI - Ya Ain't Gonna Need It - The philosophy that most of the code you think you'll need to write and the features you'll need to implement will actually turn out to be unnecessary

    YAGNI-不需要-您认为您需要编写的大多数代码以及需要实现的功能的哲学实际上是不必要的

  • KISS - Keep it simple, silly! - The simpler you keep your projects the easier your life will be when it comes to maintenance.

    吻-保持简单,愚蠢! -保持项目越简单,维护工作就越轻松。

  • SOLID - This is a mnemonic for "Single responsibility,‌‌Open–closed, Liskov substitution, Interface segregation, Dependency inversion". Yeah - not beginner's stuff, but look into this if you're curious.

    SOLID-这是“单职责,‌‌开闭,Liskov替换,接口隔离,依赖倒置” 的助记符 。 是的-不是初学者的东西,但是如果您好奇的话,请研究一下。

前端Web开发路线图 (Front End Web Development Roadmap)

Kamran's first roadmap focuses on front end web development.

Kamran的第一个路线图侧重于前端Web开发。

Here's his Front End Roadmap in its entirety:

这是他完整的前端路线图:

我对前端路线图的想法 (My thoughts on the Front End Roadmap)

This is a solid list of fundamental skills.

这是基本技能的可靠清单。

As a front end developer, you will definitely be working with HTML, CSS, and JavaScript - lots and lots of JavaScript.

作为前端开发人员,您一定会使用HTML,CSS和JavaScript-大量JavaScript。

The only things I think are unnecessary here:

我认为这里唯一没有必要的事情是:

  • CSS Preprocessors. These use to be necessary, but CSS itself has added many of the features that made these preprocessors so useful. freeCodeCamp currently teaches Sass, but we are in the process of phasing that out as well.

    CSS预处理器。 这些是必需的,但是CSS本身添加了许多功能,使这些预处理器变得非常有用。 freeCodeCamp当前正在教授Sass ,但是我们也在逐步淘汰它。

  • CSS Architecture: I don't think these are necessary unless you designing CSS systems is a big part of your day-to-day job.

    CSS体系结构:除非您设计CSS系统是您日常工作的重要组成部分,否则我认为这些不是必需的。
  • A bit of a nitpick: TypeScript is a promising way to reduce bugs and code with confidence. We're adding this to Version 7.0 of the freeCodeCamp core curriculum. I think this should be even more prominent on the roadmap, but it is on there.

    有点挑剔:TypeScript是一种有希望的减少错误和代码的信心十足的方法。 我们将其添加到freeCodeCamp核心课程的7.0版中 。 我认为这应该在路线图上更加突出,但是它就在那里。

  • Web Assembly is a nice-to-have in my opinion. Developers are starting to do exciting things with it, but it will be a while before this technology really becomes ubiquitous.

    在我看来,Web Assembly是一个不错的选择。 开发人员开始使用它进行令人兴奋的事情,但是要真正使这项技术普及还需要一段时间。

后端Web开发路线图 (Back End Web Development Roadmap)

Kamran's second roadmap focuses on back end web development. If you combine this with his front end map, you get a pretty good path to becoming a full stack developer.

Kamran的第二个路线图侧重于后端Web开发。 如果将此与他的前端图结合起来,您将成为成为全栈开发人员的绝妙途径。

Here's his entire Back End Roadmap:

这是他的整个后端路线图:

我对后端路线图的想法 (My thoughts on the Back End Roadmap)

I agree with everything here.

我同意这里的一切。

是的,您应该学习SQL和关系数据库 (Yes you should learn SQL and relational databases)

I want to strongly agree with his recommendation that you learn a relational database.

我非常同意他关于您学习关系数据库的建议。

Yes - databases like MongoDB and Neo4j can do a lot for you, and are better suited to certain types of applications than relational databases.

是的-MongoDB和Neo4j等数据库可以为您做很多事情,并且比关系数据库更适合某些类型的应用程序。

But you should still learn SQL and understand how relational databases work.

但是您仍然应该学习SQL并了解关系数据库如何工作。

I recommend PostgreSQL (which we use for several projects at freeCodeCamp), but other relational databases are pretty similar.

我建议使用PostgreSQL(我们在freeCodeCamp的几个项目中使用了PostgreSQL),但是其他关系数据库却非常相似。

Here's freeCodeCamp's free 4-hour course on SQL, which will teach you the basics.

这是freeCodeCamp 关于SQL的4小时免费课程 ,它将教您一些基础知识。

And if you want to dive even deeper, here's our free 8-hour course on relational database design.

如果您想更深入地学习,这是我们有关关系数据库设计的8小时免费课程 。

如何选择正确的后端开发编程语言 (How to choose the right back end development programming language)

I also want to add a note on choosing a language.

我还想添加关于选择语言的注释。

Even though there are many languages - and you can do essentially anything with any language - I strongly recommend learning either Node.js (JavaScript) or Python as your first language.

即使有许多种语言-而且您几乎可以用任何一种语言做任何事情-我还是强烈建议您学习Node.js(JavaScript)或Python作为您的第一语言。

Here is a detailed guide to which programming language should you learn first.

这是您应该首先学习哪种编程语言的详细指南。

DevOps路线图 (DevOps Roadmap)

Finally, Kamran covers how to become a DevOps, or Site Reliability Engineer. This involves working with a lot of cloud services and overseeing infrastructure.

最后,Kamran介绍了如何成为DevOps或站点可靠性工程师。 这涉及使用大量云服务和监督基础架构。

Here's his entire DevOps roadmap:

这是他的整个DevOps路线图:

我对DevOps路线图的看法 (My thoughts on the DevOps roadmap)

Linux, Linux, Linux.

Linux,Linux,Linux。

Also, I would recommend working as a developer first, then gradually coming to specialize in DevOps.

另外,我建议先作为开发人员工作,然后逐渐专注于DevOps。

Here's a quick 30-minute introduction to the field of DevOps that should give you a better idea of whether DevOps is something you're interested.

这里是对DevOps领域的30分钟快速介绍,它应该使您更好地了解DevOps是否是您感兴趣的东西。

That's all. What do you think? Did Kamran leave out any essential skills or technologies? Leave a comment and let's hash this out.

就这样。 你怎么看? Kamran是否遗漏了任何必不可少的技能或技术? 发表评论,让我们对其进行散列。

Also, if you have any resources that have worked really well for you learning these skills, share them below as a comment.

另外,如果您有任何资源对您学习这些技能非常有用,请在下面以评论的方式分享。

Happy coding!

编码愉快!

– Quincy

–昆西

翻译自: https://www.freecodecamp.org/news/web-developer-roadmap/

devops开发模式流程图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/390564.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从Jupyter Notebook切换到脚本的5个理由

意见 (Opinion) 动机 (Motivation) Like most people, the first tool I used when started learning data science is Jupyter Notebook. Most of the online data science courses use Jupyter Notebook as a medium to teach. This makes sense because it is easier for be…

leetcode 1833. 雪糕的最大数量

夏日炎炎,小男孩 Tony 想买一些雪糕消消暑。 商店中新到 n 支雪糕,用长度为 n 的数组 costs 表示雪糕的定价,其中 costs[i] 表示第 i 支雪糕的现金价格。Tony 一共有 coins 现金可以用于消费,他想要买尽可能多的雪糕。 给你价格…

MVC架构 -- 初学试水选课管理系统

项目文件网站地址:http://www.gegecool.cn:90/ 第一次对MVC 进行转载于:https://www.cnblogs.com/wtusoso/p/8032120.html

rest api 示例2_REST API教程– REST Client,REST Service和API调用通过代码示例进行了解释

rest api 示例2Ever wondered how login/signup on a website works on the back-end? Or how when you search for "cute kitties" on YouTube, you get a bunch of results and are able to stream off of a remote machine?有没有想过网站上的登录/注册在后端如…

win10子系统linux编译ffmpeg

android-ndk-r14b(linux版) ffmpeg-4.0 开启win10子系统(控制面板-》程序和功能-》启用或关闭Windows功能 然后在 适用与 Linux 的 Windows 子系统前面打勾) 然后点击确定,等待安装,电脑会重启 然后在win10应用商店 搜索ubuntu安装…

ip登录打印机怎么打印_不要打印,登录。

ip登录打印机怎么打印Often on Python, especially as a beginner, you might print( ) a variable in order to see what is happening in your program. It is possible if you rely on too many print statements throughout your program you will face the nightmare of h…

leetcode 451. 根据字符出现频率排序

给定一个字符串,请将字符串里的字符按照出现的频率降序排列。 示例 1:输入: "tree"输出: "eert"解释: e出现两次,r和t都只出现一次。 因此e必须出现在r和t之前。此外,"eetr"也是一个有效的答案。 示例 2:输入…

Spring-Security 自定义Filter完成验证码校验

Spring-Security的功能主要是由一堆Filter构成过滤器链来实现,每个Filter都会完成自己的一部分工作。我今天要做的是对UsernamePasswordAuthenticationFilter进行扩展,新增一个Filter,完成对登录页面的校验码的验证。下面先给一张过滤器的说明…

如何使用Ionic和Firebase在短短三天内创建冠状病毒跟踪器应用程序

I am really fond of Hybrid App technologies – they help us achieve so much in a single codebase. Using the Ionic Framework, I developed a cross-platform mobile solution for tracking Coronavirus cases in just 3 days. 我真的很喜欢Hybrid App技术-它们可以帮助…

二、Java面向对象(7)_封装思想——this关键字

2018-04-30 this关键字 什么是this: 表示当前对象本身,或当前类的一个实例,通过 this 可以调用本对象的所有方法和属性。 this主要存在于两个地方: 1)构造函数:此时this表示调用当前创建的对象 2)成员方法中…

机器学习模型 非线性模型_调试机器学习模型的终极指南

机器学习模型 非线性模型You’ve divided your data into a training, development and test set, with the correct percentage of samples in each block, and you’ve also made sure that all of these blocks (specially development and test set) come from the same di…

leetcode 645. 错误的集合

集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。 给定一个数组 nums 代表了集合 S 发生错误后的结果。 请你找出重复出…

Linux环境变量总结

现在每天测试到时候会与Linux打交道,自然也会用到环境变量了。看了网上几篇文章,结合自己到实践和看法,总结以下Linux的环境变量吧。一、什么是环境变量?环境变量相当于给系统或用户应用程序设置的一些参数, 具体起什么作用这当然…

目录指南中的Python列表文件-listdir VS system(“ ls”)通过示例进行解释

🔹欢迎 (🔹 Welcome) If you want to learn how these functions work behind the scenes and how you can use their full power, then this article is for you.如果您想了解这些功能在后台如何工作以及如何充分利用它们的功能,那么本文适合…

Java多线程并发学习-进阶大纲

1、synchronized 的实现原理以及锁优化?2、volatile 的实现原理?3、Java 的信号灯?4、synchronized 在静态方法和普通方法的区别?5、怎么实现所有线程在等待某个事件的发生才会去执行?6、CAS?CAS 有什么缺陷…

大数据定律与中心极限定理_为什么中心极限定理对数据科学家很重要?

大数据定律与中心极限定理数据科学 (Data Science) The Central Limit Theorem is at the center of statistical inference what each data scientist/data analyst does every day.中心极限定理是每个数据科学家/数据分析师每天所做的统计推断的中心。 Central Limit Theore…

useEffect语法讲解

useEffect语法讲解 用法 useEffect(effectFn, deps)能力 useEffect Hook 相当于 componentDidMount,componentDidUpdate 和 componentWillUnmount 这三个函数的组合。 可以模拟渲染后、更新后、销毁三个动作。 案例演示 渲染后更新标题 useEffect(()>{doc…

leetcode 726. 原子的数量

给定一个化学式formula(作为字符串),返回每种原子的数量。 原子总是以一个大写字母开始,接着跟随0个或任意个小写字母,表示原子的名字。 如果数量大于 1,原子后会跟着数字表示原子的数量。如果数量等于 1…

web相关基础知识1

2017-12-13 09:47:11 关于HTML 1.绝对路径和相对路径 相对路径:相对于文件自身为参考。 (工作中一般是使用相对路径) 这里我们用html文件为参考。如果说html和图片平级,那直接使用src 如果说图片在和html平级的文件夹里面&#xf…

JavaScript循环:标签语句,继续语句和中断语句说明

标签声明 (Label Statement) The Label Statement is used with the break and continue statements and serves to identify the statement to which the break and continue statements apply. Label语句与break和continue语句一起使用,用于标识break和continue语…