原创 劍指offer 面試題8:二叉樹的下一個節點【C++版本】

題目總結與代碼歸檔: 【劍指offer-2】題目目錄【C++版本】 GitHub代碼路徑: GitHub 面試題8 二叉樹的下一個節點 題目:給定一顆二叉樹和其中的一個節點,如何找出中序遍歷序列的下一個節點?樹中的節點除了有兩個分

原创 網絡編程學習: 08 如何優雅地關閉連接

關鍵詞總結:本地套接字 代碼路徑見Github 專欄代碼 TCP 是雙向的,這裏說的方向,指的是數據流的寫入 - 讀出的方向。在絕大數情況下,TCP 連接都是先關閉一個方向,此時另外一個方向還是可以正常進行數據傳輸。(客戶端到服務

原创 劍指offer 面試題1:賦值運算符函數【C++版本】

題目總結與代碼歸檔: 【劍指offer-2】題目目錄【C++版本】 GitHub代碼路徑: GitHub 面試題1 賦值運算符函數 題目: 如下爲類型CMyString的聲明,請爲該類型添加賦值運算符函數。 class CMySt

原创 網絡編程學習: 03 TCP三次握手

關鍵詞總結:bind、listen、accept、connect、TCP 三次握手 服務端準備連接的過程 創建套接字 int socket(int domain, int type, int protocol) domain :

原创 極客時間 算法訓練營 畢業總結

不知不覺8周的算法訓練營也接近尾聲,這期間訓練營對自己的影響有三方面 一方面是收穫了刻意練習,終身成長這些可以產生長遠影響的思想,這裏推薦三本書 卡羅爾·德韋克的《終身成長》、安德斯·艾利克森和羅伯特·普爾的《刻意練習》以及彼得

原创 分佈式系統學習:12 彈力設計篇:服務的狀態

關鍵詞總結:服務的狀態、無狀態的服務 Stateless、有狀態的服務 Stateful 服務的狀態 “狀態”,就是爲了保留程序的一些數據或是上下文。比如冪等性設計中所需要保留每一次請求的狀態;用戶登錄時的 Session,需要這

原创 分佈式系統學習:13 彈力設計篇:補償事務

關鍵詞總結:ACID、BASE、業務補償 ACID 和 BASE ACID 傳統關係型數據庫系統的事務都有 ACID 屬性,即原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation,又稱獨立性)

原创 極客時間 算法訓練營 第七週總結

學習總結 學習內容 位運算 位運算符 如何從十進制轉換爲二進制 如何從十進制轉換爲二進制 XOR - 異或 異或:相同爲 0,不同爲 1。也可用“不進位加法”來理解。 x ^ 0 = x : x 異或 0 x ^ 1s =

原创 分佈式系統學習:03 分佈式系統的技術棧

構建分佈式系統的目的:增加系統容量;提高系統的可用性。也就是 大流量處理與關鍵業務保護。 大流量處理 通過集羣技術把大規模併發請求的負載分散到不同的機器上 關鍵業務保護 提高後臺服務的可用性,把故障隔離起來阻止多米諾骨牌效

原创 網絡編程學習: 02 套接字和地址

關鍵詞總結:socket、套接字地址格式 可以參看 [趣談網絡協議學習] 13 套接字Socket:Talk is cheap, show me the code socket 到底是什麼? 在網絡編程中,應該怎麼理解 socke

原创 極客時間 算法訓練營 第六週總結

學習總結 學習內容 字典樹 Trie 字典樹的數據結構 字典樹的核心思想 字典樹的基本性質 基本結構 字典樹,即 Trie 樹,又稱單詞查找樹或鍵樹,是一種樹形結構。典型應用是用於統計和排序大量的字符串(但不僅限於

原创 LeetCode 191.位1的個數(Number of 1 Bits)

LeetCode.jpg 191. 位1的個數 編寫一個函數,輸入是一個無符號整數,返回其二進制表達式中數字位數爲 ‘1’ 的個數。 示例 1: 輸入:00000000000000000000000000001011 輸出:3 解釋:輸

原创 極客時間 算法訓練營 第三週總結

學習總結 學習內容 課程內容 深度優先搜索、廣度優先搜索 深度優先搜索算法(Depth-First-Search),不撞南牆不回頭。以一個未被訪問過的頂點作爲起始頂點,沿當前頂點的邊走到未訪問過的頂點;當沒有未訪問過的頂點時,則回

原创 極客時間 算法訓練營 第二週總結

學習總結 學習內容 課程內容 哈希表、映射、集合 哈希表:根據關鍵碼值(Key value)直接進行訪問的數據結構。把關鍵碼值映射到表中一個位置來訪問記錄,以加快查找的速度。這個映射函數叫做哈希函數,存放記錄的數組就叫做哈希表。

原创 Python編程從入門到實踐:Web API簡單使用與可視化

開發系統和開發IDE 開發系統: Ubuntu 16.0.4 LTS 開發IDE: Visual Studio Code 版本: 1.32.3 Python版本: Python3 依賴庫: requests 、 pygal