2009年4月21日 星期二

PHP程式語言入門

寫得很爛的書..
作者的PHP實力可能很強,舉的例子還不錯
不過提供的範例說明之少之爛之前後順序不對也令人印象深刻
其實學程式時,最怕的是一堆眉眉角角的小地方
對初學者來說,這種小地方幾乎可說是一定會造成寫程式的困擾
對剛接觸這領域的老手來說,問題小一點,不過作者也不能因此就把所有的範例扔出來不做解釋阿..

anyway, 施威銘研究室最近出了一本PHP的書,我在朋友的店看過,感覺還不錯
想學的人可以去光華的益大找找看

GWT: google web toolkit在幹嘛?

今天借到了Google web toolkit的書(google web toolkit的實作與活用)
一開始很是興奮(預約了一個月才拿到)
不過翻了幾頁之後,發現越看越不懂
不懂的原因主要來自於書中介紹了安裝環境、開發過程
卻沒有提到GWT應用程式的適用環境
well, 看起來他是預設拿到這本書的人已經了解GWT的意義和使用時機了
可惜我對GWT清清白白(?)..

怎麼辦呢? 只好google一下了
以下是google之後得到的答案

GWT是啥:GWT是使用JAVA開發環境弄出HTML+JavaScript網站的工具,也就是AJAX網站產生工具。

GWT的目的:讓AJAX網站(簡單來說,就是網頁)變得更容易開發,而且降低與系統環境的依賴度(伺服器只要能跑HTML,使用者的瀏覽器能跑JS就可以使用)

GWT的開發方式:使用JAVA語言和GWT套件進行開發,完成後編譯成JS+HTML檔放到server提供服務

GWT優點:JS的麻煩幾乎是所有web programmer的共識。
也因此目前的web技術都盡量整合JS到其中。不過其他的技術/語言多少都有和伺服器上的特定套件綁定。
GWT透過使用跨平台的JAVA和純文本HTML+JS開發環境,理論上而言,可以達到無視環境的開發效果。
而programmer只要處理JAVA語言,前端的JS和HTML就由GWT負責產生。(不過目前很多這類型的競爭對手了)
換句話說,GWT是JAVA programmer的AJAX編譯器? 就像RoR1.1對Ruby, ASP.NET Ajax Extension for ASP.NET programmer.

GWT限制:
外在問題:一、瀏覽器功能的限制。二、HTTP協定的限制(這是因為GWT的目標中不包含桌面程式)
內在問題:GWT適用於功能簡單的環境。不適用於複雜、需和許多不同元件溝通的程式開發。
內在問題是參考各家說法而來,真實性有待驗證。

2009年4月20日 星期一

Firefox addon: 網頁設計篇

Firefox的addon很多,以下是針對網頁設計時有用的一些東西

版面設計
ColorZilla: 偵測顏色
Image Zoom: 可放大縮小圖片
MeasureIt: 可在網頁上拉出像素尺規測量距離
Stylish: 自訂網站與使用介面的外觀

======================================================================



JS開發
ExecuteJS: 提供Javascript Console功能
JavaScript Debugger
JavaScript Deobfuscator: 顯示網頁上所執行的JS
jiffy: 顯示網頁中的Javascript timer
Obtrusive JavaScript Checker: 尋找HTML元素中的JS事件和對應的JS連結

======================================================================


網頁偵錯
Firebug: 功能強大的網頁開發工具
Codeburner for Firebug: 提供使用Firebug時的HTML/CSS參考文件
Firecookie: 提供Firebug檢視Cookie功能
FirePHP: 提供Firebug開發AJAX的功能 (要注意使用,只要啟用就會攔截網站內容,照成無法用預設方式存取的狀態)
Inline Code Finder for Firebug: 找出網頁內元件的JS碼
Web Deveper: 和Firebug類似的工具,比較簡單易用。適合用於檢視整體網頁。

DOM Inspector: 查看網頁DOM
Inspect Context: 搭配DOM Inspector使用可檢視特定node下的內容
InspectThis: 搭配DOM Inspector使用,檢視目前節點下的內容
Hackbar: 測試網站是否有SQL Injection漏洞的手動工具

======================================================================


檢查網頁/站台回應
Live HTTP headers: 另開一個sidebar顯示瀏覽網頁時產生的Header資訊
Modify Headers: 可以添加、修改、過濾http request表頭
CookieWatcher: 將指定的cookie值顯示在狀態列
Extended Cookie Manager: 可用於修改特定網站的Cookie值
HttpFox: 檢查HTTP封包
Poster: 方便自訂URL請求的工具
refspoof: 假造reference資料工具
Tamper Data: 檢視/修改 http表頭,也可以對request進行追蹤和記時

