国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

2018最新后端開發人員的路線圖

王陸寬 / 1864人閱讀

摘要:簡評之前,后端開發路線圖僅僅是一個技術推薦,且沒有明確的方向指明應該遵循的順序,這份重新制作的指南將會給你一個更好的方向。現在開始創建一個包并分發給其他人使用,并確保遵循迄今為止學到的標準和最佳實踐。

簡評:之前,后端開發路線圖僅僅是一個技術推薦,且沒有明確的方向指明應該遵循的順序,這份重新制作的指南將會給你一個更好的方向。

現在的 Web 開發與幾年前完全不同了,有很多不同的東西可以輕易地把人拒之門外,這也是我們決定制作這個循序漸進指南的原因之一,并讓任何人可以清楚地了解他們在 web 開發中扮演的角色。

可以在下面的圖片中找到詳細的路線圖,而我也將在下面的描述中解釋每一個步驟。

在開始之前,雖然我們沒有在下面的路線圖中列出 HTML / CSS 的知識,但建議讀者至少要了解一些基本的 HTML / CSS 知識。

Step 1 —— 學習一門語言(Learn a Language)

語言有很多選擇,我已經將它們分成幾類,以便更容易做出決定。對于剛開始進入后端開發的初學者,我建議你選擇任何腳本語言,因為它們有很多功能,可以讓你快速起步。如果你有一些前端知識,你可能會發現 Node.js 更容易(還有一個很大的就業市場)。

如果你已經是后端開發并了解一些腳本語言,我建議不要選擇其他腳本語言,而是從「函數式(Functional)」或「多范式(Multiparadigm)」中選擇。例如,如果你已經在使用 PHP 或Node.js,請不要使用 Python 或 Ruby,而應該嘗試使用 Erlang 或 Golang。它一定會幫助你延伸思維,并將你的思想帶到新的視野。

Step 2 —— 練習你學到的東西(Practice what you have Learnt)

沒有比實踐更好的學習方式了。一旦你選擇了語言,并且對這些概念有了基本的了解,就可以使用它們,盡你所能制作盡可能多的小應用。下面是一些讓你開始的 Idea:

在 bash 中實現一些你自己使用的命令,比如嘗試實現 ls;

編寫一個獲取和保存 reddit 上 /r/programming 文章的命令,并保存為 JSON;

編寫一個以 JSON 格式列出目錄結構的命令,例如 jsonify dir-name 返回一個帶有 dir-name 內部結構的 JSON 文件;

編寫一個讀取從上面的步驟得到的 JSON 的命令,并創建目錄結構;

考慮將每天做的一些任務,并嘗試將其自動化。

Step 3 —— 學習軟件包管理器(Learn Package Manager)

了解該語言的基礎知識并制作了一些示例應用之后,需要了解如何使用該語言的軟件包管理器,包管理器可幫助在應用程序中使用外部庫,并分發你自己的庫供其他人使用。

如果你選擇了 PHP,你將學習的是 Composer,Node.js 有 NPM 或 Yarn,Python 有 Pip,Ruby 有 RubyGems。無論選擇什么,請繼續學習如何使用其包管理器。

Step 4 —— 標準和最佳實踐 (?Standards and Best Practices)

每種語言都有自己的標準和開發的最佳實踐,例如 PHP 有 PHP-FIG 和 PSR,使用 Node.js 有許多不同的社區驅動指南,其他語言也有相同的指導。

Step 5 —— 安全(Security)

請務必閱讀有關安全的最佳實踐,閱讀 OWASP 指南并了解不同的安全問題以及如何以選擇的語言避免它們。

Step 6 —— 實踐(Practice)

你已經掌握了語言、標準和最佳實踐的基礎知識,安全性以及如何使用軟件包管理器。現在開始創建一個包并分發給其他人使用,并確保遵循迄今為止學到的標準和最佳實踐。例如,如果您選擇了 PHP,那么可以在 Packagist 上發布,如果選擇了Node.js,那么可以在 Npm 上發布,等等。

