Time of Update: 2018-08-07
標籤:com 記憶體 隨機 分塊 out ems 比較 chunk 實現 單機版外部排序ArraySource支援分塊建立一個用於排序的源頭,通過可變參數...傳入設定的值,返回的時候注意要cl
Time of Update: 2018-08-07
標籤:進入 tool popup orm quick upm 視圖 必須 item 隨著office2007的興起,微軟讓我們看到了Ribbon風格的表單,現在很多軟體也都開始使用R
Time of Update: 2018-08-08
很多人認為 monkey 補丁只能在動態語言,比如 Ruby 和 Python 中才存在。但是,這並不對。因為電腦只是很笨的機器,我們總能讓它做我們想讓它做的事兒!讓我們看看 Go 中的函數是怎麼工作的,並且,我們如何在運行時修改它們。本文會用到大量的 Intel 彙編,所以,我假設你可以讀彙編代碼,或者在讀本文時正拿著[參考手冊](https://software.intel.com/en-us/articles/introduction-to-x64-assembly).**如果你對
Time of Update: 2018-08-08
AES-128-CBC這裡首先說說AES加密原理AES密碼編譯演算法採用分組密碼體制,每個分組資料的長度為128位16個位元組,密鑰長度可以是128位16個位元組、192位或256位,一共有四種加密模式(ECB、CBC、CFB、OFB),我們通常採用需要初始向量IV的CBC模式,初始向量的長度規定是128位16個位元組。另外就是Padding,這裡面有大坑。。。。先說一下Padding的三種模式PKCS5、PKCS7和NOPADDING。PKCS5是指分組資料缺少幾個位元組,就在資料的末尾填充幾
Time of Update: 2018-08-08
1. 安裝docker2.mkdir myDocker3.cd myDocker && touch Dockerfile4.Dockerfile寫入# 將golang環境作為父鏡像FROM golangMAINTAINER Razil "zc6496359"WORKDIR $GOPATH/src/godockerADD . $GOPATH/src/godockerRUN go build main.goEXPOSE 8080ENTRYPOINT
Time of Update: 2018-08-08
Go與其它語言進行互動與 C 進行互動工具 cgo 提供了對 FFI(外部函數介面)的支援,能夠使用 Go 代碼安全地調用 C 語言庫,你可以訪問 cgo 文檔首頁:http://golang.org/cmd/cgo。cgo 會替代 Go 編譯器來產生可以組合在同一個包中的 Go 和 C 代碼。在實際開發中一般使用 cgo 建立單獨的 C 程式碼封裝。如果你想要在你的 Go 程式中使用 cgo,則必須在單獨的一行使用 import "C" 來匯入,一般來說你可能還需要
Time of Update: 2018-08-08
一、目的使用Go語言實現一個伺服器端與用戶端的聊天室。軟體:Goland,Go1.9代碼倉庫地址 二、思路1,首先啟動伺服器端,使用listen_socket函數監聽IP地址上的用戶端串連;2,啟動用戶端,並向伺服器端發送資料,發送結束後連接埠阻塞,等待伺服器端的訊息;3,伺服器端接收到由用戶端發送來的訊息;4,伺服器端向用戶端發送資料,發送結束後;5,用戶端接收到由伺服器端發送來的訊息,發送結束後連接埠阻塞,等待用戶端的訊息;6,重複步驟2-5;7,如果伺服器端接收到由用戶端發送來的“clos
Time of Update: 2018-08-07
## 什麼是優雅重啟在不停機的情況下,就地部署一個應用程式的新版本或者修改其配置的能力已經成為現代軟體系統的標配。這篇文章討論優雅重啟一個應用的不同方法,並且提供一個功能獨立的案例來深挖實現細節。如果你不熟悉 Teleport 話,Teleport 是我們使用 Golang 針對彈性架構設計的 [SHH 和 Kubernetes 特權訪問管理解決方案](https://gravitational.com/teleport/)。使用 Go
Time of Update: 2018-08-07
golang安裝gRpc安裝官方安裝命令:go get google.golang.org/grpc是安裝不起的,會報:package google.golang.org/grpc: unrecognized import path "google.golang.org/grpc"(https fetch: Get https://google.golang.org/grpc?go-get=1: dial tcp 216.239.37.1:443: i/o
Time of Update: 2018-08-07
介面型函數:指的是用函數實現介面,這樣在調用的時候就會非常簡便,這種函數為介面型函數,這種方式適用於只有一個函數的介面。 定義一個類型,這個類型只定義了函數的參數列表,函數參數列表與介面定義的方法一致:type HandlerFunc func(k, v interface{})然後這個類型去實現介面,實現的函數調用自己func (hf HandlerFunc) Do(k, v interface{}) {hf(k, v) //
Time of Update: 2018-08-07
Golang工程師崗位職責:1、負責產品平台系統的研發工作;2、參與制定前後端商務程序、介面協議、文檔輸出等3、參與項目研發、部署及日常營運工作;4、解決和最佳化系統效能。任職要求:1、紮實的後端基礎知識,精通golang;2、熟悉Linux,對伺服器效能最佳化有深刻瞭解,有高並發項目經驗優先;3、熟悉網路編程,瞭解TCP/IP,HTTP等工作原理;4、精通MySQL,能寫出高效能SQL及分析效能瓶頸,熟悉資料庫表的設計;5、熟練運用Redis、MYSQL、Mongodb、KAFKA等架構技術;
Time of Update: 2018-08-07
對於一些有並發要求的業務,特別是對接外部流量時,產品上線前一定要做的就是壓力測試,但是常規的壓力測試並不能覆蓋所有情況。以gemeter、ab,、webbench、http_load為例,這些通過類比請求的壓測工具,只能發送特定的參數,對於一些參數異常導致的程式處理異常是無法考慮到的,所以就需要一款能複製真實流量,並且不影響線上業務的工具。流量複製工具有很多,例如Gor、tcpreplay、tcpcopy等,這些工具貼合真實情境,能類比真實流量,並支援流量的放大或縮小,更容易測試出程式的瓶頸
Time of Update: 2018-08-07
使用goconfig 讀取ini 設定檔安裝go get github.com/Unknwon/goconfig使用方法載入設定檔cfg, err := goconfig.LoadConfigFile("conf.ini")if err != nil{
Time of Update: 2018-08-07
1、go的package不局限於一個檔案,組成一個package的多個檔案,編譯後實際上和一個檔案類似,組成包的不同檔案相互之間可以直接引用變數和函數,不論是否匯出;2、go不要求package的名稱和所在目錄名相同,但是你最好保持相同,否則容易引起歧義。因為引入包的時候,go會使用子目錄名作為包的路徑,而你在代碼中真正使用時,卻要使用你package的名稱。3、每個子目錄中只能存在一個package,否則編譯時間會報錯。4、go的package是以絕對路徑GOPATH來定址的,不要用相對路徑來
Time of Update: 2018-08-07
前言在 .NET 中主要有兩種動態產生並編譯的方式,一種是通過 System.Linq.Expressions 命名空間中的 LambdaExpression 類的 CompileToMethod(...) 方法,但是這種方法只支援動態編譯到靜態方法,因為這個限制我們只能放棄它而採用 Emitting 產生編譯方案,雖然 Emitting 方案強大但是實現起來麻煩不少,必須要手動處理底層 IL 的各種細節,腦補一些 C# 編譯器的實現機理,同時還要瞭解一些基本的 IL(Intermediate
Time of Update: 2018-08-07
最近在學redis,本人菜鳥.代碼是過程式的,沒考慮最佳化.就是發篇文章記錄一下.感覺redis還是很強大的.規則評分 = 支援票數*(86400/200)+時間戳記,
Time of Update: 2018-08-07
1 切片初始化 1 func printSlice(s []int) { 2 fmt.Printf("len=%d cap=%d underlying array:%p, %v\n", len(s), cap(s), s, s) 3 } 4 5 func sliceInit() { 6 7 var s1 []int //聲明s1,並沒有初始化,此時s1是nil切片,沒有分配底層數組 8 if s1 == nil { 9
Time of Update: 2018-08-07
前言區塊鏈技術現在也是IT界的網紅了,做點技術學習,不搞點跟區塊鏈沾邊的都好意思出去跟別人打招呼了。現在學習go語言剛好也蹭一波區塊鏈的熱度。概要golang知識點:1、golang結構體使用2、常用api使用,如bytes.Join、sha256.sum256、strconv.FormatInt等等,學習數組、切片的應用區塊鏈簡化說明:1、簡化的區塊對象Block包含四個成員,TimeStamp(時間戳記)、PreBlockHash(上一個區塊的雜湊值)、Data(儲存的資料內容)、Hash(
Time of Update: 2018-08-07
在看一些其它語言實現的基礎工具時,時而發現其中有我們需要的某項特殊功能。究其源碼,一般會看到兩種底層實現:彙編、系統調用。這裡的系統調用就是我們今天的主角了。系統調用image.png系統調用在作業系統中佔有重要的地位,是核心對外互動的門戶,為我們提供了與底層資源互動的相對簡單、安全的方式,給我們提供了一種在使用者態、核心態切換的手段。我們寫的程式,通常是跑在使用者態的,它對應 CPU 的 Ring 3 保護層級,而核心運行在 Ring 0
Time of Update: 2018-08-07
linux go環境安裝方法一這次將源碼包安裝的目錄是是/root下。1、官網下載源碼包。官網連結:https://golang.org/dl/。ps:本人的是linux伺服器,所以選擇紅框標註的wget https://storage.googleapis.com/golang/go1.9.2.linux-amd64.tar.gz2、解壓安裝tar -zxvf go1.9.2.linux-amd64.tar.gzmkdir -p workspace/srcvim