原创 拋體運動問題,45度斜拋和垂直上拋

 import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Paint; import java.awt.ev

原创 sphinx源碼分析之搜索(search)

此處分析用的源碼爲最新版本1.0 beta版的。 //search.cpp int main ( int argc, char ** argv ) 讓我們從程序入口點開始進行旅程。search的入口點在文件search.cpp中,打開後

原创 linux下文件的切分與合併

名稱:split 使用權限:所有使用者 使 用方式:split [OPTION] [INPUT [PREFIX] 說明: 將一個檔案分割成數個。而從 INPUT 分割輸出成固定大小的檔案,其檔名依序爲 PREFIXaa, PR

原创 如何用flex+bison寫語法分析器

http://my.oschina.net/costaxu/blog/107714  背景 這個星期,項目中要使用C++或C語言解析JSON格式的數據,把解析的結果放到一個通用的數據結構。這個通用的數據結構,實際上是作爲we

原创 使用Flex Bison 和LLVM編寫自己的編譯器

http://coolshell.cn/articles/1547.html 使用Flex Bison 和 LLVM編寫你自己的編譯器 原文出處:http://gnuu.org/2009/09/18/writing-your-o

原创 例解 autoconf 和 automake 生成 Makefile 文件

引子 無論是在Linux還是在Unix環境中,make都是一個非常重要的編譯命令。不管是自己進行項目開發還是安裝應用軟件,我們都經常要用到 make或 make install。利用make工具,我們可以將大型的開發項目分解成爲多個

原创 boost 庫 enable_shared_from_this 實現原理分析

使用情景:當類對象被 shared_ptr 管理時,需要在類自己定義的函數裏把當前類對象作爲參數傳給其他函數時,這時需要傳遞一個 shared_ptr ,否則就不能保持 shared_ptr 管理這個類對象的語義(因爲有一個 raw

原创 memory leak & double free如何排查?

本文從自己動手構造一個內存泄露分析工具的方面入手,而不對具體內存排查工具的使用進行說明,以展示內存泄露排查的本質,提供一些思路,當在手頭沒有現成工具可以使用的情況下讓自己不至於那麼的無助,至少我們還可以自

原创 分佈式文件系統:原理、問題與方法

本地文件系統如ext3,reiserfs等(這裏不討論基於內存的文件系統),它們管理本地的磁盤存儲資源、提供文件到存儲位置的映射,並抽象出一套文件訪問接口供用戶使用。但隨着互聯網企業的高速發展,這些企業對數據存儲的要求越來越高,而且模式各

原创 ZMQ性能測試

zeromq是啥玩意兒?通俗地說,ZMQ是一個開源的、跨語言的、非常簡潔的、非常高性能、非常靈活的網絡通訊庫。它的官方網址爲http://www.zeromq.org/ 它的性能非常高,下面是網友給出的幾款常用消息中間件性能比較: 性能

原创 關於大型web服務器的設計思路

  大型網站,比如門戶網站,在海量用戶訪問、高併發請求方面,基本的解決方案是以下幾點:  1、高性能的數據庫(oracle/db2/mysql...)  2、高性能的Web容器(weblogic/apache...)  3、高效率的編程語

原创 說說大型高併發高負載網站的系統架構

我在Cernet做過撥號接入平臺的搭建,而後在Yahoo3721負載搜索引擎前端平臺開發,又在貓撲處理過大型社區貓撲大雜燴的架構升級等工作,同時自己接觸和開發過不少大中型網站的模塊,因此在大型網站應對高負載和併發的解決方案上有一些積累和經

原创 一致性hash算法(consistent hashing)

1 基本場景 比如你有 N 個 cache 服務器(後面簡稱 cache ),那麼如何將一個對象 object 映射到 N 個 cache 上呢,你很可能會採用類似下面的通用方法計算 object 的 hash 值,然後均勻的映射到到

原创 Linux下Makefile的automake生成全攻略

 作爲Linux下的程序開發人員,大家一定都遇到過Makefile,用make命令來編譯自己寫的程序確實是很方便。一般情況下,大家都是手工寫一個簡單Makefile,如果要想寫出一個符合自由軟件慣例的Makefile就不那麼容易了。  

原创 vim插件大全

一、VIM的歷史 1976年左右Bill Joy開發了vi,他也是伯克利大學的畢業生,後來他跟其他人一起成立了Sun Microsystems公司併成爲了Sun的首席科學家。一開始Bill開發了ex,爾後開發了vi作爲ex的visu