前段時間我寫過一篇文章,說是時候使用白名單來翻牆了,不過那個白名單已經過期好久,用起來不是那麼順暢了,後來我就誇下海口說:我要自己實現一個爬蟲,來爬取中國的網站域名,好更新白名單。
好吧,總之這個爬蟲是寫好了然後上線爬取了一萬多的,不過最後我找到了前人做的更好的方案,於是這個爬蟲項目還是廢棄了。總之,白名單更強大了,只是沒有使用這個爬蟲而已。
爬蟲是用 Python 寫的,並沒有使用經[……]
前段時間我寫過一篇文章,說是時候使用白名單來翻牆了,不過那個白名單已經過期好久,用起來不是那麼順暢了,後來我就誇下海口說:我要自己實現一個爬蟲,來爬取中國的網站域名,好更新白名單。
好吧,總之這個爬蟲是寫好了然後上線爬取了一萬多的,不過最後我找到了前人做的更好的方案,於是這個爬蟲項目還是廢棄了。總之,白名單更強大了,只是沒有使用這個爬蟲而已。
爬蟲是用 Python 寫的,並沒有使用經[……]
最近室友在 Ubuntu的 上跑 MC,我幫著搭了一下,但由於包是他自己改過的,所以可能具體的運行過程並不通用,但總體環境配置還是比較通用的。
首先 MC 是跑在 java的 環境下的,為了讓它跑的更加順暢,我們還是要在 Ubuntu 上安裝甲骨文的 java 環境:
1 2 3 4 5 6 7 |
apt-get install python-software-properties add-apt-repository ppa:webupd8team/java apt-get update apt-get install oracle-java7-installer |
安裝好以後,可以使用這個命令來驗證你的 j[……]
在使用 Python 做網絡編程的時候難免會遇到字符串與字節流的轉換,這裡我們記錄以下幾種常用的方法:
首先是字節數組轉字符串,也就是str:
1 2 3 4 5 |
b = b'some byte array' str(b, encoding = "utf-8") #or bytes.decode(b) |
然後是字符串轉為字節數組:
1 2 3 4 5 |
s = 'some string' bytes(s, encoding = "utf8") #or str.encode(s) |
以上兩種方法不論哪種都是可以的。[……]
我在阿里雲搭建的自用 dnsmasq 服務器,用來做免污染的 DNS,最近由於公開了IP,果然就遭到了攻擊——其實是被用於 DNS 放大攻擊。
由於 dnsmasq 本身就沒有設計為對外提供 DNS 服務,所以它對於安全方面的配置文件不是很多(根本沒有!),但它的解析策略又很方便配置(比如中國DNS解析白名單等),所以我在原本的基礎上,再加了一個 Bind9 作為前端來做安全。[……]
的TextWrangler 是 Mac 上不可或缺的多功能文本編輯工具,內置優秀的代碼高亮,還能支持正則表達式的搜索……總之,對於開發者來說,實在是人手必備。
不過,的TextWrangler 對於 XML 就沒有那麼智能了——打開之後往往是長長的一行!
總之,解決辦法很簡單,我們給 TextWrangler 寫一個腳本即可。
打開 TextWrangler 新建一個空白的文檔([……]
大多數情況下,人們用編程語言是否會隱式地轉換數據類型來判斷一門語言是否為弱類型語言,比如 C。
而實際上,對於除了比較經典的語言外,大部分人對於其他常見語言的強、弱類型是分不清楚的——或者說,是不一致的。因此總會有人來爭論它。如果我們以開篇的概念來作為基礎,那麼矛盾就會顯現:
比如 Pascal 曾計劃作為強類型語言,但整體上卻給類型系統引入了一個漏洞,所以技術上來講它是弱類型的。[……]
之前我們說過,由於國內網絡進一步惡劣,使用 釀造 也要更換國內大學的鏡像源,但是這樣的方法治標不治本,更新是快了,可是下載還是一樣。
結果就是導致大部分的更新都需要去下載源碼然後本地編譯,運氣差一點的干脆源碼也下載不下來,每次都要取消然後重試,不停地手工重複。
——如果能讓終端命令走代理就好了。
是的,你可能想到了什麼比如 proxychains-NG 這類的軟件,其實不用,因為 b[……]