2009年4月6日 星期一

流量分析軟體

二套流量分析軟體

1.google analytics

申請一個帳號後就可以使用,申請流量服務時,只要將javascript程式碼貼在想要統計流量的網頁上,google就會幫你進行網頁流量的統計,不用再費心於伺服器的架設,程式的修改,非常方便。

免付費的服務有一些限制,不過已經非常夠用了。

2.piwik:http://piwik.org/

phpMyVisites的更新版,要自行架設server,以php及mysql撰寫而成,功能非常不錯,有空可以研究研究。

2009年3月8日 星期日

為什麼使用jQquery

jQuery是一套以javascript開發的函式庫(開發框架),但這套函式庫的用法及背後的觀念與javascript大不相同,jQquery的開發概念就以直覺、容易使用做為開發的目標,所以使用起來非常容易上手,只要熟悉jQuery的用法及使用概念,會被jQuery精簡的程式碼及直覺的設計方式吸引,jQuery是一套容易上手的javascript函式庫。

網路上有非常多的javascript開發框架,許多的開放源碼套件都會採用這些開發框架,使用這些javascript​的開發框架,可以省去不少自行撰寫函式庫的時間,不用重頭再去撰寫功能相同功能的函式庫。jQquery、prototype、dojo這些javascript​的開發框架讓我們可以只使用jQuery或是prototype或是dojo的語法就與不同的瀏覽器溝通,而不同的瀏覽器表現的行為會是相同的,如果直接以javascript撰寫這些功能,就必須考慮不同的瀏覽器所表現出的結果會是不相同的,必須判斷瀏覽器的種類再分別撰寫相同的功能,使用jQeury這類開發框架,可以讓我們省去這道步驟,jQuery這類開發框架,已經幫我們處理掉這些問題,我們只要專心寫程式邏輯,而不用去考慮瀏覽器的種類及版本的問題,使用這類開發框架,可以輕易跨越瀏覽器的鴻溝,讓client程式天生就有跨越瀏覽器平台的基因。

許多的開發框架,其實並不容易親近,看了dojo的文件,我覺得與原本的javascript相比,其實一樣麻煩,並沒有減少多少撰寫程式碼所需花的功夫。jQuery的設計原則就大不相同了,基本上,撰寫jQuery程式只要把握兩個原則,第一個原則就是要找到你要叫他做事情的瀏覽器物件,這個物件可能是一個文字輸入框、一個超連結,找這些瀏覽器物件的方式,是使用css的物件階層架構,第二個原則就是發生了什麼事件後,這些你找到的瀏覽器物件,要做什麼事,我們撰寫的邏輯,就是在選定的物件及事件內,寫程式,叫瀏覽器做事情,清楚明白,不用跟一堆迴圈奮戰,節省很多寫程式的時間。

jQquery的plugin非常多,官方的ui plugin套件,功能非常強悍,許多client端的功能都已經做進去了,使用文件豐富,很容易上手,非官方的plugin更不得了,太多了,要用的功能不用自己重頭寫,找一找,非尚豐富的,許多的plugin也是非常有質感的,可以快速套用到自己的程式中。

使用jQuery的人非常多,現在還有中文書籍可以參考,大陸的參考資料更多,線上文件也很豐富,我的第一個jQuery程式就是看線上文件寫出來的,如果不想買書,直接看線上文件也可以很容易學會這套易學易用的javascript開發框架。

2009年2月25日 星期三

Zend_File的功能

Zend Framework的文件上列出Zend_File的功能算非常完整的,看文件看得非常認真,想說,就用現成的套件就可以了,把文件都看完後,上線實做卻發現一堆的功能都是正在開發中,實際檢視原始碼,才發現天啊! 根本就沒有這些功能的程式碼,心裡真是圈圈叉叉。

解決方式有兩個,自己寫一個物件或是在每段程式碼都代入上傳的程式碼,當然是寫一個物件,省得多寫一堆東西。煩啊!!

2009年2月23日 星期一

美麗的海灘

星期六看了一天的Zend Framework文件,眼睛不舒服,下午騎著摩托車到處亂晃,本來是想去水尾看海的,但是忘了怎麼走,因為那是高中時代的事了,東晃西晃,不知怎麼的就到了後龍海堤。

站上海堤,出海口的幾座風力發電機,遠遠望去,感覺好舒服,最高處的風力發電機的位置應該就是著名的景點───好望角了,好望角人太多了,像是菜市場,人擠人的,想在那邊安靜的走一會,是不可能的。

海堤下,是黑灰色的沙灘,不知道是不是因為眼睛太累的關係,第一次感覺黑灰色的沙灘是如此的美麗,冬天的夕陽照射下有一種含蓄沈靜的美,看著海,看著沙灘,自己一個人在沙灘上慢慢走,心頭很舒服,這時,腦中的Zend Framework的運作細節還是在運作,只是沒有剛接觸時的茫然感,而是一種紛亂的感覺,底層的運作細節、Adapter、Abstract、Interfacce、事件觸發等都在互相連結(也可能是互相糾結吧),自己覺得必須抽離這種感覺,免得神經發作。

這個時候,很想跟另一個人一起散步說,不過,應該很難,心頭五味雜陳,內心的煩躁感只是稍微平歇,事情放心裡,很難過。

