原创 深度探索觀察者模式

在GOF的設計模式一書中將觀察者定義爲一種對象的行爲模式,又叫做發佈-訂閱模式(Publish/Subscribe)、模型-視圖(Model/View)模式、源-監聽器(Source/Listener)模式或從屬者(Dependents)

原创 基於Struts2+Spring+iBatis的web應用最佳實踐系列之一(自動配置篇)

由於最近有點時間,便想動手寫點東西,其一算是對自己這段時間來項目經驗的一個總結,其二也希望能和大家探討下最佳實踐這個主題。說來也怪,網絡上關於這三個框架的介紹很多,整合的教程也很多,但絕大多數都屬於入門級別,淺嘗則止,對於探討如何在實際項

原创 基於Struts2+Spring+iBatis的web應用最佳實踐系列之四(CRUDL篇)

讓我們首先來看一下什麼是CRUD,CRUD即Create-Read-Update-Delete的英文縮寫,不過筆者還要在這裏加上個L,即List,合起來即CRUDL。CRUDL這種場景或者說模式在絕大部分的應用當中都很常見,那麼,每寫一個

原创 基於Struts2+Spring+iBatis的web應用最佳實踐系列之三(訪問控制篇下)

在本系列的上一篇中我們介紹了一個基於cookie的訪問控制方法,細心的讀者一定會發現,這種方法的實現還是最終基於Struts2的攔截器機制,也就是說它只能保護web應用中的action資源,對於Struts2的應用來說,除了aciton外

原创 基於Struts2+Spring+iBatis的web應用最佳實踐系列之二(訪問控制篇上)

訪問控制對於一個web應用來說幾乎是不可或缺的。當訪問web應用當中的某些資源時,如果你這時還沒有登錄,那麼就會被重定向到登錄頁面,只有在登錄之後纔會被允許訪問。經常上網的朋友對這樣一個場景一定不會陌生。那麼,如何實現對部分訪問受限的ur

原创 Clyde學習筆記三(Config)

在clyde中,幾乎所有的外部資源都是以config的形式存在。每個config都有一個name來唯一標識這個config。ManagedConfig是所有config的基類,它是一個抽象類,定義了一些最基礎的方法,Parameteriz

原创 Clyde學習筆記一(Scope)

Scope相關的接口、類都定義在expr這個包中,官方的說明很簡單,只有一句話:expr - expression evaluation and symbol binding,但scope這個概念卻很重要,可以說是整個clyde框架的核心

原创 Narya性能測試(二)

  本來想用LoaderRunner對Narya的網絡性能再做一次測試,LR的java vuser可以直接用java來編寫測試腳本,本來還是挺方便的,但是不知道爲什麼腳本一跑起來就報這麼個錯:   Error (-17998): Fai

原创 3D MMO Demo

今天終於把Demo搞出來了。

原创 Narya性能測試(一)

Narya是基於NIO的網遊服務器底層通訊引擎,並在其上做了對象的序列化,可以直接做方法的遠程調用。今天有時間測試了下其性能。   測試環境如下   服務器 CPU:Intel Xeon   X3220  2.40GHz 四核 內存:8G

原创 Clyde學習筆記二(CoordIntMap)

CoordIntMap是一個基類爲Map數據結構,是存儲遊戲地圖場景數據的基礎數據結構,在應用中一共涉及到3個類,第一個自然是CoordIntMap,另外還有Coord和Cell,Cell定義在CoordIntMap中,是一個內部類。  

原创 B+樹的Java實現

B+樹的定義:     1.任意非葉子結點最多有M個子節點;且M>2; 2.除根結點以外的非葉子結點至少有 M/2個子節點; 3.根結點至少有2個子節點; 4.除根節點外每個結點存放至少M/2和至多M個關鍵字;(至少2個關鍵字) 5.非葉

原创 基於Java的2D mmorpg開源引擎Threerings系列之三(Invocation Service)

通過前兩篇文章的介紹,大家應該對Threerings框架有了初步的瞭解,前面筆者也提到過客戶端對服務端的請求主要是通過對服務的調用來實現,即InvocationService,這種調用與Java API中的遠程方法調用有點類似。而Thre

原创 理解矩陣(一)

前不久chensh出於不可告人的目的,要充當老師,教別人線性代數。於是我被揪住就線性代數中一些務虛性的問題與他討論了幾次。很明顯,chensh覺得,要讓自己在講線性代數的時候不被那位強勢的學生認爲是神經病,還是比較難的事情。   可憐的c

原创 理解矩陣(三)

這兩篇文章發表於去年的4月。在第二部分結束的時候,我說:       “矩陣不僅可以作爲線性變換的描述,而且可以作爲一組基的描述。而 作爲變換的矩陣,不但可以把線性空間中的一個點給變換到另一個點去,而且也能夠把線性空間中的一個座標系(基)