Time of Update: 2015-05-19
標籤:一、序列化和還原序列化的概念 把對象轉換為位元組序列的過程稱為對象的序列化。 把位元組序列恢複為對象的過程稱為對象的還原序列化。 對象的序列化主要有兩種用途: 1) 把對象的位元組序列永久地儲存到硬碟上,通常存放在一個檔案中; 2) 在網路上傳送對象的位元組序列。 在很多應用中,需要對某些對象進行序列化,讓它們離開記憶體空間,入住物理硬碟,以便長期儲存。比如最常見的是Web伺服器中的Session對象,當有
Time of Update: 2015-05-19
標籤:Android的UI更新只能在UI線程中,即主線程。子線程中如果要進行UI更新,都是要通知主線程來進行。幾種實現方式總結如下,歡迎補充。1、runOnUiThread()子線程中持有當前Activity引用(假如為Activity mActivity;),即可以調用mActivity的runOnUiThread(Runnable r)方法。2、post()和postDelay()子線程如果持有某個View的引用,要對該View進行更新,則可調用該View對象的post(Runnable
Time of Update: 2015-05-19
標籤: 1 package main 2 3 import ( 4 "os" 5 "os/exec" 6 "fmt" 7 "flag" 8 "strings" 9 )10 11 func main() {12 command := flag.String("cmd", "pwd", "Set the command.")13 args := flag.String("args", "", "Set the args. (separated by spaces)")1
Time of Update: 2015-05-19
標籤:Go語言中隱式介面的衝突問題 Go語言中採用的是隱式介面, 只要滿足的介面的定義, 就可以當作介面使用. 比如內建的 error 介面: type error struct {Error() string} 隱式介面的好處有很多. 但我個人覺得最主要的一點就是不需要再去畫祖宗八代的繼承關係圖了(松耦合). 但是隱式介面會帶來衝突問題. 簡單來說, 我也想定義一個自己的 MyError 介面, 裡面也有一個 Error() string 方法: type MyError struct
Time of Update: 2015-05-19
標籤:winsock 收發廣播包?廣播包的概念廣播包通常為了如下兩個原因使用:1 一個應用程式希望在本網中找到一個資源,而應用程式對於該資源的地址又沒有任何先驗的知識。 2
Time of Update: 2015-05-19
標籤:原文1.類比鍵盤事件System.Windows.Forms.SendKeys以下是 SendKeys 的一些特殊鍵代碼表。 鍵 代碼 BACKSPACE {BACKSPACE}、{BS} 或 {BKSP} BREAK {BREAK}
Time of Update: 2015-05-19
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Go語言中隱式介面的衝突問題 Go語言中採用的是隱式介面, 只要滿足的介面的定義, 就可以當作介面使用. 比如內建的 error 介面: type error struct {Error() string} 隱式介面的好處有很多. 但我個人覺得最主要的一點就是不需要再去畫祖宗八代的繼承關係圖了(松耦合). 但是隱式介面會帶來衝突問題. 簡單來說, 我也想定義一個自己的 MyError 介面, 裡面也有一個 Error()
Time of Update: 2015-05-19
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。買來《Go
Time of Update: 2015-05-19
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。原文 http://peter.bourgon.org/go-kit/The modern enterprise當我們聽到 企業(enterprise)這個詞的時候,往往會聯想到老派,緩慢, 繁文褥節等名詞,就比如 IBM HP 甚至紅帽這樣的公司,他們已經在長達數十年的時間內成為科技行業的領導者。現在,一些如 Google Amazon Twitter,Netflix,Facebook,Spotify,乃至
Time of Update: 2015-05-19
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。今晚簡單擼了一個,感覺蠻簡潔實用,可以 share 出來mux_filter.go123456789101112131415161718192021222324252627282930313233343536373839package utilsimport ( "net/http" "github.com/gorilla/mux")var router *mux.Routertype
Time of Update: 2015-05-19
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。效能,HA (高可用),營運等等 「對於一個設計良好的分布式系統來說,單機效能從來不是一個問題 」—— 我第一篇文章就說了,Codis 採用了 Proxy 的方案,所以必然會帶來單機效能的損失,經測試,在不開 pipeline 的情況下,大概會損失 40% 左右的效能,但是 Redis 本身是一個快得嚇人的東西,即使單機損失了 40% 仍然是一個很大的數字。另外一個比較好的地方是,Codis
Time of Update: 2015-05-19
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。最近開源了 Codis,在 Github 上的反響挺不錯的,3天已經收集到了 1000 多 stars, 讓我比較吃驚。也從側面說明了確實分布式緩衝是大家都會遇到的問題。於是我打算在本篇和接下來的幾篇 Blog 詳細說明一下 Codis 的設計和一些背後的考慮,以及對於分布式儲存(尤其是緩衝)系統的一些思考。Why proxy?Codis 的架構採用了 Proxy-based 的設計,沒有走官方 Cluster 的路,官方的
Time of Update: 2015-05-19
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。想必大家都用過 Go 標準庫中的 flag 包, 這個是一個十分好用的命令列參數解析庫, 但是標準庫中並沒有關於設定檔解析的包, 官方一般是使用 json 作為設定檔的, 但是對於一些比較簡單的情況, 沒有複雜的嵌套的情況, 使用 json 作為設定檔, 書寫起來還是有點麻煩 (主要是花括弧和冒號引號什麼的).於是, 正好有一個項目需要實現一個讀取ini設定檔的模組, 我就按照類似 flag 的 api 寫了一個 ini
Time of Update: 2015-05-19
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mainimport ( "fmt" "io/ioutil" "net/http" "os" "strings")func GET() { client := &http.Client{} reqest, err := http.NewRequest("GET",
Time of Update: 2015-05-19
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。歡迎關注go語言公眾號 每日go語言 golang_everyday go中map用於儲存健值對。map格式:map[KeyType]ValueType 聲明一個map,鍵為字元型,值為int型:m := make(map[string]int) map中添加值:m["a"] = 1 擷取map中值:fmt.Println(m["a"])輸出結果:1 擷取值同時判斷是否存在該值v,exists :=
Time of Update: 2015-05-19
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。本文以 Windows 7 64 位元為環境,go1.4.2.windows-amd64 和 liteidex27.2.1.windows-qt5 為例。 成功搭建開發環境後,發現 LiteIDE 沒有代碼智能提示,這極為不方便啊~ 在 Github nfs/gocode 下載 gocode 原始碼,重新編譯成 exe 檔案,覆蓋 LiteIDE 的就行。 1,將下載的 gocode-master 解壓,我放在了 C:
Time of Update: 2015-05-19
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。本文內容 概述 Go SDK LiteIDE 參考資料 2009年Google推出了它的第二個開源語言 Go。對 Go 的評價褒貶不一,中國比國外的熱情高中國比國外的熱情高。Go 天生就是為並發和網路而生的,除了這點外,在靜態編譯、GC、跨平台、易學、豐富的標準庫等,其實並不如 C/C++、Java、C#、Python。由此可想而知,為什麼會出現 Go?以及為什麼 Go
Time of Update: 2015-05-19
這是一個建立於
Time of Update: 2015-05-19
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1、安轉go的環境,exe安裝包2、下載liteide27.2.13、開啟liteide開始開發,在裡面添加gopath,無法讀取windows裡面的gopath設定,不知道什麼原因,以管理員運行也沒有效果發現不使用網路的庫是沒有問題的但是一旦使用github.com上面的庫檔案就出現無法下載4、安裝git5、cmdgo env發現gopath為空白set
Time of Update: 2015-05-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。sudo taskset -c 1 ./wrk -c1 -t1 -d30 http://localhost/hellowrk+nginx(helloworld module) sudo taskset -c 0 sbin/nginx nginx: cpu:76% wrk: cpu:70% Running 30s test @ http://localhost/hello 1 threads