2011年1月30日

Joomla 1.6 安裝注意事項 (手動編譯 Apache HTTP Server & PHP on RHEL 5)

在 2011-01-10 的時候 Joomla 推出了最新的 1.6 版,因此我也灌起來玩了一下,過程中發現由於 RHEL 5.3 (Tikanga) 內建的 PHP (5.1.6) 太老舊了,Joomla 1.6 的需求是 5.2.4 以上,因此必須要升級 PHP,也利用這個機會一併把內建的老舊 Apache HTTP Server (2.2.3) 升級 (最新版:2.2.17),以下就是升級過程中的注意事項。

安裝的過程基本上很簡單,主要參考 PHP 官網上的 online documentation -> 在 View Online 的地方選 English -> Installation on Unix systems -> Apache 2.x on Unix systems 上的步驟照做即可,重點在於步驟 5「Now, configure and build PHP」,在這個 configure 範例中只有使用最基本的「--with-mysql」來加入 MySQL 的支援,但這樣對 Joomla 的安裝來說是不夠的。

在 Joomla 的安裝過程中,會確認 PHP 有 Zlib compression 支援,否則 Joomla 會無法順利安裝。按照官網上的 configure 方式是不包含 Zlib compression 支援的,必須要在 configure 的 option 裡面加上「--with-zlib」才行,也就是:「./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --with-zlib

那麼萬一像我一樣在 configure & make install PHP 之後,開始安裝 Joomla 時才在 check system requirement 的時候發現 PHP 缺少 Zlib compression 支援的話要怎麼辦呢?沒關係,這時候就要靠上一次執行 configure 時自動產生的 config.nice 檔了,config.nice 檔案會記錄上一次執行 configure 所使用的 options,只要編輯這個檔案,以相同的格式加入「--with-zlib」這個 option,然後執行「./config.nice」,最後再重新 make、make install 來重新安裝 PHP 就可以囉(安裝到相同的目錄,把剛剛安裝的版本蓋掉即可)!

加入「--with-zlib」的 config.nice 內容如下:


以第二次根據 config.nice 產生的 Make file 來執行 make 的時候,只會重新編譯新增的部份,因此速度很快。有了 config.nice 千萬要好好利用,不要傻傻的重新執行 configure,這樣會浪費很多時間阿!

基本上要注意的地方就只有這裡,其他的步驟都按照官網上的範例來做就可以了。Joomla 的安裝也很簡單,基本上就是先檢查執行環境是否符合最低需求,而後把 Joomla 網站複製到指定的目錄,最後產生 configuration.php 的內容就可以運作了。

可惜的是目前 Fabrik 套件的最新版 - 2.0.3 還不支援 Joomla 1.6,一整個就是裝不上去阿,只好過一陣子再測試囉!

另外順便補充IT黑傑克前陣子寫的 Joomla & Drupal 比較文:

2011年1月7日

[IE8] 應用 Developer Tool 進行網頁內容自動填寫

又到了學期末,在忙不完的報告海之中
學校的教務系統突然來了一封信,提醒坎尼快去把教學意見調查表填完
填自己喜愛的課沒問題,但同樣的動作要做幾百次可是麻煩至極
尤其是沒什麼收獲的課 
於是坎尼就寫了一段 javascript 讓機器自動填答 Orz

I. 找尋 Pattern

這類型的作業最重要的就是找到可利用的 Pattern
我們來看一下要填寫的 Form
DTQ02
可以看到,要填答的選項很明顯的是用 input radio 組成
打開 IE8 的 DevTool (快速鍵為 F12)
DTQ03
果然沒錯,所以只要取出所有的 radio 物件
再決定要填寫哪個 value 即可

II. 撰寫 script

上面得知了目前狀況,稍微來厘清一下步驟: (以非常同意為例)
  1. 取得 radio 物件
  2. 找出 value 為 1 的物件
  3. 選取
