update 2009.07.23: 有影音檔可以看了,請點選這裡 7月18日受到 OSSF::自由軟體鑄造場(Open Source Software Foundry)的邀請,在高雄講一場 Open Source PHP Web Framework系列講座 - CodeIgniter (高雄場次) ,我準備了 87 張投影片,包含介紹了 CodeIgniter 目前台灣官方網站的狀況,以及流行 PHP MVC Framework 的比較,大部分時間花在 Controller, Views 身上,還有 helper function, Library Class 教學使用,沒有把 Model 精華部份教完有點可惜,內容可能有點多,一整天六小時的課程把教學消化,好像有點困難了,這也是給我一點警惕,下次教學這部份內容要在改變一下,這樣對於來上課的學員,才不會感到排斥,最後非常感謝酷學園的阿民來幫忙錄影,以及飛亨現場支援,以及讓我有這次機會可以上台分享這幾個月在 CI 上面的使用心得,底下是我這次的上課投影片,如果大家有問題可以到論壇討論,或者是看看繁體中文教學文件,如果對於翻譯教學文件有興趣,可以再跟我聯絡喔。
[SQL] MySQL ROW_NUMBER Simulation
在台大 PTT Database 版看到有人問一個問題,我覺得還不錯,問題如下:網頁版
[Read More]小弟在練習做一個系統遇到以下問題 志願 | 系所 | 功能 1 | a | 退選 2 | b | 退選 3 | c | 退選 4 | d | 退選 5 | e | 退選 網頁介面如上(用for迴圈+mysql_fetch_object抓出資料) 報名序號 | 姓名 | 志願1 | 志願2 | 志願3 | 志願4 | 志願5 1001 小王 a b c d e 資料庫欄位內容如上 想請問
若使用者想退選志願3~~照理說用update把志願3欄位清掉 網頁再一次抓資料會變成志願3的系所變空的(如下表) 志願 | 系所 | 功能 1 | a | 退選 2 | b | 退選 3 | | 退選 4 | d | 退選 5 | e | 退選 有沒有辦法在select的時候排除空的那欄 也就是說抓資料的時候,以上述為例,只抓出4筆,變成下表 志願 | 系所 | 功能 1 | a | 退選 2 | b | 退選 3 | d | 退選 4 | e | 退選
[CodeIgniter] lighttpd rewrite rule && apache mod_rewrite
CodeIgniter 要移除網址列存在的 index.php,apache 必須使用 mod_rewrite 寫入 .htaccess 的方式來達成,lighttpd 也是有支援 rewrite,可以參考官方文件:Module: mod_rewrite,設定方法很容易。
$HTTP["host"] == "mimi.twgg.org" {
server.document-root = "/var/www/html/MLB/"
url.rewrite = (
"^/images/.*$" => "$0",
"^/includes/.*$" => "$0",
"^/(.*)$" => "index.php/$1"
)
accesslog.filename = "/var/log/lighttpd/mimi.twgg.org-access_log"
}[Read More][Perl] 解決 Wide character in print with UTF-8 mode
[PHP] Gallery 3.0 Beta 1 使用 Kohana MVC Framework
Gallery 3.0 Beta 1 出來了,在 roga’s blog,看到這篇訊息,gallery 3 捨去 php smaty template engine,而改用 Kohana MVC Framework 這套 base on CodeIgniter 的 Framework,在 Gallery3:FAQ 裡面有提到為什麼會使用 Kohana 這套 MVC,gallery 團隊找尋了許多 MVC 的架構來幫助開發整個相簿系統,包含了 CakePHP、Zend Framework、Prado、Symfony、CodeIgniter,最後經過許多人的討論,選用了 Kohana 這套 MVC,原本打算考慮 CI 的,雖然 CI 支援 PHP4 跟 PHP5,以及它非常的小,對於效能方面也非常的好,但是並不支援 PHP5 的 exception,畢且有些少數的 Structure 只有支援 PHP4,所以就不被他們採納了,再來 Zend Framework 因為包含了 1705 個檔案,相當龐大,效能比 CI 少了 200-300%,雖然 ZF 文件相當豐富,不過沒有良好的 example 範例,所以導致 gallery 團隊遇到很多挫折,XDD。 最後選擇了 Kohana,雖然 Kohana 效能輸給 CI,不過這之間的差異極小,Kohana 也有 support PHP5 的 exception,Kohana 文件比 CI 還要少了些,不過對 gallery 團隊已經相當足夠了。底下有一篇各大 Framework 的效能比較:PHP framework comparison benchmarks,還有另一篇:Kohana vs CodeIgniter: Speed and Memory Usage Performance Benchmark
[PHP] FreeBSD Sphinx 繁體中文全文檢索 on PHP
最近想說幫之前替代役單位來把全文檢索的中文部份搞定,所以找了一些全文檢索的 open source,挑了這套網路上評價還不錯的 Sphinx,目前 Sphinx 支援的作業系統如下:
- Linux 2.4.x, 2.6.x (various distributions)
- Windows 2000, XP
- FreeBSD 4.x, 5.x, 6.x
- NetBSD 1.6, 3.0
- Solaris 9, 11
- Mac OS X 雖然上面寫 FreeBSD 只支援到 6.X,但是我測試是在 FreeBSD 7.1-RELEASE-p6 的環境,所以相當 ok 的,底下是我安裝在 FreeBSD 的心得筆記,PHP 官網上面有支援
Search Engine Extensions 的介紹,包含了 mnoGoSearch、Sphinx — Sphinx Client、Swish — Swish Indexing,可以利用 pecl 來安裝 Sphinx,目前版本:0.9.9-rc1。
[Read More][MySQL] 利用 perl 單行印出 my.cnf
[jQuery] 驗證表單實作筆記 API/1.3/Selectors
驗證 form 表單屬於前端的工作,非常重要,避免使用者填錯格式,當然在 jQuery Plugin 可以找到專門驗證表單的外掛:jQuery plugin: Validation,此外掛不能相容於 IE 6,會沒辦法呈現效果,google 到一篇解決方法:Validating not happening in IE6 & no error removal on keyup,這篇裡面提到,必須使用 un-packed and un-minified 的版本,也就是沒有壓縮過的 javascript 檔案,不過我自己沒有試過就是了,底下針對表單的 checkbox select input radio 欄位做檢查的筆記,可以讓大家參考看看。 在 jQuery 1.3 裡面正式拿掉 [@attr] 的寫法,所以以前寫 $(“input:radio[@name=reg_sex]”) 都要改成 $(“input:radio[name=reg_sex]”),這樣才是正確的,可以參考 jQuery Selector 這篇的 Attribute Filters 部份,先來一篇網路上實做提示說明在 text 來未:jQuery: show plain text in a password field and then make it a regular password field on focus 作法很簡單:建立兩個輸入 password 的 text input 欄位:
[Read More][宣傳] 安妮朵拉創作歌曲:人生最大的意義
在 ptt 看到創作曲,還蠻好聽的,替他們宣傳一下,聲音不輸給台灣的明星阿 安妮朵拉 人生最大的意義 地下絲絨live 官方網站:人生最大的意義