如果完成了,在 Github 上搜索一些項目,并在某些項目中提一些 PR。下面是一些 Idea:

重構并實現學到的最佳實踐

查看未解決的 issue 并嘗試解決

添加任何附加功能

Step 7 —— 了解測試(Learn about Testing)

了解如何在應用程序中編寫單元測試和集成測試,另外,了解不同的測試術語,如mocks, stubs

Step 8 —— 練習(Practical)

為目前為止所做的實際任務編寫單元測試,尤其是步驟 6 中所做的練習。還要學習和計算編寫的測試的覆蓋率。

Step 9 —— 了解關系數據庫(Learn about the Relational Databases)

了解如何將數據保存在關系數據庫中。在選擇要學習的工具之前,請先了解不同的數據庫術語,例如鍵,索引,規范化,元組等。

這里有幾個選項,但如果你學習一個,其的應該也是相當容易去學。你想學習的應該是 MySQL,MariaDB 和 PostgreSQL。可以選擇 MySQL。

Step 10 —— Practical Time

現在是時候把學到的東西拿來用了,使用迄今為止學到的所有內容創建一個簡單的應用程序。選擇任何一個 idea,可以是創建一個簡單的博客,并實現其中的以下功能:

用戶帳戶 —— 注冊和登錄

注冊用戶可以創建博客文章

用戶應該能夠查看他創建的所有博客文章

用戶應該能夠刪除他們的博客文章

確保用戶只能看到他的個人博客文章(而不能看其他人的)

編寫單元/集成測試

應該為查詢應用索引,分析查詢以確保索引有作用。

Step 11 —— 學習框架(?Learn a Framework)

根據選擇的項目和語言,可能需要也可能不需要框架。每種語言都有幾個不同的選項,繼續看看選擇的語言有哪些選項可供選擇,然后選擇一個。

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

Step 12 —— ?Practical Time

將 step10 中創建的應用程序轉換為使用選擇的框架,還要確保移植包括測試在內的所有內容。

Step 13 —— 學習 NoSQL 數據庫(Learn a NoSQL Database)

首先了解它們是什么,它們與關系數據庫有什么不同以及為什么需要它們。 有幾種不同的選擇,稍微研究下看看,并比較它們的特點和差異。 可以選擇的一些常用選項有 MongoDB,Cassandra,RethinkDB 和 Couchbase,如果必須選擇一個,請使用 MongoDB。

Step 14 —— 緩存(Caching)

了解如何在應用程序中實現應用程序級緩存,了解如何使用 Redis 或 Memcached,并在 step 12 中創建的應用程序中使用緩存。

Step 15 —— 創建 RESTful API(Creating RESTful APIs)

了解 REST 并學習如何制作 RESTful API,在 Roy Fielding 的文章中閱讀關于 REST 的部分,如果他們說 REST 只適用于 HTTP API,那么確保你能夠與他人爭論。

Step 16? —— 了解不同的認證方法(Learn about Different Auth Methods)

了解不同的認證和認證方法,你應該知道他們是什么,有什么不同以及什么時候使用偏好。

OAuth?—?Open Authentication

Basic Authentication

Token Authentication

JWT?—?JSON Web Tokens

OpenID

Step 17? ——? 消息代理(Message Brokers)

了解消息代理并了解何時以及為何使用它們。同樣有多種選擇,但突出的是 RabbitMQ 和Kafka,如果你想選擇一個的話,可以先從 RabbitMQ 開始。

Step 18 —— 搜索引擎(Search Engines)

隨著應用程序的增長,關系數據庫或 NoSQL 數據庫的簡單查詢不能夠滿足要求,而不得不求助于搜索引擎。

Step 19?—— 了解如何使用Docker(?Learn how to use Docker)

無論是在復制與生產環境相同的環境,保持操作系統清潔或加快編碼、測試或部署,Docker 可以在開發過程中大大方便工作,學習如何使用 Docker。

Step 20?—— Web 服務器知識(Knowledge of Web Servers)

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

