原创 Django+uwsgi+Nginx 504 Gateway Time out

遇到504錯誤,加了好多打印信息,發現打印出來都沒毛病。 接着猜想是正式環境的數據和本地測試環境的數據不一樣,又把正式環境的數據導回到本地測試,結果發現兩者打印信息一模一樣,但本地就可以正常打開網頁,而正式環境就報504錯誤。 在對比了

原创 Django配置文件裏的STATIC_ROOT、STATICFILES_DIRS、STATIC_URL的區別

要清楚它們的區別,就要搞清楚這三個常量是幹什麼用的。 1、STATIC_ROOT # BASE_DIR 是項目的絕對地址 STATIC_ROOT = os.path.join(BASE_DIR, 'xxxxxx') 這個常量在開發模式中

原创 虛驚一場,數據庫頻繁重啓的原因竟然是...

昨天下午2點多,突然接到反饋,說我負責維護的工具平臺掛了 於是我自己試了一下登錄那個平臺,發現能正常登錄啊,猜想是個別用戶的問題(因爲之前也有過類似的經歷,只有單個用戶反饋說訪問不了某個資源,後來查到是他自己電腦本地的環境改了)。 在查的

原创 配置屬於自己的vi配色方案

切到自己目錄cd ~ 編輯vi .vimrc文件,加入下面的文字 scriptencoding utf-8 set encoding=utf-8 let $LANG="zh_CN.UTF-8" set termencoding=utf-8

原创 502 Bad Gatway錯誤排查覆盤

用戶反饋有人無法登陸網站(他自己可以登錄,但另一個用戶不行) 顯示502 Bad Gateway 查了一下Log,看到invalid request block size: 5018 (max 4096)...skip 網上搜了一下,在h

原创 Win10激活virtualenv問題及解決方案

在Win10 上面激活virtualenv的時候 執行venv\scripts\activate  會報錯 錯誤信息: 無法加載文件 D:...\venv\scripts\activate.ps1,因爲在此係統上禁止運行腳本。有關詳細信息

原创 Pyinstaller生成exe報錯:No module named Tkinter

問題: 使用python的tkinter庫做了一個工具,由於要給非技術人員使用,並不是每個人的電腦裏都裝了Python,所以需要把py文件編譯成小白也能用的exe文件。使用Pyinstaller將py文件生成爲exe文件後,運行exe報錯

原创 Windows下Python3安裝MySQL模塊報錯: Could not find a version that satisfies the requirement MySQLdb

環境:Windows 64位    Python 3 使用pip install MySQLdb的時候報錯: Could not find a version that satisfies the requirement MySQLdb

原创 Python裏處理文件with open寫法的由來

使用python讀寫文件,一開始我們用的是: f = open('test.txt', 'r') f.read() 最後一步是調用close()方法關閉文件 f.close() 如果打開報錯IOError,那後面的close也不會執行,因

原创 SVN鉤子的兩種最常見的應用

SVN有9種鉤子 在當前倉庫下面的hook目錄,都會存在相應hook文件的模板,即那些以.tmpl爲後綴的文件。在Unix/Linux下,刪除tmpl的後綴才能起作用,而windows則需要將.tmpl改成.bat。 修改之後立即起效

原创 刪除排序數組中的重複項

思路:遍歷數組,如果當前值跟前面的值相等,則刪除當前元素,如果不等,說明不是重複元素,則繼續遍歷下一個元素 class Solution(object): def removeDuplicates(self, nums):

原创 合併兩個有序鏈表

思路:先選出第一個節點,然後遍歷兩個鏈表,把小的作爲當前節點的下一個節點,一直到其中一個鏈表遍歷完,這時候把另一個鏈表直接接上就好 # Definition for singly-linked list. # class ListNo

原创 有效的括號

思路:用一個字符串來模擬入棧和出棧,如果是左括號則入棧,如果是右括號則出棧,如果是一個有效的括號,那麼最終這個棧一定是空的 class Solution(object): def isValid(self, s):

原创 求一批字符串的最長公共前綴

思路一:這個題一拿到手,第一反應就是以第一個字符串strs[0]爲標準,如果其他字符串的第一個字符和str[0]的第一個字符串相同,則再比較第二個字符串,以此類推直到出現不同爲止。 def longestCommonPrefix(se

原创 羅馬數字轉整數

其實只要弄懂原理,實現起來非常簡單:首先建立一個字典來映射符號和值,然後對字符串從左到右來,如果當前字符代表的值不小於其右邊,就加上該值;否則就減去該值。以此類推,最終得到的結果即是答案。 def romanToInt(self, s