Windows 下安裝 sshfs

遠端寫程式最方便的就是架個 FTP,並且用支援 FTP 模式的編輯器開始編輯,個人推薦 Windows 底下用 PSPadSublime,另外一種方式就是透過 sshfs 將 Linux 的硬碟 mount 到自己的系統,如果是 Ubuntu 就很簡單,可以參考我以前寫的教學,那 Windows 呢,可以透過 Google win-sshfs project,把 Dokan Library 0.6.0主程式 win-sshfs 安裝好就可以用了。比較需要注意的是,如果 Server 是 FreeBSD,那需要而外設定 /etc/ssh/sshd_config
PasswordAuthentication yes

[PHP] preg_replace 效能測試 (將兩個空白字元以上取代成一個)

php-logo
preg_replace 可以使用正規語法來取代字串任何字元,,今天探討取代空白字元的效能,雖然這是個不起眼的效能評估,一般人不太會這樣去改,不過這是國外 PHP Framework 有人提出來修正的,經過許多人的測試一致同意。功能就是一篇文章內如果有多餘的空白能空取代成一個,一般人都會用 \s+ 正規語法,畢竟大家都知道 \s 代表單一空白或 \r 等符號,但是國外有人提出用 {2,} 方式來取代空白。程式碼如下,大家可以測試看看。 < ?php $nb = 10000; $str = str_repeat('Hi, I am appleboy ' . "\n", 10); $t1 = microtime(true); for ($i = $nb; $i--; ) { preg_replace('/\s+/', ' ', $str); } $t2 = microtime(true); for ($i = $nb; $i--; ) { preg_replace('/ {2,}/', ' ', str_replace(array("\r", "\n", "\t", "\x0B", "\x0C"), ' ', $str)); } $t3 = microtime(true); echo $t2 - $t1; echo "\n"; echo $t3 - $t2;[/code] 測試結果(1萬次) Continue reading "[PHP] preg_replace 效能測試 (將兩個空白字元以上取代成一個)"

簡易 PHP Excel Generator Library

php-logo
因為專案需求,必須將資料庫資料輸出成簡易 Excel 檔案,如果要用 PHP 取裡 Excel 文件,我想大家首推一定是 PHPExcel,不管你要對 Excel 做任何處理都一定辦的到,但是專案只需要 generate excel 簡易表格出來,有需要這麼強大的 PHPExcel,網路上找到一個非常簡易的 Library 那就是 php-excel 作者似乎現在沒再更新了,不過已經夠專案使用了,PHP 程式碼也非常簡單。

How to use

程式碼很簡易
$header = array('編號', '姓名', '電話'); 
$body = array('1', '小惡魔', '0934353289'); 
$xls = new Excel_XML;
$xls->addRow($header);
$xls->addRow($body);
$xls->generateXML("test");
或是將資料寫成多為陣列
$body = array(array('編號', '姓名', '電話'), array('1', '小惡魔', '0934353289')); 
$xls = new Excel_XML;
$xls->addArray($body);
$xls->generateXML("test");
結論就是殺雞焉用牛刀,就這個簡易 Library 就對了。

CSS layout 好幫手 Compass scss version of normalize.css

我相信網頁程式設計師都知道,網站一開始必須先使用 CSS Rest 將所有的 browser layout 初始化,這樣可以讓以後 CSS debug 速度增加,也解決了很多跨瀏覽器的問題,昨天使用 Compass-h5bp 來自動產生 html5 template,但是發現版本並非是 html5 boilerplate 所提供的 V4.0.0 版本,專案裡面的 Normalize.css 也是舊版的,雖然有其他開發者提交 pull request,但是作者似乎還沒 merge 到主分支,只是我好奇這個 tool 除了幫忙產生 html5 boilerplate,另外多了 Compass 檔案,讓寫 Compass 前端工程師更加方便,由於 Normalize.css 還沒更新,所以我 fork 了 normalize.css 專案,並且將 v2.0.1(IE 8+, Firefox 4+, Safari 5+, Opera, Chrome) 跟 v1.0.1 (Includes legacy browser support) 整合在同一支 scss 檔案,歡迎大家取用。 如果要支援 IE6/7 的話,請將 $legacy_browser_support 設定為 true 即可。檔案可以由底下專案取得 SCSS version of normalize.css