2009年4月7日 星期二

Blogspot 設定: 繼續閱讀

英文應該是摘要才對..

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

雲端世界? 這是啥?

不是很正確的一篇文章
不過對於了解雲的應用範圍以及雲/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.

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

2009年1月9日 星期五

ASP.NET 註記

Databind語法
''用於註記是程式語法,一次只能用一個,暫時找不到在linlbutton連接字串的方法
'

2008年12月29日 星期一

影像編輯軟體 Paint.Net 心得

本來是想找一套比較好用的照片編輯軟體
一般來說,照相時最常出現的問題是曝光問題,不是過亮就是過暗
而上傳檔案時,由於需要縮圖,因此需要銳利處理
所以把目標放在可以縮減這些動作的軟體上
目前使用的是xnView,因為他無法一次處理多個屬性,預覽效果也不好
因此想找其他軟體試試看

Paint.Net在這部分的功能,只能說讓我大失所望..
雖然他有提供圖層功能
不過在使用上不符合我的需求
而且在Windows上執行效率不高,操作時很容易頓頓的
也許他是一套可以取代PS的高階軟體,不過對我的低階需求而言,完全不合適
也許去找各相片編輯軟體會更好

資源管理軟體 Winpatrol 2008

windows內建的taskmgr 資源管理員其實頗強,只是大家都不會用
但是taskmgr也是有很多系統細節沒有揭露、表現

在資源管理軟體上,目前台灣比較有人知道的應該是system explorer
不過http://blog.xuite.net/emisjerry/tech/15383036還介紹了不少套
包括WinPatrol、What's Running、System Explorer外、AnVir Task Manager、Security Task Manager
winpatrol是我從國外看到的,使用起來感覺不錯
他有免費板和plus板的差別

目前和其他軟體比較的話
要看系統資源耗用的情況,taskmgr和system explorer比較好
若是要看系統運行的細節,判斷病毒的話winpatrol好像比較強一點
其他的還沒使用過,下次有空再來試試看

PS: acronis 2009年版本不錯,大家可以去買他的升級版,只要千多元就有了
我現在都用他的試用軟體功能來測試軟體,有問題就可以直接回復系統 XD

監視IE附件軟體 BHOdemon

BHOdemon是一套監視IE安裝的東西
根據說明,IE會自動安裝一些軟體,而BHODemon則會監視IE的活動並回報
雖然只吃2M的記憶體
不過我覺得在使用時會嚴重延遲系統回應時間
也許這只是我的錯覺?
除此之外,使用上沒有太大問題

不過由於對IE的安全感過低
所以我現在通常會用Firefox上網 XD

2008年12月21日 星期日

Vista 64 安裝virtual box, virtual PC心得

Vista64下安裝虛擬機器:

Virtual PC沒有問題,XP上建立的virtual PC檔案也能順利使用

VMware Server則有安裝後,無法建立新環境的問題。
具體的情況是跳出要使用者連接host的訊息
可是我剛安裝完哪有見鬼的host可以用..

VirtualBOX是我比較推薦的,主因是可連結音效卡等外部裝置,而且使用簡單。
不過VirtualBOX在使用上比較麻煩的一點是要預先設定硬碟大小,這設定很重要,因為很難修改。
建議是最少設個10G。如果是要放VS.NET之類的大東西,20G可能是必要的。由於可以選擇動態配置(依據實際占用的空間變更檔案大小),就算設定為2T都不會出現硬碟被吃光光的問題。
另一個硬碟選項是fixed,理論上會比較快,缺點就是設定好之後就會占用掉固定空間。

另一點則是每個虛擬機檔案都有UUID,所以直接copy會出現錯誤。
正確的複製virtualbox下虛擬機檔案的步驟如下
1.卸載(release)所用的虛擬機硬碟
2.使用virtualbox目錄中的vboxmanage.exe執行以下指令
vboxmanager clonevdi source_vdi destination_vdi
然後再重新掛載上去就可以了
要注意的點是,新的VDI檔案硬碟最大值是相同的,無法修改
所以從最開始時就要設定未來可能需要的最大空間(幸好可以選擇動態分配)

萬一真的不幸設了又不想重新再來
就只能選擇ghost了
大致作法(A)是
1. 新增一個符合需求的硬碟空間,掛載到同一個虛擬機
2. 使用ghost或其他可以clone硬碟檔案的程式,將虛擬機主硬碟的檔案clone過去
3. 設定使用該硬碟開機,成功後就可以把原先的檔案移除出虛擬機了
另一種做法(B)是配置新的硬碟空間後,使用可以修改disk partition的程式將兩個空間合併
我直覺得以為B做法比較複雜..不過目前兩種作法都還沒實用過
正在思考更簡單的做法..

目前的虛擬機
xp+PHP+JSP開發IDE/環境: 5G
XP(J): 2G
pure XP: 1.3G

2008年12月8日 星期一

ATEN CS661 好人應用篇


除了機房應用這種工作用途外,CS661用來處理使用者電腦問題也很方便。
別的不說,拖拉式檔案傳輸就是一個大利多。
美女電腦出問題時,要傳程式的話,不是利用網路下載,就是靠USB隨身碟傳來傳去。
萬一美女的電腦問題是中毒引起(話說這種情況好像常發生?是大家都喜歡攻擊美女還是因為..其他原因?),那就只能祈禱自己的免疫系統有發現了。

