原创 新的一年,需要更多的努力

新的一年,在很多方面仍要繼續努力!   1)算法仍舊需要深入學習 2)Java仍需努力提高,C/C++需要不停的回顧 3)設計模式需要通讀一遍 4)一些開源的類庫需要好好掌握,知其然,知其所以然。     2011,加油!

原创 基於libevent2.0的ministored的http框架--client端

協議啥的都在上一篇日誌《基於libevent2.0的ministored的http框架--server端》說啦,client短還是廢話少說,直接上代碼吧! 包含了put和get的操作以及部分的測試代碼,gcc下編譯可以直接通過!   #i

原创 在http協議中傳輸二進制的數據--base64實現

做Ministored的時候發現一個問題,用http傳輸二進制的數據時,需要將二進制做一下轉化,出現了以下的問題。 簡單概括如下: 1) 不知道傳輸字節的具體長度,如傳輸的int類型,將int類型之間轉爲char以後,丟失掉了長度的信息,

原创 Cassandra的consistency level

在將cassandra的節點配置爲互備以後,某天其中一個節點突然down機了,這個時候發現通過cassandra的thrift api往另外的節點寫數據也沒法成功了。研究了下thrift的api以後,推測估計是跟client的consis

原创 帶你領略 Google Collections 1

原貼地址: http://jubin2002.javaeye.com/blog/471661         Java的集合框架是Java類庫當中使用頻率最高的部分之一,Google公司發起了一個項目,用來擴展Java的集合框架,提供一些

原创 常用設計模式總結--抽象工廠

Abstract Factory ,抽象工廠 抽象工廠是一種創建型方法,所謂工廠,顧名思義就是一個車間,裏面生產各種各樣的組件,既然是抽象的,對應到代碼裏面,就是定義一些抽象的方法,然後在集體的工廠裏面實現。 用傳統的製造業來舉

原创 Cassandra的數據整理

Life is full of accidence, just enjoy it!   人生總是時時充滿意外,在你某個不注意的角落,會給你突然來一下。做爲一個程序猿,很多時候,你的工作就是排雷兵,有時,你去排雷,卻會引爆新的雷。或者哪天你

原创 帶你領略 Google Collections 2

原貼地址: http://jubin2002.javaeye.com/blog/471698   上篇講到google collections的幾個比較主要的點,今天我們來看看其提供的幾個小的但是相當有用的東西。   1,Precond

原创 常用設計模式總結--單立模式

單立模式,singleton 單立模式保證一個類只有一個實例,在java程序中,用static實現起來相對容易。 public class ItnpSearcherDaoFactory {     ... ...       public

原创 Ministored--基於libevent的簡單網絡內存存儲

Ministore做完以後,一直有個想法,給ministore添加一個網絡的接口,這樣ministore就可以可以提供網絡服務,從而能夠提供更多的使用場景。去年寫了一個大概的框架之後,忙於手頭的各種工作,就放在這裏。今年在做代碼整理的的時

原创 Cassandra的互備配置

我們在做存儲的時候,很多時候在都需要考慮災備,一般都採用主備的模式。我們自己在做主備的時候,需要考慮主備直接的同步,這是一個比較頭疼的問題。而利用cassandra做存儲,可以利用cassandr的一些特性,剛好滿足互備的需求。在數據存儲

原创 netstat下time_wait數過多引起的問題

在做ministored 性能測試的時候,需要儘可能快的發送http請求給server端。因此做了一個循環,讓client不停的發送,中間用usleep來控制發送的頻率,最開始的時候usleep的值設置的很小,結果發現很快Server就不

原创 linux下檢查內存泄露的工具--mtrace

最令linux程序員頭疼的莫過於內存泄露了,即使你是在優秀的程序員,你也不能保證所以的malloc操作都有對應的free,那必要的工具就是必不可少的了。在一般的linux發行版中,有一個自帶的工具可以很方便的替你完成這些事,這個工具就是m

原创 常用設計模式總結--生成器模式

Builder ,生成器模式。 Builder 模式將一個對象的創建與表示分離,從而使得相同的創建過程可以創建出不同的表示對象。 仍以汽車工廠舉例,一個汽車集團下面有許多工廠,每個工廠生產出不同的車型。站在集團的層面,其實集團只需要

原创 基於libevent2.0的ministored的http框架--server端

將Ministored從libevent1.4升級到2.0以後,花了兩天額外的時間來做調試這個http的框架。   按照開發的設想,這個ministored支持四個基本的操作put、get、delete、status;在經過幾個版本的改動