Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。使用原則庫內建串連池,使用方不需自行實現。*sql.DB 安全執行緒,開箱即用,屏弊了底層建立串連的實現Open 只是建立類,調用一次即可,使用前需要 Ping 確保串連正常。一定要設定串連池的兩個參數 MaxIdle, MaxOpen,否則在極端情況會把 DB 串連打滿(未加索引,大事務阻塞)。可選 MaxLifetime,需諮詢 DBA,一般 DB
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。本系列文章主要面向 TiKV 社區開發人員,重點介紹 TiKV 的系統架構,源碼結構,流程解析。目的是使得開發人員閱讀之後,能對 TiKV 項目有一個初步瞭解,更好的參與進入 TiKV 的開發中。需要注意,TiKV 使用 Rust 語言編寫,使用者需要對 Rust 語言有一個大概的瞭解。另外,本系列文章並不會涉及到 TiKV 中心控制服務 Placement Driver(PD) 的詳細介紹,但是會說明一些重要流程 TiKV
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Golang是Google開發的一種編譯型,平行化,具有記憶體回收功能的編譯語言,還和C一樣有指標。Golang是天生的網路程式設計語言,學習使用Golang先從環境配置開始。環境要求:Homerbrew
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
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。json-iterator 庫:https://github.com/json-iterator/go動機現有的golang解析json的庫都是push模式的,缺少一種基於pull api的庫。另外就是看一下golang解析json的速度到底如何,還有多少的提高空間。API 風格api 風格上是以 StAX 為基礎,但是針對 JSON 做了特別的最佳化。比 StAX 和 SAX 都更簡單可控。當然如果需要最簡單,還是 DOM
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。slice?俺知道,不就是基於數組的一個視窗嘛!出個題唄~好~package mainfunc main() {var arr = [10]int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}s := arr[2:6]modify(s)}func modify(tmp []int) {聽 聽 聽 聽// 實現該函數,把arr[8]的值修改為200}你千萬別告訴我是這樣實現的:var point = &tmp[
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。寫一個錯誤的c程式package dlsymimport "testing"func Test_intercept(t *testing.T) { Intercept("gethostbyname\x00")}package dlsym// #cgo CFLAGS: -I.// #include <stddef.h>// #include "dlsym_wrapper.h&
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。背景故事是這樣的:公司系統裡面有一個服務是 PDF2JPG (實際上應該是 PPT2JPG, 只是PPT2PDF這一步驟我們利用七牛的雲端服務來完成。) 早期的時候我們根據系統負載已經實際情況採用了 crontab 來定時擷取資料庫需要轉換的資料。所以這個服務的QPS是 1/60
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。最近看了一下go語言,就試著寫了一個聊天室,練練手而已,但是對於我一個搞php的來說,go語言對我啟發很大。客服端package mainimport ( "fmt" "net" "os")//定義通道var ch chan int = make(chan int)//定義暱稱var nickname stringfunc reader(conn
Time of Update: 2017-02-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。單個變數的賦值與聲明變數的聲明格式:var 聽<變數名稱> 聽<變數類型>變數的賦值格式:<變數名稱> = <運算式>聲明的同時賦值:var <變數名稱> [變數類型] = <運算式><變數名> := <變數值>
Time of Update: 2017-02-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。zmq官方推薦的golang庫,guthub地址是http://github.com/pebbe/zmq4測試代碼就不發了,上面的地址有具體樣本,前幾天碰到的問題是在windows 7 64位系統內容下go get
Time of Update: 2017-02-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。上一節已將將需要的資料從網站http://www.gratisography.com/ 抓取並存入資料庫【使用crawldata.go中的InsertData(&imageDatas)函數】,現在需要將資料從資料庫indiepic的表gratisography中取出並然會json格式的資料。專案檔夾結構如下:indiepic├── README.md├── crawldata│ ├── crawldata.go│
Time of Update: 2017-02-09
這是一個建立於
Time of Update: 2017-02-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。kingshard效能最佳化網路篇最近kingshard的功能開發節奏慢了許多。一方面是工作確實比較忙,另一方面是我覺得kingshard的功能已經比較完善了,下一步的開發重點應該是效能最佳化。畢竟作為一個MySQL
Time of Update: 2017-02-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。使用golang net/http庫發送http請求,最後都是調用 transport的 RoundTrip方法type RoundTripper interface { RoundTrip(*Request) (*Response, error)}RoundTrip executes a single HTTP transaction, returning the Response for the request req.
Time of Update: 2017-02-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。PS:老Blog文章轉移, 年代久遠, 串連可能已失效.Cow 是不錯的軟體,相當好用,我在公司是直接把它掛到了伺服器上,然後辦公室的人都在用它。但是回到了家裡我就無法用行動裝置或者 PSP 之類的串連它了,我的電腦也不能一天 24 小時的在家中開機,碰巧這兩天買了連個樹莓派,上面啟動並執行是專門定製過的 Debian Linux,我就想著是否能夠使用它來運行 Cow。十分不幸的是,似乎作者的網站上並沒有提供 ARM 裝置的
Time of Update: 2017-02-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。最近需要用Instagram的api抓取其使用者的圖片,由於需要用oauth2驗證, 所以應用必須包含一個web介面。設想能夠即時返回下載數量,所以用websocket。還有需要考慮到效率問題,綜合以上幾點,想用一門語言開發的話,最終選擇用golang進行開發,node的回調實在不喜歡。前言關於golang的web開發有不少架構,例如 martini, gin, revel,gorilla等。
Time of Update: 2017-02-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。【摘要】雖然 Docker 和 Mesos 已成為不折不扣的 Buzzwords ,但是對於大部分人來說它們仍然是陌生的,下面我們就一起領略 Mesos 、Docker 和 Go 配合帶來的強大破壞力,如何通過 300 行代碼打造一個比特幣開採系統。時下,對於大部分 IT 玩家來說, Docker 和 Mesos
Time of Update: 2017-02-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。supervisor是一個unix的系統進程管理軟體,可以用它來管理apache、nginx等服務,若服務掛了可以讓它們自動重啟。下面基於centos
Time of Update: 2017-02-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。struct的方法,如果receiver非指標,則調用這個方法無法改變對象狀態,因為傳遞給方法的對象是原對象的一個拷貝,所有的改變都被作用在這個拷貝上而非原對象上.type st struct{ val uint32}func (this st) Show(){ fmt.Printf("Show:%d\n",this.val)}func (this st) Increase(){