CS661有啥好處?
1. 安全性:雖然還不確定CS661的檔案傳輸使用的機制,不過除非是使用netbios,不然應該會比USB對傳安全。
2. 省時&方便:Time is money, frie~nd.
3. 衛生:有些人的鍵盤、滑鼠滿是汗垢、油垢,看了就想回頭走人。我還看過一坨鼻屎..
4. 熟悉:鍵盤滑鼠長的差不多,但畢竟不是完全一樣,例如有些table PC會把windows鍵放在右上角;"\"鍵的位置也有兩三種,而enter(輸入)的形狀也非完全相同(雖然NB上幾乎都是一長條)。
而且,除了以小(netbook)接大(server)之外,CS661還能以大(Notebook)接小(netbook)。這點真的很好用,叫我用ePC 701的鍵盤打字的話,我真的會瘋掉..。
當然,這麼好的一個東西長太醜也是不行的。
雖然CS661不是灰灰白白的史前時代顏色,不過...這種黑色看起來也是3C用品的宅色調阿 orz。
另一個問題是前後的連接線好長,我已經一堆USB線了,不能把那些線拿掉留個USB插頭就好嗎?

ATEN CS661 主機附身篇

癮科技介紹了一個好用的東西,Aten CS661連接線
別看這只是一條連接線,對強者的用途可大著呢
CS661基本規格如下
摘自ATEN CS661產品介紹
  • 支援USB2.0及檔案傳輸功能的USB對USB筆電型KVM多電腦切換器
  • KVM功能(雙電腦控制)–從一台近端的筆記型/桌上型電腦控制遠端的筆記型/桌上型電腦
  • 內建一埠USB 2.0 Hub–近端電腦可連接USB 2.0周邊設備
  • 輕巧設計、內建一體成型的USB 2.0連接線
  • 直覺式GUI介面,操控簡易
  • 檔案系統管理工具–使用者可輕鬆的以拖曳方式在兩台筆記型/桌上型電腦之間複製與傳輸檔案
  • 隨插即用–自動執行軟體安裝
  • 桌面視窗調整–使用者能依照近端電腦螢幕的大小與比例,調整遠端電腦桌面視窗的大小/解析度
  • 無須外接電源
先解釋一下,所謂KVM是鍵盤/滑鼠&螢幕的切換設備,他可以讓你用一組鍵盤/滑鼠/螢幕連接到不同的主機上,市面上有許多種KVM,有的支援PS2(前一代的滑鼠/鍵盤連接規格),有的支援USB。
在多台主機的情況下,目前主要的管理方式有兩種,一種是硬體切換,一種是軟體切換。
硬體切換需要KVM設備,連接好KVM後,只要按一下切換鍵就可以用一組鍵盤滑鼠控制不同主機,眼睛也不需要一直找螢幕。
不過KVM大多是固定的,而且設定時需要先把線連接起來,包括把螢幕鍵盤滑鼠連接到KVM,再從KVM上連接另外三條線到主機上..光是這一點,就讓KVM設備不適用於行動環境了,更別論有的KVM還需要連接電源使用。
因此有的網管會使用軟體方式,也就是常見的虛擬桌面、VNC等方法管理主機,軟體切換的最大好處是可以用網路遠端連接,而且不需要移動。
前提是主機必須要能執行相關軟體並在網路連線狀態下才能使用,由於機房大多沒有無線設備,所以這方式適用於遠端的日常管理而非機房內的debug作業。

我常跑機房,我們部門所用的設備只有三種型號。
型號A的機器,機背有PS2鍵盤、滑鼠,只有一個USBport。
型號B的機器,機背有PS2鍵盤、滑鼠,機背有一個USB port,機面有令一個USB port。
型號C是最新的,機背有PS2鍵盤、滑鼠,但是有兩個USB port。
PS2接頭是最常見的,但是舊款的BIOS普遍有開機後連接的PS2滑鼠無法使用的問題。
USB設備很好用,但是鍵盤、滑鼠各需要一個連接port。
而ISP機房提供的推車上,安裝的連接設備只有兩種,一種只有PS2的鍵盤/滑鼠,另一種則是用USB的鍵盤&滑鼠(默哀)。
所以每次到機房選推車時,我都要天人交戰一下才能決定今天要推哪種車..

CS661的出現是一個很大的轉變,我只需要帶著自己的NB就可以連接到伺服器主機上,從此不用再去管主機的輸入設備是怎麼搭配,只要他有一個USB就OK了。
此外,檔案傳輸功能也讓我上傳檔案時不用NB<-->主機兩頭跑。
另一個好處是,鍵盤/滑鼠畢竟是自己用慣的比較好打,機房的滑鼠/鍵盤不是小小的就是爛爛的,怎麼用都不順手。
身為網管,我非常高興有這麼一個設備的出現,從此我可以不用管要處理的主機背後到底是接PS2還是USB,只要帶著NB和ATEN CS661殺到機房直接管理主機即可。

2008年9月9日 星期二

使用JS過濾DB內容,加倍網頁顯示內容?

假設網頁只能放10筆內容連結
用DB抓20筆,顯示到前端時,用JS控制已經閱覽過的內容
等於動態增加網頁連結,增加單次停留時間和閱覽篇數

其實應該可以把是否看過作成布林欄位放到JSON中