極客時間出品的《後端技術基礎詳解》由李智慧所作,李智慧是同程藝龍交通首席架構師,前Intel&阿里架構師,《大型網站技術架構》作者。本專欄帶你全面構建你的後端知識體系 。
《後端技術基礎詳解》課程背景
我們都知道,後端技術包羅永珍,從程式導向到物件導向,從資料庫到中介軟體。後端技術不僅涵蓋各種底層原理,還有各種層出不窮的技術。對於一個剛進入或是即將進入技術領域的人來說,常常面對的困惑就是,這些知識我們到底該掌握哪些?又該掌握到何種程度呢?
技術紛繁複雜,處在這個十字路口,我們總是很容易迷失方向。要麼選擇抱著厚厚的書籍盲啃,好不容易看完了,又不知道該怎麼用;要麼就是追隨各種技術潮流,但真正可以用到工作中的,又有多少呢?
這兩種情況都會讓人感到無所適從,而避免它們的最好方式就是形成一套屬於自己的技術體系,讓其提供堅定的理論支撐,在千變萬化的技術道路上也能走得穩健。<\/p>\n<p>一切技術的產生與發展都離不開最基本的原理,只要追本溯源,瞭解技術體系最基本、最底層的原理,我們就能根據這些知識儲備建立自己的後端技術框架,從而搭建一條完整的成長道路。<\/p>\n<p>在這個專欄中,作者將通過自己多年的架構師經驗,總結出了程式設計師必備的3大技術體系及原理,軟體的基礎原理、軟體的設計原理以及架構的核心原理,涵蓋日常工作中所能接觸的核心技術知識,從而幫你構建一套完整的軟體程式設計方法論以及技術思維框架。
《後端技術基礎詳解》作者簡介
李智慧,極客時間專欄《從0開始學大資料》作者,同程藝龍交通首席架構師、Apache Spark 程式碼貢獻者,長期從事大型網站架構、大資料的研發工作,曾擔任阿里巴巴技術專家、Intel亞太研發中心架構師、宅米和 WiFi 萬能鑰匙 CTO,有超過 6 年的線下諮詢、培訓經驗,著有暢銷書《大型網站技術架構:核心原理與案例分析》。
你將獲得
架構師必備的3大技術體系
軟體設計核心方法論詳解
掌握軟體程式設計本質原理
後端工程師的成長路線圖
課程設計
專欄內容適合誰?
本專欄面向後端技術初學者以及高校計算機專業的學生。專欄以工作或學習中常見的問題為起始點,從軟體的基礎、設計以及架構三個方面系統梳理程式編碼的第一性原理,幫助你全面建立有關後端技術的知識體系。
不適合人群:從事後端5年以上的程式設計師
專欄會講哪些知識?
專欄會系統覆蓋有關後端技術的知識體系,比如資料庫的原理、網路程式設計的原理、物件導向與程式導向真正的區別等。通過回答實際的問題場景,由點到面地引出背後的關鍵原理。
專欄模組是如何設定的?
專欄共4個模組,38篇文章。按照順序依次講解軟體的基礎原理、軟體的設計原理、架構的核心原理以及技術人的思維修煉。
在第一個模組“軟體的基礎原理”中,主要講述程式執行中背後的技術體系,主要涵蓋執行原理、網路程式設計原理、資料結構原理、資料庫原理等。
在第二個模組“軟體的設計原理”中,主要探討我們在程式設計的過程中應該有怎樣的視野與知識儲備,比如如何寫設計文件?軟體設計中的原則都有哪些?真正的物件導向是怎樣的?
在第三個模組“架構的核心原理”中,我們將把視野投放到更大,更巨集觀的架構體系中,接觸架構的不同型別,並瞭解它們的原理與區別。比如分散式架構、高可用架構,以及目前風頭正盛的的AI與物聯網架構等。
在最後一個模組“技術人的思維修煉”中,則主要講述身為技術人,應該如何保持不斷進步的能力以及巨集觀的視野?
《後端技術基礎詳解》課程目錄
開篇詞 掌握軟體開發技術的第一性原理
軟體的基礎原理
程式執行原理:程式是如何執行又是如何崩潰的?
資料結構原理:Hash表的時間複雜度為什麼是0(1)?
Java虛擬機器原理:JVM為什麼被稱為機器(machine)?
網路程式設計原理:一個字元的網際網路之旅
檔案系統原理:如何用1分鐘遍歷一個100TB的檔案?
資料庫原理:PrepareStatement為什麼效能好又安全?
程式語言原理:物件導向程式設計是程式設計的終極形態嗎?
總結答疑篇
軟體的設計原理
軟體設計方法論:什麼是軟體建模?
軟體設計實踐:如何使用UML完成一個設計文件?
軟體設計的目的:憂秀的程式設計師到底好在哪裡?
軟體設計的開閉原則:如何不修改程式碼卻能實現需求變更?
軟體設計的依賴倒置原則:如何不依賴程式碼卻可以複用它的功能?
軟體設計的里氏替換原則:正方形可以繼承長方形嗎?
軟體設計的單一職責原則:為什麼說開啟一個類檔案 最好不要超過一屏?
軟體設計的介面隔離原則:如何對類的呼叫者隱藏類的公有方法?
設計模式基礎:不會靈活應用設計模式,你就沒有掌握 物件導向程式設計
設計模式應用:程式設計框架中的設計模式
反應式裎序設計:如何設計一個非同步無阻塞的反應式編 程框架?
元件設計原則:元件的邊界在哪裡?
領域驅動設計:35歲的程式設計師應該寫什麼樣的程式碼?
總結答疑篇
架構的核心原理
分散式架構:如何支撐高併發的使用者請求?
快取架構:如何減少不必要的計算?
非同步架構:如何使互相依賴的系統間最低耦合?
負載均衡架構:如何用10行程式碼實現一個負載均衡服務?
資料儲存架構:如何改善系統的資料儲存能力?
搜尋引擎架構:如何瞬問完成海量資料檢索?
微服務架構:微服務究竟是靈丹還是毒藥?
高效能架構:除了程式碼,你還可以在哪些地方優化效能?
高可用架構:我們為什麼感覺不到淘寶應用程式升級時 的停機?
安全性架構:為什麼說使用者密碼洩漏是程式設計師的鍋?
大資料架構:大資料技術架構的思想和原理是什麼?
AI與物聯網架構:從智慧引擎架構到物聯網平臺
區塊鏈技術架構:區塊鏈到底能做什麼?
總結答疑篇
技術人的思維修煉
技術修煉之道:同樣工作十幾年,為什麼有的人成為 大廠架構師,有的人失業?
技術進階之道:你和這個星球最頂級的程式設計師差幾個 等級?
技術落地之道:你真的知道自己要解決的問題是什麼嗎?
技術溝通之道:如何用問題(question)解決問題 (problem) ?
技術管理之道:你真的要轉管理嗎?
總結答疑篇
訂閱須知
本專欄為訂閱專欄,更新時間為2019年11月18日至2020年2月19日。訂閱成功後,即可通過“極客時間”App端、小程式端、Web端永久閱讀。本專欄更新時間為每週一、三、五,形式為圖文+音訊,共計38期,定價99元。
我的公眾號:猿人學 Python 上會分享更多心得體會,敬請關注。
***版權申明:若沒有特殊說明,文章皆是猿人學 yuanrenxue.com 原創,沒有猿人學授權,請勿以任何形式轉載。***