======================================================================


字碼:
base64=>Encoder: 將圖片檔轉成字串,可搭配URI:DATA使用
Charset Switcher: 制定個別網站的預設編碼
Unicode Input Tool/Converter: 轉換輸入字元成UNICODE編碼,不過應該還能幫助轉換成Html-encode。功能完整,不過會另開視窗。
UnicodetoHTML:將Unicode轉換成HTML-encode。功能較弱,不過只佔用sidebar。

======================================================================

加密
xssme
fireE Encrypter


======================================================================


設定Firefox:
Consile2: 錯誤主控台
JavaScript Options: 提供Firefox更強大的JavaScript管理功能

======================================================================


還不確定功用的:
Character Identifier:
InspectorWidget: 在DOMi下添加按鈕和文本選單?
Pixel Perfiect: Firebug套件,似乎可以在網頁上加圖?

======================================================================

其他
regular Expressions Tester: 測試正規表達式作用
backword: 閱讀英文時的翻譯
blocksite: 避免閱讀文章時開啟奇怪的網站
LeechBlock: 可根據時間設定站台是否能夠瀏覽,避免你浪費時間在一些奇怪的站台上 XD
FoxyProfy: 管理Firefox proxy的套件
Tor-Proxy.NET toolbar: 讓你使用TOR-Proxy做為proxy瀏覽網站
Imacros for firefox: 自動化套件
PageDiff: 比對網頁內容的套件
ScrapBook: google筆記套件
Server Switcher: 在開發用伺服器和正式伺服器間轉換的套件

======================================================================

開發Extension時使用
Extension Developer: 提供製作Firefox Extension時的包裝流程
Extension Manager Extended: 提供Firefox Extension的ID和安裝目錄資訊(可移動到該目錄)
Greasemokey: 使用者腳本管理器,要安裝JS後才有功用
Greasefire: 提供可使用於Greasemonkey的JS檔案



附註:
chrome的意思:chrome是黑客的俚语(这里的黑客不是指进行非法勾当的人)。
chrome 是从汽车工业的俚语来的,估计是给车子上光之类(抱歉我不懂机械)
在设计领域 chrome 的意思就是对系统功能没什么大的帮助,但是却能吸引用户的部分。
出自不一样的眼睛,http://www.firefox.net.cn/forum/viewtopic.php?p=195710

2009年4月17日 星期五

於104網站求職感想

這幾天要找新工作,又重新用了104一下
不得不說104的設計還算不錯
不過世界上的職務太多太細
104網站所提供的職務分類雖然不錯
但是依然不夠
舉我為例子的話
我要應徵的是程式設計師,主要使用的語言為ASP.NET
使用104時,我只能選擇internet程式設計或程式設計兩種
而沒有進階的語言選項
我猜企業那邊可以根據個人所填的技能專長資料進行篩選(甚至還有黑名單?)
不過求職者就只能選擇一個類別,然後看著500個職缺慢慢挑

解法
一個簡單的解法是在職缺上提供必須技能/必備技能選項
這做法應該能夠大幅的增加求職者篩選速度

2009年4月6日 星期一

書籍註記: 解密SEO 如何讓網站排名第一

這本書還蠻不錯的
筆者以他自身經驗說了SEO時要注意的事情,包括使用的工具、分析技術和設計重點。
更重要的是後面附上了兩三個實例分析,說明了行銷、SEO之間可能會出現的問題。
硬要說缺點的話,就是技術細節沒有另一本《網站行銷:搜尋引擎網站排名破解教學》說的多了。
基本上,很合適做為概念和網站規劃者觀看,不過,雖然沒有多少技術在其中,要了解的話還是需要一些對網站技術的認識才行。

眼球軌跡的F模式
網站的演化:炫->實用->加入對搜尋引擎的友善設計
要對搜尋引擎友善,要注意的技術問題包括少用框架、注意CSS和JS的配置分離、注意flash/圖片/連結的設計

設計面則要考慮關鍵字的選擇:別挑熱門的,要挑有用的。關鍵字工具有google suggest, google sandbox, yahoo關鍵字工具,基本上都是給想買廣告的人用的工具。
關鍵字競爭資訊工具則有wordtracker, trellian(當然網路上有更多..)

