【引向】全棧開發工程師之路

Web尋夢獅發表於2019-02-16

全棧工程師,也叫全端工程師。是指掌握多種技能,並能利用多種技能
獨立完成產品的人


技術棧

  • 介面設計 Axure
  • 前端開發 HTML5+CSS3
  • 後端開發 Node.js Express Koa
  • 資料庫 Mysql Mongodb Redis
  • 移動端 Ionic
  • Restful API
  • OAuth QQ第三方認證
  • 單頁應用 AngularJs
  • WebSocket
  • 微信開發
  • 設計模式

基礎篇

  • NODE基礎
  • Javascript高階
  • 物件導向
  • 閉包
  • 作用域
  • this
  • 執行上下文
  • ……

提高篇

  • GIT 原理解析與最佳實踐
  • ES6+Gulp+Webpack+ ReactJS 高階
  • React Native 實戰
  • AngularJS 高階
  • 微信開發
  • OAuth QQ第三方認證
  • Restful API

Node是什麼

  • Node.js是一個讓JS可以執行在瀏覽器之外的伺服器端的平臺它實現了諸如檔案系統、模組、包、作業系統API,網路通訊等核心JS沒有或不完善的功能
  • 它摒棄傳統平臺依賴多執行緒來實現高併發的設計思路,而採用單執行緒,非同步式I/O,事件驅動式的程式設計模型
  • Node.js使用了來自於Google ChromeV8引擎。V8是目前世界上最快的Javascript引擎

同步和非同步

同步是指發起呼叫之後主執行緒只能掛起
非同步是指發起呼叫之後主執行緒可以做別的事情

什麼是I O

I/O輸入/輸出(Input/Output)

node.js的優點

Nodejs基於Javascript語言
統一公共類庫,程式碼標準化
Nodejs選擇了目前最快的瀏覽器核心V8做為執行引擎
Nodejs的社群非常活躍

js模組

不足

js沒有模組系統,不支援封閉作用域或依賴管理
沒有標準庫,沒有檔案系統API
沒有包管理系統,不能自動載入和安裝依賴

commonjs規範

一個 node.js由大量模組組成, 每個JS檔案都是一個模組
實現了require 方法,npm基於commonjs 實現了自動載入和安裝
依賴

模組和包的優點

增加內聚性,有助分工協作
方便重構
提高程式碼質量

模組使用

定義模組
匯出模組 (匯出類和物件或常量)
使用模組

什麼是前後端分離

前端:負責View 和Controller 層。
後端:只負責Model 層,業務和資料處理等。

為什麼要前後端分離?

後端為主的MVC,遇到同步非同步結合的頁面溝通麻煩
Ajax為主SPA 型開發模式, 如果一個頁面請求過多則效能較低
前後端職責不清
限制了前端的發揮空間

基於Node.js的前後端分離

後端提供API資料介面
前端負責渲染模板和頁面

案例

抓取百度百家生成新聞列表

相關文章