原创 UNP(卷2:進程間通信)—— 第15,16章:遠程過程調用(門,Sun RPC)

(1)本地過程調用(local procedure call) (2)遠程過程調用(remote procedure call,RPC):調用者爲客戶,被調用的過程爲服務器。門(door)能力:一個進程調用同一臺主機上另一個進程中的某個

原创 設備驅動程序

設備驅動程序內核功能劃分設備和模塊分類Hello World模塊功能快捷鍵合理的創建標題,有助於目錄的生成如何改變文本的樣式 內核功能劃分 進程管理 內存管理 文件系統 設備控制 網絡功能 設備和模塊分類 字符設備 塊設備

原创 Go 語言

目錄特性語言結構數據類型 特性 自動垃圾回收 更豐富的內置類型 函數多返回值 錯誤處理 匿名函數和閉包 類型和接口 併發編程 反射 語言交互性 語言結構 包聲明 (你必須在源文件中非註釋的第一行指明這個文件屬於哪個包) 引入包

原创 HTTP/2 協議規範

簡介 HTTP2 協議概述 開始HTTP2 1 HTTP2 版本標識符 2 http URIs 21 HTTP2-Settings 頭部域 3 https URIs 4 先前知識 5 連接前言 HTTP 幀 1 幀格式 2 幀

原创 python 高性能編程

全局解釋器鎖(GIL) 對於Python來說,充分利用多核性能的阻礙主要在於Python的全局解釋器鎖(GIL)。 GIL確保Python進程一次只能執行一條指令,無論當前有多少個核心,在任意時間點僅有一個核心在執行Python的指令。

原创 nothrow的介紹及使用

在C++中new在申請內存失敗時默認會拋出一個std::bad_alloc 異常。 所以,按照C++標準,如果想檢查new是否成功,則應該通過try catch捕捉異常。 但有些編譯器不支持try catch。 用戶一般簡單地使用”new

原创 如何有效閱讀一本書?

閱讀

原创 TCP傳輸爲什麼會以這個1448作爲打包單位呢?

以太網Ethernet最大的數據幀是1518字節。以太網幀的幀頭14字節和幀尾CRC校驗4字節(共佔18字節),剩下承載上層協議的地方也就是Data域最大就只剩1500字節. 這個值我們就把它稱之爲MTU。 MSS就是TCP數據包每次能夠

原创 BLAKE2簡介

關鍵詞: 哈希碰撞 Birthday attack blake2 SHA-1存在嚴重的安全問題 這一次破解的只是SHA-1的抗碰撞性。類似HMAC-SHA-1(使用HMAC僞隨機函數和SHA-1共同作爲哈希函數)或PBKDF2-HMA

原创 python 3 筆記

一、python基礎I python3 打印使用 print (var) #默認是換行的 print (var, end = "" ) #不換行 print (var1,var2,var3, sep=

原创 簡單理解Docker

什麼是Docker Docker使用Go語言進行開發實現,基於Linux內核的cgroup,namespace,以及AUFS類的Union FS等技術,對進程進行封裝隔離,屬於操作系統層面的虛擬化技術。 由於隔離的進程獨立於宿主和其他的隔

原创 HPACK(HTTP2 頭部壓縮算法)

簡介 壓縮過程概述 1 頭部列表排序 2 編解碼上下文 31 靜態表 32 動態表 33 索引地址空間 4 頭部字段表示 頭部塊解碼 1 頭部塊處理 2 頭部字段表示處理 動態表管理 1 計算表大小 2 表大小的最大值

原创 SHA1算法

Secure Hash Algorithm 1. 概述 當輸入的消息長度小於2^64 bits時,SHA-1輸出160-bit的消息摘要。 2. 定義 a. A hex digit: 集合{0, 1, … , 9, A, … , F}中

原创 ROM、RAM、DRAM、SRAM和FLASH的區別

ROM和RAM ROM和RAM指的都是半導體存儲器, ROM是Read Only Memory的縮寫, RAM是Random Access Memory的縮寫。 ROM在系統停止供電的時候仍然可以保持數據, RAM通常都是在掉電之後就

原创 代碼閱讀

代碼閱讀 怎麼快速閱讀代碼,尤其是大中型系統的代碼? 大中型系統的代碼往往比較複雜,邏輯之間的關係錯綜複雜,很多脈絡隱藏在數據當中。 靜態閱讀代碼,尤其是一些缺乏文檔、註釋的代碼,很容易忽略一些不起眼的數據線索,無法理清程序邏輯。 本文介