內容面則是要考慮如何將關鍵字安排在網頁內容中,除了主要字眼,也盡量讓有相關聯的字眼出現。但不要太常出現,那會讓SE認為在作弊。大約佔2~8%就夠了。
當然內容不能太平淡讓使用者從此不想再來..
此外,網頁中連結、圖片、標題等也是可以考慮著墨的地方,特別是當使用很多圖片時。
但總體來說,最重要的是網頁標題及網頁描述標籤。關鍵字標籤已經退流行了,可以不用特別考慮。


對外發布
1.去登錄網站,包括SE和index
交換連結
基本上,能有越多網站收錄你的網站越好,不過碰到壞鄰居可能被連坐,所以請自己決定

black hat
在網頁中用各種技巧塞關鍵字,或是建立跳頁
其他包括假連結、假網域、部落格汙染、轉址做法、連結農場等做法

檢查網站排名工具
1.google: site:self.com
2.線上工具: link-populity之類
3.free monitor for google
4.使用網站流量分析工具, 如google analytics
記得和關鍵字搜尋結果做比對才能獲得全面性資訊


開始架站
SEO規劃
一、分析目標客戶和市場
二、確定基本關鍵字
三、選網域
四、分析競爭對手的關鍵字策略和排名
五、確定架構
網站最佳化
一、擴充關鍵字
二、編排內容
三、編排標籤(關鍵字取捨: 太紅的關鍵字可以捨棄以省下空間給其他關鍵字)
四、制定內部連結
網站公開後
一、更新內容
二、建立外部連結
三、監視流量

Blogspot 設定: 繼續閱讀

英文應該是摘要才對..

anyway, 目前使用的是繼續閱讀懶人加強版2.2.0
判斷依據是br標籤,準則為3

雲端世界? 這是啥?

不是很正確的一篇文章
不過對於了解雲的應用範圍以及雲/VPS之間的差別多少有點助益
http://www.infoq.com/cn/articles/questions-about-cloud-computing

IronPython Studio安裝過程

IronPython Studio是一套IronPython的IDE介面,更棒的是他可以安裝到VS2008中
當然,安裝這種東西需要一些其他的基本套件,以下都有說明,請安心觀看

我的安裝環境:
Vista 64 bit
VS2008

IronPython 安裝篇
一、先安裝Cpython:由於我打算用和CPyton 2.5相容的IDE版本,所以安裝了Python 2.6.1(AMD64)版本
路徑:c:\python26

二、安裝IronPython 2.0.1:IronPython.msi版本
路徑C:\Program Files (x86)\IronPython 2.0.1\

三、安裝VS2008 Sehll套件
安裝IronPython Studio前,要先安裝Visual Studio 2008 Shell獨立模式可轉發套件
請自行google下載,下載後執行會解壓縮到c:\VS 2008 Shell Redist\Isolated Mode\,解壓縮完記得進去目錄中執行安裝程序
安裝時,預設安裝到VS2008目錄中
如果是原始碼版本,要有VS2008 pro/TS以上版本和VS2008 SDK 1.0


四、安裝ironPython Studio
IP Studio分成VS integrated和isolated版本
安裝完成後,會發現ironpython studio和VS的ironpython中只有WPF應用程式專案選項

Isolated版:必須把"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplates\IronPython Studio\1033"下的五個zip複製到C:\Documents and Settings\Administrator\My Documents\IronPython Studio\Templates\ProjectTemplates"才會出現其他範本選項(這應該是個小bug)
studio版:類似的處理方式,不過這次是複製C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplates\IronPython Studio\ 這個目錄到C:\Users\adison\Documents\Visual Studio 2008\Templates\ProjectTemplates目錄中

五、WPF執行問題
若直接編譯IronPython Studio中的WPF程式時,會出現以下錯誤:
項目 在命名空間 'http://schemas.microsoft.com/developer/msbuild/2003' 的 'PropertyGroup' 含有無效的子項目 在命名空間 'http://schemas.microsoft.com/developer/msbuild/2003' 的 'BuildSystem' 。可能項目清單必須是: 在命名空間 'http://schemas.microsoft.com/developer/msbuild/2003' 的 'Property' 。

關於這問題的詳細解釋,可以看IronPython Integration Sample and the WPF Designer

解決方法是在manchine.config中加入對應的設定碼即可:
* 開啟 %SystemRoot%\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config
* 加入以下內容到區塊中(建議拉到configuation區塊最下方的system.data之類的區塊周圍加入):





* 儲存
然後就可以使用了(不需要到V3.5的目錄下重複動作)

現在就可以享用你的IronPython Studio了..

附錄:除了Ironpython studio外,還有另一個類似的IronPython IDE: Sharpdevelop. 兩者的主要差別是IPS支援IronPython 1.1, 而SD支援IronPython 2.0.