Time of Update: 2018-12-04
Social Game伺服器開發隨筆 前幾天看了一篇部落格ScalingFarmVille,其中談到了一種伺服器設計的理念。FarmVille是由著名的social game電訊廠商zynga開發的。這款遊戲創造了750萬人月活躍的驚人成績,做為同行的我當然要關注一下。 從畢業開始到現在做socialgame有7個月的時間了,先說說我自己的體驗。要完成一款成功的Social game對於伺服器開發人員來說有很大的挑戰。從social
Time of Update: 2018-12-04
這個話題還得追述到去年的畢業設計,我基於lemur開發了一個檢索實驗工具。現在看來,當時的程式不過是個簡陋的玩具而已(Lemur本身更像是一個來自學院的玩具),不過我還是希望這個工具真的能夠協助更多的人瞭解搜尋,協助更多的學生更快的搞定論文,協助更多的……不管怎麼樣,我就是希望自己的畢業設計論文以及程式不會變成資源回收筒裡的垃圾。曾經貼出過一些當時寫的一些關於lemur的小文章,不過後來覺得排版缺乏美感而且圖片無法正常顯示,就刪了,想整理一下一起貼出來。但是後來急匆匆的就畢業了,後來急匆匆的就上
Time of Update: 2018-12-04
黑白膠片 2010年南非世界盃的號角即將吹起,距離6月11日揭幕戰的時間已經越來越短了,內心中自然充滿了期待。提起世界盃,心中就會充滿熱情,這種感情是五大聯賽甚至本周末的歐冠決賽都無法比擬的。所以,與其說我是球迷,不如說是個世界盃迷,至今我對於足球最最深刻的回憶也多是來自世界盃。 記得剛剛開始喜歡上足球還要追溯到1998年法國世界盃,那時正在上小學的我第一次真正的感受到了足球的魅力。雖然十多年過去了,但是說起那屆世界盃,仍然有很多畫面讓我至今難忘。
Time of Update: 2018-12-04
尋找: 在Vector中尋找元素,可以通過find_if快速實現,但是需要先定義運算元 class CIDCompare : unary_function { public: CIDCompare(DWORD dwUserID_) { m_dwUserID = dwUserID_; } bool operator()(const TINFOVECTOR::value_type &vValue_) const { return
Time of Update: 2018-12-04
轉述張濤之所著《解密大清社會:紅樓韻事》 本書以獨特的視角、犀利的筆觸,對中國古典名著《紅樓夢》中的愛情婚姻、人情世故、家族興衰、權力運作、風俗流變、道德與法等問題進行了深度解析,揭示了紅樓社會中人與人之間錯綜複雜的關係,破解了許多未解之謎,生動展現了清朝社會各階層生活中的潛規則。 紅樓中的男人們基本不會作詩,或是沒有見過他們作詩。賈赦作過詩嗎?沒有。賈政作過詩嗎?沒有。賈政的本事是只會罵寶玉。每當寶玉作一首詩或作一副對聯時,賈政總是呵斥一番。你個臭小子,寫的什麼亂七八糟的東西。賈政有一次觸
Time of Update: 2018-12-04
在網上看到很多朋友對Shallow Copy,Deep Copy,Bitwise Copy和Memberwise Copy這4者之間的關係的理解多有混淆,Stanley Lippman的“Inside the C++ Object Model”的講解也比較晦澀難懂。玄機逸士在此給出一個簡單的、明確的說明:)。請各位碩學高賢指正。 Java中的Clone也有淺複製和深複製之分,分別對應C++中的淺拷貝和深拷貝。 Shallow Copy = Bitwise Copy,Deep Copy =
Time of Update: 2018-12-04
解密大清社會:紅樓韻事作者:張濤之有幾篇被 CSDN
Time of Update: 2018-12-04
下面總結兩種迭代方法:三分法和牛頓迭代1.三分法二分法作為分治中最常見的方法,適用於單調函數,逼近求解某點的值。但當函數是凸性函數時,二分法就無法適用,這時三分法就可以大顯身手。 如下凸函數:類似二分的定義left和rightmid1 = (left + right) / 2mid2 = (mid2 + right) / 2如果mid1靠近極值點, left = mid1如果mid2靠近極值點, right = mid2三分的原理就是每次搜尋去掉2/3程式模版如下:double
Time of Update: 2018-12-04
Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955背包;第一次做的時候把機率當做背包(放大100000倍化為整數):在此範圍內最多能搶多少錢 最腦殘的是把總的機率以為是搶N家銀行的機率之和… 把狀態轉移方程寫成了f[j]=max{f[j],f[j-q[i].v]+q[i].money}(f[j]表示在機率j之下能搶的大洋);正確的方程是:f[j]=max(f[j],f[j-q[i].money]*q[i].v)
Time of Update: 2018-12-04
按鈕是Android介面編程中最常用到的Widget之一。很多時候,為了美觀應用程式的介面,覺得Android預設提供的按鈕不能滿足需要,因此在這樣的時候,就需要定製按鈕,比如修改按鈕的顏色等等。下面我們通過一個實際的例子,來說明定製按鈕的大致過程。1.
Time of Update: 2018-12-04
樹狀數組是對一個數組改變某個元素和求和比較實用的資料結構。兩中操作都是O(logn)。 傳統數組(共n個元素)的元素修改和連續元素求和的複雜度分別為O(1)和O(n)。樹狀數組通過將線性結構轉換成偽樹狀結構(線性結構只能逐個掃描元素,而樹狀結構可以實現跳躍式掃描),使得修改和求和複雜度均為O(lgn),大大提高了整體效率。給定序列(數列)A,我們設一個數組C滿足C[i] = A[i–2^k+ 1] + … +
Time of Update: 2018-12-04
背景:最近我在Groupon公司的一項新職務是為公司招募優秀的開發人員。我是GrouponTeam
Time of Update: 2018-12-04
如何行政時間?(重要的事,指的是重要並且影響深遠的事。) 第一流程:1,搜集:把你一段時間的使用方式,統計出來。如果你有秘書,那秘書是做這件事情的最佳人選。2,分析:哪些時間用在了不必做的事情上,哪些事情是應該委派他人代替你做的。3,管理:養成良好的習慣,不做或少做不必做的事情,適當委派他人完成一些工作。4,騰挪:合理安排,把大段的時間空出來,把黃金狀態的時間空出來,做重要的事。 第二流程:1,搜集:把你要做的和想做的事情全部寫下來。2,組織:分四大類:重要並且緊急,重要不緊急,不重要但緊急,不
Time of Update: 2018-12-04
今天遇到一個很讓人鬱悶的問題…… 因為需求的一點變動,導致我們需要修改一下伺服器端的程式碼。我們在linux環境下使用boost:asio編寫底層的網路程式,用python來 處理遊戲邏輯以及對於memcached、mysql等資料存放區系統的操作。我只是負責C++代碼的編寫,C++與python介面之間的調用方式以及 其它的一些操作並不是由我來完成的。我按照需求,把原始碼在自己的機器上修改了一下,其實僅僅是幾行語句的修改,並沒有什麼大的問題。在我的機器上成功
Time of Update: 2018-12-04
第一種方法,大家會藉助第三個變數來實現:如:C=A;A=B;B=C;這種方法需要藉助第三變數來實現;第二種方法是利用加減法實現兩個變數的交換,如:A=A+B;B=A-B;A=A-B;第三種方法是得用位異或運算來實現,也是效率最高的一種,在大量資料交換的時候,效率明顯優於前兩種方法,如:A=A^B;B=A^B;A=A^B;原理:利用一個數異或本身等於0和異或運算子合交換率。
Time of Update: 2018-12-04
初始化列表 SHFILEINFO rInfo; HIMAGELIST hImglist; hImglist = (HIMAGELIST) SHGetFileInfo ( L"", 0, &rInfo, sizeof(SHFILEINFO), SHGFI_ICON | SHGFI_SMALLICON | SHGFI_SYSICONINDEX ); m_cFileImages.Attach(hImglist);
Time of Update: 2018-12-04
文章目錄 bitsetvector<bool>總結Listing 1 - bitset_iterator, an iterator adaptor class for std::bitset CUJ:標準庫:bitset和bit vector (轉)The Standard Librarian: Bitsets and Bit VectorsMatt Austernhttp://www.cuj.com/experts/1905/
Time of Update: 2018-12-04
開發對戰平台的時候,需要擷取並計算ping值。這時候GetTickCount就顯得精度不夠了,很多時候得到的ping值是0。所以有了下面這個函數:static DWORD GetTimeCount() { static bool init = false; static bool hires = false; static __int64 freq = 1; if(!init) { hires =
Time of Update: 2018-12-04
位操作就是人和電腦處理方式不同的體現,有些人認為這個東西有些BT,但其實非常高效的程式大多都是用位操作最佳化,因為它十分底層,速度極快。其實位操作也有他自己獨特的性質,只要我們能熟練得掌握,就可以更好得駕馭我們的程式,這也是我轉此帖的目的。PS:不要把注意力集中在語言上,所有語言都是一樣的,只是工具而已。什麼是位元運算? 程式中的所有數在電腦記憶體中都是以二進位的形式儲存的。位元運算說穿了,就是直接對整數在記憶體中的二進位位進行操作。&與 |或 ~非
Time of Update: 2018-12-04
首先,我想說的就是,我是一個很普通的ACMer,高中沒有參加過任何電腦和數學競賽的經曆,也沒有ben那樣過人的天資,努力至今也未能取得什麼成績,我之所以寫下這篇文章,只是希望給剛進大學或者剛進ACM隊的同學一點小小的協助,希望你們可以少走一些彎路,更希望你們可以協助華理取得我沒能取得的輝煌。(1).起步階段我是從大二開始接觸ACM的,要說基礎的話就是大一的C語言課程了,語言方面的基礎也弱,不過ACM起步階段對於語言的要求並不是太高,只要掌握了學校C語言的課程,基本就可以開始你ACM的曆程了,不過