"NHibernate.MappingException : Unknown entity class:xxx.Class":
關聯table的xxx.hbm.XML檔沒有設定為內嵌資源
"NHibernate.InvalidProxyTypeException : The following types may not be used as proxies"
把xxx.hbm.xml檔中加入lazy="false"
"NHibernate.MappingException : persistent class ClassName not found" or "NHibernate.MappingException : associated class not found: ClassName"
NH找不到對應的類別,通常是設定問題。
一個簡單的做法是去assembly中設定
2009年11月10日 星期二
2009年11月3日 星期二
NHibernate
NHibernater是一個用來建立AP和DB橋梁的工具
受益於JAVA要處理的環境太複雜,因此有人研究了Hibernate
在實作上,NH受到了JAVA的影響,需要處理的設定檔很多
使用時,可以明顯感受到NH所使用的語句簡單,可惜背後邏輯複雜
(這也是NH的學習曲線長的原因之一)
如果是複雜的系統應用,使用NHibernate應該可以有效增加PG的產能
不過NHibernate的效能問題是個隱憂
現在回想起來,NHi似乎只是為了讓Java人員快速上手的工具而已
受益於JAVA要處理的環境太複雜,因此有人研究了Hibernate
在實作上,NH受到了JAVA的影響,需要處理的設定檔很多
使用時,可以明顯感受到NH所使用的語句簡單,可惜背後邏輯複雜
(這也是NH的學習曲線長的原因之一)
如果是複雜的系統應用,使用NHibernate應該可以有效增加PG的產能
不過NHibernate的效能問題是個隱憂
現在回想起來,NHi似乎只是為了讓Java人員快速上手的工具而已
2009年5月2日 星期六
日常生活中,電腦能做到甚麼?
電腦基本上就是一個工具,一個資訊處理工具,他有一個基本流程
資訊輸入->處理(分類、計算、轉換、歸類等)->輸出
以上有三個重點,一、要有資訊的輸入。二、所輸入的資訊要有處理規則。三、能夠有明確的輸出格式。
資訊輸入:資訊是啥?一個比較簡單的說法就是能被記錄下來的訊息。
以上的說法有一點小問題,因為資訊其實可以分為內隱和外顯
內隱資訊是難以被記錄的,例如氣味、氣質等較虛幻的
外顯則是相對容易被記錄的,例如身高、體重
另一個問題是數位/類比格式的問題,如果有規則的話,這部分可以透過轉換器來達成,例如modem就是一例。
大部分情況下,電腦/資訊系統的處理目標是外顯資訊。主要問題倒不是無法處理內隱資訊,而是內隱資訊難比被記錄/編碼。因為沒有資訊的輸入,自然就沒有資訊的產出(電腦無法無中生有)。
而處理內隱資訊的難易度則是另一個問題,由於內隱資訊通常較隱晦,比較像是個人價值觀的體現,因此在不同的情況下會產生不同的效果,難以套用單一處理規則。
在處理內隱資訊時,比較常見的應用是統計這種機率性問題。
輸出這部分通常沒有問題,不過由於電腦是數位系統,所以產生了一個先天限制:電腦的輸出只能是數位格式。如果是類比裝置,就需要進行數位類比的轉換。最常見的是modem和音效裝置。
從資訊系統延伸出來的是自動控制系統,在原先的系統上延伸出了對系統的控制
資訊輸入->處理(分類、計算、轉換、歸類等)->輸出到裝置
裝置產生回饋資訊->處理(調整輸出等)->再次輸出->再次產生回饋資訊
這邊會產生兩個限制
第一是裝置上面必須要有接受系統輸出的輸入裝置
另一個限制是該裝置上要有另一個能產生回饋資訊的(輸入)裝置,不過這一部分倒不是必要的(有些時候是射後不理的)
了解以上資訊後,我們可以開始思考問題了
日常生活中,電腦能做到甚麼?->擴展->有哪些事情是我們想要電腦幫忙且電腦可以幫忙的?->有哪些事情是我們不想要/沒想過讓電腦幫忙,但是電腦可以幫忙的?
這部分可以拆成兩個方向思考,一、有哪些事情需要決定?二、電腦能做到哪些事情
一個簡單的方法是從ask.com之類的問問題網站取得第一題的答案再思考能不能使用電腦處理(以及成本)
再次細分後,問題可以決定成以下兩個
一、日常生活中,有哪些資訊是我們想要處理的
二、有哪些裝置是我們可以應用的?包括做為輸入/輸出/資訊
資訊輸入->處理(分類、計算、轉換、歸類等)->輸出
以上有三個重點,一、要有資訊的輸入。二、所輸入的資訊要有處理規則。三、能夠有明確的輸出格式。
資訊輸入:資訊是啥?一個比較簡單的說法就是能被記錄下來的訊息。
以上的說法有一點小問題,因為資訊其實可以分為內隱和外顯
內隱資訊是難以被記錄的,例如氣味、氣質等較虛幻的
外顯則是相對容易被記錄的,例如身高、體重
另一個問題是數位/類比格式的問題,如果有規則的話,這部分可以透過轉換器來達成,例如modem就是一例。
大部分情況下,電腦/資訊系統的處理目標是外顯資訊。主要問題倒不是無法處理內隱資訊,而是內隱資訊難比被記錄/編碼。因為沒有資訊的輸入,自然就沒有資訊的產出(電腦無法無中生有)。
而處理內隱資訊的難易度則是另一個問題,由於內隱資訊通常較隱晦,比較像是個人價值觀的體現,因此在不同的情況下會產生不同的效果,難以套用單一處理規則。
在處理內隱資訊時,比較常見的應用是統計這種機率性問題。
輸出這部分通常沒有問題,不過由於電腦是數位系統,所以產生了一個先天限制:電腦的輸出只能是數位格式。如果是類比裝置,就需要進行數位類比的轉換。最常見的是modem和音效裝置。
從資訊系統延伸出來的是自動控制系統,在原先的系統上延伸出了對系統的控制
資訊輸入->處理(分類、計算、轉換、歸類等)->輸出到裝置
裝置產生回饋資訊->處理(調整輸出等)->再次輸出->再次產生回饋資訊
這邊會產生兩個限制
第一是裝置上面必須要有接受系統輸出的輸入裝置
另一個限制是該裝置上要有另一個能產生回饋資訊的(輸入)裝置,不過這一部分倒不是必要的(有些時候是射後不理的)
了解以上資訊後,我們可以開始思考問題了
日常生活中,電腦能做到甚麼?->擴展->有哪些事情是我們想要電腦幫忙且電腦可以幫忙的?->有哪些事情是我們不想要/沒想過讓電腦幫忙,但是電腦可以幫忙的?
這部分可以拆成兩個方向思考,一、有哪些事情需要決定?二、電腦能做到哪些事情
一個簡單的方法是從ask.com之類的問問題網站取得第一題的答案再思考能不能使用電腦處理(以及成本)
再次細分後,問題可以決定成以下兩個
一、日常生活中,有哪些資訊是我們想要處理的
二、有哪些裝置是我們可以應用的?包括做為輸入/輸出/資訊
2009年4月22日 星期三
2009年4月21日 星期二
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適用於功能簡單的環境。不適用於複雜、需和許多不同元件溝通的程式開發。
內在問題是參考各家說法而來,真實性有待驗證。
一開始很是興奮(預約了一個月才拿到)
不過翻了幾頁之後,發現越看越不懂
不懂的原因主要來自於書中介紹了安裝環境、開發過程
卻沒有提到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適用於功能簡單的環境。不適用於複雜、需和許多不同元件溝通的程式開發。
內在問題是參考各家說法而來,真實性有待驗證。
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
版面設計
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月18日 星期六
於104網站求職感想
這幾天要找新工作,又重新用了104一下
不得不說104的設計還算不錯
不過世界上的職務太多太細
104網站所提供的職務分類雖然不錯
但是依然不夠
舉我為例子的話
我要應徵的是程式設計師,主要使用的語言為ASP.NET
使用104時,我只能選擇internet程式設計或程式設計兩種
而沒有進階的語言選項
我猜企業那邊可以根據個人所填的技能專長資料進行篩選(甚至還有黑名單?)
不過求職者就只能選擇一個類別,然後看著500個職缺慢慢挑
解法
一個簡單的解法是在職缺上提供必須技能/必備技能選項
這做法應該能夠大幅的增加求職者篩選速度
不得不說104的設計還算不錯
不過世界上的職務太多太細
104網站所提供的職務分類雖然不錯
但是依然不夠
舉我為例子的話
我要應徵的是程式設計師,主要使用的語言為ASP.NET
使用104時,我只能選擇internet程式設計或程式設計兩種
而沒有進階的語言選項
我猜企業那邊可以根據個人所填的技能專長資料進行篩選(甚至還有黑名單?)
不過求職者就只能選擇一個類別,然後看著500個職缺慢慢挑
解法
一個簡單的解法是在職缺上提供必須技能/必備技能選項
這做法應該能夠大幅的增加求職者篩選速度
2009年4月7日 星期二
書籍註記: 解密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規劃
一、分析目標客戶和市場
二、確定基本關鍵字
三、選網域
四、分析競爭對手的關鍵字策略和排名
五、確定架構
網站最佳化
一、擴充關鍵字
二、編排內容
三、編排標籤(關鍵字取捨: 太紅的關鍵字可以捨棄以省下空間給其他關鍵字)
四、制定內部連結
網站公開後
一、更新內容
二、建立外部連結
三、監視流量
筆者以他自身經驗說了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規劃
一、分析目標客戶和市場
二、確定基本關鍵字
三、選網域
四、分析競爭對手的關鍵字策略和排名
五、確定架構
網站最佳化
一、擴充關鍵字
二、編排內容
三、編排標籤(關鍵字取捨: 太紅的關鍵字可以捨棄以省下空間給其他關鍵字)
四、制定內部連結
網站公開後
一、更新內容
二、建立外部連結
三、監視流量
雲端世界? 這是啥?
不是很正確的一篇文章
不過對於了解雲的應用範圍以及雲/VPS之間的差別多少有點助益
http://www.infoq.com/cn/articles/questions-about-cloud-computing
不過對於了解雲的應用範圍以及雲/VPS之間的差別多少有點助益
http://www.infoq.com/cn/articles/questions-about-cloud-computing
2009年4月6日 星期一
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.
當然,安裝這種東西需要一些其他的基本套件,以下都有說明,請安心觀看
我的安裝環境:
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
* 加入以下內容到
* 儲存
然後就可以使用了(不需要到V3.5的目錄下重複動作)
現在就可以享用你的IronPython Studio了..
附錄:除了Ironpython studio外,還有另一個類似的IronPython IDE: Sharpdevelop. 兩者的主要差別是IPS支援IronPython 1.1, 而SD支援IronPython 2.0.
2009年2月27日 星期五
asp.net中cookie的亂碼解決方法
參考網址:..不見了!?
在asp.net中,中文字(非英文字?)存入cookies,再次取出會有亂碼問題,所以要使用
HttpUtility.UrlEncode和HttpUtility.UrlDecode對cookies內容編碼
PS: 需引用system.text
進階參考
* Encoding.Convert 方法
* 使用Unicode 編碼方式
ASP.Net 的 UTF-8 轉 Big5
VB中則可使用 StringS.strConv <--注意S而不是常用String
PS: imports microsoft.visualbasic
即用範例
Imports System
Imports System.Text
Imports Microsoft.VisualBasic
Namespace Convert_Example
Class MyConvertExampleClass
Shared Sub Main()
Dim unicodeString As String = "This string contains the unicode character Pi(" & ChrW(&H03A0) & ")"
' Create two different encodings. ASCII與 Unicode兩者互轉
Dim ascii As Encoding = Encoding.ASCII
Dim [unicode] As Encoding = Encoding.Unicode
' Convert the string into a byte[].
Dim unicodeBytes As Byte() = [unicode].GetBytes(unicodeString)
' Perform the conversion from one encoding to the other. 這段程式很麻煩,一定要先用Byte型態之後,才能轉碼!
Dim asciiBytes As Byte() = Encoding.Convert([unicode], ascii, unicodeBytes)
' Convert the new byte[] into a char[] and then into a string.
' This is a slightly different approach to converting to illustrate
' the use of GetCharCount/GetChars.
Dim asciiChars(ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length)) As Char
ascii.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0)
Dim asciiString As New String(asciiChars)
' Display the strings created before and after the conversion.
Console.WriteLine("Original string: {0}", unicodeString)
Console.WriteLine("Ascii converted string: {0}", asciiString)
End Sub
End Class
End Namespace
在asp.net中,中文字(非英文字?)存入cookies,再次取出會有亂碼問題,所以要使用
HttpUtility.UrlEncode和HttpUtility.UrlDecode對cookies內容編碼
PS: 需引用system.text
進階參考
* Encoding.Convert 方法
* 使用Unicode 編碼方式
ASP.Net 的 UTF-8 轉 Big5
VB中則可使用 StringS.strConv <--注意S而不是常用String
PS: imports microsoft.visualbasic
即用範例
Imports System
Imports System.Text
Imports Microsoft.VisualBasic
Namespace Convert_Example
Class MyConvertExampleClass
Shared Sub Main()
Dim unicodeString As String = "This string contains the unicode character Pi(" & ChrW(&H03A0) & ")"
' Create two different encodings. ASCII與 Unicode兩者互轉
Dim ascii As Encoding = Encoding.ASCII
Dim [unicode] As Encoding = Encoding.Unicode
' Convert the string into a byte[].
Dim unicodeBytes As Byte() = [unicode].GetBytes(unicodeString)
' Perform the conversion from one encoding to the other. 這段程式很麻煩,一定要先用Byte型態之後,才能轉碼!
Dim asciiBytes As Byte() = Encoding.Convert([unicode], ascii, unicodeBytes)
' Convert the new byte[] into a char[] and then into a string.
' This is a slightly different approach to converting to illustrate
' the use of GetCharCount/GetChars.
Dim asciiChars(ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length)) As Char
ascii.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0)
Dim asciiString As New String(asciiChars)
' Display the strings created before and after the conversion.
Console.WriteLine("Original string: {0}", unicodeString)
Console.WriteLine("Ascii converted string: {0}", asciiString)
End Sub
End Class
End Namespace
訂閱:
文章 (Atom)