原创 用libevent實現httpserver

最近工作中需要實現一些審計功能,軟件是服務器端程序,對於展示來說,在瀏覽器上能直接查看可能是最直接最友好的方式了,libevent中提供了http模塊,正好我們的軟件也依賴這個,所以決定用它來實現一個httpserver,用來展示相關數據

原创 Oracle:TNS數據傳輸協議-基礎篇

簡介 TNS協議是ORACLE服務端和客戶端通訊的協議。目前有許多版本,並且大部分向下兼容。我們主要在Oracle 11g的版本上研究客戶端和服務端之間的傳輸協議。網絡上關於TNS協議的介紹資料比較少,畢竟它不是開源的數據庫,但研究的

原创 Oracle:TNS數據傳輸協議-進階篇

工作流程 前面介紹了TNS協議數據包的基礎結構,在對最基礎的通信包結構有了一定了解後,有必要對整體工作流程有一定的認識。下面是一個應用程序到Oracle數據庫的流程圖。 從圖中可以看出,我們研究的TNS數據傳輸協議是在Orac

原创 Oracle 數據庫監控

前言 Oracle數據庫歷史悠久,自身性能非常出色,因此有非常多的基於Oracle數據庫的應用程序,支撐着各行各業的各種業務。在遇到性能問題時,雖然可以找到非常好的DBA進行數據庫後端的性能優化,但如果能瞭解應用做出合適的建議,則可以更上

原创 大規模Redis集羣解決方案

1.爲什麼要使用Redis集羣 一般的,爲了提升網站及其他網絡應用的響應能力,會將經常訪問的數據進行緩存起來,而不是直接從後端數據庫裏面進行讀取。而目前市場上,Redis則是Cache的一個很好的解決方案,使用和部署很簡單,性能也非常不錯

原创 Redis 通訊協議分析

1.協議簡介 Redis的客戶端與服務端採用一種叫做 RESP(REdis Serialization Protocol) 的網絡通信協議交換數據。 這種協議採用明文傳輸,易讀也易解析。Redis客戶端採用此協議格式來對服務端發送不同的命

原创 快速理解大小端

什麼是大端,什麼是小端 所謂的大端模式,是指數據的低位保存在內存的高地址中,而數據的高位,保存在內存的低地址中。所謂的小端模式,是指數據的低位保存在內存的低地址中,而數據的高位保存在內存的高地址中。 通俗點:對於數字0x1234,按大端

原创 C++ 互斥量的封裝

貢獻自己寫的部分代碼,希望能幫助到有需要的人。 代碼可以在Windows/Linux下運行,可以作爲一個基礎類。 頭文件 mutex.h #ifndef MUTEX_H #define MUTEX_H #ifdef WIN3

原创 SQL Server 中間件

簡介在開發完Oracle中間件後,軟件已成功上線使用並趨向穩定成熟。它主要以SQL審計、數據庫訪問控制、防範異常SQL攻擊、保護敏感數據等爲主,並能極大減少數據庫攻擊行爲和違法操作,提高數據庫安全,保護企業內部數據的合法使用。軟件上線後

原创 Windows 下編譯 OpenSSL

編譯準備 1.編譯器(我用的VS2010) 2.ActivePerl 3.openssl-1.0.1s 步驟 1.進入VS2010控制檯模式 開始菜單->所有程序->Microsoft Visual Studio 2010->Vis

原创 C++ 線程的封裝

貢獻自己寫的部分代碼,希望能幫助到有需要的人。 代碼可以在Windows/Linux下運行,可以作爲一個基礎類。 頭文件 #ifndef THREAD_H #define THREAD_H class ThreadPrivate;

原创 Oracle 數據庫啓動與停止

啓動 su - oracle  sqlplus /nolog  conn /as sysdba  startup  exit  lsnrctl start  exit  停止 su - oracle  sqlplus /nolog 

原创 qmake - 快速生成makefile

簡介 qmake是Qt框架庫附帶的一個工具,是一個協助簡化跨平臺開發的構建過程的工具之一。它能夠自動生成各個平臺下面的Makefile。不管源代碼是否是用Qt寫的,都能使用qmake來生成Makefile,因此它很方便的用於很多軟件的構建

原创 Makefile.am 介紹

1.概念 Makefile.am是比Makefile更高層次的規則只需要指定要生成什麼目標,依賴於什麼文件,和要安裝到什麼目錄。automake會根據Makefile.am來自動生成Makefile.in 。 2.基本語法 Make

原创 Linux epoll 用法

前言 早期linux網絡編程中,很長一段時間用的是 select 來監聽事件。在linux 2.6內核中,已經有了一種新的機制,即epoll。和 select 模型對比,epoll 最大的好處在於它不會隨着監聽的文件描述符數目的增長而降低