博客 / 列表

後廠村村長 - go 通道-channel、協程-routine、sync

go 通道-channel、協程-routine、sync golang 裏不需要學習如何創建維護進程池/線程池,也不需要分析什麼情況使用多線程,什麼情況使用多進程,因為你沒得選。 當然,也不需要選。 go原生的 goroutine(協程)已足夠優秀,能自動幫你處理好所有事情,而你要做的只是執行它,so easy... goroutine 也是go天生支持高併發的底氣。 g

channel , sync , 協程 , go

後廠村村長 - 關於nginx fastcgi_pass php-fpm fastcgi cgi 之間的一些關聯

我們知道,nginx作為webserver,本身只能處理靜態資源文件; 對於動態的PHP請求,需要調用相應的PHP解釋器來執行; 因此需要配置fastcgi_pass,以實現nginx與php-fpm進程間的通信。 nginx與php-fpm進程間的通信有兩種方式: 1、TCP 就是IP加端口; 優點是可以跨服務器;缺點是相比下面的方法要慢; 配置示例

php , php-fpm , Nginx

後廠村村長 - 為啥MySQL的InnoDB在一頁(page)中最少要存儲兩條記錄?

關於這個問題,村長我查過很多信息,有説來自官方,有自己分析的,莫衷一是,要麼太發散,要麼有幾分牽強,現在村長試解答一下。 這個問題其實挺有意思,理論上來説,可以存一條數據,那為啥要有這麼個規則呢? 我們知道,一頁的大小默認為 16*1024=16384 字節,但是,MySQL 允許的一行數據的存儲上限卻為 65535! 當然了,這 65535 個字節除了列本身的數據外,還包括一些其他數據(s

MySQL , innodb , mysql索引

後廠村村長 - go算法與數據結構:實現大小根堆、堆排

由於 Golang 的標準庫中包含現成的heap包,所以網上大部分文章都是在寫如何使用這個heap包,不過堆排作為大廠的一個常見面試考點,是不會滿足於僅讓你用heap包去實現的,至少要做到能夠手搓一個簡易版堆排。 以下是來自力扣官網的友情提醒: 「堆排」在很多大公司的面試中都很常見,不瞭解的同學建議參考《算法導論》或者大家的數據結構教材,一定要學會這個知識點哦!^_^ 一個簡易版的堆排

堆排序 , 力扣 , 數據結構與算法 , go

後廠村村長 - go-lang之資源釋放/異常&錯誤處理

資源釋放-defer 類似於其他語言的 析構函數 比如PHP的 __destruct func b() error { resp, err := http.Get("xxx.com") // 先判斷操作是否成功 if err != nil { return err } // 如果操作成功,再進行Close操作 defer resp.B

異常處理 , go

後廠村村長 - 二叉樹力扣專題備忘

先把二叉樹的四種遍歷模式和結果記錄下來,然後倒推各種解法,如下圖所示: 4種遍歷模式的順序 前序遍歷:根、左、右 中序遍歷:左、根、右 後序遍歷:左、右、根 層次遍歷:一層一層遍歷 4種遍歷模式及結果如下 前序遍歷:1 2 4 5 7 8 3 6 中序遍歷:4 2 7 5 8 1 3 6 後序遍歷:4 7 8 5 2 6 3 1 層次遍歷:1 2 3 4 5 6 7

二叉樹