原创 golang爬坑筆記之自問自答系列(5)——切片賦值避免使用append()函數

代碼: package main import ( "fmt" "time" ) func useAppend(n int) { var a []int for i :=0 ;i<n;i++{ a = append(a

原创 【譯】Golang中的調度(2):Go調度器 - Go Scheduler

序 爲了更好理解Go調度器的內在機制,我會以三個部分的內容分別進行闡述,鏈接如下: Golang中的調度(1):OS調度器 - OS Scheduler Golang中的調度(2):Go調度器 - Go Scheduler Golang中

原创 源碼安裝PostgreSQL過程記錄(Mac os,大體適用於linux,windows可做參考)

一、源碼獲取 1.源碼路徑可從官網直接下載對應版本的代碼,此爲官網下載地址https://www.postgresql.org/ftp/source/,我採用的是此路徑。  2.可從gituhub倉庫克隆下來,克隆命令爲 git cl

原创 VSCode提示:Do you what Code to open the external website ?

問題描述 每次在vscode中跳轉到三方庫時候,彈出窗口提示,讓人很心煩。 例如,當準備跳入github.com/pingcan/tidb/util/logutil看源碼內容,彈出以下窗口。 解決方法 command+shift+p進

原创 Golang之Sort包

​Go語言是一門非常簡單優雅的語言,其源碼更是其風格標杆。看源碼,不僅能學習Go的設計哲學,瞭解如何調用庫函數,同時幫助我們寫出更優雅的go代碼。 Go源碼位於GOROOT目錄下的src中。 本文學習1.14.1版本源碼庫的sort包。該

原创 正反向代理 Golang實現

正向代理隱藏了真實客戶端向服務器發送請求,反向代理隱藏了真實服務器向客戶端提供服務。   正向代理: 小王要結婚了,可是手上拿不出彩禮錢,他就找了好兄弟小張,小張同樣沒錢,但是小張認識思聰,於是小張從王思聰那裏借到了20萬交到了小王手上。

原创 寫給Go新手的入門指南

1. Go 語言官方教程  教程網址:http://tour.go-zh.org 該指南提供了運行平臺和示例代碼,循序漸進地帶你走進Go語言的世界。非常方便初學者學習Go的基礎知識。   2. 常用書籍 在Go語言的10年裏,有非常多優

原创 Golang接口優雅斷言

舉例 type Poultry interface { eat() } type Bird interface { Poultry drink() } type Chicken struct { name string }

原创 Golang如何給import對象賦予新方法 (cannot define new methods on non-local type xxx)

舉例: 假如我從某庫engine中得到該庫中定義的對象Request,我現在想賦予它新的方法,採用以下方式是不被允許的。 import ( "github.com/slpslpslp/crawler/engine" ) func (

原创 【譯】Golang中的調度(3):併發編程 - Concurrency

序 爲了更好理解Go調度器的內在機制,我會以三個部分的內容分別進行闡述,鏈接如下: Golang中的調度(1):OS調度器 - OS Scheduler Golang中的調度(2):Go調度器 - Go Scheduler Golang中

原创 【譯】Golang中的調度(1):OS調度器 - OS Scheduler

序 爲了更好理解Go調度器的內在機制,我會以三個部分的內容分別進行闡述,鏈接如下: Golang中的調度(1):OS調度器 - OS Scheduler Golang中的調度(2):Go調度器 - Go Scheduler Golang中

原创 記閱讀大型項目源代碼心得

爲什麼要閱讀源碼 要想成爲一名出色的書法家,需要時常研究大師們的經典碑帖,然後練習、臨摹,不斷重複。那麼想要成爲一名優秀的程序員,我覺得也應該學習研究大牛寫出來的代碼。所幸有很多優秀的開源項目可以給我們學習。我在前兩個月花了一些時間閱讀了

原创 Mac下取消brew install XXX的自動更新

在Mac下,Homebrew是一個很好的軟件下載與管理平臺。 我們在下載某一個軟件時,會用到brew install XXX的命令。 但是每次安裝,Homebrew都會自動更新,提示updating HomeBrew…,這嚴重增加了我們的

原创 Mac os下C/C++開發,找不到頭文件

原因: 由於Mac更新或者Xcode更新所至 方法: 終端執行命令: xcode-select --install 如果可行,就可以了。 如果報以下提示: xcode-select: error: command line tools

原创 golang爬坑筆記之自問自答系列(10)——go併發爬蟲項目(以蛋殼網爲例)

Golang在語言層級爲我們準備了天然的高併發支持,因此也寫個項目練練其併發使用。正好有位朋友想抓蛋殼網租房數據,我就趁這個機會寫一個go的併發版爬蟲項目。詳細代碼可移步至我github:https://github.com/slpslp