Time of Update: 2017-01-18
本文執行個體講述了go的websocket實現原理與用法。分享給大家供大家參考,具體如下:websocket分為握手和資料轉送階段,即進行了HTTP握手 + 雙工的TCP串連RFC協議文檔在:http://tools.ietf.org/html/rfc6455握手階段握手階段就是普通的HTTP用戶端發送訊息:GET /chat HTTP/1.1 Host: server.example.com Upgrade: websocket Connection: Upgrade
Time of Update: 2017-01-18
在本節,我們對Go語言所提供的與鎖有關的API進行說明。這包括了互斥鎖和讀寫鎖。我們在第6章描述過互斥鎖,但卻沒有提到過讀寫鎖。這兩種鎖對於傳統的並發程式來說都是非常常用和重要的。一、互斥鎖互斥鎖是傳統的並發程式對共用資源進行存取控制的主要手段。它由標準庫程式碼封裝sync中的Mutex結構體類型代表。sync.Mutex類型(確切地說,是*sync.Mutex類型)只有兩個公開方法——Lock和Unlock。顧名思義,前者被用於鎖定當前的互斥量,而後者則被用來對當前的互斥量進行解鎖。類型syn
Time of Update: 2017-01-18
myhash.go/** * Created with IntelliJ IDEA. * User: liaojie * Date: 12-9-8 * Time: 下午3:53 * To change this template use File | Settings | File Templates. */package mainimport ( "crypto/md5" "crypto/sha1" "crypto/sha256" "crypto/sha512" "flag"
Time of Update: 2017-01-18
前段時間想做個圖片站,就用手機照了很多相片,但是要一個個用PS去壓縮修改尺寸太麻煩了。最後想到了用golang去實現,算是邊學邊練吧。其中用到了github.com/nfnt/resize這個第三方庫,僅僅支援JPG圖片格式。複製代碼 代碼如下:package mainimport ( "fmt" "github.com/nfnt/resize"
Time of Update: 2017-01-18
本文執行個體總結了Go語言建立、初始化數組的常見方式。分享給大家供大家參考。具體分析如下:Go語言的文法很靈活,以下展示了建立並初始化數組的多種方式:複製代碼 代碼如下://數組初始化的各種方式 func arraySliceTest0201() { //建立數組(聲明長度) var array1 = [5]int{1, 2, 3}
Time of Update: 2017-01-19
先來看一張預覽圖: 廢話不多說,直接上代碼:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:clipChildren="false"> <ImageView
Time of Update: 2017-01-19
複製代碼 代碼如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>
Time of Update: 2017-02-26
標籤:數學 void blank 另一個 double std bsp 注意 函數實現 一、C++編譯模式通常,在一個C++程式中,只包含兩類檔案——.cpp檔案和.h檔案。其中,.cpp檔案被
Time of Update: 2017-02-09
標籤:建議 訪問 之間 imp pascal 單詞 class write 異常 python源碼和其他一些書籍,命名各種個性,沒有一個比較統一的命名規範。於是總結了一些,供參考。模組名:模組應
Time of Update: 2017-01-20
標籤:資料 指令 緩衝 code 講解 blog 簡單 class 定義 //1. 定義一組channelch := make(chan bool) //chan接收類型為bool
Time of Update: 2017-02-15
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。導讀:所有的服務都開始了容器化升級,在一切皆容器的主流思想下,無狀態的服務採用容器化已經是大勢所趨,常常困擾架構師的一個問題是,資料庫是否需要容器化,本文作者 Mikhail Chinkov 提出了自己否定觀點,由高可用架構翻譯。如果我們觀察 2017 年技術行業,容器和 Docker 依然將是最熱門的流行語。我們開始在每個領域的 Docker 容器中打包開發的軟體。從小型初創公司到巨大的微服務平台都在使用容器技術。從 CI
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。一直以來,我都認為在 go 裡面 mock 是非常困難的。不像動態語言或者跑在 VM 上的語言,go 要求在開發的時候就給 mock 介入預留空間,不然測試的時候會不得其門而入。開發的時候需要頭疼的事情可多了,還要求再考慮下可測試性,真有點強人所難。另外第三方庫並不一定給 mock 預留空間,遇到這種情況只能乾瞪眼繞路走。很多時候,無法 mock
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。HMAC-SHA1(基於SHA1雜湊演算法的訊息驗證碼) 是一種鍵控雜湊演算法。 此 HMAC 進程將密鑰與訊息資料混合,使用雜湊函數對混合結果進行雜湊計算,將所得雜湊值與該密鑰混合,然後再次應用雜湊函數。 輸出的雜湊值長度為 160 位。雖然安全雜湊演算法(Secure Hash
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。TODO:一不順眼就換字型Go之應用篇字型,文字的外在形式特徵。就是文字的風格,是文字的外衣。好的字型讓人看得舒服,讓人更有看、寫的慾望哦。2016-11-16 GO官方部落格發布了同名Go字型,並沒有提供下載地址,因為Go字型更多的是應用在image裡面,發布在Golang的擴充包image裡面。我們可以從github下載到。如果訪問不了github可以找我要ttf檔案。GO主要有三種字型Go,Go Medium,Go
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。beego是Golang寫的應用程式開源架構http://beego.me/,我使用`beego`寫了一個項目小項目,golang是編譯語言,需要編譯之後再部署,每次部署到服務上是件很麻煩的事情。就寫了一個自動打包部署到伺服器的指令碼,方便發布部署。##**項目結構**先看看beego項目的結構:beepkg|-- conf| `-- app.conf|-- controllers| `-- default.go|--
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。程式設計語言中,函數Func(Type a,……)直接或間接調用函數本身,則該函數稱為遞迴函式。遞迴函式不能定義為內嵌函式。在數學上,關於遞迴函式的定義如下:對於某一函數f(x),其定義域是集合A,那麼若對於A集合中的某一個值X0,其函數值f(x0)由f(f(x0))決定,那麼就稱f(x)為遞迴函式。package mainimport "fmt"This fact function calls itself
Time of Update: 2017-02-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。## NSQ簡介NSQ 是即時的分布式訊息處理平台,其設計的目的是用來大規模地處理每天數以十億計層級的訊息。NSQ 具有分布式和去中心化拓撲結構,該結構具有無單點故障、故障容錯、高可用性以及能夠保證訊息的可靠傳遞的特徵,是一個成熟的、已在大規模產生環境下應用的產品。NSQ 由 3 個守護進程組成:nsqd 是接收、儲存和傳送訊息到用戶端的守護進程。nsqlookupd
Time of Update: 2017-02-09
這是一個建立於
Time of Update: 2017-02-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。合并slice,跟合并數組一樣,是比較常見的操作。映像中C++運算子多載以後,直接用加號就可以了。Golang果斷不行。先開始用copy解決。func copy(dst, src []Type)
Time of Update: 2017-02-09
這是一個建立於