成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

現(xiàn)代后端開發(fā)者必備技能-2018版

eternalshallow / 983人閱讀

摘要:現(xiàn)在開始創(chuàng)建一個(gè)包并分發(fā)給其他人使用,并確保遵循你迄今為止學(xué)到的標(biāo)準(zhǔn)和最佳實(shí)踐。第步實(shí)踐對(duì)于練習(xí),繼續(xù)編寫單元測(cè)試,以完成目前為止所做的實(shí)際任務(wù),特別是你在步驟中所做的練習(xí)。

今天的Web開發(fā)與幾年前完全不同,有很多不同的東西可以很容易地阻止任何人進(jìn)入Web開發(fā)。這是我們決定制作這些循序漸進(jìn)的視覺指南的原因之一,這些指南展示了更大的圖景,并讓任何人清楚了解他們?cè)诰W(wǎng)頁開發(fā)中扮演的角色。

這是我們決定制作這些循序漸進(jìn)的視覺指南的原因之一,這些指南展示了更大的圖景,并讓任何人清楚了解他們?cè)诰W(wǎng)頁開發(fā)中扮演的角色。

毫不遲疑,讓我們開始吧。你可以在下面的圖片中找到詳細(xì)的路線圖,但是我也將在下面的描述中解釋每一步。

下圖如果看著不清楚,可以看這里 -> 原圖地址

我們來分解它,并解釋下面部分中的每一步。

在我們開始之前,雖然我們沒有在上面的路線圖中列出 HTML/CSS 的知識(shí),但建議您至少了解一些基本的 HTML/CSS 并了解如何編寫基本的 HTML/CSS。

第1步 - 學(xué)習(xí)一門語言

談到選擇語言有很多選擇。我已經(jīng)將它們分成幾類,以便你更容易做出決定。對(duì)于剛開始進(jìn)入后端開發(fā)的初學(xué)者,我建議你選擇任何腳本語言,因?yàn)樗鼈冇泻芏嘈枨?,它可以讓你快速起步。如果你有一些前端知識(shí),你可能會(huì)發(fā)現(xiàn)Node.js更容易,再加上有一個(gè)很大的就業(yè)市場(chǎng)。

如果你已經(jīng)在做后端開發(fā)并且知道一些腳本語言,我建議你不要選擇另一種腳本語言,并從“功能”或“多參數(shù)”部分中選擇一些。
例如,如果你已經(jīng)在使用PHP或Node.js,請(qǐng)不要使用Python或Ruby,而應(yīng)嘗試使用Erlang或Golang。它肯定會(huì)幫助你延伸思維,并開啟你的思想到新的視野。

第2步 - 練習(xí)你學(xué)到的東西

沒有比實(shí)踐更好的學(xué)習(xí)方式。一旦你選擇了你的語言,并且對(duì)這些概念有了基本的了解,就可以使用它們。盡你所能制作盡可能多的小應(yīng)用程序。盡你所能制作盡可能多的小應(yīng)用程序:

在bash中實(shí)現(xiàn)一些你自己使用的命令嘗試實(shí)現(xiàn) ls 的功能

編寫一個(gè)命令,為你提供JSON格式的目錄結(jié)構(gòu),例如 jsonify dir-name 給你一個(gè)帶有 dir-name 內(nèi)結(jié)構(gòu)的JSON文件

編寫一個(gè)從上面的步驟讀取JSON的命令并創(chuàng)建目錄結(jié)構(gòu)

想想你每天都在做的一些任務(wù),并嘗試將其自動(dòng)化

第3步 - 學(xué)習(xí)軟件包管理器

了解了該語言的基礎(chǔ)知識(shí)并制作了一些示例應(yīng)用程序后,請(qǐng)了解如何使用你選擇的語言的軟件包管理器。軟件包管理器可幫助你在應(yīng)用程序中使用外部庫(kù),并分發(fā)你的庫(kù)供其他人使用。

如果你選擇了PHP,你將不得不學(xué)習(xí) Composer,Node.js 有 NPM 或 Yarn,Python 有 Pip,Ruby 有 RubyGems。無論你選擇什么,請(qǐng)繼續(xù)學(xué)習(xí)如何使用其包管理器。

