${name=aaron} 如果name沒有定義,將name設成aaron。注意與前面的區別。
${name+aaron}如果name已經定義,值為aaron,否則為null。有點奇怪,對吧?
${name?"not assigned"} 如果name沒有定義,顯示name:not assigned
有時雖然變量已經定義了,但是個null值,這樣就不起作用了。可用通過在操作符(-,=,+,?)前加個:來解決。冒號的意思就是將null當成未定義處理。
例子:
name=
echo ${name-aaron}
顯示空值
echo ${name:-aaron}
顯示aaron
* 匹配0多過個字符
? 匹配一個字符
[...] 匹配方括號中的任意一個字符,可用[ - ]表示字符范圍,如[1-3]表示匹配1,2,3 中的任意一個。
[!...] 匹配任意不在方括號中的字符。
例子: 文件處理成功后會加個前綴'_', 想要查看哪些文件沒被成功處理,可用命令:ls [!_]*
應該說兩個團隊都步入了正軌,雖然問題還有很多,雖然他們只應用了部分敏捷實踐,但并不妨礙稱他們為敏捷團隊。 敏捷團隊是那些能夠利用敏捷實踐來解決項目問題,保證項目高質量提交的團隊。那些所謂的“我們做了TDD了,所以我們是敏捷開發”,“我們是敏捷開發,所以我們沒有設計文檔“, 都是一葉障目,不見泰山。 敏捷開發是一種不斷自我反省,持續改進的過程。所謂的stand up, iterative, retrospective, 都是它的一種表現形式而已,千萬別被這些所謂的形式禁錮了自己。
HTTP頭中有個expires參數,設置一個未來的時間,在這時間以前,瀏覽器會先從cache讀取,如果沒有再從服務器中讀取。對于像圖片,css,script等靜態內容,只需發一次http request就可,以后就可從cache中讀取,一方面提高了響應時間,也減少了http rquest的次數。
具體的格式如下: Expires = "Expires" ":" HTTP-date。
Example: Expires: Thu, 01 Dec 2010 16:00:00 GMT.
Expires有個缺點就是它只能設置絕對時間,這樣每當到達預設時間點后必須重設expires值。HTTP/1.1提供了一個新的參數cache-control可以設置相對時間。
Cache-Control:Max-age
Cache-Control使用max-age直接指定component能被緩存多長時間. 它定義了新的方式用秒為單位. 假如當前時間與上次返回時間差小于上次返回的max-age,那么瀏覽器使用緩存的版本。如果需要緩存10年,你可以這樣指定:
Cache-Control: max-age=315360000
PS: 如果同時設置了cache-control和expires,cache-control會覆蓋expires。
Apache中配置expires
Apache提供了mod_expires.so模塊,可以輕松的設置expires值,以下是配置的范例:
LoadModule expires_module modules/mod_expires.so
ExpiresActive On
ExpiresDefault "access plus 300 seconds" #默認300秒過期
<Directory "/myProject/webResources"> #文件所在目錄
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
ExpiresByType text/html "access plus 1 day" #設置cache時間為1天
ExpiresByType text/css "access plus 1 day"
ExpiresByType text/javascript "access plus 1 day"
ExpiresByType image/gif "access plus 1 day"
ExpiresByType image/jpg "access plus 1 day"
ExpiresByType image/png "access plus 1 day"
ExpiresByType application/x-shockwave-flash "access plus 1 day"
參考文檔:
1. http://kuppalli.wordpress.com/2009/07/14/apache-configuration-for-etags-gzip-and-expires-header/
2. http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.32
3. http://www.meichua.com/archives/168.html
1. 下載php-mode 1.5,解壓到~/elisp 目錄
2. 在用戶目錄(~/)下找到.emacs 文件,如果沒有,就新建一個。
3. 把下列內容加到。emacs文件中:
(autoload 'php-mode "~/elisp/php-mode" "Major mode for editing php code." t)
(add-to-list 'auto-mode-alist '("\\.php$" . php-mode))
(add-to-list 'auto-mode-alist '("\\.inc$" . php-mode)
4. 重啟emacs。
參考地址: http://stackoverflow.com/questions/898063/making-php-mode-compatible-with-emacs-23