原创 tcpdump截幀工具使用

一、tcpdump介紹 ​ tcpdump是Linux下功能強大的截幀工具,相當於windows下的wireshark一下,只是操作方式是命令行的,需要熟悉Linux命令行操作。 ​ 常用的Linux發行版基本上都已經自帶了tcpdump

原创 windows下搭建Redis集羣

一、環境準備 在windows下搭建redis集羣需要先安裝ruby運行環境,可以到ruby官方網站下載。 新建一個文件夾,名稱爲redis_ cluster,即redis集羣。 在redis_ cluster文件夾下新建9000,900

原创 C++創建和使用動態鏈接庫

C++創建和使用動態鏈接庫 一個簡單的動態鏈接庫的生成和調用例子,太過簡單,大神請繞道。 一、創建動態鏈接庫 使用vs創建工程選擇動態鏈接庫。 在項目中創建源文件和頭文件,並在文件中添加以下代碼。 在頭文件中添加以下代碼 //

原创 交叉編譯openssl1.1.1a

交叉編譯openssl1.1.1a ​ 交叉編譯openssl1.1.1a的時候遇到的問題,記錄一下,方便下次查找 一、下載源碼 1.打開openssl官網,下載openssl-1.1.1.tar.gz源碼包。 2.執行下面的命

原创 MySql連接空閒8小時自動斷開引起的問題

MySql連接空閒8小時自動斷開引起的問題 一、問題描述 ​ 最近遇到了一個奇怪的MySql數據庫問題,好幾次前一天晚上歷史數據還正常存儲,第二天早上來了看實時數據存儲還正常,歷史數據不存儲了。找了好久也沒找到問題。後來仔細想了

原创 Typecho博客遷移

Typecho博客遷移 在新的機器上先搭建好一個新的Typecho博客,數據庫名稱和原博客相同(可以省不少事)。 備份原來博客的usr目錄。 備份mysql數據庫,命令: mysqldump -uroot -p --all-da

原创 Centos7搭建LAMP+Typecho博客

Centos7搭建LAMP+Typecho博客 一、安裝Apache的httpd服務 yum install httpd # 安裝httpd服務 systemctl start httpd # 啓動httpd

原创 Sqlite,libevent,openssl,mosquito交叉編譯

Sqlite,libevent,openssl,mosquito交叉編譯 一、設置交叉編譯環境 在makefile所在目錄(或源代碼根目錄)打開終端。 在終端中設置交叉編譯所需的臨時環境變量(也可寫到配置文件中設置爲全局環境變量

原创 C++拷貝控制

C++拷貝控制 一、拷貝控制操作 ​ 當定義一個類時,顯示或隱式地指定了此類型的對象在拷貝、賦值和銷燬時所執行的操作,通過三個特殊的成員函數來控制這些操作,分別是拷貝構造函數,賦值運算符和析構函數。拷貝構造函數定義了當使用同類型

原创 C++深拷貝與淺拷貝

C++深拷貝與淺拷貝 一、淺拷貝及其不足 對於基本類型數據以及簡單的對象,它們的拷貝比較簡單,就是直接複製內存。比如下面的代碼: class Base{ public: Base(): m_a(0), m_b(0){ }

原创 C++重載賦值運算符

C++重載賦值運算符 目錄 一、爲什麼要重載賦值運算符 二、重載賦值運算符 一、爲什麼要重載賦值運算符 ​ 在前面的內容中講解 拷貝構造函數調用的時機 時說明了初始化和賦值的區別:在定義的同時進行賦值叫做初始化,定義完成

原创 C++拷貝構造函數的調用時機

C++拷貝構造函數的調用時機 一、拷貝構造函數調用的時機 ​ 當以拷貝的方式初始化對象時會調用拷貝構造函數,這裏需要注意兩個關鍵點,分別是以拷貝的方式和初始化對象 1. 初始化對象 初始化對象是指,爲對象分配內存後第一次向內存中

原创 C++拷貝構造函數

C++拷貝構造函數 目錄 一、對象的拷貝 二、以拷貝方式來初始化對象的例子 三、拷貝構造函數的定義及使用 四、默認拷貝構造函數 一、對象的拷貝 拷貝和複製是一個意思,對計算機來說就是利用已經存在的數據創建出一份新的和原有

原创 Javascript閉包

閉包嚴格地定義是由函數及其封閉的自由變量組成的集合體,這個定義是不是感覺晦澀那麼懂,那麼就先來看一個例子。 var getCounter = function() { var count = 0; function addCo

原创 插入排序的C、C++實現

一、插入排序 有一個已經有序的數據序列,要求在這個已經排好的數據序列中插入一個數,但要求插入後此數據序列仍然有序,這個時候就要用到一種新的排序方法——插入排序法,插入排序的基本操作就是將一個數據插入到已經排好序的有序數據中,從而得到一個