原创 關於 ELF 文件想知道的事

文章目錄1.起源1.1 高級語言 vs 彙編語言 vs 機器語言1.2 機器語言和 ELF 文件2. 編譯(從 section 到 segment)2.1 爲什麼定義兩種不同視角的概念2.2 section 和 segment

原创 擁塞控制 vs 流量控制

在 TCP 中,擁塞窗口和接收窗口的最小值,是任意時刻內發送方確定能被髮送出去的字節數。 擁塞窗口受擁塞控制的影響,接收窗口受流量控制的影響,以下會分別介紹擁塞控制和流量控制。 擁塞控制與流量控制本質上來說,是生產者消費者的模型,

原创 nginx 平滑重啓 vs 平滑升級

1. nginx 架構 在總結了 nginx 配置以後,發現 nginx 可以做到平滑重啓和升級,即在重啓和升級的過程中服務不間斷。於是懷着好奇的心情,開始了探索 nginx 的平滑重啓和平滑升級是如何實現的。先解釋下筆者對這兩個

原创 進程、系統調用

「多問,爲什麼?」能夠幫助你深入理解各種你想要知道的東西?什麼,你不信,那我們一起試試吧。 1. 進程 1.1 爲什麼需要進程 不是進程需要我們,而是我們需要進程。想象一下,現在提供一個操作系統,而你想要通過操作系統控制各種資源,

原创 HTTP vs HTTPS vs HSTS

在推動公司的全站 HTTPS + HSTS ,整理用到的知識,供以後查閱只用。 1. HTTP 背景知識 1.1 HTTP/0.9 單行協議,極其簡單。 請求:由單行指令構成,以唯一可用方法 GET 開頭,其後跟目標資源路徑 G

原创 elf 文件與鏈接

文章目錄1.爲什麼需要 elf 文件1.1 前置知識1.2 elf 文件是什麼1.3 結論2. elf 文件裏有什麼2.1 前置知識2.2 elf 結構之——問答設計2.1 從鏈接的視角2.2 從運行的視角3. 鏈接3.1 基本

原创 InnoDB 存儲引擎——事務

文章目錄1. 爲什麼 InnoDB 存儲引擎被接受?2. 事務2.1 爲什麼支持事務2.2 事務的特性2.2 如何支持 ACID2.2.1 實現2.2.1.1 redo log2.2.1.2 undo log2.2.2 binlo

原创 《SRE Google 運維解密》筆記

文章目錄1. 主旨2. 概覽2.1 提出 SRE 的動力?2.2 SRE 聚焦問題點2.3 庖丁解牛2.3.1 你看到了什麼?2.3.2 如何管理你看到的?2.3.3 能否站在全局視角上看問題?3. 指導思想3.1 學會擁抱風險

原创 《C++ 沉思錄》學習筆記——中篇

文章目錄1. 題外話2. 容器相關(12-14)2.1 設計容器(12)2.1.1 問題:2.1.2 設計一個類似數組的類2.2 訪問容器中的元素(13)2.2.1 模擬指針2.2.2 中間層 Array_data2.3 迭代器(

原创 《C++ 沉思錄》學習筆記——上篇

文章目錄1. 總結(31-32)1.1 通過複雜性獲取簡單性(31)1.1.1 類庫和語言語義1.1.2 抽象和接口1.2 說了 Hello world 後再做什麼(32)2. 技術(27-30)2.1 自己跟蹤自己的類(27)2

原创 《C++ 沉思錄》學習筆記——下篇

今日份的電影份額看完,那就默默的《 C++ 沉思錄》的學習筆記補充完成吧,畢竟「出來混總得還不是」。下篇是對書中 0-11 章內容的總結,詳情如下(ps《魔女》真的好燃,被女主圈粉的一天 文章目錄1. 序幕(0)2. 動機(1-

原创 Java 入門圖解 (上)

文章目錄1. Spring 相關1.1 Spring 是什麼1.2 Spring 核心理解1.2.1 IOC1.2.2 AOP1.3 如何新建一個 Spring 項目1.3.1 步驟 11.3.2 步驟 21.3.3 步驟 31.

原创 重讀TCP 協議

拖延症晚期患者,終於在週末的尾巴開始寫這篇本來上週就應該總結出來的文章了……。 1. 基本概念 大部分介紹 tcp 協議的開頭都是, tcp 協議是一種面向連接的、可靠的、基於字節流的傳輸層協議。講真的就是這麼單純的記住這個概念,

原创 中斷、信號、鎖、信號量

1. 碎碎念 作爲一個上學能忘記帶書包,出門能忘記帶鑰匙的人。興沖沖的去看書,發現自己木有帶書,只帶了電腦,好像也就沒什麼可奇怪的了。好在現在是 2019 年,在網上找了下要看書的 pdf 版,完美解決小插曲,撒花。(ps 解釋下

原创 紅黑樹完全攻略

文章目錄1. 前言2. 旋轉2.1 爲什麼旋轉2.2 基礎旋轉2.3 複雜旋轉3. 紅黑樹的性質4. 插入4.1 插入論證4.2 複雜插入4.2.1 U 爲紅色的場景4.2.2 U 爲黑色的場景4.3 複雜插入總結5. 刪除5.1