原创 epoll使用詳解[轉載]
epoll - I/O event notification facility在linux的網絡編程中,很長的時間都在使用select來做事件觸發。在linux新的內核中,有了一種替換它的機制,就是epoll。相比於select,epo
原创 從彙編角度看C++模板
1. 模板函數 模板函數定義的就是一種函數。既然是函數,那麼就有輸入數據和輸出數據。和模板類的概念差不多,模板函數的初衷也是爲了在函數操作上抽取共同的特性,屏蔽的是類型的不同和差異。
原创 物理IO與邏輯IO
IO性能對於一個系統的影響是至關重要的。一個系統經過多項優化以後,瓶頸往往落在數據庫;而數據庫經過多種優化以後,瓶頸最終會落到IO。而IO性能的發展,明顯落後於CPU的發展。Memchached也好,NoSql也好,這些流行技術的背
原创 最簡單的平衡樹(紅-黑樹)的實現
在二叉搜索樹(BST)的基礎上,要實現一顆平衡樹,可以使用2-3樹的方式,2-3樹的直接實現,相對比較複雜 ,因此算法的研究者們提出了紅-黑樹的實現方式。 package com.test; public class RedBla
原创 從c面向對象的實現理解c++的對象(二)
1. 類就可以看作一個struct,類的方法,可以理解爲通過函數指針的方式實現的,類對象分配內存時,只分配成員變量的,函數指針並不需要分配額外的內存保存地址。 2. c++中類的構造函數,就是進行內存分配(malloc),調用構造函數
原创 linux c時間操作相關函數
1. linux c的時間操作的函數關係圖如下: 2. strftime時間格式化的說明如下: specifier Replaced by Example %a Abbreviated weekday name * Thu
原创 A tcpdump Tutorial and Primer[reproduced]
tcpdump is the premier network analysis tool for information security professionals. Having a solid grasp of this über
原创 使用 GNU Libtool 創建庫[轉載]
介紹 在不同的系統中建立動態鏈接庫的方法有很大的差別,這主要是因爲每個系統對動態鏈接庫的看法和實現並不相同,以及編譯器對動態鏈接庫支持的選項也不太一樣。對於開發人員,如果嘗試將使用動態庫的軟件在這些系統之間移植,需要參考枯澀難懂的系統手
原创 c內存操作感悟(2)
不從分配的地址開始訪問, 希望跳過一些字節, 怎麼處理? 如下一段代碼正確麼(假設文件名爲test.c)? #include <stdio.h> #include <stdlib.h> int main(void) { vo
原创 聽吳軍博士的"機器智能與未來世界"講座的一點筆記
1. 摩爾定律(機器計算速度已經越來越快), 大數據(有了數據), 數學模型, 三者加在一起, 能起到質的變化 2. 大數據: 不僅僅是量大, 不僅僅是結構化與非結構化的區別, 需要多維度的數據(例如一個人的細胞, 數據量很大,
原创 字符集編碼與 C/C++ 源文件字符編譯亂彈[轉載]
最近在看國際化編程 (i18n: internationalization) 的東西,也弄清楚了點字符集有關的一些問題,其實網上的一些牛人已經將字符集、Unicode 等相關的問題說的很清楚了,我在這裏引用他們的總結並自己小結一下心得
原创 Spy on Yourself with tcpdump[轉載]
As a network administrator, you've got to cultivate a certain amount of professional paranoia. tcpdump indulges your n
原创 Keyspace中的paxos [轉載]
1. Keyspace Keyspace是一款基於Paxos的開源Key-Value的數據庫,底層存儲基於BerkelyDB,Keyspace的核心功能是在 BerkelyDB之上添加了一致層,保證每個節點的數據完全一致。Keyspac
原创 正確地組織python項目的結構 [轉載]
統一的項目結構 寫了不少python項目後, 越來越認識到Python項目結構重要性. 不管項目是否要開源, 是否要提交pypi, 項目結構的一致性帶來的好處還有很多: 多人合作開發大家都有個基本的guideline, 別人日後維護也
原创 c語言查詢mysql示例
1.安裝mysql-server,在Ubuntu 10.04下安裝mysql-server-5.1,會自動安裝mysql-client_5.1 sudo apt-get install mysql-server-5.1 2.C API