原创 程序的一些小優化

        跳槽後才真正接觸了C++,之前囫圇吞棗看了些C++的書,但是發現真正在項目使用時,很多地方都有改進的地方。 1.vector的resize:         場景是這樣的,客戶端向服務器發起查詢符合某個條件的數據庫記錄的

原创 nginx變量機制

初識變量 前面曾講過nginx配置文件的解析過程,也就是nginx如何在啓動的過程中對用戶設定的配置文件進行解析,並將配置文件中的各個配置項與配置值轉換爲對應的nginx內部變量值,從而能讓nginx按照用戶預想的情況去運行。 如果

原创 如何從海量日誌中提取訪問最多的10個IP

算法思想:分而治之+Hash 1、IP地址最多有2^32=4G種取值情況,所以不能完全加載到內存中處理; 2、可以考慮採用分而治之的思想,按照IP地址的Hash(IP) % 1024的值,把海量IP日誌分別存儲到1024個小文件中,這樣

原创 紅黑樹的C++實現(2)

        因爲紅黑樹首先是二叉所搜樹,所以有了二叉搜索樹的實現,我們就可以重用部分二叉搜索樹的類的接口了,rbt.h: #ifndef __RBT_H__ #define __RBT_H__ #include "bst.h"

原创 提高程序運行效率的10個簡單方法

轉載自:http://chuansong.me/n/1013527,有修改。     對於每一個程序員來說,程序的運行效率都是一個值得重視,併爲之付出努力的問題。但是程序性能的優化也是一門複雜的學問,需要很多的知識,然而並不是每個程

原创 SPS/PPS/IDR

H.264碼流第一個 NALU 是 SPS(序列參數集Sequence Parameter Set) 對應H264標準文檔 7.3.2.1 序列參數集的語法進行解析 H.264碼流第二個 NALU 是 PPS(圖像參數集Pic

原创 對nginx上傳文件的第三方實現nginx-upload-module的修改

        nginx官方推薦的第三方上傳模塊nginx-upload-module在nginx-1.3.9後已經不能編譯通過,究其原因是因爲nginx-1.3.9廢棄了ngx_http_request_body_t中的to_wri

原创 open /dev/kvm: Permission denied的解決辦法

    一直使用Debian的虛擬機功能用的好好的,今天上午提示有軟件更新,是libvirt相關的,知道是關於虛擬化的軟件,習慣性地就更新了。下午有點東西需要寫文檔,由於LaTeX之類的編輯軟件一直沒時間學習,所以還是求助於Word,於

原创 用Redis的set指令實現鎖

        本文參考了http://huoding.com/2015/09/14/463。         我們知道,現在的Redis實現加鎖的方法比較簡單,直接調用Redis的set指令: $redis->set($key, $

原创 如何判斷鏈表中是否有環

1.如何判斷鏈表是否有環?如果有兩個頭結點指針,一個走的快,一個走的慢,那麼若干步以後,快的指針總會超過慢的指針一圈。 2.如何計算環的長度?第一次相遇(超一圈)時開始計數,第二次相遇時停止計數。 3.如何判斷環的入口點:相遇點到

原创 支持POST方式的webbench

        webbench是一款輕量級的web服務器壓力測試工具,目前網上能找到的最新版本是webbench-1.5,原作者已經於2004年停止維護。         webbench採用一個父進程fork出多個子進程的方式對目標

原创 數據庫分庫和分表

先mark,週末再整理: http://zhengdl126.iteye.com/blog/419850

原创 加載動態鏈接庫的相關接口dlopen,dlsym和dlclose等

nginx從1.9.11開始,支持運行時動態加載模塊了,瀏覽了下代碼實現,在類unix系統上是用dlopen,dlsym和dlclose實現的。下面看看這幾個函數的功能。   dlopen 功能: 打開一個動態鏈接庫。 包含頭文件: