Time of Update: 2017-02-10
這是一個建立於
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。https://micro.github.io/micro/概要Micro的目標是提供一種用於微服務的開發和管理的工具包特性FeatureDescriptionDiscoveryFind running servicesClientQuery services via RPCServerListen and serve RPC requestsPub/SubPublish and subscribe to eventsAPI
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。單例模式是一種常用的軟體設計模式。在它的核心結構中只包含一個被稱為單例類的特殊類。通過單例模式可以保證系統中一個類只有一個執行個體而且該執行個體易於外界訪問,從而方便對執行個體個數的控制並節約系統資源。如果希望在系統中某個類的對象只能存在一個,單例模式是最好的解決方案。1.Go實現非安全執行緒的單例模式(懶漢 就是很懶的單例 哈哈):package singletontype singleton struct {}var
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。寫go有一段時間了,雖然也能完成一些api的和一些功能的開發。但是離成為一名真正的Go 開發人員還很遠。今天就總結下Go語言中的錯誤處理吧。對於初學者來說很重要。Go語言中延遲函數defer充當著 try…catch 的重任,使用起來也非常簡便,然而在實際應用中,很多gopher並沒有真正搞明白defer、return和傳回值之間的執行順序,從而掉進坑中 。匿名傳回值的情況:package mainimport
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package main import ("fmt""time") func main() {//擷取時間戳記timestamp := time.Now().Unix()fmt.Println(timestamp) //格式化為字串,tm為Time類型tm := time.Unix(timestamp, 0)fmt.Println(tm.Format("2006-01-02 03:04:05
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。讀excel操作import ( "fmt" "github.com/tealeg/xlsx")func main() { excelFileName := "這裡是excel的路徑" xlFile, error := xlsx.OpenFile(excelFileName) if error != nil { ... }
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Go語言保留著C中值和指標的區別,但是對於指標繁瑣用法進行了大量的簡化,引入引用的概念。所以在Go語言中,你幾乎不用擔心會因為直接操作內寸而引起各式各樣的錯誤。Go語言的指標,基本上只剩下用於區分 byref 和 byval 語義。首先看個簡單的例子package mainimport "fmt"func zeroval(ival int) { ival = 0}func zeroptr(iptr *int)
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Go語言革命性地在靜態開發語言陣營中率先提供了多傳回值功能。這個特性讓開發人員可以從原來用各種比較彆扭的方式返回多個值的痛苦中解脫出來,既不用再區分參數列表中哪幾個用於輸入,哪幾個用於輸出,也不用再只為了返回多個值而專門定義一個資料結構。package mainimport "fmt"func vals() (int, int) { return 3, 7}func main() { a, b :=
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Docker 使用中的一些最佳實務 本文將記錄: 在使用 Docker 的過程中整理出來的最佳實務。 其他 Docker 使用者發布的(可能會是翻譯過來的,全部附帶原始連結)經過驗證的最佳實務。所以,本文將長期更新。Docker 安裝相關如果安裝完成後使用 docker 時出現下面的錯誤:> Cannot connect to the Docker daemon. Is 'docker -d'
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Docker - 小李飛刀般的虛擬化解決方案 Docker 介紹Docker 是一個可以讓開發人員、系統管理員建立、分發並最終運行應用程式的開放平台。它使用 Google 的 Go 語言開發,並在 Github 上開源。作為輕量級的作業系統虛擬化解決方案,Docker 現在受到了越來越多的關注和使用,特別是RedHat,Ubuntu以及Google 都宣布官方支援 Docker,更讓 Docker
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mainimport "fmt"// Here's a function that will take an arbitrary number// of `ints` as arguments.func sum(nums ...int) {fmt.Print(nums, " ")total := 0for _, num := range nums {total += num}
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。range函數是個神奇而有趣的內建函數,你可以使用它來遍曆數組,切片和字典。當用於遍曆數組和切片的時候,range函數返回索引和元素;當用於遍曆字典的時候,range函數返回字典的鍵和值。package mainimport ( "fmt")func main() { // 這裡我們使用range來計算一個切片的所有元素和 // 這種方法對數組也適用 nums := []int{2, 3,
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。首先通過go get 安裝mongo的依賴庫server1.example.com 更改為你MongoDB的IP地址go get gopkg.in/mgo.v21go get gopkg.in/mgo.v2Example:package mainimport ( "fmt""log" "gopkg.in/mgo.v2" "gopkg.
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1).原始碼安裝go語言Go的工具鏈採用C語言編寫,要構建它,你需要安裝一個C編譯器,本例採用gcc工具; 進入linux 終端,輸入命令列sudo apt-get install build-essentialGo使用Mercurial進行版本管理,首先你必須安裝了Mercurial,對於 Ubuntu/Debian 系統先安裝easy_install;sudo apt-get install
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Go語言簡介Go語言(golang)是Google推出的一種全新的程式設計語言,可以在不損失應用程式效能的情況下降低代碼的複雜性。Google首席軟體工程師羅布派克(Rob
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Mac OS 平台使用 Python 和 Docker 建立測試用 Https Server Flask 是我很喜歡的 Python Web Framework,最近需要測試 Https 通訊,需要建立一個使用自我簽署憑證的 Https Server,那麼用 Flask 可以這樣通過下面的步驟非常方便地實現。自我簽署憑證使用 OpenSSL 產生 .key 私密金鑰檔案和 .csr Certificate Signing
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Dockerfile 最佳實務 WhyDocker 作為非常優秀的輕量級 PaaS 解決方案,得到了主流雲端服務平台的先後支援,配合 Docker Registry Hub 提供高品質的 Docker Image 以及 Fig 進行 Containers 的管理,吸引了全球的開發人員將自己的服務遷移到 Docker Containers
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。理解 Docker 中的 Volumes Why本文翻譯自 Understanding Volumes in Docker,和原文作者一樣,我在剛接觸 Docker 的時候,對 Docker 中 Volumes 的概念也有些困惑,docker run -it -v /some/dir:/another/dir someImage:someTag 中的 -v 選項和 Dockerfile 中定義的 VOLUME
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Ubuntu 14.04 上使用 Docker 建立新的 Images 環境準備Ubuntu 14.04.1 LTS 發布後,我歡快地去官網下載並建立了一個虛擬機器,但是在在執行下面命令的時候:sudo apt-get update一直會遇到下面的錯誤W: 無法下載 http://extras.ubuntu.com/ubuntu/dists/trusty/main/binary-amd64/Packages Hash
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Golang 語言基礎之六: string, pointer Golang 語言基礎系列: Golang 語言基礎之一: type, variable, constant Golang 語言基礎之二: for, ifelse, switch Golang 語言基礎之三: array, slice Golang 語言基礎之四: map, range Golang 語言基礎之五: function Golang