在 ptt 看到創作曲,還蠻好聽的,替他們宣傳一下,聲音不輸給台灣的明星阿 安妮朵拉 人生最大的意義 地下絲絨live 官方網站:人生最大的意義
[網站] 好站連結 (三)
[CodeIgniter] 使用者註冊 auth code 亂數認證碼圖片
我想這已經是網站最基本的技術,防止機器人大量註冊,或者是灌爆留言板,之前寫了兩篇製作認證碼的教學:[PHP]製作類似 google 網頁認證碼,[PHP] 好用的留言板 驗證碼 功能,這篇是要寫如何實做把第一篇教學整合到 CodeIgniter 系統裡面,來筆記一下,以後用到就相當方便了,CodeIgniter 在 path 路徑上面有小 bug,查了國外討論區發現了這篇 Path to CSS doesn’t work a second time,不過這並沒有解決我的問題,主機的網址是 http://xxxxx.xxx/path/,所有的 CI 檔案都是放在 path 目錄底下,包含圖片是 http://xxxxx.xxx/path/images/,在 View 裡面基本上只要寫
這樣就可以顯示圖片了,但是要改成
才能,但是我的 index.php 是放在 /path/ 裡面,以絕對路徑跟相對路徑來想,都是不太合理的,所以後來用
來解決,不過這是暫時的問題,我比較龜毛,喜歡寫短一點的 code。 如何裝上類似 google 的認證碼呢,首先打開 index.php 檔案
/* 算出 index.php 根目錄 */
define('Document_root',dirname(__FILE__));
[Read More][Gmail] 最近發布的功能:進階搜尋,預覽收件夾,郵件內容語言轉換
最近在 Gmail Lab 看到發布了許多新功能,都蠻好用的,加速搜尋郵件內容,收件者,寄件者,郵件內容語言轉換,匯入其他郵件的通訊名單…等,進階搜尋是這之前就開發好得功能,可以在 search operators 這篇裡面找到相關的用法,簡單來說底下有個例子:
- “to:me is:starred” 搜尋寄信給您所標記的郵件
- “is:chat from:heather” 搜尋與heather使用者對話的內容
- “is:starred -in:inbox” 搜尋所有信件夾內未標記郵件
- “from:elliot filename:pdf” 搜尋 elliot 寄來信件附件檔帶有 pdf 檔案 上面例子看了很複雜吧,因為你還要記的很多相關的語法,才可以正確搜尋到,所以 google 很貼心的設計了
Search Autocomplete,之前我有寫一篇:New in Labs:Gmail search autocomplete 快速找尋使用者 email 跟附件檔案,造福了使用 Gmail 的大眾。 預覽收件夾這功能可以參考:New in Labs: Inbox preview,這功能用在當開啟 gmail 網頁時,會有 loading 的畫面,那針對速度慢得使用者,可以預先看到新的郵件標題,而不需要整個載入之後才看的到,目前還沒有遇到這種狀況,不過大家可以試試看。 郵件內容語言轉換(New in Labs: Automatic message translation),這功能相當不錯,可以利用 google translate tool 進行轉換您所想要的語言,如下圖:
蠻多好玩的功能,都可以去 Gmail Lab 去開起來喔,大家試試看吧
[高雄美食] 拉斐爾廚房焗烤飯
好久沒來寫篇美食了,最近吃了一家還不錯的焗烤飯,那就是在高雄市文化中心附近的拉斐爾,這間價位真的算可以投資的喔,還蠻便宜的,焗烤飯價位都介於 100~150 元之間,義大利麵也都在100元以下,加上 39 元就可以享用套餐系列喔,有烤麵包,飲料,濃湯。大家可以來這裡吃看看,除了一樓之外還有地下室可以用餐,地下室還蠻適合開同學會的,上面那張圖就是地下室的照片。 
[CodeIgniter] Text 補助函數 character_limiter 不適用於中文字
在 CodeIgniter 裡面的 Text 補助函數,目前只適用於英文字體,不支援 utf-8 或者是簡體字體,bite 數超過2的都會出問題,當然是因為這是國外的 mvc 所以也沒有考慮到這麼週到就是了,也不是沒有辦法解決,之前就用了PHP官方網站所提供的一個函式來正確切割中文字串,就是要利用 ord 判斷 ASCII 編碼範圍,或者是可以使用 mb_substr 函式正確切割,之前寫一篇可以參考看看:[PHP] 如何切割中文標題。 底下是原本 CodeIgniter 所提供的 Text 函數
if ( ! function_exists('character_limiter'))
{
function character_limiter($str, $n = 500, $end_char = '…')
{
if (strlen($str) < $n)
{
return $str;
}
$str = preg_replace("/\s+/", ' ', str_replace(array("\r\n", "\r", "\n"), ' ', $str));
if (strlen($str) <= $n)
{
return $str;
}
$out = "";
foreach (explode(' ', trim($str)) as $val)
{
$out .= $val.' ';
if (strlen($out) >= $n)
{
$out = trim($out);
return (strlen($out) == strlen($str)) ? $out : $out.$end_char;
}
}
}
}[Read More][網站] 好站連結 (二)
[FreeBSD] 小技巧:防止 user 查詢觀看其他 user Processes
看了這篇:FreeBSD Prevent Users From Seeing Information About Processes Owned by Other Users,裡面寫到如何防止其他使用者登入 ssh 觀看到其他使用者的一些動作,平常一般使用者可以利用 ps aux 指令關看到所有 Processes 的狀況,包含了系統所有使用者,這篇就是介紹如何關閉使用者查看其他不屬於自己的 Processes,作法有兩種,底下分別介紹,效果是一樣的: 1. 寫入 /etc/sysctl.conf
echo 'security.bsd.see_other_uids=0' >> /etc/sysctl.conf echo 'security.bsd.see_other_gids=0' >> /etc/sysctl.conf2. 直接在 command line 執行
sysctl security.bsd.see_other_uids=0 sysctl security.bsd.see_other_gids=0兩種效果是一樣的,當然可以查詢目前的系統狀況
sysctl -a | grep security
[CodeIgniter] 多國語言網站製作,重複 load 相同 language?
目前正在研究網站的多國語系寫法,研究了 CodeIgniter 的 Language class 用法,可以看線上中文文件:Language 類別,目前遇到一個疑問,在單一 PHP 檔案讀取,不可以同時讀取相同的 Language file 檔案,這樣是完全沒有作用的,以底下的例子來說,我在 application/language 目錄底下放了三個語系資料夾,English、zh-TW、zh-CN 這三個資料夾,裡面分別放路 vbs_lang.php 檔案,為了要區別各國的語系檔案,要分別開資料夾放入,在 CI 文件裡面都寫的很清楚,架構如下
- application/language/English
- application/language/zh-TW
- application/language/zh-CN
[VPS] 虛擬主機 Linode 720 使用心得 (一)

Linode 720 VPS 這個方案,整體服務感覺非常的不錯,正在測試速度跟效能,可以選擇四個地方的機房,可以參考此 連結,剛開通給我的是 Fremont, CA 機房,其實在哪個機房都是要自己去測試看看,ping 主機,或者是開 ftp 下載,http上傳下載,都要交換測試速度阿,在 Fremont, CA 那邊目前可以放 6 個 Linode 720s 服務,測試 web 的速度感覺還蠻不錯的,Linode 抓取學宿網路速度可以到達 400K/s 以上,抓取美國職棒官網 MLB TV 可以到 4MB/s 以上,學網抓 Linode 可以到 1MB/s,有圖證明:
Linode 抓取美國檔案
Linode 抓取學網檔案
學網抓 Linode 檔案
