原创 mac 10.9 無法解析hosts的問題解決

由於系統的dns服務器優先於hosts,導致無法解析部分hosts了,唯一的解決方式是安裝dnsmasq域名解析服務 以下是親自操作的步驟: brew install -vd --use-gcc dnsmasq cp /usr/local

原创 在html頁面中判斷本地app是否安裝並打開

html中其實是無法判斷應用是否安裝,除非在webview中通過js bridge,這裏通過一種方式達到此目的。 1、編輯AndroidManifest.xml:     主要是增加第二個<intent-filter>,myapp用來標識

原创 shell和python獲取內網ip地址

1、shell命令:   linux:ifconfig|grep 'inet '|grep -v '127.0'|xargs|awk -F '[ :]' '{print $3}'   mac:ifconfig|grep 'inet '|g

原创 用python解華爲“13張撲克牌抽取題目”

剛看到這個題目,稍微想了下,其實可以模擬抽牌的動作,最終求得這首撲克牌:【7,1,12,2,8,3,11,4,9,5,13,6,10】 """ 現有1~13共13張已按一定順序正面朝上疊放好的撲克牌,將牌的第1張放到第13張後面,拿出此

原创 基於twisted的web server框架簡單原型

# -*- coding=utf-8 -*- import sys, os from twisted.web import server, resource from twisted.internet import reactor fr

原创 多繼承下函數指針強制轉換所引發的詭異問題(CCNotificationCenter)

  函數指針一般來說必須返回類型和參數類型一一嚴格對應,否則有可能導致問題,即使參數類型本身是父子關係。   比如如果想自定義一個通知對象來取代通知回調函數中CCObject參數: typedef void (CCObject::*

原创 redis hash數據佔用內存測試

對於hash或者普通string set(其實都是hash),內存佔用明顯跟key的數量有莫大的關係,key對應的value長度對於內存佔用影響不大 r = redis.Redis(host='127.0.0.1', port=6379

原创 python 執行sh腳本文件

# 環境:macosx、stackless python & twisted cmd = '/users/xxx/.../xx.sh' # 全路徑或者./相對路徑 import subprocess p = subprocess.Pop

原创 python多線程threading.Condition示例及解析

很多時候只有通過源碼才能看清其本質,示例參考來源:http://blog.csdn.net/jgood/article/details/4305604import threading, time class Seeker(threadi

原创 使用Python生成器解決八皇后問題

像我這種對奇特的語言特性很熱衷,對算法本身並不熱衷也並不擅長的人,似乎很難去寫一篇關於算法題的文章。好在我還有一個特點就是不管寫了多麼爛的代碼都會拿出來得瑟一下,不怕被拍磚,於是便來分享一下關於使用Python中的yield來解決八皇后問

原创 stackless + twisted 編程模型

# -*- encoding: utf-8 -*- """ 通過tasklet構造的對象只是加入調度隊列,必須等待schedule, 真正執行隊列即執行可以通過四個方法:stackless.run(), stackless.schedu

原创 編譯自定義pypy解釋器,獨立運行pyc

  衆所周知,pypy執行效率要高出cpython 5~10倍,特別在網絡併發方面,融合了stackless,最新基於python2.7的2.3版本比較穩定,基本上可以用於生產環境。   不過pypy默認必須攜帶py文件運行,是否可以只部

原创 python的接口實現zope.interface示例

python支持多繼承,但是不支持接口,zope.inteface是其三方的接口實現庫,在twisted中有大量使用 from zope.interface import Interface from zope.interface im

原创 twisted日誌源碼分析

twisted日誌系統提供了按照日期自動創建日誌文件的功能, 不需要啓動reactor也可以使用 啓動日誌示例代碼: outpath = '/Users/.../log' outname = 'server.log'

原创 android調試:代碼中打印內存信息

一、Debug和ActivityManager的相關方法: public void printMemoryInfo() { String tag = "APPActivity"; final Activi