色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

想成為現代后端開發工程師嗎?24步就可以搞定!

馬哥Linux運維 ? 來源:未知 ? 作者:胡薇 ? 2018-05-02 17:02 ? 次閱讀

今天的網站開發已經大不同以往,有很多的東西會對進入此領域的人造成困惑,這就是我們寫這系列文章的原因——給大家指導如何在開發過程中勝任特定的角色。

大約1周以前,我們發布了一篇名為“現代前端開發--2018”,同時我們承諾了會發布一篇“后端以及開發運維路線圖”。兌現這一承諾,這篇文章就是關于現代后端開發者的。如果你還沒有查看過前端開發路線圖,可以去瞧瞧先。

在此之前,后端路線圖就是簡單粗暴的給出了你需要掌握的技術,而沒有清晰的方向以及學習的合理順序。我們像前端一樣以循序漸進的方式重繪了后端路線圖,希望給你更好的指導。

言歸正傳,我們開始吧。詳細的路線圖在下面的圖片中,同時我會逐步的詳細講解。

下面的章節,我們將之分解開來逐步講解。

開始之前,雖然我們沒有將HTML/CSS列舉在路線圖中,但是我們還是建議用戶具備基礎的HTML/CSS技能,至少能夠寫一些基本的HTML/CSS。

1. 學習一門語言

語言的選擇有很多種,為了方便您的選擇,我將它們進行了分類。對于剛接觸后端開發的新手,我強烈建議你們選擇一門腳本語言,因為它們的需求很多且上手較快。最好的選擇當然是Python,它的需求正在急速增長,有大量的職位可供選擇。

2. 學以致用

最后的學習方法就是動手實踐。一旦你選擇了語言,然后對其有了基本的了解,開始使用它。運用它進行盡可能多的練習,寫一些小程序練手,熟悉它。下面是一些小例子,可以幫助你開始。

* 實現一些bash中你常用的命令, 比如ls的功能

* 寫一個從reddit的/r/programming頻道抓取數據并將之保存為JSON格式的小程序

* 寫一個程序將目錄結構保存為JSON文件。

* 根據上面生成的JSON文件,生成目錄結構。

* 想想日常工作中的任務,嘗試將之自動化。

3. 學習包管理器

一旦你了解了語言的基礎,同時用它寫過些示例程序,接著學習該語言的包管理器。包管理器可以幫助你使用第三方庫,同時你也可以通過它發布自己的庫以供他人使用。

假設你選擇的是Python,你應該已經學習了Pip。Node.js有NPM或Yarn、PHP有Composer,Ruby有RubyGems。無論你選擇了什么,進一步去學習它的包管理。

4. 規范以及最佳實踐

每一種語言有其規范以及最佳實踐。你需要掌握這個東西。比如Python有PEP8跟Google Python代碼規范。Node.js各社區有不同的規范。其他語言的狀況也大同小異。

5. 安全

務必要掌握安全最佳實踐。讀讀OWASP指南,了解不同的安全問題,同時要知道如果避免這類問題。(你選擇的語言)

6. 實踐

現在你已經掌握了語言基礎,最佳實踐,安全相關以及包管理,你可以去開發自己的庫供他人使用了。如果你用Python,你需要發布在Pypi,如果是Node.js,你需要發布在Npm。

到此,你可以在Github上找一些項目,參與進去。

* 重構,實現你學到的最佳實踐

* 修復已知的問題

* 添加新的功能

7. 測試

測試分很多種,要了解每一種測試的類型以及其目的。但是現在,首先學習單元測試以及綜合測試,應用在你的程序中。此外,還要了解不同的測試術語,比如mocks,stubs等等。

8. 實踐-測試

為你所寫的所有程序編寫單元測試,特別是在Github上參與的項目。

同時,學習覆蓋率的概念,計算測試代碼的覆蓋率。

9. 關系型數據庫

學習利用關系型數據庫保存你的數據。在學習之前,首先掌握數據庫相關的術語。比如: keys,indexes,normalization,tuples等。

可供選擇的數據庫很多,你只需要掌握一個,其他的也會變得很簡單。流行的有MySQL,MariaDB(MySQL分支,與之非常相似),PostgreSQL。推薦選擇MySQL開始。

