原创 BIOS模式的win10與UEFI模式的Ubuntu雙系統的安裝問題

本人在安裝 win10 和 Ubuntu 雙系統時出現了 “機器已經存在BIOS兼容模式的系統……” 的問題。 安裝 win10 與 Ubuntu 雙系統時,出現警告: 機器已經存在BIOS兼容模式的系統,如果繼續安裝,會有一

原创 antlr4的介紹以及常見錯誤和調試方法

本文簡單介紹 antlr4的基本知識,介紹了antlr4 語法中二義性及解決思路,anrlr4 可能出現的錯誤,以及錯誤定位和解決的辦法。 簡單介紹 ANTLR(Another Tool for Language Recognit

原创 redis源碼分析 -- cs結構之服務器

服務器與客戶端是如何交互的 redis客戶端向服務器發送命令請求,服務器接收到客戶端發送的命令請求之後,讀取解析命令,並執行命令,同時將命令執行結果返回給客戶端。 客戶端與服務器交互的代碼流程如下圖所示: Redis 服務器負

原创 redis 中的 reactor 模型

在學習 redis 源碼時,發現redis使用的是 reactor 模式的事件驅動方式,爲了進一步學習 redis 和 reactor 模式,又不想重複造輪子,乾脆動手將 redis 中的 reactor 模式的框子婁出來,做了一

原创 代碼風格的簡單整理

代碼風格 格式 空格 每一行的末尾不應該有空格,不論這行有沒有內容。 每個函數聲明的後面也不應該有空行。 public string getText () { string text = search_entry.getT

原创 redis源碼分析 - 字典哈希

字典,又稱爲符號表 (symbol table)、關聯數組 (associated array)或映射 (map),是一種用於保存鍵值對 (key-value pair)的抽象數據結構。在 redis 中,哈希鍵和數據庫都是通過字

原创 antlr4中NoViableAltException 異常引起程序崩潰

NoViableAltException 異常引起的 coredump 問題 使用antlr4解析時,在遇到 NoViableAltException 異常的時候,有些情況下會遇到 coredump 錯誤,如果僅僅拋出異常還好,但

原创 redis 集羣搭建詳細過程

準備工作 在 github 上下載 redis 源碼,編譯 ./configure make LZ 下載的 redis 版本是 3.0.7 編譯成功後,在源碼的根目錄下的 src 目錄中,會生成對應的可執行文件 redis-s

原创 獲取隨機User-Agent和隨機ip代理

如何獲取不斷變化的 User-Agent 推薦我的個人博客: blog.wuzhenyu.com.cn User Agent中文名爲用戶代理,簡稱 UA,它是一個特殊字符串頭,使得服務器能夠識別客戶使用的操作系統及版本、CPU

原创 redis源碼分析 - 複製

在 redis 中,用戶可以通過執行 SLAVEOF 或者通過設置 slaveof 選項,讓一個服務器去複製另一個服務器,我們稱呼這爲主備複製。 查看[redis主從複製]:http://blog.csdn.net/hongli

原创 redis源碼分析 - lua環境的創建與分析

redis中 lua 環境的創建和初始化 redis 中,lua 環境的初始化,是從 redis.c/initServer() 函數中,調用 scriptingInit() 函數開始的。 關於 scriptingInit() 的描

原创 Use GDB and KGDB to debug linux kernel on two different machines

本文講述如何在兩個主機之間搭建linux kernel的調試環境,用到kgdb工具。環境如下 gcc 4.6.3 ubuntu 3.13.0-32-generic linux source code: linux-3.4.tar.

原创 代理的思想--實現lua中table的跟蹤與只讀

table的跟蹤 本文跟蹤table,是指對一個table 的操作,比如訪問和更新進行跟蹤。當訪問一個 table 或者更新 table 中的某個元素時,lua 首先會在 table 查找是否存在該元素,如果沒有,就會查找 tab

原创 GDB 調試使用總結

推薦我的個人博客 blog.wuzhenyu.com.cn gdb 調試總結 編譯程序 當編譯程序,使用 gcc/g++ (the GNU c/c++ compiler) 作爲編譯器時,爲了產生調試信息,可以使用 ‘-g’ 的

原创 require "socket" 引發的一些問題

luasocket 的安裝和部署 初學 lua,當讀到《lua 程序設計》中9.4節非搶佔式(non-preemptive)多線程時,例子中用到了 require "socket" 在我的 lua 環境中,直接使用出錯了,因爲這