原创 一文說清文本編碼那些事

一文說清文本編碼那些事 一直以來,編碼問題像幽靈一般,不少開發人員都受過它的困擾。 試想你請求一個數據,卻得到一堆亂碼,丈二和尚摸不着頭腦。有同事質疑你的數據是亂碼,雖然你很確定傳了 UTF-8 ,卻也無法自證清白,更別說幫同事

原创 用 Python 讀寫 Excel 表格

Python 可以讀寫 Excel 表格嗎? 當然可以。 Python 下有很多類庫可以做到, openpyxl 就是其中的佼佼者。 openpyxl 的設計非常漂亮 ,你一定會喜歡它!不信請往下看: 工作簿 開始 openpyxl 前,無

原创 Linux文本處理命令

作爲一名 Linux 研發人員,幾乎每天都要面對文本處理場景。 因此 掌握文本處理套路 並 熟練運用文本處理命令 ,對於 提升工作效率 意義重大。 本文以一個實戰例子拋磚引玉,介紹如何運用 grep 、 awk 、 sed 、 cut 等命

原创 VRRP虛IP漂移

簡介 VRRP 是 Virtual Router Redundancy Protocol 的簡稱,即 虛擬路由冗餘協議 。 原文地址:https://linux-network-programming.readthedocs.io QQ交

原创 Linux文本處理命令

作爲一名 Linux 研發人員,幾乎每天都要面對文本處理場景。 因此 掌握文本處理套路 並 熟練運用文本處理命令 ,對於 提升工作效率 意義重大。 本文以一個實戰例子拋磚引玉,介紹如何運用 grep 、 awk 、 sed 、 cut 等命

原创 Linux文本處理

作爲一名 Linux 研發人員,幾乎每天都要面對文本處理場景。 因此 掌握文本處理套路 並 熟練運用文本處理命令 ,對於 提升工作效率 意義重大。 本文以一個實戰例子拋磚引玉,介紹如何運用 grep 、 awk 、 sed 、 cut 等命

原创 [譯文]跳錶:一種平衡樹的概率性替代品

跳錶是一種可以替代平衡樹的數據結構。跳錶追求的是概率性平衡,而不是嚴格平衡。因此,跟平衡二叉樹相比,跳錶的插入和刪除操作要簡單得多,執行也更快。 二叉樹可以用來實現字典和有序表等抽象數據結構。在元素隨機插入的場景,二叉樹可以很好應對。然而,

原创 Python裝飾器高級用法

在Python中,裝飾器一般用來修飾函數,實現公共功能,達到代碼複用的目的。在函數定義前加上@xxxx,然後函數就注入了某些行爲,很神奇!然而,這只是語法糖而已。 場景 假設,有一些工作函數,用來對數據做不同的處理: def work_ba

原创 跳錶:一種平衡樹的概率性替代品

跳錶是一種可以替代平衡樹的數據結構。跳錶追求的是概率性平衡,而不是嚴格平衡。因此,跟平衡二叉樹相比,跳錶的插入和刪除操作要簡單得多,執行也更快。 二叉樹可以用來實現字典和有序表等抽象數據結構。在元素隨機插入的場景,二叉樹可以很好應對。然而

原创 Linux系統調用原理

操作系統通過系統調用爲運行於其上的進程提供服務。 當用戶態進程發起一個系統調用, CPU 將切換到 內核態 並開始執行一個 內核函數 。 內核函數負責響應應用程序的要求,例如操作文件、進行網絡通訊或者申請內存資源等。 原文地址:http

原创 HTTP協議簡介

現在web發展如火如荼,web開發人員也越來越多,但有幾個對支持web的http協議有了解呢?底層協議基礎不紮實,高層應用是很難做到極致的。帶着好奇心,開始學習吧! HTTP(Hypertext Transfer Protocol),即超

原创 網絡七層協議之數據鏈路層

前一節討論了一個理想化模型——兩服務器通訊。 現在,我們把問題進一步拓展一下:多臺機器如何實現兩兩通訊? 原文地址:https://linux-network-programming.readthedocs.io QQ交流羣:Li

原创 Python代碼熱替換

爲什麼需要熱替換 代碼熱替換是指:程序代碼修改後,程序不用重啓就可以生效。這個特性很有用,特別是有狀態程序,可以及時修改程序邏輯,而不用擔心狀態丟失(重啓)。有些編程語言在語言層面上就實現了代碼熱替換的功能,如erlang。Python本

原创 Go語言之旅:包

每個 Go 程序都是由一些包組成的。 原文地址:https://golang-book.readthedocs.io 歡迎關注我們的公衆號:小菜學編程 (coding-fan) 程序從 main 包開始執行。 package m

原创 Linux文件描述符

在Linux通用I/O模型中,I/O操作系列函數(系統調用)都是圍繞一個叫做文件描述符的整數展開。這不禁讓人產生疑問:這個整數代表什麼?一個數值代表一個文件嗎?隨便傳一個整數進去調用可以嗎? 原文地址:https://learn-lin