原创 徹底搞懂Scrapy的中間件(一)

中間件是Scrapy裏面的一個核心概念。使用中間件可以在爬蟲的請求發起之前或者請求返回之後對數據進行定製化修改,從而開發出適應不同情況的爬蟲。 “中間件”這個中文名字和前面章節講到的“中間人”只有一字之差。它們做的事情確實也非常相似。中間件

原创 正則表達式re.sub替換不完整的問題及完整解決方案

re.sub是個正則表達式方面的函數,用來實現通過正則表達式,實現比普通字符串的replace更加強大的替換功能。這篇文章主要介紹了正則表達式re.sub替換不完整的問題及解決方案,需要的朋友可以參考下 title

原创 一日一技:MongoDB聚合查詢匹配中文

一日一技是一個每天更新的欄目,力圖做到讓你每天用2分鐘的時間掌握一個開發技巧。MongoDB的聚合查詢中,$substr只能匹配ASCII的數據,對於中文要使用$substrCP

原创 tar壓縮時排除特定文件和文件夾

一日一技是一個每天更新的欄目,力圖做到讓你每天用2分鐘的時間掌握一個開發技巧。tar壓縮文件的時候排除特定文件和文件夾: tar --exclude='./folder' --exclude='./upload/folder2' -zcvf

原创 Python列表與deque的區別

一日一技是一個每天更新的欄目,力圖做到讓你每天用2分鐘的時間掌握一個開發技巧。根據index讀list,時間複雜度爲O(1),deque是O(n)在兩頭插入數據,deque的時間複雜度爲O(1), list爲O(n)deque是一個雙向鏈表

原创 MongoDB備份有密碼的數據庫

一日一技是一個每天更新的欄目,力圖做到讓你每天用2分鐘的時間掌握一個開發技巧。在MongoDB使用自帶的mongodump備份數據的時候,如果數據庫設置了密碼,那麼在指定mongodump的--password 密碼參數的同時,還必須指定-

原创 在全新的Ubuntu中安裝Python3 環境

一日一技是一個每天更新的欄目,力圖做到讓你每天用2分鐘的時間掌握一個開發技巧。在全新的Ubuntu 18.04中已經自帶了Python 3。但是這個Python環境並不完整,需要補充安裝下面幾個模塊。sudo apt-get update

原创 一日一技:Rsync如何使用SSH Key?

一日一技是一個每天更新的欄目,力圖做到讓你每天用2分鐘的時間掌握一個開發技巧。如果有SSH Key的話,使用下面的命令:rsync -avzP -e "ssh -i ~/sshkey.pem" [email protected]:Pr

原创 查看一個正在運行的Docker容器的啓動命令

一日一技是一個每天更新的欄目,力圖做到讓你每天用2分鐘的時間掌握一個開發技巧。在Docker查看正在運行的容器是通過什麼命令啓動的:docker ps -a --no-trunc

原创 一日一技:使用grep持續監控Log

一日一技是一個每天更新的欄目,力圖做到讓你每天用2分鐘的時間掌握一個開發技巧。使用grep持續監控Log:tail -f file | grep --line-buffered my_pattern

原创 跳出任務管理的泥沼,擁抱甘特圖的懷抱(完整版)

寫這篇文章,我不是要黑任何一個任務管理類的App或者方法論。相反,我是一個工具控,在試用各種任務管理類App上總是不遺餘力。常見的Things 3,Todoist,Teambition,Trello,Any.do,Doit.im我都試用過

原创 英文文檔幫查&翻譯計劃

以CSDN爲首,知乎其次,cnblog帶路的一大批博客上充斥着大量低質量的編程入門教程,代碼粗製濫造,毫無縮進,沒有高亮,東抄西抄。初學者如果長期參照這種垃圾博客來解決問題,將會適得其反,走入歧途。其實,初學者最應該看的,是編程軟件的官方文

原创 如果你不知道做什麼,那就學一門雜學吧

序言這篇文章沒有代碼,請放心閱讀。多年以後,面對人工智能研究員那混亂不堪的代碼,我會想起第一次和S君相見的那個遙遠的下午。那時的B公司,還是一個僅有6個人的小團隊,Mac和顯示器在桌上依次排開,大家坐在一起,不需要稱呼姓名,轉過臉去,對方就

原创 使用Docker Swarm搭建分佈式爬蟲集羣

在爬蟲開發過程中,你肯定遇到過需要把爬蟲部署在多個服務器上面的情況。此時你是怎麼操作的呢?逐一SSH登錄每個服務器,使用git拉下代碼,然後運行?代碼修改了,於是又要一個服務器一個服務器登錄上去依次更新? 有時候爬蟲只需要在一個服務器上面運

原创 如果你不知道做什麼,那就學一門雜學吧

序言 這篇文章沒有代碼,請放心閱讀。 多年以後,面對人工智能研究員那混亂不堪的代碼,我會想起第一次和S君相見的那個遙遠的下午。那時的B公司,還是一個僅有6個人的小團隊,Mac和顯示器在桌上依次排開,大家坐在一起,不需要稱呼姓名,轉過臉去,對