首頁  >  文章  >  web前端  >  怎麼自學web全棧

怎麼自學web全棧

little bottle
little bottle原創
2019-05-14 10:54:585353瀏覽

自學web全棧的方法:首先我們要了解web開發過程的三層架構,即表示層、業務邏輯層、資料庫層;然後我們還要掌握服務管理、雲端主機平台、web伺服器、資料庫、日誌系統等知識。

怎麼自學web全棧

網路產業現今一直都很火熱,相信未來也會是一直保持火熱的狀態。所以有很多朋友都開啟了學習網路學習的計劃,有人選擇培訓,有人選擇自學。但對於學習網路技術,應該有很多朋友都會感到迷惘吧。前幾天,就有朋友問想自學web全端該怎麼去做。下面我將和大家一起談談如何自學web全端。

(推薦教學:html教學

首先,你要了解什麼是web全棧,以及知道web全棧需要學習哪些知識。

其次,你要知道自學web全棧,不是一件簡單的事情,需要你有足夠的毅力去堅持,也需要你有高效學習的能力,才能在盡量短的時間內學好它。

一個Web開發過程有三層架構:

表示層:表示層也稱為網站的前端部分。它處理網站的使用者介面相關問題。

業務邏輯層:業務邏輯層也被稱為網站的後端層,負責資料驗證和動態處理。

資料庫層:最後是資料存取層,利用API為網站提供資料。

以上三層共同稱為全端web開發。

身為web全端工程師你需要知道以下知識:

1、服務管理/維運

一個開發者必須了解基礎的伺服器管理知識。包括當不限於以下知識:

透過終端機或其他沒有使用者介面的環境來遠端連接伺服器

會寫基本的shell腳本

伺服器上的使用者和群組群組管理

管理像Apache和Nginx這樣的伺服器程式來提供應用程式

防火牆管理和權限管理

安裝和更新軟體

除了這些基礎技能,開發者必須懂得如何創造一個好的、健康的、分離的開發環境,在Docker 或像Vagrant 這樣的虛擬機器環境中。如果上面所有的技術你都不熟悉,那我必須給你推薦一本超棒的書,點這裡購買。

開發者必須對版本控制系統非常熟練,為了讓開發有可靠的生產備份和可分享、可協同的程式碼庫,這些程式碼庫能夠根據時間來追蹤程式碼變更。現在已經沒有開發者的工作流程是完全離開版本控制的了。我們有一個非常棒的關於版本控制的影片教程,點這裡購買。

2、雲端

和實際管理或虛擬伺服器不同,一個開發者也許要知道雲端主機平台,像是Heroku, Google Cloud, Azure, AWS等等。

有一點必須說明的是,平台和工具更多的是為了炒作而不是其實用性。儘管有很多平台和工具的實用性並不如宣傳的那麼好,但是了解這些大家都在談論的服務,從長遠來看會很有用――客戶可能會隨時要求更換服務提供者。幸運的是,我們擁有這些雲端主機部署權威指南。

3、後端

在後端,除了要懂選什麼語言以外,例如PHP 和眾多的框架and CMSes,一個全端開發者必須熟悉:

Web伺服器,像是Nginx和Apache,和維運緊密相關

不幸的是,NodeJS 已經可以將JS、CSS 和其他資源檔案編譯成靜態可以方便快取的檔案了。幸運的是,也有辦法避免學習NodeJS,用PHP也是可以的

像Composer這樣的PHP(http://www.ujiuye.com/zt/php/)套件管理工具在現代化的開發環境中已經離不開了

好的API 設計,自從大部分新型網頁都基於API 而且僅僅為前端服務(下面會詳細描述)

ElasticSearch (introduction here)這樣的搜索引擎對於網站效能的提升是非常重要的

cronjobs 和後端的工作,使用Gearman 或Crunz 這類的函式庫

了解緩存,Varnish, Redis 等牛B的工具可以分片儲存數據,這樣可以將一個專案部署的多個主機上

4、資料庫

資料庫是一個單獨的部分,因為除了很好地掌握我們基本上不會有結構變化的關聯式資料庫(MySQL或PostgreSQL)的資料模式之外,一個全端工程師應該對非關係型資料庫有所了解,如MongoDB, Redis,或Cassandra ,更不用說像Neo4j這樣的圖形資料庫了。

不幸的是,這些都是伺服器上的東西,都在全端工程師的控制下。也有幾個類似 Mong 的遠端解決方案,像是RestDB或Google-owned Firebase等。

5、前端

想知道一個正常的前端知識圖譜是怎麼樣的,可以在JavaScript 版塊看這篇絕世好文。但身為全端工程師,你需要了解

NodeJS and NPM

Yarn

預處理器和編譯器(如Babel),用來編譯Typescript, ES6, LESS, SCSS, SaSS

建置工具,如Grunt 和Gulp

框架,如VueJS、 React、Angular

模組打包工具,如Webpack、Browserify、Rollup

6、設計

在設計方面,全端開發者需要了解怎樣在一個產品變成在真正可用的HTML 、CSS 程式碼之前,先畫一個原型圖。然後就可以去用 JS 寫互動、後端也可以用假數據來模擬生產環境。只有這個關鍵的原型圖完成,使用者體驗設計和介面設計就緒,真正的開發才能開始。這本身就是一項艱鉅的任務,需要一套特殊的工具:

Photoshop和Illustrator 或一些開源的工具像是Gimp/Inkscape。造訪Design channel來了解更多這樣的工具。

一個牛的、快速的編輯器,例如Atom或Sublime Text(這兒有十種好用的sublime插件)

像Subtlepatterns的背景選擇器和顏色選擇器能夠搭配一些顏色

CSS的柵格系統

上面所說的前端所需要了解的所有知識和JS 資料模擬

#將原型圖發表到網路上供大家瀏覽並給於回饋,Ngrok就非常好用

7、日誌系統

為了高效監控應用的健康度,全端開發者必須能夠追蹤錯誤,找到錯誤日誌然後從中提取出有用的資訊.全端開發者也需要從日誌中預測一些趨勢,例如 CPU 或 I/O 佔用率的上漲,以防應用程式不知道什麼時候就掛了。這部分和維運也有一些關係,但是需要一些特別的技能:

推薦一篇非常棒的ELK stack的文章,這會幫助你了解做日誌系統所需的知識。裡麵包含了查找日誌的ElasticSearch ,收集日誌的Logstash,把日誌用非常棒的圖表展現出來的的Kibana,甚至還有提供解決方案的Logz.io。

8、行動端

最後,我們該說說移動端了。隨著iOS和安卓上的的webview變得越來越高效,還有 PWA(漸進式web應用)的到來,native 應用正在變得黯淡,因為他們開發起來實在是太複雜了。所以一個全端工程師必須了解 PWA 或 React Native,或是像NativeScript, Tabris, Cordova, Phonegap或其他webview來讓客戶端應用呼叫 API跑起來。

以上是怎麼自學web全棧的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn