Node.js 技術棧學習指南(含思惟導圖)

讀過一本好書,像交了一個益友。——臧克家git

Node.js 技術棧 是由做者 「五月君」 於 2019 年 4 月梳理以後最先開源於 Github,同時註冊了微信公衆號「Nodejs技術棧」。本文檔包含了做者從事 Node.js Developer 以來的學習歷程,旨在爲你們提供一個較詳細的學習教程,側重點更傾向於 Node.js 服務端所涉及的技術棧。github

也致力於爲你們分享最具備價值的 Node.js 相關技術乾貨,包含 Node.js 基礎知識(JavaScript、ES6/ES7/ES8...、TypeScript)、Node.js 核心模塊、主流框架實踐、緩存、數據庫、消息中間件、DevOps、HTTP 協議以及 Node.js 在微服務、分佈式領域下的應用分享等。數據庫

思惟導圖

說明:大體方向不會變,中間細節部分以後可能會修改,歡迎關注公衆號「Nodejs技術棧」回覆 「思惟導圖」 查看最新版學習指南

目錄大綱

  • JavaScript
    • 基礎
    • This
    • 函數
    • 對象
    • 原型
    • 正則
  • ES系列
    • ES6
      • Let、Const 變量聲明
      • 數據類型功能擴展
      • Set、Map 集合
      • 解構賦值
      • 箭頭函數
      • Promise
      • Symbol
      • Decorators
      • Generator
    • ES7
      • includes
      • 指數操做符
    • ES8
      • sync/await
      • Object.values()
      • Object.entries()
  • Node.js 基礎
    • Node.js 初識
    • Node.js 發展史
    • 開發環境搭建
    • NPM 包管理器
    • 構建第一個 Hello World 應用程序
    • 初識 Node.js 模塊
    • 回調函數/異步編程
    • Node.js 編碼風格指南
    • Koa.js 入門
    • Node.js 中應用 MongoDB
    • Node.js 中應用 Redis
    • 基於 Koa.js 的簡單 CRUD
    • 統一異常處理
    • 單元測試
    • PM2 部署
    • Node.js 應用場景
  • Node.js 核心模塊
    • Module — 模塊
    • HTTP / HTTPS / HTTP2
    • Net — 網絡
    • Event — 事件
    • Stream — 流
    • Buffer — 緩衝區
    • Crypto — 加密
    • FS — 文件
    • Timer — 定時器
  • Node.js 進階
    • Memory 內存管理
    • V8 虛擬機
    • I/O 模型
    • EventLoop 事件輪詢
    • Threads&Process 線程和進程
    • Testing 測試
    • Schedule 定時任務
    • Template 模版引擎
    • Cache 緩存
    • 性能調優
    • 最佳實戰
  • Node.js 框架
    • Express.js
    • Koa.js
    • Egg.js
    • Nest.js
    • Midway.js
    • Meteor.js
  • 數據庫
    • NoSql
      • Redis
      • MongoDB
      • CouchDB
    • 關係型
      • MySql
      • PostgreSQL
      • SQL Server
    • 搜索引擎
      • ElasticSearch
      • Solr
      • Sphinx
    • 雲數據庫
      • Azure CosmosDB
      • Amazon DynamoDB
  • HTTP
    • HTTP 協議發展史
    • 5 層網絡模型
    • HTTP 三次握手/四次揮手
    • URI/URL/URN
    • 跨域的造成及解決方案
    • 緩存頭 Cache-Control
    • Cookie 與 Session
    • HTTP 長連接
    • HTTP2 協議實踐
  • 微服務
    • 認識微服務
    • 數據通訊
      • ResultFul API
      • GraphQL
      • HAL 基於ResultFul協議的提高
      • RPC
      • 消息隊列
    • 服務註冊/發現
      • Consul
      • Zookper
    • 柔性可用/容錯
      • 可能出現的問題
      • 熔斷
      • 限流
      • 服務降級
  • 消息中間價
    • RabbitMQ
    • RocketMQ
    • Kafka
    • ActiveMQ
  • 分佈式
    • 認識分佈式
    • 分佈式事務
    • 分佈式鎖
    • 分佈式限流
    • 分佈式訂單號生產策略
    • 分佈式系統校驗
  • DevOps
    • PM2 生產環境部署
    • Docker
    • Jenkins 持續集成
    • SonarQube 代碼質量評測分析
    • Jumpserver 開源堡壘機
  • 安全
    • CSRF
    • XSS
    • 越權
    • Cookies 安全策略
    • HTTP/HTTPS 傳輸安全
    • SQL 注入
    • 中間人攻擊
    • OAuth 2.0
  • 工具
    • Git 版本控制
    • VSCode 編輯器
  • 設計模式
    • 單例模式
    • 工廠模式
    • 裝飾器模式
    • 代理模式
    • 適配器模式
    • 觀察者模式
  • 數據結構
    • Queue
    • Set
    • List
    • Map
    • Heap - 堆
    • Stack - 棧
    • Graph - 圖
    • 二叉樹
    • 紅黑樹
    • 十大排序
  • SOLID 五大原則
    • 單一職責原則
    • 開放封閉原則
    • 裏式替換原則
    • 接口分離原則
    • 依賴倒置原則

任重而道遠!編程

資源

本項目開源於 Github: github.com/Q-Angelo/No…,同時也會在微信公衆號「Nodejs技術棧」進行同步,歡迎關注!如需進羣交流的可先關注微信公衆號,後臺回覆「加羣」,便可加入「Nodejs技術棧交流羣」!設計模式

以上部份內容已經完成的能夠在 Github 查看,後續也會同步到微信公衆號,更多內容還需不斷完善,我會朝着這個大綱目標走,若是您有不錯的文章歡迎投稿,固然也歡迎分享本公衆號的文章讓更多的同窗可以看到。轉載和投稿前請先在公衆號後臺點擊 「閱讀更多」 -> 「轉載投稿」查看相關須知內容。跨域

相關文章
相關標籤/搜索