原创 幾個Charles姿勢

本文使用的Charles版本是4.0.2 如果把通信比喻成傳紙條的話,那麼抓包就是查看紙條內容。 Charles是一個http抓包工具,看不了更底層的東西如tcp。 手機抓包 當我手機打開app點點點的時候,怎麼知道向服務器請

原创 記一次Django級聯刪除引發的故障

事情是這樣的,運營那邊有2個員工離職了,讓後臺這邊刪除掉他們的賬號。 同事很利索的在Django shell中進行了這樣的操作: >> users = User.objects.filter(username__in=[xxx,

原创 weatpy: 命令行天氣預報, wego的python實現

weatpy 是一個命令行天氣預報. 是wego的python實現. 該項目僅用於學習用途. 項目地址 https://github.com/mattkang0/weatpy 依賴 osx或linux系統 終端爲utf-8

原创 飄逸的python - Iterable vs Iterator

本文所有代碼均用python3。 定義與特性 Iterable(可迭代對象) 可用for…in…循環 可被iter()調用, 並且iter(iterable)返回的東西可被next()調用 定義了__iter__或__getit

原创 飄逸的python - 使用dis模塊進行代碼層次的性能剖析

dis — Disassembler for Python bytecode,即把python代碼反彙編爲字節碼指令. 使用超級簡單:python

原创 使用sphinx生成美觀的文檔

先上效果圖 詳情 首先,需要知道什麼是restructuredtext,可以理解爲類似於markdown的一個東西。 然後 安裝,pip install sphinx進入存放文檔的目錄,在命令行,sphinx-quickstart,

原创 阿拉伯數字金額轉中文大寫 (python實現)

分析 分小數和整數部分進行處理 末尾的零應捨棄 中間有連續多個零,只取一個零 整數部分從右往左以4位爲步長掃描 實現 # -*- coding: utf-8 -*- from __future__ import unicode

原创 weatpy源碼剖析

基本思路 golang 後端前端可切換 network 命令行解析 數據結構 字符畫前端 json前端 編寫setuppy golang寫的命令行天氣預報wego,其github上居然有幾千個star,於是就想着用

原创 飄逸的python - 實現trie樹

trie,又稱前綴樹或字典樹. 它利用字符串的公共前綴來節約存儲空間. 定義Trie樹中每個單詞都是通過character by character方法進行存儲,相同前綴單詞共享前綴節點. 可以看到,每條路徑組成一個單詞.上面這顆樹

原创 python的國際化gettext模塊

國際化與本地化 國際化(internationalization).簡稱i18n(18指在”internationalization”這個單詞中,i和n之間有18個字母). 本地化(localization).簡稱L10n(10

原创 飄逸的python - 單例模式亂彈

方法一:裝飾器 利用“裝飾器只會執行一次”這個特點 def singleton(cls): instances = []# 爲什麼這裏不直接爲None,因爲內部函數沒法訪問外部函數的非容器變量 def getins

原创 理解“閉包是窮人的對象”

閉包是引用了自由變量的函數。這個被引用的自由變量將和這個函數一同存在,即使已經離開了創造它的環境也不例外。 在一些語言中,在函數中可以(嵌套)定義另一個函數時,如果內部的函數引用了外部的函數的變量,則可能產生閉包。 ——

原创 飄逸的python - 代碼即文檔docstring

什麼是docstring 在軟件工程中,其實編碼所佔的部分是非常小的,大多是其它的事情,比如寫文檔。文檔是溝通的工具。 在python中,比較推崇在代碼中寫文檔,代碼即文檔,比較方便,容易維護,直觀,一致。 代碼寫完,文檔也出

原创 圖解csrf原理

攻擊原理:僞造請求鏈接,騙你來點 防禦原理:不讓你那麼容易僞造請求(cookie中加入隨機數,要求請求中帶上,而攻擊者獲取不到cookie中的隨機數) 點贊 2 收藏 分享 文章舉報

原创 python中all()的“奇怪”現象

先看一下下面幾條語句結果,可能會覺得不是那麼符合直覺。 >> all([]) True >> all([[]]) False >> all([[[]]]) True 一開始在項目中發現all([])返回True,感覺很不理解。 其