原创 golang錯題集

本文即Go語言的那些坑三。 不要對Go併發函數的執行時機做任何假設 請看下列的列子: import ( "fmt" "runtime" "time" ) func main(){ names := []s

原创 Go語言的那些坑

Golang是我最喜歡的一門語言,它簡潔、高效、易學習、開發效率高、還可以編譯成機器碼… 雖然它一出世,就飽受關注,而且現在在市面上逐漸流行開來,但是,它畢竟是一門新興語言,還有很多讓人不太習慣的地方(即坑,(^__^)),我作爲新手,

原创 十分鐘瞭解比特幣和區塊鏈

比特幣及區塊鏈的發展歷史 大家接觸和了解區塊鏈,最早應該是從比特幣開始的。確實,區塊鏈確實也是起源於比特幣,但是又不侷限於貨幣圈。區塊鏈可以在金融、保險、醫療、政府等領域被廣泛使用。 既然區塊鏈起源於貨幣,那我們就從貨幣開始談起

原创 HTTP 緩存詳解

用途 HTTP緩存主要用在對一些實時性要求不高的靜態文件進行的緩存,往往都是存在瀏覽器端,防止這些“多餘”的請求重複的訪問服務器,對服務器造成壓力,從而提高網站的性能。 原理 現有兩端,瀏覽器C和服務器端S。 瀏覽器向服務器發送請求,獲

原创 計算機基本存儲單位及其關係

1 位(bit): 計算機中最小的存儲單位,只能存儲0或者1。 1 字節(b):8位(bit)。 就是byte,同計算機語言(例如Java、PHP等)中的byte是一回事兒。 1 kb: 1024 個字節。 1 mb: 1024 kb

原创 5分鐘瞭解swagger

隨着互聯網技術的發展,現在的網站架構基本都由原來的後端渲染,變成了:前端渲染、先後端分離的形態,而且前端技術和後端技術在各自的道路上越走越遠。 前端和後端的唯一聯繫,變成了API接口;API文檔變成了前後端開發人員聯繫的紐帶,變得越來越

原创 解剖Go語言map底層實現

map是Go語言中基礎的數據結構,在日常的使用中經常被用到。但是它底層是如何實現的呢? map的整體結構圖 Golang中map的底層實現是一個散列表,因此實現map的過程實際上就是實現散表的過程。在這個散列表中,主要出現的結構體有兩個,

原创 Scala那些奇怪的符號(三)“<%” 和 “:”

<%       這個符號有點像“<:”,但作用卻完全不一樣,類型上邊界“<:”的意思有點像繼承,A <: B 表示 A是B的子類;而A <% B的意思是“A可以轉化爲B”,這裏可以不必強調A和B本身的關係,只要有一個從A到B的隱士轉化即

原创 php、nginx 兩個分開的容器相連連不上的問題總結

php、nginx 兩個分開的容器相連連不上的問題總結 在網上搜羅了一圈,發現所有牽扯到php和ngin的鏡像,都是php-nginx“粘”在一起的,想要搜到一個php、nginx倆分開的鏡像還真不好找。 於是便自己製作。但是在製作過程中

原创 Laravel 以ElasticSearch的方式使用scout

Laravel5.3已經發布了,這次版本多了一個官方工具包:scout。這個包的作用就是幫助大家更好的將全文檢索工具和項目更好的結合,讓開發者使用起來更方便。但是我發現了一個問題:Laravel官方文檔對於scout的使用說明並沒有那麼

原创 Redis數據複製

Redis數據複製 Redis的複製特性和MySQL類似,都是採用的主從(master、slave)的方式。 Redis複製啓動過程 以上爲一個從服務器和一個主服務的情況下的過程。 當多個從服務器嘗試連接一個主服務器的時候,略有不同:

原创 swagger和gitlab結合做API文檔

使用docker技術,將gitlab和swagger做一個有機的結合,達到的效果爲:每次提交代碼,都會自動生成swagger API文檔。 以下是實現流程步驟: 代碼和目錄結構 docker-compose.yml文件書寫 swagge

原创 互聯網產品研發流程

研發流程 研發流程相當關鍵,關係到整個研發團的開發效率,現在的產品的研發一般會以產品經理(Product Manager)爲中心來展開,招一個靠譜的PM在有些時候可以扭轉乾坤~ 在之前經歷的公司中,有一家公司的流程讓我受益匪淺: Cre

原创 Scala的那些奇怪的符號(二) [+T]和[-T]

看到這個例子就得說說逆變和協變。衆所周知,一般面向對象的語言中都有“繼承”的概念:A繼承於B,那麼B就是A的父類,A就是B的子類,B的引用可以直接指向A的實例,而A的引用指向B的實例需要強制類型轉化……不拉不拉可以延伸一堆內容。但是,一般

原创 C、PHP、JAVA、Scala、Golang 語法差異彙總表

歡迎大家來補充!!!