在課程開始前自己有針對課程做了個劇本,原本還擔心這個劇本無法支撐 6 個小時的課程,但經過這兩天實際進行後才發現,我擔心太多了,因為很多劇本以外的狀況,而即使那些狀況都不發生,把那些東西一股腦的塞給來參與的朋友似乎也太多了,因為大部分人對於 CakePHP 都僅是粗淺的認識,也有部份朋友對 PHP 並不是那麼熟悉,所以一直在調整自己的腳步,在第一天就顯得有些渾亂,第二天好一些。
在這兩天開始時都是針對基礎環境的建置做介紹,目的是希望參與的朋友回到家都能夠重建這些環境進行練習,所以上午的步調都明顯緩慢些;在電腦教室的環境也是有許多狀況,因為使用 xampp 的隨身版本,發現它對於環境的兼容性不是很好,而部份電腦因為已經裝過 xampp 的安裝版本,設定也出現混淆的情況,當然,也有些沒有跟著步調進行而出現的設定錯誤或是意外狀況,所以第一天在上午只有把環境建置完成,並且丟了個 hello world 。第二天因為有了些經驗,雖然也是狀況不斷,但進度比較穩定些,上午課程結束時已經完成了第一個範例的實做。
第一天下午只把單一資料表的存取、查詢等功能完成,進一步要介紹檔案上傳的處理時,發現時間已經差不多了,所以就直接打斷,進入 Q&A 的時間;第二天則是調整方向,略過檔案上傳的處理,直接切入兩個資料表的關聯處理,進一步的作到關聯資料編輯流程的修正,算是比較像樣些。在第一天的人數與問答比較多一些,第二天就相對沉默,可能也是人少一點吧。
課程的進行方式就是一步一步推進,我進行一些操作,藉著請參與的朋友在自己電腦進行同樣操作,在後面的實做部份也另外透過 ftp 方式讓所有人可以直接存取我所展示的程式碼,減少因為程式碼繕打所需要的時間。只不過因為程式碼都是現場輸入,所以沒有針對程式碼的細節多做說明,只希望有心的朋友可以拿著疑問去比對官方手冊,畢竟 6 小時要吸收這些東西是有點痛苦。依據過去的經驗,過度著重在概念的陳述時會發現下面朋友持續點頭或兩眼無神的情況,所以這一次大量的進行實務操作,但也相對的在概念的建立上就顯得薄弱,這算是兩難吧。
比較對不起參與朋友的地方是,我沒能夠有太多的前置時間做準備,上個星期還去高等法院洗了個三溫暖,所以準備的部份確實不足,只能希望這兩天參與的朋友能夠有一個開始的印象,藉此作為繼續深入的起點。
環境建置對於這種短暫的教學活動確實會有不小的影響,有朋友建議使用 VM 建置基本環境,讓教學活動可以聚焦在必要的操作之上,也許未來還有機會時可以透過這樣的形式。這兩天最大的遺憾是有不少朋友報名了卻未前來,這也是在台北辦活動的一個難處,台北人太忙了,所以經常沒辦法照著行程走,降低一些活動舉辦的意願。
這兩天的課程也需要感謝 Openfoundry 提供的機會以及 Freddi 細心的安排與為兩天活動的紀錄開了個頭,有興趣的朋友可以參考:
http://of.openfoundry.org/kwiki/ossfworkshop/index.cgi?WorkShop-0711
http://of.openfoundry.org/kwiki/ossfworkshop/index.cgi?WorkShop-071112
James 也針對第一天上午的環境建置提供了紀錄:
http://code.google.com/p/zf-tw/wiki/SettingUpCakePHPEnv
如果時間允許,也許會找時間做些整理吧;總之,這兩天的活動結束了,好好睡覺去