深入了解 Node 的工作原理,從而提升後端應用程式的效能、效率和一致性。
從這 21 小時的課程,你會學到
- NodeJS 架構
- NodeJS 協定、檔案與套接字程式設計內部機制
- NodeJS 最佳化
- 編寫高效程式碼
- Node 多執行緒
- Libuv 非同步 I/O
- Node 網路
- Node Streams
- C++ 外掛
要求
後端和作業系統基礎知識
課程說明
在軟體工程中,我最喜歡的就是讓它變得透明。
Node 是後端工程中最受歡迎的執行階段之一,但我感覺它也是最不為人所理解的。我以前也常常有這種感覺。
我花了幾個月的時間開發了一門課程,旨在揭開 NodeJS 內部機制和架構的神秘面紗,並將其提煉成這門全面的課程。
我創建這門課程,是為了讓那些無法忍受晦澀難懂的底層技術工作的工程師們能夠輕鬆上手。
- 他們喜歡了解引擎背後的運作機制。
- 他們樂於將一行程式碼拆解成最初的 1000 行程式碼。
- 他們會質疑為什麼 Node 程式的輸出結果難以預測。
- 他們想知道 Node 進程何時退出。
- 他們想知道為什麼 Node 在某些情況下啟動速度如此緩慢。
- 他們欣賞 Node 能夠在所有作業系統上運行,並渴望了解背後的原理。
例如,透過理解 HTTP 模組的內部機制,你可以用 Node 寫一個能夠接收和處理更多請求的後端。你寫的每一行程式碼都會考慮 Node 將如何以及何時處理它。
透過理解事件迴圈( event loop )及其不同的階段,你可以調整和重新組織程式碼,從而獲得最佳效能,甚至獲得一致的結果。
你是否曾經編寫過一個 Node 程式,其中 1% 的機率失敗,而 99% 的機率成功?理解 Node 架構有助於你讓程式更可預測。不要因為不理解而反對添加變通方案。我們都曾經這樣做過。
關鍵在於消除阻塞,讓主迴圈的各個階段「呼吸」。我們在建立軟體時,常常會遇到一個問題:我們總是逆著架構走。了解 Node 的摩擦點,就能讓你順應它,而不是對抗。
本課程涵蓋以下內容:
- NodeJS 架構
我將講解事件循環的各個階段以及每個階段的具體操作,解釋 Promise 如何本質上是回調( callbacks )函數,模組的載入方式和時機及其對效能的影響,Node 套件的結構等等。
- Node 內部機制
我們將深入解說 Node 如何利用 libuv 實作非同步 I/O,以及 Node 中每個協定的實作方式。此外,也將介紹 Node 如何在使用者級執行緒和進程級層面上實現並發。
- Node 優化與效能
在了解了 Node 的內部機制和架構之後,我們將討論如何提高程式碼運作效率和效能。只有在 JavaScript 無法滿足需求的情況下,Node 也提供了使用 C++ 外掛程式擴充的方法。
本課程面向熟悉 Node 並希望深入了解其工作原理的中級學員。雖然並非強制要求,但我建議先學習作業系統基礎課程。
目標受眾
- 希望了解 Node 內部機制的中階軟體工程師
- 希望能有效率地運行 Node 的後端工程師
講師簡介
Hussein Nasser 軟體工程師,作者
二十年前,我職業生涯初期就開發資料庫應用程序,但當時我對資料庫的內部機制並不完全了解。效能問題、競態條件、bug,甚至資料損壞,常常讓我束手無策。
我決心真正理解資料庫系統的運作原理,確保我了解應用程式中的每一個查詢及其在資料庫中的執行過程,以及我如何選擇將哪些查詢作為事務,哪些查詢作為原子查詢。
從那時起,我就對深入探究軟體底層運作機制著迷。如果你有追蹤我的博客,你會看到我發布的關於後端、資料庫和作業系統的深度解析文章。
如果你喜歡研究軟體內部機制,我想你可能會喜歡我的課程。
字幕:英文
- 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To
- Udemy 永久擁有課程 課程特價中 約 NT350 (點擊連結看更多)
- ✨年訂閱每月 NT350 🌈 悠遊 Udemy 的 26000+ 門課,最大化學習 ( 原價 NT635/月 )
- Udemy 現在越來越多課程有中文字幕,請參考 Soft & Share 中文線上課程
- 手機上點選優惠連結看到的價格比電腦上看到的貴
- $代表當地貨幣, 如在台灣為 NT
- 點選”報名參加課程”有可能因瀏覽器 cookies 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現
報名參加課程

也許你會有興趣
- Web 後端相關線上課程
- ★英語學習地圖 – 練好英文是最大的學習槓桿
- 如何找工作學習地圖 – 找工作不要靠運氣!
- 從 Soft & Share 各種社團頻道挑選你喜歡的加入
發表迴響