Time of Update: 2018-08-06
很少看到關於寫代碼閱讀方面的文章,偶爾碰到,以作備份,並和大家共勉 我恨讀代碼
Time of Update: 2018-08-05
標籤:request 面試 attribute clip use 記錄 ide 設計 但我 先說明,大佬請忽略我這篇文章, 我是一個做了5年的純種C#開發人,
Time of Update: 2018-08-06
一、tag說明先介紹一下``(反引號):反引號用來建立 原生的字串字面量 ,這些字串可能由多行組成(不支援任何逸出序列),原生的字串字面量多用於書寫多行訊息、HTML以及Regex。在處理json格式字串的時候,經常會看到聲明struct結構的時候,屬性的右側還有反引號括起來的內容。如下:1234type User struct { UserId int `json:"user_id" bson:"user_id"` UserName
Time of Update: 2018-08-06
有時候你可能需要將變數轉換為其他類型。Golang 不容許隨意處理這種轉換,轉換是由類型系統的強制保證的某些規則。在這篇文章中,我們將討論哪些轉換是可能的,哪些是不可能,以及什麼時候進行轉換是有價值的。Go 是一門強型別語言。它在類型上是嚴格的,編譯期間會報告類型錯誤。```gopackage mainimport "fmt"func main() { monster := 1 + "2" fmt.Printf("monster:
Time of Update: 2018-08-06
從golang小白到成為golang工程師快兩個月了,我要分享一下新手在開發中常犯的錯誤,都是我親自踩過的坑。這些錯誤中有些會導致無法通過編譯,這種錯容易發現,而有些錯誤在編譯時間不會拋出,甚至在運行時也不會panic,如果缺少相關的知識,撓破頭皮都搞不清楚bug出在哪。1.對nil map、nil slice 添加資料請考慮一下這段代碼是否有錯,然後運行一遍:package mainfunc main() { var m map[string]string m["name&
Time of Update: 2018-08-06
封面Before Starting本文分兩部分安裝Golang配置VsCode Golang開發環境Golang version 1.10.3Linux/macOS 預設安裝路徑為 /usr/local/goDownload & Install下載對應版本的 Golang如果是macOS可以運行brew install go 來安裝Environmental variable本文環境變數設定針對 Linux/macOS 進行,具體配置如下:$ vim
Time of Update: 2018-08-06
golang中的fnv包實現了非加密hash函數What is the difference between a Hash Function and a Cryptographic Hash Function?Every cryptographic hash function is a hash function. But not every hash function is a cryptographic hash.A cryptographic hash function aims to
Time of Update: 2018-08-06
00 導言 在上一講《Fabric 環境搭建時bootstrap.sh幫我們做了什嗎?》中,我們知道bootstrap.sh幫我們做了三件事:從github上複製 hyperledger/fabric-samples並進入該目錄,然後檢出適當的版本在fabric-samples目錄下安裝特定平台的 Hyperledger Fabric 二進位可執行檔 和設定檔下載 指定版本的Hyperledger Fabric 的docker鏡像 其中第一件事情就是從github上複製
Time of Update: 2018-08-06
unsafe內容介紹type ArbitraryType inttype Pointer *ArbitraryTypefunc Sizeof(x ArbitraryType) uintptrfunc Offsetof(x ArbitraryType) uintptrfunc Alignof(x ArbitraryType) uintptrunsafe包只有兩個類型,三個函數,但是功能很強大。unsafe 庫讓 golang
Time of Update: 2018-08-06
之前自己一直在找自己感興趣的方向,以及在這個方向上流行的語言並嘗試學習這些語言其中的幾個但是沒有什麼重大發現,這篇文章主要介紹了15個出現在3個程式設計語言熱門排行榜的程式設計語言和他們的擅長的領域,他們分別是(排名不分先後):Python,Java,JavaScript,PHP,C#,C,C++,Ruby,Swift,Go/Golang,Scala,R,Objective-C,Perl。PythonPython is a general purpose programming
Time of Update: 2018-08-06
軟體開發過程中,項目上線並不是終點。上線後,還要對程式的取樣分析運行情況,並重構現有的功能,讓程式執行更高效更穩寫。 golang的工具包內內建pprof功能,使找出程式中占記憶體和CPU較多的部分功能方便了不少。加上uber的火焰圖,可視化顯示,讓我們在剖析器時更簡單明了。 pprof有兩個包用來剖析器一個是net/http/pprof另一個是runtime/pprof,net/http/pprof只是對runtime/pprof包進行封裝並用http暴露出來,如源碼所示:
Time of Update: 2018-08-06
----------------------------------------- error 使用 (異常處理)// 文法 (普通錯誤)import "errors"func funName(paratemer) (result int, err error) { err = errors.New("自訂錯誤資訊")}----------------------------------------- panic 使用 (異常處理)// 文法
Time of Update: 2018-08-06
一、安裝說明 https://studygolang.com/dl 二、環境變數 // 下載 *.msi 安裝檔案,部分環境變數預設配置好了。 其他配置如下描述 三、目錄及項目層級關係 在系統內容變數配置以後,GOPATH 的目錄就是你工作區,與 C#/Java 等語言不通,可以隨意存放項目目錄路徑。 在GO中,如果有目錄 "包" 層級參考關聯性的話,必須存放在 GOPATH 下面。 比如: GOPATH=D:\GoWorks 那麼對應目錄下會有
Time of Update: 2018-08-06
一致性演算法 - RaftRaft 狀態一個 Raft 叢集包含若干個伺服器節點;通常是 5 個,這允許整個系統容忍 2 個節點的失效,每個節點處於以下三種狀態之一:follower(跟隨者) :所有結點都以 follower 的狀態開始。如果沒收到 leader訊息則會變成 candidate狀態。candidate(候選人):會向其他結點“拉選票”,如果得到大部分的票則成為leader。這個過程就叫做Leader選舉(Leader
Time of Update: 2018-08-06
拜占庭容錯系統簡介原始的拜占庭容錯系統由於需要展示理論上的可行性而缺乏實用性。另外,演算法的複雜度也是隨節點的增加而呈指數級增加。實用拜占庭容錯系統(Practical Byzantine Fault Tolerance,
Time of Update: 2018-08-06
環境搭建快速入門: http://hyperledger-fabric.rea...前提安裝git$ sudo apt update$ sudo apt install git安裝curl$ sudo apt install curl安裝vim$ sudo apt install vim安裝Docker$ sudo apt update$ docker --version$ sudo apt install docker.io查看Docker版本資訊version 1.12+$ docker
Time of Update: 2018-08-06
./bash.sh downa@ubuntu:~/hyfa/fabric-samples/first-network$ sudo ./byfn.sh down[sudo] password for a: Stopping with channel 'mychannel' and CLI timeout of '10' seconds and CLI delay of '3' secondsContinue? [Y/n] yproceeding ..
Time of Update: 2018-08-06
Go 命令Go語言內建有一套完整的命令操作工具,我們可以通過在命令列中執行go來查看它們:上面這張圖的這些命令對於我們平時編寫的代碼非常有用,接下來就讓我們瞭解一些常用的命令。go build這個命令主要用於編譯代碼。在包的編譯過程中,若有必要,會同時編譯與之相關聯的包。如果是普通包,就像我們在1.2節中編寫的mymath包那樣,當你執行go build之後,它不會產生任何檔案。如果你需要在`$GOPATH/pkg下產生相應的檔案,那就得執行go
Time of Update: 2018-08-05
並發與鎖JUC AQSAQS整體結構鎖的擷取過程CAS rote
Time of Update: 2018-08-05
Golang沒有泛型<>,但是可以通過interface{}來接收各種類型值。如下運用切片和泛型執行個體:type Slice []interface{}func NewSlice() Slice { return make(Slice, 0)}func (this* Slice) Add(elem interface{}) error { for _, v := range *this { if v == elem {