心痛的感覺

很喜歡一個女生,有氣質又漂亮,只是似乎很不好追,幾次短暫的接觸,態度很冷的,令我直打哆嗦,大概是對我沒意思吧!心碎!!長這麼大,很少有這種感覺說,心頭酸酸的,想提起勇氣,又不想再經歷這種感覺,真是矛盾。

換個方式好了,我個性直來直往的,大概嚇到人家了吧!用書面方式好了,避免去嚇人,希望有用,也省得再次體驗在冷凍庫的感覺,避免失落感再次浮現心中,這種感覺很難過的。

不過,雖然很想再嚐試,但總是不能付諸行動說,這也很難過說,老天!怎麼辦?人生的十字路口,這需要用心經營的,不跨出去就不會有結果,哪怕只有過程,我都會覺得很快樂說,但是第一步很重要。

不管了,等一下先去打球,晚上再慢慢從長計議。

晚上再把要改寫的程式用workbench畫出來,規畫程式的架構,希望把不好的感覺淡化,這是我喜歡做的事,希望有效,思考程式的流程也可以讓我專注,忘掉這些,如果沒辦法,就只好轉移追求目標了,希望這種事不要發生。

2009年2月18日 星期三

clone virtualbox的磁碟系統檔

在virtual box中建立的ubuntu映像檔,使用VBoxManage命令可以建立另一個相同的映像檔,就不用重灌另一套ubuntu,在virtual box中如果要建立多個server同時運行的環境,就非常簡單了,只要用VBoxManage命令拷貝多個ubuntu映像檔就可以很方便的建立多個server,以便進行整個系統的實做。

為了進行mysql replication的實做,我用virtual box的VBoxManage命令,另外烤貝了一份ubuntu映像檔,但烤貝的映像檔,網卡都動不了,後來使用dmesg|grep eth命令,發現系統竟然要我改設定檔的網卡代號,真神奇,原來映像檔的網卡代號是eth0,eth1,烤貝出來的映像檔,網路卡號就必須是eth2,eth3,不然網卡不會動,這真神奇。

網卡設定好後,測試網路沒問題後,設定mysql的master及slave,實際上機跑起來,一切順暢,slave上都可以自動接收master的資料,這以後要做自動化的備份就比較方便了,不用手動做這些備份的煩人動作。

再來,就要測試innodb database engine的各種狀況及dead lock的處理,一切沒問題後再寫程式,程式上線不能出問題,innodb的部份要小心測試,不然到時出錯,麻煩就大了。

2009年2月9日 星期一

php編輯器比較

目前我正在使用的php編輯器有兩套,一套是eclipse pdt,另一套是netbeans ide,這二套編輯器都是開放源碼軟體,不用付費就可以使用。eclipse pdt可以在www.zend.com的網站上下載使用,netbeans ide可以在www.netbeans.org網站上下載。

這兩套軟體的操作概念都非常類似,所有相關的程式碼、檔案、圖片等等資源匯聚成一個專案,再針對專案撰寫程式,或進行設定。在進行程式碼撰寫前,必須先建立一個專案,專案其實就是一個目錄,將所有的程式碼、檔案等等資料放在這個專案裡(目錄),以便進行專案的設定或管理。

eclipse除了專案的概念外,他與netbeans還有一個不同點,eclipse有workspace的觀念,workspace其實也是一個目錄,所有的專案都必須放在這個workspace下,不然eclipse就會找不到相關的專案,如果放專案的位置與目前的workspace不同,就必須切換workspace的位置,才能使用專案。netbeans就沒有workspace的觀念,設定專案時,就必須指定專案的目錄位置,專案可以散落在各個不同的目錄。

eclipse的檔案管理能力比較強悍,程式碼自動補齊的功能也比較完善,在eclipse中,可以直接匯入或匯出檔案,但在netbeans中就沒有這個功能,必須用檔案總管進行拷貝的動作,如果在eclipse中直接拷貝檔案是會出問題的,一定要用內建的檔案匯入匯出功能,eclipse會追蹤這些檔案訊息,如果直接拷貝,eclipse就無法追蹤了。

eclipse的畫面比起netbeans,真是漂亮太多了,我不太喜歡使用netbeans,畫面感覺比較粗糙,沒那麼有質感,這二套軟體的鍵盤快速鍵,不太相同,轉換編輯器時會有一段適應期。

eclipse的php檔案內如果含有html碼,如view檔案,這類php檔就會有排版用的html碼,eclipse的自動重排功能沒有辦法把html排得很整齊,他會把html和php程式碼混在一起,不重排還好,一重排簡直慘不忍睹,netbeans這方面的功能就好太多了。

這二套編輯器都要花一段時間適應,操作上各有千秋,不過我比較喜歡使用eclipse,eclipse有免安裝的版本,下載後直接解壓縮後就能用了,netbeans就一定要安裝,不過安裝的速度很快,一直按下一步就好了,這二套軟體都是跨平台的,目前我家裡的作業系統是ubuntu,上班的地方是xp,這樣就不會有跨平台的問題了,這大概就是開放源碼的好處吧!轉移作業系統比較方便。