第4步 - 標(biāo)準(zhǔn)和最佳實(shí)踐

每種語言都有自己的標(biāo)準(zhǔn)和做事的最佳實(shí)踐。研究他們?yōu)槟闾暨x的語言。例如 PHP 有 PHP-FIG 和 PSR 。使用 Node.js 有許多不同的社區(qū)驅(qū)動(dòng)指南,其他語言也有相同的指導(dǎo)。

第5步 - 安全

請(qǐng)務(wù)必閱讀有關(guān)安全的最佳做法。閱讀 OWASP 指南并了解不同的安全問題以及如何以你選擇的語言避免它們。

第6步 - 練習(xí)

現(xiàn)在你已經(jīng)掌握了語言,標(biāo)準(zhǔn)和最佳實(shí)踐的基礎(chǔ)知識(shí),安全性以及如何使用軟件包管理器。現(xiàn)在開始創(chuàng)建一個(gè)包并分發(fā)給其他人使用,并確保遵循你迄今為止學(xué)到的標(biāo)準(zhǔn)和最佳實(shí)踐。例如,如果你選擇了PHP,那么你將在Packagist上發(fā)布它,如果你選擇了Node.js,那么你將在Npm注冊(cè)源中發(fā)布它,等等。

一旦你完成了,在Github上搜索一些項(xiàng)目,并在某些項(xiàng)目中打開一些pull請(qǐng)求。對(duì)此的一些想法:

重構(gòu)并實(shí)施你學(xué)到的最佳實(shí)踐

查看未解決的問題并嘗試解決

添加任何附加功能

第7步 - 了解測(cè)試

測(cè)試有幾種不同的測(cè)試類型。了解這些類型它們的目的是什么。了解如何在應(yīng)用程序中編寫單元測(cè)試和集成測(cè)試。另外,了解不同的測(cè)試術(shù)語,如 mocks, stubs 等。

第8步 - 實(shí)踐

對(duì)于練習(xí),繼續(xù)編寫單元測(cè)試,以完成目前為止所做的實(shí)際任務(wù),特別是你在步驟6中所做的練習(xí)。

還要學(xué)習(xí)和計(jì)算你編寫的測(cè)試的覆蓋率。

第9步 - 了解關(guān)系數(shù)據(jù)庫(kù)

了解如何將數(shù)據(jù)保存在關(guān)系數(shù)據(jù)庫(kù)中。在你選擇要學(xué)習(xí)的工具之前,請(qǐng)先了解不同的數(shù)據(jù)庫(kù)術(shù)語,例如鍵,索引,規(guī)范化等。

這里有幾個(gè)選項(xiàng)。但是,如果你學(xué)習(xí)一個(gè),其他的應(yīng)該相當(dāng)容易。你想學(xué)習(xí)的是MySQL,MariaDB(大部分是相同的,是MySQL的分支)和PostgreSQL。選擇MySQL開始。

第十步 - 實(shí)踐時(shí)間

現(xiàn)在是時(shí)候把你所學(xué)到的一切都用到這里去了。

使用你迄今為止學(xué)到的所有內(nèi)容創(chuàng)建一個(gè)簡(jiǎn)單的應(yīng)用程序??梢赃x擇任何想法??,也許創(chuàng)建一個(gè)簡(jiǎn)單的博客應(yīng)用程序,并實(shí)現(xiàn)其中的以下功能。

用戶帳戶 - 注冊(cè)和登錄

注冊(cè)用戶可以創(chuàng)建博客文章

用戶應(yīng)該能夠查看他創(chuàng)建的所有博客文章

他們應(yīng)該能夠刪除他們的博客文章

確保用戶只能看到他的個(gè)人博客帖子,而不能看到他人

編寫應(yīng)用程序的單元/集成測(cè)試

你應(yīng)該為查詢應(yīng)用索引。分析查詢以確保正在使用索引

第11步 - 了解一個(gè)框架

根據(jù)你選擇的項(xiàng)目和語言,你可能需要也可能不需要框架。每種語言都有幾個(gè)不同的選項(xiàng),繼續(xù)看看你選擇的語言有哪些選項(xiàng)可供選擇,然后選擇相關(guān)的一個(gè)。

