原创 新的一年,需要更多的努力
新的一年,在很多方面仍要繼續努力! 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;在經過幾個版本的改動