由於要選取物件,這邊坎尼載入擁有有強大選擇器的 jQuery
var script;
script = document.createElement("script");
script.setAttribute('language', 'javascript');
script.setAttribute('type', 'text/javascript');
script.setAttribute('src', 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js');
var head = document.getElementsByTagName('head')[0];
head.appendChild(script);
// 1 非常同意 3 普通 5 非常不同意
$("input:radio[value=1]").attr("checked","checked"); 
接著打開 DevTool,把 Tab 切換至指令碼
將上述程式碼輸入並執行
DTQ01
很快地,30幾個單選選項都自動填答完成
接著只要改幾個自己覺得不滿意的選項即可...

III. 小結

其實從這邊就可以看出自動化的威力
簡單的幾行程式就可以把整個 Form 填完

(以下為抱怨)
從上面的 sample 其實能夠得知網路問卷的信度有多差
總覺得研究者該做的不是把問卷發一發等著回收就好
要了解對象的 Deep insight 才是重點
可惜坎尼看到的都是隨意做一做就放進論文的資料來源
這樣的論文真的會對世界有幫助嗎?

如何將外接硬碟格式化給 Mac 做 Time Machine 備份,同時又可繼續在 Windows/Linux 系統中使用

從去年12月多開始,我開始使用 Mac mini 作為工作機(要遠端連到 Mac Pro / Xserve 的話必須使用 Mac 上特殊的專屬軟體)。這台機器出廠時所附的 OS 是 Mac OS 10.5 Leopard,我用了一陣子以後想要升級到最新版的 10.6 Snow Leopard (10.6.5),在升級前就順便熟悉一下 Mac 內建的系統備份機制-Time Machine,沒想到在把我的 2.5" 外接硬碟設定為 Time Machine 備份媒體時遇到一些小問題。

在 Time Machine 的設定畫面中可以看到,若該 partition 的檔案系統不支援作為 Time Machine 的備份媒體(也就是非 Mac OS Extended (Journaled) 的檔案系統格式),就會出現「reformat required (incompatible filesystem)」的訊息(如「DATA」那個 partition):



經過一番摸索,為了使用上的便利性,加上現在外接硬碟容量多半都很大用不完 (500/640G 起跳),因此我決定把這顆硬碟切成兩個 partition:一個使用 Mac OS Extended (Journaled) 檔案系統(for Time Machine),另一個使用 NTFS 檔案系統(for Windows/Linux),這樣比較不傷腦筋。

(如果把整個磁碟格式化成 Mac OS Extended (Journaled),不管是 Windows/Linux 都無法寫入;若把整個磁碟格式化成 NTFS,又無法用來作為 Time Machine 的備份磁碟。)

這個工作可以輕易的使用 MacOS 內建的 Disk Utility 完成,首先從 Applications -> Utilities 中執行 Disk Utility,接著右邊的幾個 tab 就是主要的功能,都很簡單易用,切到「Partition」後,因為懶惰的關係我就直接在 Volume Scheme 選了2 Partitions(就是把整個磁碟對切成兩半):


分別命名以及設定 Format 以後,點選右下角的 Apply 就可以了。

完成後的兩個 partition 格式如下 (在 MacOS 中看到的 partition 資訊):


Windows 只能讀到 DATA 這個格式為 NTFS 的 partition:



接下來回到 Time Machine 的設定畫面,在 Select Disk 的地方選擇剛剛格式化成 Mac OS Extended (Journaled) 的那個 partition 就可以了:



至於 Mac 不支援 NTFS 寫入的問題,請教過 Mac 老手以後,發現有以下幾個解決方案:

  1. NTFS Mounter:可開啟MacOS內建的NTFS寫入功能(預設僅唯讀),這是免費軟體,缺點是必須手動掛載。我覺得用起來還蠻簡單的,目前使用上也沒什麼問題。

  2. Paragon NTFS for Mac® OS X 8.0:目前有特價 USD $19.95 (聽說原價是 USD $39.95),由於目前我還不想花錢買 Mac 的軟體所以沒測試,但既然是商業軟體,應該要有不錯的品質。

  3. 用 MacOSX 10.6.5 內建的 exFAT,可參考 http://www.macuknow.com/node/7302。要注意的是 exFAT 要在 MacOSX 10.6.5 才有內建支援,10.5.X 是無法掛載 exFAT partition 的。我自己測試的結果是,雖然在 Windows 7 中對磁碟格式化時可選擇 exFAT 格式,但由 Mac 格式化成 exFAT 的磁碟在 Windows 7 中也無法正確掛載,也就無法讀取磁碟中的檔案了。

根據該老手的說法,Paragon NTFS for Mac 使用起來相當穩定。

以上就是我第一次在 Mac 上設定 Time Machine 備份的心得,希望以後會有更多跟 Mac 有關的文章 :D

2011年1月3日

jpgraph 如何顯示中文

前陣子處理 php 繪製圖表的問題,用到 jpgraph 這個有名的繪圖函式庫,一開始用的都很順,但是 jpgraph 預設是無法正確顯示中文的,必須調整一些設定。

Google 「jpgraph 顯示中文」以後,發現前幾篇文章都很有用,我覺得設定步驟寫得最完整而且最正確的是「麥克筆記:JPGraph如何顯示中文」,而「網站製作學習誌:如何讓 JpGraph 顯示中文」的範例也很清楚易懂。

上面兩篇文章都寫的非常清楚,我就不用多說啦,這篇就當作是個小小的筆記吧 :D

參考資料:

2011年1月1日

回顧2010年

又過了一年,這個 blog 也已經2歲半了

今年也是發生許許多多的事
像是 Tim 本來要去考研究所,結果卻變成坎尼在念研究所
Tim 反倒是跑去某家園藝公司…

技術方面,.NET 4.0 出了、Silverlight 4 也出了,要學的東西又更多了
Sun Micro 被 Oracle 買下、Microsoft Courier 專案中止
iPad 及各式各樣平板也在年底資訊展吵的火熱

雲端技術百家爭鳴,Amazon Web Service 也可以免費試用

Kinect 在 25 天賣了 250 萬台 (坎尼的同學也貢獻了一台)
支援裸眼3D的N3DS也即將發售

還有許許多多無法塞進此篇文章的資訊
過了這麼豐富的一年,希望大家都有從中得到什麼

今天是 2011/01/01
坎尼除了把書念好之外,或許會開始研究一些比較新的技術
希望未來的365天能夠提供更優質的部落格內容 :)

