原创 installgithub-支持斷點續傳下載GitHubDesktop離線安裝文件

用GitHub賬號提交代碼的都希望下載本地客戶端克隆倉庫 https://desktop.github.com/ 可是在天朝用GitHub.exe在線下載安裝這個客戶端實在是太難了 由於不支持斷點續傳 公司千M光纖外帶翻牆都無法成功下載這

原创 [golang]讓golang支持泛型編程的一種方案

本博客原創博文版權所有 @[email protected] 僅供交流學習使用用於商業用途請聯繫原作者  轉載請註明出處:http://blog.sina.com.cn/ally2014 總所周知,golang現在不支

原创 [golang]golang reflect詳細用法整理

本博客原創博文版權所有 @[email protected] 僅供交流學習使用用於商業用途請聯繫原作者  轉載請註明出處:http://blog.sina.com.cn/ally2014   最近在嘗試用Go寫一些東西,發現

原创 用float/double作爲中轉類型的“雷區”

n由於lua用double作爲number類型的底層數據中轉類型。而實際應用中多以int類型作爲函數調用的參數(特別是C實現的API)。因而,double/int/unsigend int之間的數值轉換在接入lua的項目中應用十分廣泛。

原创 慎用頻繁小塊內存申請,讓程序健步如飛

最近碰到一個應用,爲一塊已經載入內存的Tab文件生成一個動態數組用於建立單元格數據索引表。 當然這也算是C vs C++的一個典型例子吧。 由於事先不知道Tab文件的行數和列數,無法預先生成動態數組。 方案1: 首先想到的是遍歷整個文

原创 mysql數據庫存儲引擎讓我崩潰了

好久沒跟數據庫死磕了,這次是真被數據庫死磕了。 windows下沒有任何問題,移植到linux下,老區沒有任何異常情況,新區大量複製裝備,後臺工具運行期間,角色無法正常登陸,服務器顯示運行狀態良好。以前用得蠻好的工具,在新區數據庫才40

原创 Golang反射調用函數

首先,來看看這段 PHP 代碼: view source print? 1 functionfoobar() { 2     echo"Hello Golang\n"; 3 } 4 $funcs= arra

原创 Golang仿函數實現方法及效率測試

在C++ STL中,仿函數(functors)被大量用作改變算法的內在行爲。 由於Golang不支持泛型,所以沒法像C++那樣靈活的使用仿函數。但是Golang有interface,函數是”一等公民”(可賦值給指定類型變量),因此,在G

原创 不要使用有副作用的std.map.[]操作符

map的[]操作符包含隱性操作:當key不存在的時候,會默認執行insert操作 這種隱性操作在大多數情況下是有害的。 比如下面的代碼: // 判斷是否有效技能ID inline BOOL KSkillManager::IsValidSk

原创 linux下用gdb實現程序宕機時自動打印調用堆棧

linux下程序運行幾天莫名其妙宕機了,不能還原現場,找到宕機原因就很無語了。 一個解決辦法是使用core文件,但是對於大型服務器文件,動輒幾百M的core文件是在有點傷不起,於是想到程序宕機時自動打印調用堆棧。簡單實用。 廢話不多說

原创 [golang]從golang中的Slice和strin…

type SliceHeader struct { Data uintptr Len int Cap int } type StringHeader struct {

原创 golang的初始化順序

Init 每個包都可以定義一個或多個init函數2(原型爲 func init()),init函數在包初次 被導入時調用,同一個包內的多個init函數的執行的順序是不定的,而如果這個包又導入了其他的包,則級連調用,所有包import完成