如果你選擇了PHP,我會(huì)建議你使用 Laravel或Symfony,如果是為框架的話,使用Lumen或Slim。如果你選擇Node.js,有幾種不同的選擇,但突出的是Express.js。

第12步 - 實(shí)踐時(shí)間

為了實(shí)現(xiàn)此步驟,請(qǐng)將你在 步驟10 中創(chuàng)建的應(yīng)用程序轉(zhuǎn)換為使用你選擇的框架。還要確保移植包括測(cè)試在內(nèi)的所有內(nèi)容。

第13步 - 學(xué)習(xí)NoSQL數(shù)據(jù)庫(kù)

首先了解它們是什么,它們與關(guān)系數(shù)據(jù)庫(kù)有何不同以及為什么它們是需要的。有幾種不同的選擇,研究一點(diǎn)看看,并比較它們的特點(diǎn)和差異。你可以選擇的一些常用選項(xiàng)是Rdeis,MongoDB,Cassandra,RethinkDB和Couchbase。如果你必須選擇一個(gè),請(qǐng)使用Redis。

第14步 - 緩存

了解如何在你的應(yīng)用程序中實(shí)施應(yīng)用程序級(jí)緩存。了解如何使用Redis或Memcached并在你在 步驟12 中創(chuàng)建的應(yīng)用程序中實(shí)施緩存。

第15步 - 創(chuàng)建RESTful API

了解REST并學(xué)習(xí)如何制作RESTful API,并確保從 Roy Fielding 的原始文章中閱讀關(guān)于REST的部分。如果他們說REST僅適用于HTTP API,請(qǐng)確保你能夠與其他人對(duì)戰(zhàn)。

第16步 - 了解不同的身份驗(yàn)證方法

了解不同的身份驗(yàn)證和授權(quán)方法。你應(yīng)該知道他們是什么,他們有什么不同以及什么時(shí)候偏好某一個(gè)

OAuth - 開放認(rèn)證

基本認(rèn)證

令牌認(rèn)證

JWT - JSON Web令牌

OpenID

第17步 - 消息代理

了解消息代理并了解何時(shí)以及為何使用它們。有多種選擇,但突出的是 RabbitMQKafka?,F(xiàn)在學(xué)習(xí)如何使用RabbitMQ,如果你想選擇一個(gè)。

第18步 - 搜索引擎

隨著應(yīng)用程序的增長(zhǎng),對(duì)關(guān)系數(shù)據(jù)庫(kù)或NoSQL數(shù)據(jù)庫(kù)的簡(jiǎn)單查詢不會(huì)將其切斷,你將不得不求助于搜索引擎。有多種選擇,每種選擇都有自己的差異。比如 Solr, Sphinx, ElasticSearch,Xapian等。

第19步 - 了解如何使用Docker

無論你是在復(fù)制與生產(chǎn)環(huán)境相同的環(huán)境,還是保持操作系統(tǒng)清潔或加快你的編碼,測(cè)試或部署,Docker都可以在開發(fā)過程中大大方便你的工作。在這一步中,繼續(xù)學(xué)習(xí)如何使用Docker。

第20步 - 關(guān)于Web服務(wù)器的知識(shí)

如果你已經(jīng)走到這么遠(yuǎn),你可能不得不在前面的步驟中使用服務(wù)器。這一步主要是找出不同Web服務(wù)器之間的差異,了解限制和不同的可用配置選項(xiàng),以及如何最好地利用這些限制編寫應(yīng)用程序。

第21步 - 了解如何使用Web Sockets

雖然不是必需的,但在工具帶中有這些知識(shí)是有益的。學(xué)習(xí)如何使用 Web sockets 編寫實(shí)時(shí)Web應(yīng)用程序并使用它創(chuàng)建一些示例應(yīng)用程序。你可以在上面制作的博客應(yīng)用程序中使用它來實(shí)現(xiàn)博客文章列表中的實(shí)時(shí)更新。

第22步 - 學(xué)習(xí)GraphQL

學(xué)習(xí)如何使用GraphQL制作API。了解它與REST的不同之處,以及它為什么被稱為 REST 2.0。