10. 動手時間 - 實踐

到了將所學融合的時候了。

創建一個簡單的應用,運用你所學的一切。實現一個想法,可能是創建一個簡單的博客站點,實現一下的特性:

* 賬戶系統——注冊&登陸

* 注冊用戶可以創建blog

* 用戶可以查看自己創建的所有的blog

* 用戶可以刪除自己發布的blog

* 保證用戶只能看到自己發布的blog,不能看其他人的

* 為應用編寫單元/綜合測試

* 為查詢創建索引。分析查詢,確保索引生效

11. 學習一個框架

根據你的項目類型以及你的語言的不同,你可能會需要一個框架輔助開發。(也可能不需要)。每種語言都有不同的選擇,選擇一個合適的即可。

如果你選擇了Python,建議你選擇Django,對于微框架,建議Flask。

對于Node.js,最知名的框架是Express.js。

12. 實踐-框架

利用選擇的框架重構你的博客應用。不要忘記了集成測試代碼進來。

13. 學習NoSQL(not only SQL)數據庫

首先了解什么是NoSQL,以及它們與關系型數據庫的差別,同時為什么需要它們。NoSQL數據庫也有多種選擇,了解并比較它們之間的特性以及不同之處。常用的有MongoDB,Cassandra,RethinkDB,Couchbase。建議選擇MongoDB開始。

14. 緩存

學習如何在你的程序中實現應用級的緩存。了解如何利用Redis或Memcached實現緩存,同時在你的博客應用中實現緩存功能。

15. 創建RESTful APIs

了解REST,學習如何編寫RESTful APIs,閱讀關于REST的白皮書。(By Roy Fielding)。理解REST不僅僅是HTTP APIs。

16. 學習不同的認證方法

學習不同的認證以及認證方式。你需要明白它們是什么,它們的不同點,以及它們適用的場景。

* OAuth--Open Authentication

* Basic Authentication

* Token Authentication

* JWT--JSON Web Tokens

* OpenID

17. 消息代理

學習消息代碼,了解什么時候以及為什么使用它們。有很多可供選擇,最知名的是RabbitMQ & Kafka。建議從RabbitMQ開始學習。

18. 搜索引擎

隨著應用程序規模的增長,簡單的查詢已經無法滿足要求。這個時候,你需要用到搜索引擎。同樣有多種選擇,每一種有自己的特點。

19. 學習使用Docker(容器)

Docker可以為你的開發提供巨大的便利。它可以讓你的開發環境與生產環境保持一致,可以讓你的系統保持干凈,可以加速你的編碼,可以測試部署。Docker的好處,請自行google。從現在開始,學習Docker。

20. Web服務器的知識

到了這個時候,你可能已經處理過服務器相關的問題。這一步驟主要是了解不同的服務器之間的差異,局限,以及不同的調優方法。

21. 學習Web Sockets

雖然不是必須,但是具備Web Sockets的技能是有好處的。學習編寫實時的web應用。可以在博客應用中,實現即時更新blog列表。

22. 學習GraphQL

學習GraphQl的APIs。了解它與REST的不同,然后為什么它被稱之為REST 2.0。

23. 研究Graph數據庫

Graph模型具備非常好的靈活性——在處理數據間的關系的時候。Graph數據庫提供高速&高效的存取以及查詢。學習了解Neo4j或者OrientDB。

24. 不停探索

在你的學習以及實踐過程中,肯定會碰到路線圖里沒有提及的東西。你只需要保持開放以及饑渴去學習新的東西。

時刻謹記,學習的關鍵是實踐。多動手!剛開始的時候,你可能會感覺不大好,隨著你的堅持以及時間的推移,你會變得越來越好。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • HTML
    +關注

    關注

    0

    文章

    278

    瀏覽量

    35538
  • python
    +關注

    關注

    56

    文章

    4797

    瀏覽量

    84776

