原创 基於雲風協程庫的協程原理解讀

協程原理 雲風的協程庫實現 保存現場 恢復現場 打造業務零入侵的自用協程庫(待續) 協程原理 協程的本質都是通過修改 ESP 和 EIP 指針來實現的。其理論上還是單線程在運行,要想實現真正的併發,

原创 循環不變量求解數組問題

文章目錄循環不變量原理快排移動 0去掉指定元素排序數組去重排序數組只保留最多2個重複的元素 循環不變量原理 第一次看到循環不變量是在算法導論的快排裏。一般是針對數組問題求解,需要2個指針。 快排 快排最核心的思想是分區,也就是將給定數

原创 深入淺出linux內存管理(一)

文章目錄前言linux 虛擬內存系統虛擬尋址多級頁表內存映射 前言 最近斷斷續續補充了一些linux內存管理的知識。包括之前看 nginx 源碼,看 tcmalloc 原理也有一些心得。對於內存管理這個話題也有了一些淺薄的見解。現在針

原创 分佈式一致性算法 raft

文章目錄主節點選舉投票前的準備開始投票投票節點收到投票請求的回覆節點收到其他節點的投票請求主從同步,日誌複製安全性和成員變化 主節點選舉 每個節點有三種角色: follower: 從節點,被動回覆leader和candidate的re

原创 二叉樹非遞歸遍歷最簡潔的方式

文章目錄 最近重新複習二叉樹的非遞歸遍歷方式,發現前中後序遍歷實現的思想都不一致,導致要理解很多種遞歸的思路,有點痛苦。 對於遞歸遍歷,思路非常明確,理解和記憶也都沒有什麼困難。 如下根據不同的訪問順序就可以實現先中後序的訪問。 fu

原创 leetcode單鏈表問題集

文章目錄反轉鏈表k個一組反轉鏈表合併有序鏈表合併k個有序鏈表環形鏈表環形鏈表入口刪除倒數第N個節點相交鏈表的交點移除鏈表指定元素迴文鏈表奇偶鏈表兩數相加旋轉鏈表 刷了幾天leetcode ,發現以前的很多解法都很冗餘,代碼不夠精簡,重

原创 nginx 網絡框架淺析

文章目錄nginx 事件驅動框架淺析nginx主循環框架 ngx_cycle_snginx事件 ngx_event_snginx連接 ngx_connection_snginx事件模塊 ngx_event_module_sepoll事

原创 linux下cp,mv對運行中的程序升級的問題

文章目錄inode 和 dentry 結構執行 cp 命令的時候,發生了什麼?執行 mv 的時候發生了什麼? 參考文章: https://yq.aliyun.com/articles/6371 inode 和 dentry 結構 在L

原创 makefile詳解

大型項目中 makefile 的具體應用 基本規則 業界通用的編譯規則 具體項目引用通用的編譯規則 一些語法 大型項目中 makefile 的具體應用 基本規則 target:prerequisites com

原创 ProtoBuffer Encoding 原理解析

ProtoBuffer Encoding 原理解析 準備工作 Base 128 Varints 編碼 proto 的消息結構和數據類型 其他的數據類型 有符號數的 ZigZag 編碼 非 varints 編碼的數值類型 字符串類

原创 ElasticSearch 服務端開發實踐

ES 簡介 索引,分片,副本 REST API 接口 ES 開發步驟 setting 獲取當前 setting 分片, 索引和副本集等設置 analyzer 自定義分析器設置 mapping 獲取當前 mapping 簡單數

原创 TLS with Go

TLS with Go 公私鑰的加解密 數字簽名 生成自簽名證書 模擬CA頒發證書 如何讓客戶端信任服務器 雙向認證:讓服務器信任客戶端 TLS with Go 原文見:https://ericchiang.github

原创 golang 一些通用的單元測試模板

以下模板參考了下 elasticsearch 包裏的單元測試, 可以很方便的接入到各種單元測試函數中,後續增加案例也很方便 假設待測試的函數如下: //待測試函數======>校驗字符串是否爲數字 func IsInteger(s str

原创 go 獲取證書信息

GO 獲取 pem 證書信息 GO 獲取 pem 證書信息 openssl 客戶端查看證書信息: [root@dnsserver test]# openssl x509 -noout -text -in ./client-

原创 系統啓停腳本

在/etc/init.d 下新建服務啓停腳本 #!/bin/bash # # /etc/rc.d/init.d/myserviced # # Starts the at daemon # Source function libra