第23步 - 研究Graph數(shù)據(jù)庫(kù)

Graph 模型代表了一種處理數(shù)據(jù)中關(guān)系的非常靈活的方式,圖數(shù)據(jù)庫(kù)為其提供了快速高效的存儲(chǔ),檢索和查詢。學(xué)習(xí)如何使用 Neo4jOrientDB

第24步 - 保持探索

一旦你開始學(xué)習(xí)和練習(xí),你一定會(huì)遇到我們?cè)谶@個(gè)路線圖中沒有涉及的東西。只要保持開放的心態(tài)和對(duì)新事物的健康渴望。

記住關(guān)鍵是要盡可能多地練習(xí)。它在開始時(shí)看起來更加可怕,你可能會(huì)覺得你并沒有抓住任何東西,但這是正常的,隨著時(shí)間的推移,你會(huì)覺得自己越來越好。

好了,就這么多。感謝閱讀。

更多PHP知識(shí),請(qǐng)前往PHPCasts

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/30743.html

相關(guān)文章

  • 前端每周清單第 47 期:NPM 年度報(bào)告與 2018 展望,Airbnb React Router

    摘要:確定新的包命名規(guī)則為了盡可能避免包的誤植域名現(xiàn)象,將不會(huì)再允許使用相似的包命名不過會(huì)進(jìn)一步鼓勵(lì)開發(fā)者使用自己的命名空間來發(fā)布包。本文是對(duì)其幾十年來技術(shù)之路的回顧與展望,也是一代技術(shù)人的青春回憶。 showImg(https://segmentfault.com/img/remote/1460000012846628); 前端每周清單專注前端領(lǐng)域內(nèi)容,以對(duì)外文資料的搜集為主,幫助開發(fā)者了...

    makeFoxPlay 評(píng)論0 收藏0
  • 前端發(fā)者手冊(cè)2019

    摘要:年,和前端開發(fā)者與應(yīng)用程序前端開發(fā)者之間產(chǎn)生了巨大的分歧。開發(fā)最常見的解決方案有手機(jī)和平板的原生應(yīng)用程序桌面應(yīng)用程序桌面應(yīng)用程序原生技術(shù)最后,前端開發(fā)者可以從瀏覽器開發(fā)中學(xué)習(xí)到,編寫代碼不需要考慮瀏覽器引擎的限制。 前端開發(fā)者手冊(cè)2019 Cody Lindley 編著 原文地址 本手冊(cè)由Frontend Masters贊助,通過深入現(xiàn)代化的前端工程課程來提高你的技能。 下載:PDF ...

    church 評(píng)論0 收藏0
  • 前端發(fā)者手冊(cè)2019

    摘要:年,和前端開發(fā)者與應(yīng)用程序前端開發(fā)者之間產(chǎn)生了巨大的分歧。開發(fā)最常見的解決方案有手機(jī)和平板的原生應(yīng)用程序桌面應(yīng)用程序桌面應(yīng)用程序原生技術(shù)最后,前端開發(fā)者可以從瀏覽器開發(fā)中學(xué)習(xí)到,編寫代碼不需要考慮瀏覽器引擎的限制。 前端開發(fā)者手冊(cè)2019 Cody Lindley 編著 原文地址 本手冊(cè)由Frontend Masters贊助,通過深入現(xiàn)代化的前端工程課程來提高你的技能。 下載:PDF ...

    xiao7cn 評(píng)論0 收藏0
  • 前端發(fā)者手冊(cè)2019

    摘要:年,和前端開發(fā)者與應(yīng)用程序前端開發(fā)者之間產(chǎn)生了巨大的分歧。開發(fā)最常見的解決方案有手機(jī)和平板的原生應(yīng)用程序桌面應(yīng)用程序桌面應(yīng)用程序原生技術(shù)最后,前端開發(fā)者可以從瀏覽器開發(fā)中學(xué)習(xí)到,編寫代碼不需要考慮瀏覽器引擎的限制。 前端開發(fā)者手冊(cè)2019 Cody Lindley 編著 原文地址 本手冊(cè)由Frontend Masters贊助,通過深入現(xiàn)代化的前端工程課程來提高你的技能。 下載:PDF ...

    鄒立鵬 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<