在 Blogger 官方的分享按鈕中新增「推到噗浪」

今天在 Inside 網站看到一篇「AddThis:快速建置整合分享按鈕,還送你免費分析」,本來想要試用看看 AddThis 服務,但是發現要先註冊帳號就就放棄了。

Google 了一下「blogger 分享按鈕」,發現官方早在今年年中已經有內建分享按鈕了!有支援 Google Buzz, GMail, Facebook, Twitter 等,但是仔細看一下才發現本部落格的文章並沒有出現這些按鈕,後來找到「Blogger最新推出「New Share Buttons」分享按鈕,超有質感!」這篇文章,根據說明就可以順利的讓分享按鈕顯示出來啦!
(由此可知 Blogger 有些內建的範本對分享按鈕的支援還沒更新,才會導致漏掉 share button 那個 div 的狀況)

接下來的問題是 Blogger 官方內建的分享按鈕中不包括台灣 & 東南亞地區流行的噗浪 (Plurk),因此經過一番搜尋,又找到「新作法!換樣板也不失效 - Blogger 插入 Plurk 分享按鈕,跟官方按鈕無縫整合,並自訂按鈕順序」這篇文章,我跟作者的習慣一樣,能用官方的東西就盡量用官方的,以避免一些奇怪的小問題 (所以前陣子才會把blogger touch服務換成Blogger內建的行動版網頁服務)。

照著文章中的說明實作之後,現在本格所有的文章最後都會出現分享按鈕啦!如下圖:


以上是2011年第一天的新氣象,今年也要繼續努力阿!

Google Spreadsheet 裡用規則運算式

最近因為工作關係,遇到要用 Google Form 及 Google Sheet 所以研究了 Google Sheet 裡的一些 function 怎麼用 首先,分享一下如何在 Google Sheet 裡用規則運算 :D