原创 Python 設計模式系列之二: 創建型 Simple Factory 模式

一、創建型模式 創建型模式(Creational Pattern)對類的實例化過程進行了抽象,能夠使軟件模塊做到與對象創建和組織的無關性。爲了使體系結構更加清晰,一些軟件在設計上要求當創建類的具體實例時,能夠根據具體的語境來動態地決定

原创 Fedora20安裝PIL

首先輸入命令獲得PIL包: wget http://effbot.org/media/downloads/Imaging-1.1.7.tar.gz 然後輸入打開README,看到裏面會有幾個依賴包,jpegsrc  ,libpng,  

原创 Django的Q查詢

Complex lookups with Q objects(Q對象的複雜查詢) 僅僅靠單一的關鍵字參數查詢已經很難滿足查詢要求。此時Django爲我們提供了Q查詢: class Q 1、Q對象(django.db.model

原创 Python yield使用方法

您可能聽說過,帶有 yield 的函數在 Python 中被稱之爲 generator(生成器),何謂 generator ? 我們先拋開 generator,以一個常見的編程題目來展示 yield 的概念。 如何生成斐波那契數列

原创 Python @property

@property 可以將python定義的函數“當做”屬性訪問,從而提供更加友好訪問方式,但是有時候setter/getter也是需要的,我們視具體情況吧 請注意以下代碼場景: 代碼片段1: class Parrot(object):

原创 jsonp詳解

json相信大家都用的多,jsonp我就一直沒有機會用到,但也經常看到,只知道是“用來跨域的”,一直不知道具體是個什麼東西。今天總算搞明白了。下面一步步來搞清楚jsonp是個什麼玩意。 同源策略 首先基於安全的原因,瀏覽器是存在同源

原创 fedora20 安裝XMind

環境:fedora 20    xmind 3.4.1 xmind是一款優秀的跨平臺思維導圖軟件,但官方只提供deb包,只能在ubuntu和debian系列下直接安裝。因此本文介紹如何在fedora下安裝xmind,盜取官圖一張~

原创 python json utf-8亂碼

讀取的json文件,然後輸出後亂碼。 亂碼均爲\\u4e00\\u4e2a\\u7ea2\\u4eba\\u7684形式 解決方案: data=json.load(file('test.json')) jsonobj=json.dumps

原创 fedora20設置nginx外部設備訪問

開發手機網站的時候,需要用nginx搭建服務器供手機連接。 輸入ifconfig命令,查找本機的ip地址,然後添加到nginx的配置文件的server_name屬性後面,然後啓動nginx 發現電腦瀏覽器上輸入ip地址可以正常訪問網站,但

原创 Python設計模式系列之一: 用模式改善軟件設計

一、什麼是設計模式 設計模式(design pattern)的提出,是面向對象程序設計演化過程中的一個重要里程碑。正如Gamma,Helm,Johnson和Vlissides在他們的經典著作《設計模式》一書中所說的:設計模式使得人們可

原创 Django Signals 從實踐到源碼分析

當某個事件發生的時候,signal(信號)允許senders(發送者)用來通知receivers(接收者),通知receivers幹嘛?你想要recivers幹嘛就可以幹嘛。這在多處代碼對同一個事件感興趣的時候就有用武之地了。 比如:D

原创 Python裏的enumerate

剛剛看了一下Python裏面的enumerate的部分, enumerate每次回返回一個tuple:(index, value)例子很簡單: fo

原创 MySQL操作集錦

/* 啓動MySQL */ net start mysql /* 連接與斷開服務器 */ mysql -h 地址 -P 端口 -u 用戶名 -p 密碼 /* 跳過權限驗證登錄MySQL */ mysqld --skip-grant

原创 Python設計模式系列之三: 創建型Factory Method模式

一、簡介 工廠方法(Factory Method)模式又稱爲虛擬構造器(Virtual Constructor)模式或者多態工廠(Polymorphic Factory)模式,屬於類的創建型模式。在工廠方法模式中,父類負責定義創建對象

原创 nginx相關命令

nginx -s reload  :修改配置後重新加載生效 nginx -s reopen  :重新打開日誌文件 nginx -t -c /path