Golang 什么時候使用指針(Pointer)?什么時候使用值(Value)?對于go開發(fā)者來說是一件頭疼的事情, 而且這個問題似乎沒有絕對的答案,那是否代表我們可以隨意使用呢?答案當(dāng)然是否定的。本文我將試圖總結(jié)什么場景使用指針更合理。 在開始閱讀前,建議讀者先能夠清晰理解 Golang 指針、類型和值等概念。本文并不是標(biāo)準(zhǔn)更不是唯一答案,而是自己根據(jù)使用經(jīng)驗和社區(qū)的一些討論而總結(jié)的實踐有下幾種...
本文介紹docker中的contanier,基于操作系統(tǒng)介紹什么是container。進(jìn)程(Processes)Container是具有指定配置的Linux進(jìn)程(processes)。我們進(jìn)行如下操作: ##啟動一個redis進(jìn)程 ?~dockerrun-d--name=dbredis:alpine ##顯示容器運(yùn)行的進(jìn)程 ?~dockertopdb PIDUSERTIMECOMMA...
本文以一個實際業(yè)務(wù)問題來談?wù)勈聞?wù)該如何處理。對接外部系統(tǒng)是是不可避免的,從廣泛意義上來說,外部系統(tǒng)范圍很大,中間件(數(shù)據(jù)庫)也屬于外部系統(tǒng)。當(dāng)我們討論事務(wù)時,通常我們將那些沒有支持事務(wù)的系統(tǒng)稱為外部系統(tǒng),業(yè)務(wù)系統(tǒng)基本上都是外部系統(tǒng)。問題有這樣一套系統(tǒng),以gitlab為底層系統(tǒng), 在gitlab project的基礎(chǔ)上封裝了代碼倉,系統(tǒng)對其中一些與gitlab關(guān)聯(lián)的數(shù)據(jù)進(jìn)行了落表。創(chuàng)建代碼倉的邏輯過...
在使用Spring Boot開發(fā)過程中,并發(fā)concurrency問題不可避免。很多開發(fā)者存在這樣的誤區(qū),使用Servlets為每個請求分配一個新的線程進(jìn)行處理就不再需要并發(fā)處理了。我將在這篇文章中介紹如何在Spring Boot中處理并發(fā)并且如何避免一些問題。Spring Boot 并發(fā)基礎(chǔ)有以下幾點特別值得注意:最大線程數(shù):這是為處理應(yīng)用程序的請求而分配的最大線程數(shù)。共享資源:調(diào)用共享資源如數(shù)...
通過Hexo&Gitpage方案部署的博客系統(tǒng),訪問速度確實很慢。一個網(wǎng)站如果在4秒內(nèi)沒有讀取出來,大多數(shù)訪客會選擇離開。分析首先需要排查出頁面加載速度慢的原因,這里我們結(jié)合Chrome開發(fā)者工具和開源的在線網(wǎng)站測試(模擬不同地區(qū)和終端)進(jìn)行測試。chrome分析結(jié)果通過比較Gitpage和本地訪問情況,可以看出DomcontentLoad加載時間沒有多少差距,那當(dāng)然是請求資源load耗時...