原创 APR分析-共享內存篇

APR分析-共享內存篇 共享內存是一種重要的IPC方式。在項目中多次用到共享內存,只是用而並未深入研究。這次趁研究APR代碼的機會複習了共享內存的相關資料。 APR共享內存封裝的源代碼的位置在$(APR_HOME)/shmem目錄下,本篇

原创 asan的使用

ASAN(Address-Sanitizier)早先是LLVM中的特性,後被加入GCC 4.8,在GCC 4.9後加入對ARM平臺的支持,因此GCC 4.8以上版本使用ASAN時不需要安裝第三方庫,通過在編譯時指定編譯CFLAGS即可打開

原创 什麼是野指針和內存泄露?如何避免野指針

內存泄露: (1). 訪問已經釋放的內存; (2) 訪問沒有權限的內存 野指針: 指向內存被釋放的內存或者沒有訪問權限的內存的指針。 “野指針”的成因主要有3種: (1) 指針變量沒有被初始化。任何指針變量剛被創建時不會自動成爲NULL指

原创 由淺入深剖析go channel

channel 是 goroutine 之間通信的一種方式,可以類比成 Unix 中的進程的通信方式管道。 CSP 模型 在講 channel 之前,有必要先提一下 CSP 模型,傳統的併發模型主要分爲 Actor 模型和 CSP 模型,

原创 Could not connect ot Redis No route to host問題解決

局域網內訪問另外一臺服務器上的redis 報錯: Could not connect to Redis No route to host 問題解決: 發現是防火牆問題。 於是設置: iptables -N REDIS iptables

原创 Apache - No space left on device / Failed to create proxy Mutex

A Big Thanks to "https://help.directadmin.com/item.php?id=110” Restarting Apache in one of the Servers failed with "No

原创 解決類似/usr/lib64/libstdc++.so.6:version `GLIBCXX_3.4.21` not found的問題

源碼編譯升級安裝了gcc後,編譯程序或運行其他程序時,有時會出現類似/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21` not found的問題。這是因爲升級gcc時,生成的動態庫沒有替

原创 排名前20的網頁爬蟲工具

網絡爬蟲在許多領域都有廣泛的應用,它的目標是從網站獲取新的數據,並加以存儲以方便訪問。而網絡爬蟲工具越來越爲人們所熟知,因爲它能簡化並自動化整個爬蟲過程,使每個人都可以輕鬆訪問網絡數據資源。 ###1. Octoparse Octo

原创 js發送get、post請求的方法簡介

POST請求:     發送的參數格式不同,請求頭設置不同,具體參照: Http請求中請求頭Content-Type講解     發送的參數格式不同,後臺獲取方式也不相同 php請看 php獲取POST數據的三種方法 一、使用XMLHtt

原创 Lua:給Redis用戶的入門指導

可能你已經聽說過Redis中嵌入了腳本語言,但是你還沒有親自去嘗試吧? 這個入門教程會讓你學會在你的Redis 服務器上使用強大的lua語言。 Hello, Lua! 我們的第一個Redis Lua 腳本僅僅返回一個字符串,而不會去與re

原创 C語言中的rand()函數

rand函數,C語言中用來產生一個隨機數的函數。 rand函數界限:stdlib.h頭文件中有宏#define RAND_MAX 0x7fff                        rand產生一個0-0x7fff的隨機數,即最大

原创 libxml2中文支持

  LibXML2自身已經支持了中文編碼,只是他的所有api處理的數據都是UTF-8類型的,所以只要在讀入和寫入數據時進行相應裝換即可! 代碼1是使用Linux下C API進行編碼轉換; 代碼2因爲libxml2已經融合了iconv,使用

原创 正則表達式關於數字

數字: ^[0-9]*$ n位的數字: ^\d{n}$ 至少n位的數字: ^\d{n,}$ m-n位的數字: ^\d{m,n}$ 零和非零開頭的數字: ^(0|[1-9][0-9]*)$ 非零開頭的最多帶兩位小數的數字: ^([1-9][

原创 基於redis分佈式鎖實現的多線程併發程序(原創)

前兩個版本的代碼 都或多或少存在一定的問題,雖然可能微乎其微,但是程序需要嚴謹再嚴謹 第一個版本問題:  侷限於單機版,依賴於 Jvm的鎖 第二個版本問題:  極端情況下,解鎖邏輯的問題,線程B的鎖,可能會被線程A解掉,這種情況實際上

原创 C中計算程序運行時間差(毫秒級)

最近在跑一些程序,需要計算程序運行的時間,然後搜索了一下相關的材料,發現下面的一個比較好的方法,可以實現毫秒級的計時: #include <sys/timeb.h> #if defined(WIN32) # define TIMEB