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.pswp.cn/news/390564.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/390564.shtml
英文地址,請注明出處:http://en.pswp.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語…