用 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 

Node.js Version Management 多版本管理

nodejs-light
相信大家對於

Node.js 版本 Release 太快而感到困擾,每次新版出來,就要開始升級原本的版本,加上測試及修改,一定會浪費不少時間在上面,不管是任何語言我都希望能有一套 Version Management 來管理各版本之間的差異,以及讓使用者可以隨時切換版本來使用測試。那今天來介紹一套 Node.js Version Management,這隻程式是用 shell script 下去撰寫,可以安裝多版本在 Linux 本機上面,隨時都可以切換不同版本測試。此作者也是 expressjs Framework 發起者。

[Read More]

為什麼要選擇 CodeIgniter PHP Framework?

CodeIgniter
大家一定會有疑問,在眾多 PHP Framework 選擇下,我為什麼要推廣

CodeIgniter 這套呢?寫這篇的原因就是我在腦殘 PHP 部落格看到了這篇:Codeigniter是萬靈丹?,底下針對此作者寫的內容做一些回應

在最近幾次去面試的過程 或是和朋友聊天聊到framework 都發現了一個問題 許多完完全全不懂framework的人一直在談論它的好 也發現了有很多基本PHP程式設計基礎都不好的人都在用它 連台灣在推廣它的人都把它尊奉為神…. 看完上面的內容,我實在很想知道,有哪些推廣 CI 的人,把 CI 尊奉為神?如果有的話,可以介紹認識認識。不知道此部落格作者有沒有深入想過,為什麼這些人會覺得 CI 非常好用和 CI 的好處在哪裡?至少在我聽到的大部都是覺得 容易上手及架構清楚,光是這樣就足以讓一些基礎的人可以快速上手這套 Framework。

[Read More]

新版 CodeIgniter Nexmo Message API Library Release

CodeIgniter
繼上次釋出第1版

CodeIgniter 透過 Nexmo 傳送簡訊 Mobile Messaging 之後,該版本只有支援簡訊傳送功能,如果大家想測試,可以上 Nexmo 官網申請帳號,就可以使用了,不過在官網 Documentation 裡面有新增了 Developer API 部份,這次改版就一次把全部加入到 Library 裡面。

[Read More]