Step 21?—— 了解如何使用Web Scoket(Learn how to use Web Sockets)

雖然不是必需的,但在工具帶中有這些知識是有益的,學習如何使用 web-sockets 編寫實時Web 應用程序并使用它創建一些示例應用程序。可以在上面制作的博客應用程序中使用它來實現博客文章列表中的實時更新。

Step 22?—— 學習 GraphQL(Learn GraphQL)

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

Step 23?—— 看看圖數據庫(Look into Graph Databases)

圖模型代表了一種非常靈活的處理數據關系的方式,圖數據庫為其提供了快速高效的存儲、檢索和查詢方式,學習如何使用 Neo4j 或 OrientDB。

Step 24?—— 繼續探索(Keep Exploring)

一旦你開始學習和練習,你一定會遇到我們在這個路線圖中沒有涉及的東西,只要保持開放的心態和對新事物的渴望就好。

關鍵是要盡可能多地練習,起初你可能會覺得你并沒有抓住任何東西,但這是正常的,隨著時間的推移,你會覺得越來越好。

原文:https://medium.com/tech-tajaw...
譯文:https://zhuanlan.zhihu.com/p/...

推薦:Spring Boot & Cloud 最強技術教程

關注Java技術棧微信公眾號,回復關鍵字 "java" 獲取大量Java技術實戰教程。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/71299.html

相關文章

  • Segmentfault JAVA文章 收藏量TOP20

    摘要:前言從號開始在寫下第一篇文章說是筆記還差不多,驚奇地收到有人收藏我的文章的消息,覺得有點開心。突然腦子抽到想爬下里標簽下的文章有多少,哪篇被收藏最多,哪篇被點贊最多。。。現在和大家分享下,收藏量前的文章,被那么多人收藏應該是篇值得看的文章。 前言 從18號開始在sf寫下第一篇文章(說是筆記還差不多),驚奇地收到有人收藏我的文章的消息,覺得有點開心。突然腦子抽到想爬下sf里JAVA標簽下...

    zhaofeihao 評論0 收藏0
  • 前端每周清單第 47 期:NPM 年度報告與 2018 展望,Airbnb React Router

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

    makeFoxPlay 評論0 收藏0
  • CNCF案例研究:PingCAP

    摘要:中國論壇提案征集月日截止論壇讓用戶開發人員從業人員匯聚一堂,面對面進行交流合作。贊助方案出爐多元化獎學金現正接受申請即將首次合體落地中國 PingCAP將其TiDB數據庫平臺押注在云原生上 showImg(https://segmentfault.com/img/bVbogKp?w=508&h=477); 公司:PingCAP地點:中國北京和加利福尼亞州圣馬特奧行業:軟件 挑戰 流行的...

    h9911 評論0 收藏0
  • CNCF案例研究:PingCAP

    摘要:中國論壇提案征集月日截止論壇讓用戶開發人員從業人員匯聚一堂,面對面進行交流合作。贊助方案出爐多元化獎學金現正接受申請即將首次合體落地中國 PingCAP將其TiDB數據庫平臺押注在云原生上 showImg(https://segmentfault.com/img/bVbogKp?w=508&h=477); 公司:PingCAP地點:中國北京和加利福尼亞州圣馬特奧行業:軟件 挑戰 流行的...

    notebin 評論0 收藏0
  • 現代后端開發者必備技能-2018

    摘要:現在開始創建一個包并分發給其他人使用,并確保遵循你迄今為止學到的標準和最佳實踐。第步實踐對于練習,繼續編寫單元測試,以完成目前為止所做的實際任務,特別是你在步驟中所做的練習。 今天的Web開發與幾年前完全不同,有很多不同的東西可以很容易地阻止任何人進入Web開發。這是我們決定制作這些循序漸進的視覺指南的原因之一,這些指南展示了更大的圖景,并讓任何人清楚了解他們在網頁開發中扮演的角色。 ...

    eternalshallow 評論0 收藏0

發表評論

0條評論

王陸寬

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<