Contents
從本課程中,學生將學習後端工程的基本原理、後端通訊設計模式、通訊協定(如HTTP/1.1、HTTP/2、HTTP/3、gRPC、WebRTC等)、作業系統核心如何與後端應用程式通訊、作業系統基礎知識(如linux中的執行緒、行程、非同步IO),以及如何建立客戶端與後端的連線、解析請求、以及後端應用程式的執行風格。
從這 15 小時的課程,你會學到
- 學習後端工程的基本原理
- 後端通訊設計模式
- 理解後端通訊協定如何運作
- 理解作業系統核心如何與後端應用程式通訊
- 作業系統基礎知識(linux 中的執行緒、行程、非同步IO)。
- 學習 HTTP/1.1, HTTP/2, HTTP/3
- 學習 gRPC, WebRTC, WebSockets
- 學習 TLS 1.2, TLS 1.3, QUIC 0RTT
要求
- 中級程式設計技能(1-2年)
- 建構過後端應用程式
- 基本的網路基礎知識
課程說明
後端工程是一門藝術。在我18年的職業生涯中,我發現某些通訊設計模式不斷出現。客戶端與後端應用程式的通訊方式屈指可數,儘管它們可能更多,但我相信我在本課程中討論的模式是最常見的。這些模式的範例有請求-響應( request-response )、發佈-訂閱( publish-subscribe )、長短和推送(short and long and push)。
基於這些通訊設計模式,工程師可以使用一些通訊協定進行具體的通訊。雖然核心傳輸工具僅限於 TCP 或UDP,但大量的行業特定通訊協定是建立在這兩種通訊協定之上的,以解決某些問題和使用案例。這些高階通訊協定的範例有 HTTP/1.1、HTTP/2、HTTP/3、gRPC、WebRTC 等等。其他傳輸通訊協定,如 QUIC 是建立在UDP之上的,以使 HTTP/2 的串流媒體在傳輸層面減少。每個通訊協定都有其優點和缺點,並適合某些使用情況。在本課程中,我討論了最常見的通訊協定,並在適當的地方提供了範例和演示。
在客戶端可以發送請求之前,它必須與後端建立一個連線。瞭解連線是如何建立的,以及連線建立的哪些部分是在核心中完成的,哪些部分是在後端應用過程中完成的,是至關重要的。然後,連線如何被後端應用程式接受,以及它如何儘可能快地接受連線,以便核心佇列不被填滿,否則客戶就不能再連線。
連線建立後,客戶端發送了請求,但在後端應用程式中到底發生了什麼來讀取請求?請求到底是什麼?瞭解根據通訊協定解析請求的成本,使工程師欣賞所做的工作,並使他具備更好的工具來解決效能問題或錯誤。
一旦請求到達後端,應用程式就必須執行該請求。當涉及到它可以選擇的執行風格時,後端有一個自助餐式的設計選擇。瞭解行程( process)和執行緒、多行程、多執行緒之間的區別,以及與 CPU 核心或硬體執行緒數量的相關性,對於選擇正確的執行模式至關重要。人們不必拘泥於這些模式,而是可以發明適合自己需求的新模式。
本課程是為那些已經建立了後端應用程式的工程師設計的,它是一個中階-高階的課程,需要一定的程式設計和網路知識,所以我建議在學習本課程之前,如果你沒有網路技能,先學習我的網路工程基礎課程。我希望你喜歡這門課程,並非常感謝你的考慮。
目標受眾
- 後端工程師
- 全端工程師
- 對後端感興趣的前端工程師(必須建立過後端應用程式)。
- 希望在後端設計方面有更大作為的網路工程師
- 網站可靠性工程師
講師簡介
Hussein Nasser 軟體工程師,作家 ( 更多講師的課程介紹 )
我叫 Hussein,是一名軟體工程師。 我的軟體之旅始於 1998 年左右,當時我叔叔給了我一本名為 Learn Programming and Visual Basic 2.0 的書。 那本書讓我意識到我喜歡建構軟體的工藝。 使用所有可用的媒體,我會以公告板、部落格、書籍、課程、播客和視訊的形式談論軟體。
這些天我經營著一個 YouTube 頻道,在那裡我涵蓋軟體工程主題,重點是後端技術。 我討論資料庫、代理、安全、網路、協議和程式設計。 我還報導了軟體領域的近期新聞和時事。
我專攻地理資訊系統(簡稱 GIS)領域。 自 2005 年以來,我通過設計和建構製圖應用程式來簡化他們的工作流程,幫助中東的許多組織實施 Esri GIS。 我寫了五本關於 Esri 技術的書,自 2015 年以來我一直是那裡的首席工程師。
使用軟體解決有趣的問題是我真正喜歡的迷人事物之一。 請隨時通過我的社交媒體渠道與我聯繫,提出問題或分享有趣的問題。 我很想聽聽!
英文字幕:有
- 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To
- 點選這個✨優惠連結✨ 課程特價 | Udemy 永久擁有課程 NT330 起( 在電腦瀏覽器登入,點選“優惠連結”後再回想要的課程介紹中點選“報名參加課程”即可取得 )
- Udemy 現在越來越多課程有中文字幕,請參考 Soft & Share 中文線上課程
- 手機上點選優惠連結看到的價格比電腦上看到的貴
- $代表當地貨幣, 如在台灣為 NT
- 點選”報名參加課程”有可能因瀏覽器 cookies 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現
報名參加課程
也許你會有興趣
- 有效後端設計的網路基礎
- ★英語學習地圖 – 練好英文是最大的學習槓桿
- 如何找工作學習地圖 – 找工作不要靠運氣!