原创 golang開發:環境篇(三)開發利器Goland安裝與激活

這節主要介紹下golang開發的最主要的IDE,Goland。可以有效提高開發效率。用過一段時間 IntelliJ+GO插件,其實功能上跟goland差不多。不過團隊的其它開發者基本都是Goland,後來爲了統一各種格式和開發規

原创 表格的交集合集等的命令處理

工作中經常遇到運營同學需要統計數據,需要從各種表裏查詢出來各種數據做組織和合並處理,瞭解了這些命令處理表格就非常簡單高效。而且處理的速度比寫各種複雜的SQL要高效的多。當然了,只能處理CSV數據。 幾個基礎命令 sort 排序

原创 Linux中screen命令

screen是一款由GNU計劃開發的用於命令行終端切換的自由軟件。用戶可以通過該軟件同時連接多個本地或遠程的命令行會話,並在其間自由切換。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了統一的管理多個會話的界面

原创 Linux中sed基礎

sed是一種流編輯器,它是文本處理中非常重要的工具,能夠完美的配合正則表達式使用,功能不同凡響。處理時,把當前處理的行存儲在臨時緩衝區中,稱爲“模式空間”(pattern space),接着用sed命令處理緩衝區中的內容,處理完

原创 聊聊開發中經歷的幾種後端語言

前言 談這個話題,沒有任何語言之爭,只是個人開發的經歷。 適合 開發語言的選擇只是當時條件下適合每個項目或者每個團隊乃至每個公司的最佳選擇,並不是說XXX公司也用這個我們用這個肯定沒問題。 當時還在某手機公司,有次跟某公司後端le

原创 golang開發:類庫篇(五)go測試工具goconvey的使用

爲什麼要使用goconvey測試程序 goconvey 集成go test,go test 無縫接入。管理運行測試用例,而且提供了豐富的函數斷言、非常友好的WEB界面,直觀的查看測試結果。 如果沒有goconvey的話,編寫一個測

原创 淺談限流(下)實戰

常見的應用限流手段 應用開發中常見的限流的都有哪些呢?其實常用的限流手段都比較簡單,關鍵都是限流服務的高併發。爲了在LB上實現高效且有效的限流,普遍的做法都是Nginx+Lua或者Nginx+Redis去實現服務服務限流,所以市面

原创 golang開發:類庫篇(四)配置文件解析器goconfig的使用

爲什麼要使用goconfig解析配置文件 目前各語言框架對配置文件書寫基本都差不多,基本都是首先配置一些基礎變量,基本變量裏面有環境的配置,然後通過環境變量去獲取該環境下的變量。例如,生產環境跟測試環境使用同一份配置,但是相應的環

原创 golang開發:類庫篇(三)命令行工具cli的使用

爲什麼要使用命令行 覺得這個問題不應該列出來,又覺得如果初次進行WEB開發的話,可能會覺得所有的東西都可以使用API去做,會覺得命令行沒有必要。 其實,一個生產的項目命令行是繞不過去的。比如運營需要導出報表、統計下付費用戶、服務不

原创 關於Keepalive的那些事

服務端很多同學包括自己對keepalive理解不清晰,經常搞不清楚,TCP也有keepalive,HTTP也有keepalive,高可用也叫keepalive,經常混淆這幾個概念。做下這幾個概念的簡述,儘管名字基本上是一樣的,但

原创 golang開發:類庫篇(二) Redis連接池的使用

爲什麼要使用連接池 一個數據庫服務器只擁有有限的連接資源,一旦所有的連接資源都在使用,那麼其它需要連接的資源就只能等待釋放連接資源。所以,在連接資源有限的情況下,提高單位時間的連接的使用效率,縮短連接時間,就能顯著縮短請求時間。

原创 寒門女孩清華畢業典禮上發言

畢業生代表張薇在清華2019年本科生畢業典禮上的發言 – 堅持與擔當 尊敬的各位老師、親友、來賓,親愛的同學們:   大家上午好!我是工業工程系的張薇,非常榮幸能夠作爲2019屆畢業生代表在這裏發言。      幾年前,因爲清

原创 golang開發:類庫篇(一) Zap高性能日誌類庫的使用

爲什麼要用zap來寫日誌 原來是寫PHP的,一直用的error_log,第一次寫Go項目的時候,還真不知道該怎麼寫日誌,後來就按照PHP的寫法自己不成規範的搗鼓寫。去了新公司之後,發現用的是zap。後來查詢 瞭解了下zap,前同事

原创 重定向Redirect 的常識

今天下班的時候看到了一些重定向的基礎知識,也算開了眼界。以前也經常使用301和302,但從來沒有使用過和了解過其他的3XX的狀態碼,發現原來裏面涉及的知識和解決的問題的還不少。 重定向的流程 瀏覽器首先訪問服務器A的URL,服

原创 golang開發:環境篇(六) Go運行監控Supervisord的使用

爲什麼要使用Supervisord 17年第一次寫Go項目的時候,用Go開發項目倒沒沒費多大勁,很快就開發完成了。到了在測試環境部署的時候,由於不知道有 Supervisord 這個軟件,着實花了些功夫。總不能跟開發環境一樣,直接