原创 遊記:雲南之旅

前言 上週公司旅遊去了雲南,整個感受就像 《彩雲之南》 歌詞一樣: 彩雲之南 我心的方向 孔雀飛去 回憶悠長 ... Day 1:大理古城 雖然我們飛機是直接去麗江的,但是真正的旅途是從坐了三小時車的大理開始。 在路上一邊聽着導遊

原创 Python:線程爲什麼搞個setDaemon

前言 使用 Python 都不會錯過線程這個知識,但是每次談到線程,大家都下意識說 GIL 全局鎖, 但其實除了這個老生常談的話題,還有很多有價值的東西可以探索的,譬如:setDaemon()。 線程的使用 與 存在的問題 我們會寫這樣的代

原创 遊記:泰國之旅

前言 老早就聽說泰國遊性價比很高,好不容易攢了幾天年假,趁着這次五一也終於親身體驗了一把。 因爲討厭跟團,所以和同事們組了個 6 人團就出發了,本來只想是簡單的玩玩就算,旅遊後才發現這特麼簡直就是奢侈豪華團鴨! Day 1:曼谷 4.30

原创 Linux:netstat 面試答疑

前言 在面試的過程中,總不可避免會問到與 操作系統 和 網絡 相關的內容,因爲這個確實是工作上經常打交道的內容; 敢打包票,十個計算機網絡的面試題,必有幾道和 tcp/udp 有關,像什麼 tcp三次握手四次揮手、udp 與 tcp 區別等

原创 Python:線程之定位與銷燬

背景 開工前我就覺得有什麼不太對勁,感覺要背鍋。這可不,上班第三天就捅鍋了。 我們有個了不起的後臺程序,可以動態加載模塊,並以線程方式運行,通過這種形式實現插件的功能。而模塊更新時候,後臺程序自身不會退出,只會將模塊對應的線程關閉、更新代碼

原创 Linux:system 調用引發的 getcwd 異常

背景 幸福的生活總是相似的,天降的大鍋各有各不同。 我們有個功能是這樣的:有個以 root 運行的 python 程序,它需要以 test 用戶執行 linux 命令,所以就通過 subprocess 庫 + sudo 來執行,也就是下面的

原创 Python的Sequence切片下標問題 原

前言 在python中, 切片是一個經常會使用到的語法, 不管是元組, 列表還是字符串, 一般語法就是: sequence[ilow:ihigh:step]  # ihigh,step 可爲空; 爲了簡短易懂, 暫時排除step的用法考

原创 運維工具 - 日誌文件歸檔腳本 原

腳本由來: 在日常工作中, 日誌總是我們不能忽視的一個痛楚, 因爲我們總是要將其及時歸檔移走,否則每次打開程序目錄, 都被日誌列表刷一屏幕.雖然這是一件很簡單的事, 但是重複做還是會讓人覺得憂傷的, 於是這個腳本就誕生了. 腳本依賴:

原创 簡單聊聊: linux 匿名管道 原 薦

  相信很多在linux平臺工作的童鞋, 都很熟悉管道符 '|', 通過它, 我們能夠很靈活的將幾種不同的命令協同起來完成一件任務.就好像下面的命令: echo 123 | awk '{print $0+123}' # 輸出24

原创 運維工具 - rm刪除腳本 原

腳本由來:   rm -fr /* 所帶來的災難相信大家或多或少都有聽說過或者經歷過, 所以有個替換方案, 希望能夠讓我們多點挽回的機會, 拯救公司的同時也拯救自己 腳本依賴: linux tmpwatch 腳本配置說明: 這個是

原创 運維工具 ( 持續更新 ) 頂 原

碼雲地址: https://git.oschina.net/Lin_R/ops 項目目錄結構: ops └── logs │  └── ops_scripts ├── comm │   ├── comm_logging.

原创 淺析 Linux inotify機制 原

簡介 在我們工作中,經常會遇到一些場景: 在系統狀況發生變化時, 我們能夠及時地被告知.而不是等到我們想起來,纔去查看是否變化.特別是一些重要的事情, 如系統故障, 磁盤空間等等.這些硬件級別的"異步通知", 監控系統已經爲我們實現了.

原创 淺談文件描述符1和2 原

在linux系統中, 我們知道有 標準輸入 , 標準輸出 ,  和標準錯誤,  並且都分別對應着0, 1, 2   這三個文件描述符, 在每個進程誕生之際,就已經隨着伴隨左右,通過以下命令就能看出來: [root@iZ23pynfq19Z

原创 說下那神奇的 UnboundLocalError: local variable x referenced before assignment 原 薦

上次已經討論下python 作用域 和LEGB的關係,https://my.oschina.net/u/2291453/blog/820865 接下來討論下 我們經常會遇到的報錯: referenced before assignment

原创 Python 作用域(scope) 和 LEGB 原 薦

約束 名字空間 作用域 之間的那些事 不管在什麼編程語言, 都有作用域這個概念.作用域控制在它範圍內代碼的生存週期, 包括名字和實體的綁定. 名字和實體的綁定, 我們可以理解成賦值. num = int_obj, 當我們執行這句代碼時,