如何善用 CodeIgniter Library 及擴充核心 extend core class

CodeIgniter
上禮拜介紹了

CodeIgniter MVC 基礎介紹,這次來分享如何善用 CodeIgniter 內建的 Library,以及該如何擴充核心功能,投影片內容會比上禮拜深入些,不過不會很難,只要對於物件導向有一定的基礎,我相信都可以把整個 CodeIgniter 架構瞭解的很清楚。

此投影片會介紹4個部份
  • 如何善用使用 CodeIgniter 內建函式庫
  • 移植及撰寫個人 Library
  • 擴充核心程式碼
  • GetSparks 簡介

CodeIgniter MVC 基礎介紹

CodeIgniter

上禮拜六講了一場 CodeIgniter 簡介,裡面很清楚交代一般新手入門所需要的基礎,以及什麼是 MVC(Model,View,Controller),如何將原本的網站轉移到 CodeIgniter Framework。不多說了,大家可以參考投影片資料。投影片看完,也把作業寫好,恭喜你已經學會了CodeIgniter PHP Framework。

閱讀時可以搭配 CodeIgniter 使用手冊版本 2.1.0

新人 Git 版本控制教學

昨日去台北簡報如何快速學習 git,投影片主要是給新手 git 基礎介紹,如何使用 branch model,git submodule 及 tag。內容不會很難,適合之前就玩過任何一套 version control 的使用者來閱讀,如果有 svn 基礎,學習會比較輕鬆。簡報搭配 github 內容來教學。

投影片內容參考 Git Pro book 這網站教學,大家可以直接看原文說明,會更清楚 Git 使用。

Web Developer Tools in FireFox 10

在美國時間 2012/01/31 FireFox 發佈 10.0 版本,大家可以參考 Release Note,其實對於網頁程式設計師最大的福音就是 Firefox 內建 Web Develop Tool,以後不必在安裝 FireBug Addon,就可以任意查詢網頁 Element 功能,大家可以參考底下 Mozilla 所製作的影片以及快速瀏覽 CSS properties。 不多說了看完影片直接打開 FireFox,按下快捷鍵 Ctrl+Shift+I 就可以開始嘗試 Firfox 內建 Web Develop Tool。 Ref: Firefox 10 tooling closes in on Firebug Firefox Adds Powerful New Developer Tools

用 Ubuntu 10.10 Live CD 重新安裝 GRUB 2 到 Bootloader

logo-Ubuntu

今天起床打開電腦,Ubuntu 跳出 Warning 訊息,boot 磁區剩下 84MB,所以我手殘進去 /boot/ 目錄,把舊的 Kernel 清除,不小心砍掉 initrd.img-2.6.35-32-generic Linux Image 開機所需要的檔案,結果之後開機出現

You need to load the kernel first 大家好像都是升級 Kernel 之後才會出現上述狀況,網路上找到的解答都不符合我的需求,所以我又往 GRUB2 開機 Boot 去瞭解,新的 GRUB 2 跟原先的 GRUB 的解法已經完全不同了,沒有 /boot/grub/menu.list,而被 /boot/grub/grub.cfg 取代,所以不應該在手動編輯此檔案。grub.cfg 會在有更新 Kernel 版本時,手動執行 update-grub 的時候被修改覆寫。這次發生的原因是在我把舊版 Kernel 刪除,而忘記執行 update-grub,這時候的最佳解法就是透過 Live CD 來救援。

[Read More]

[筆記] 在 Ubuntu mount DVD ISO 檔案

logo-Ubuntu
在網路上常常下載

ISO 檔案Windows 底下可以透過虛擬光碟看到檔案內容,可是到了 Ubuntu 系統該如何知道 ISO 裡面放了哪些檔案呢?其實很簡單,可以透過 mount 指令就可以做到了喔,參考 Ubuntu 台灣論壇: 如何mount iso檔? [論壇 - Ubuntu基本設定]

$ mount /iso/ubuntu.iso /home/appleboy/ISO/ -t iso9660 -o loop
執行完上述指令,可以發現桌面會多出 DVD 光碟圖示,直接點選就可以了

Windows Titanium Mobile 入門安裝紀錄

最近安裝 Windows 版本 Titanium Mobile SDK 遇到蠻多地雷,也不確定官方什麼時候會把這 Bug 解掉,安裝過程可以參考閃光大部落格 [Titanium note.] Titanium Mobile, Windows + Android 入門安裝,其實最主要就是三個套件必須安裝: Java SDK Android SDK Titanium Studio 請先註冊帳號 請務必註冊 Titanium Studio 新帳號,不然沒辦法下載安裝檔案以及登入使用 Titanium Studio,下載好三個檔案後,請務必注意底下事項,免的安裝好之後沒辦法在 Titanium Studio 測試模擬器。Java SDK 就直接下載安裝,這邊比較沒有問題。 1. Android SDK 請務必安裝在 C:/ 底下即可,不要安裝在 “C:/Program File” 2. 安裝完成務必增加 Path 路徑,ANDROID_SDK 跟 JAVA_HOME ANDROID_SDK: C:\android-sdk JAVA_HOME: C:\Program Files\Java\jdk1.6.0_30 最後注意 Titanium Studio 的 mobilesdk 編譯模擬器的程式,因為執行編譯指令沒有加上 quote 符號,所以造成 SD Card 錯誤,所以請找檔案 mobilesdk/win32/1.7.5/android/builder.py,將 405 行處的程式碼換掉,原本是 self.sdcard, 請改成 '\" [Read More]

Geany 編輯器搭配 sshfs 參數注意事項

Geany 是一套我覺得在 Linux 作業系統底下蠻簡易及輕量的程式編輯器,之前撰寫一篇 Linux 程式開發編輯器 Geany + Fuse 遠端掛載 簡易介紹如何使用 Fuse,這次發現一個小問題,就是掛載要儲存檔案時候出現底下錯誤訊息 Error renaming temporary file: Operation not permitted. The file on disk may now be truncated! 此錯誤訊息發生在用 Fuse 掛載遠端系統所造成,原先掛載指令如下 sshfs appleboy@xxxx.com.tw:/home/appleboy /home/git/CN -p 22 -o reconnect,sshfs_sync -o uid=1000,gid=1000 我們只需要另外加上 workaround=rename flag 及可以解決此問題 sshfs appleboy@www.cn.ee.ccu.edu.tw:/home/appleboy /home/git/CN -p 22 -o reconnect,sshfs_sync -o uid=1000,gid=1000 -o workaround=rename 測試環境為 Ubuntu 10. [Read More]

PHP 多國語系製作 i18n library 筆記 (二)

php-logo
繼續上篇講到

PHP 多國語系製作 i18n library 筆記 (一),相信大家使用上沒有任何問題, 但是一定會有共同疑問,那就是可不可以做到根據偵測瀏覽器來決定預設載入語系,也就是說 load method 只需要帶入第一個參數即可。

$lang = new Language();
$lang->load("about");
echo $lang->line("index") . "\n";
[Read More]

PHP 多國語系製作 i18n library 筆記 (一)

php-logo
多國語系是目前網站必有的模組,至少都會支援繁體中文及英文,那大家都怎麼設計多國語系的架構呢,底下來一步一步來介紹。

多國語系目錄架構

language/
---> englisg/
---------> about.php
---> zh-tw/
---------> about.php
---> zh-cn/
---------> about.php
這是大部分的專案設計模式,也最容易清楚了解,接著我們就寫一個簡單的 Language Class 來動態讀取各國語系。 [Read More]
i18n  php