原文標題:24步成為后端開發工程師(2018版)

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    嵌入式工程師常用的開發工具有哪些?

    工具。 一、集成開發環境(IDE) IDE是嵌入式開發的核心工具之一。例如 Keil MDK,它支持多種微控制器架構,提供了強大的代碼編輯、編譯、調試功能。工程師可以在一個集成的
    發表于 12-20 15:29

    想成為年薪百萬的電機控制工程師,這幾個問題你不得不會!

    困惑吧,電機控制到底發展有沒有前景呢?自己如何才能成為百萬年薪的電機控制工程師? 咱們不說電動車、機器人這些高端技術,就說這個: 全球約57.3%的電力都是被電機驅動所消耗,你說電機控制工程師重不重要?有沒有前景? 下
    的頭像 發表于 12-05 15:20 ?520次閱讀
    <b class='flag-5'>想成為</b>年薪百萬的電機控制<b class='flag-5'>工程師</b>,這幾個問題你不得不會!

    FPGA算法工程師、邏輯工程師、原型驗證工程師有什么區別?

    ,共同進步。 歡迎加入FPGA技術微信交流群14群! 交流問題(一) Q:FPGA中的FPGA算法工程師、FPGA邏輯工程師、FPGA原型驗證工程師三者有什么區別? A:FPGA 算法工程師
    發表于 09-23 18:26

    求LORA技術開發工程師合作

    求LORA技術開發工程師合作
    發表于 09-02 10:21

    正是拼的年紀|65歲電子工程師上班VLOG #65歲退休 #電子工程師 #搞笑 #上班vlog

    電子工程師
    安泰小課堂
    發布于 :2024年07月25日 11:31:02

    找STM32硬件開發兼職工程師

    上海做傳感器的公司,找STM32硬件開發兼職工程師,會硬件開發,嵌入式軟件開發,可項目外包。有意聯系:15900460170
    發表于 06-22 19:12

    嵌入式軟件工程師和硬件工程師的區別?

    嵌入式軟件工程師和硬件工程師的區別? 嵌入式軟件工程師 嵌入式軟件工程師是軟件開發領域中的一種專業工程師
    發表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識 #面試題

    電子工程師電路
    安泰小課堂
    發布于 :2024年04月30日 17:33:15

    鴻蒙OS崛起,鴻蒙應用開發工程師成市場新寵

    技術勢在必行,因此,鴻蒙應用開發工程師的需求也越來越大 。與傳統的移動應用開發工程師相比,掌握鴻蒙技術的工程師更加搶手,而且在招聘時,企業也
    發表于 04-29 17:32

    優秀電源工程師需要哪些必備技能?

    就帶大家細數一下優秀電源工程師具備的那些技能。一、新手必備課程成為一名電源高手需要扎實的理論基礎,涉及電路原理、語言編程和控制理論等多個學科領域。為了幫助大家更好地掌握電源開發相關的關鍵知識點,我們整理
    發表于 01-29 11:29
    主站蜘蛛池模板: mxgs-877痉挛媚药按摩| 花蝴蝶在线观看免费中文版高清| 久久视热频这里只精品| 最新男同鸭子ktv| 欧美精品AV无码一区二区| 德国美女密密麻麻浓毛| 亚洲国产女人aaa毛片在线| 美国z0069| 国产精品久久人妻无码网站一区L| 亚洲毛片网| 青青久久网| 精精国产www视频在线观看免费| 97豆奶视频国产| 文中字幕一区二区三区视频播放 | black大战chinese周晓琳| 骚妇BB双飞插| 久久亚洲免费视频| 高清日本片免费观看| 永久精品免费影院在线观看网站| 秋霞网在线伦理免费| 果冻传媒在线观看进入窗口| 99精彩免费观看| 亚洲国产精品高清在线 | 无码人妻精品一区二区蜜桃色| 久就热视频精品免费99| 国产69精品久久久久乱码韩国| 真人女人无遮挡内谢免费视频%| 色欲人妻AAAAAAA无码| 葵司中文第一次大战黑人| 国产精品人妻无码99999| 97久久国产露脸精品国产| 亚洲国产精品一区二区久久第| 欧美日韩无套内射另类| 精品美女国产互换人妻| 高H纯肉NP 弄潮NP男男| 99久久精品免费看国产一区二区| 亚洲欧洲久久| 亚欧视频在线观看| 色综合伊人色综合网站中国| 欧美 日韩 亚洲 在线| 久久精品国产免费播高清无卡|