Time of Update: 2017-04-13
標籤:std 標準 str write blog tar 緩衝 stdin 標準輸出 本文轉載自:http://blog.chinaunix.net/uid-30058258-id-502984
Time of Update: 2017-04-13
標籤:步驟 編寫 journal 開啟 false gateway ges service 檔案的 1.安裝環境VMware 10.0.4 build-2249910Ubuntu 16.04
Time of Update: 2017-04-13
標籤:程式 java語言 file gets pack 語言 部落格 bad ring JNI是java和C/C++混合編程的介面,可以很方便地實現java調用C/C++語言。具體的使用方法,網
Time of Update: 2017-04-13
標籤:object stack dbr trace int 常用 column etl while import java.sql.ResultSet;import
Time of Update: 2017-04-13
標籤:with cap print 開啟 ext function lan 好的 函數實現 http://ericwang.github.io/program/2010/02/10/c_Vari
Time of Update: 2017-04-14
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。gRPC HTTP協議轉換 正當有這個需求的時候,就看到了這個實現姿勢。源自coreos的一篇部落格,轉載到了grpc官方部落格gRPC with REST and Open APIs。 etcd3改用grpc後為了相容原來的api,同時要提供http/json方式的API,為了滿足這個需求,要麼開發兩套API,要麼實現一種轉換機制,他們選擇了後者,而我們選擇跟隨他們的腳步。
Time of Update: 2017-04-14
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。內建Trace grpc預設提供了用戶端和服務端的trace日誌,可惜沒有提供自訂介面,當前只能查看基本的事件記錄和請求日誌,對於基本的請求狀態查看也是很有協助的,用戶端與服務端基本一致,這裡已服務端開啟trace為例,修改hello項目的server代碼: server/main.go package mainimport ( "net" "net/http" pb
Time of Update: 2017-04-14
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Interceptor grpc服務端提供了interceptor功能,可以在服務端接收到請求時優先對請求中的資料做一些處理後再轉交給指定的服務處理並響應,功能類似middleware,很適合在這裡處理驗證、日誌等流程。
Time of Update: 2017-04-14
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。gRPC 預設提供了兩種認證方式: 基於SSL/TLS認證方式 遠程調用認證方式 兩種方式可以混合使用 TLS認證樣本 這裡直接擴充hello項目,實現TLS認證機制 首先需要準備認證,在hello目錄建立keys目錄用於存放認證檔案。 認證製作 製作私密金鑰 (.key) # Key considerations for algorithm "RSA" ≥ 2048-bitopenssl
Time of Update: 2017-04-14
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Protobuf文法 gRPC推薦使用proto3,本節只介紹常用文法,更多進階使用姿勢請參考官方文檔 Message定義 一個message類型定義描述了一個請求或相應的訊息格式,可以包含多種類型欄位。例如定義一個搜尋請求的訊息格式,每個請求包含查詢字串、頁碼、每頁數目。 syntax = "proto3";message SearchRequest { string query = 1;
Time of Update: 2017-04-14
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Hello gRPC 按照慣例,這裡從一個Hello項目開始,本項目定義了一個Hello Service,用戶端發送包含字串名字的請求,服務端返回Hello訊息。 流程: 編寫.proto描述檔案 編譯產生.pb.go檔案 服務端實現約定的介面並提供服務 用戶端按照約定調用方法請求服務 項目目錄: $GOPATH/src/grpc-go-practice/example/|—— hello/ |—
Time of Update: 2017-04-14
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。gRPC 是一個高效能、開源、通用的RPC架構,由Google推出,基於HTTP/2協議標準設計開發,預設採用Protocol Buffers資料序列化協議,支援多種開發語言。gRPC提供了一種簡單的方法來精確的定義服務,並且為用戶端和服務端自動產生可靠的功能庫。 主要特性 強大的IDL gRPC使用ProtoBuf來定義服務,ProtoBuf是由Google開發的一種資料序列化協議(類似於XML、JSON、hessian)
Time of Update: 2017-04-14
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。原文:Go Range Loop InternalsGo 裡的 range 迴圈用起來非常方便,但我總覺得它在不同情況下的表現有點神秘。現在看來我並不孤單:#golang pop quiz: does this program terminate?func main() { v := []int{1, 2, 3} for i := range v { v = append(v, i) }}— Dαve
Time of Update: 2017-04-13
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。本系列文檔介紹使用二進位部署 kubernetes 叢集的所有步驟,而不是使用 kubeadm 等自動化方式來部署叢集;在部署的過程中,將詳細列出各組件的啟動參數,它們的含義和可能遇到的問題。部署完成後,你將理解系統各組件的互動原理,進而能快速解決實際問題。所以本文檔主要適合於那些有一定 kubernetes
Time of Update: 2017-04-13
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。go只提供了一種迴圈方式,即for迴圈,在使用時可以像c那樣使用,也可以通過for range方式遍曆容器類型如數組、切片和映射。但是在使用for range時,如果使用不當,就會出現一些問題,導致程式運行行為不如預期。比如,下面的樣本程式將遍曆一個切片,並將切片的值當成映射的鍵和值存入,切片類型是一個int型,映射的類型是鍵為int型,值為*int,即值是一個地址。package mainimport "fmt"
Time of Update: 2017-04-13
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。go提供了一個list包,類似python的list,可以儲存任意類型的資料,並提供了相應的API,如下:type Element func (e *Element) Next() *Element func (e *Element) Prev() *Elementtype List func New() *List func (l *List) Back() *Element func (l
Time of Update: 2017-04-13
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Compare two string slices in GoLang開發中經常會遇到需要比較兩個slice包含的元素是否完全相等的情況,一般來說有兩個思路:reflect比較的方法迴圈遍曆比較的方法這裡用檢查兩個字串slice是否相等的例子來測試一下這兩種思路的效率我當然知道你知道reflect方法效率更差啦reflect比較的方法func StringSliceReflectEqual(a, b []string) bool
Time of Update: 2017-04-13
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。基本排序演算法的Golang實現BubbleSortfunc BubbleSort(data []int) { fmt.Println("BubbleSort") fmt.Printf("Source Data:%d\n", data) for i := 0; i < len(data); i++ { for j := 0; j <
Time of Update: 2017-04-13
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。本文重點介紹mgo使用,僅簡單介紹mongodb。mongodb特性mongdb簡單介紹注意:已經告知我們mongo不支援事務,在開發項目應用時,想要保證資料的完整性請考慮關係型資料庫(經典例子銀行轉賬)。mongo提供了許多原子操作,比如文檔的儲存,修改,刪除等,都是原子操作。所謂原子操作就是要麼這個文檔儲存到mongodb,要麼沒有儲存到mongodb,不會出現查詢到的文檔不完整的情況。mgo簡介mgo 是 mongodb
Time of Update: 2017-04-13
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。C、C++、C#、Python都精通的老鳥對Go語言的印象: Go語言更像是C語言的進階封裝,或稱之為增加了垃圾處理功能和一大票基礎Lib庫的進階C語言,或者稱之為Super C。 Super C這種直接編譯成 bin 的能力的確很棒,部署安裝很方便,但 CPython 稍微努力一下也能實現。 指標的使用讓我感覺回到了C++時代。