Pages

2010-12-18

可下載Xuite.WebHd資源的FreeGrab軟件

Xuite硬碟是中華電信Xuite網站的一項功能,只要你是中華電信ADSL用戶,就可申請一個2GB的網頁硬碟空間,隨著你對該網站的參與度,它會一直增加空間量。你可以把資源分享給別人,下載畫面需點擊廣告才能下載。
image

網路上類似這樣的硬碟多不勝舉,但重點是若同為中華電信網站,下載速度都是1.1MB/sec以上(如10M光纖),假如用來分享一些大檔,由於都是屬於中華內網,官方通常都爭隻眼閉著眼,即使站長都呼籲不要如此做。官方也常常改變下載程序來防止一些軟件的批次下載,其中就以FreeGrab這下載軟件最出色,只要具有最新可行的Xuite WebHd Plugin,就可快速下載。
 image
FreeGrab軟件很多新舊版本,但重點在於其Xuite WebHd Module是否能正常下載 (目前網上找到的95%不行)。
image

會寫這分享文章,是因為歷經無數次嘗試,終於被我找到可正常下載的模組!! 
FreeGrab 1.2.3.4.5 v080518 with Xuite.WebHd (4.16MB)  
免安裝,2010/12/18測試Okay!

2010-11-19

NOD32防毒版本的區分

NOD32防毒分為3種版本:
1. Home Edition:  裝在win7/xp下,不能裝在server等系統。官網提供試用版下載。(安裝檔名: eav_n32_enu.exe)
2. Business Edition: 功能跟home版一樣,但更能裝在server(2003/2008)系統下。官網不提供試用下載,通常得購買正版才能下載該版本。(安裝檔名: eavbe_n32_enu.exe)
3. Enterprise Edition: 除了跟business edition一樣外,另外提供一些企業上大量佈署的機制,適合企業聯合防毒更新。

以上三種版本,第二種business edition對單機使用就很夠用,安裝完都需要輸入id/pw,才能作病毒庫的更新,儘管如此,所有授權序號都有時間限制。

NOD32每種版本又有區分(有x32/x64之別):
1. NOD32 Antivirus: 基本防毒及系統偵測,防範木馬。
2. Smart Security: 除了Antivirus功能外,再加上一個防火牆。

個人認為單機使用若裝得太嚴謹,折損系統效能太過,有違比例原則。因此以適用性而言,會建議Business Edition之Antivirus版本。

2010-02-24

Base64編碼

Base64編碼原理很簡單,常用於email的內容編碼內,最近註冊個論壇啟動信竟無法解碼
因此手動寫了這小程式來解決:
SNAGHTML36c7eb38

參考URL: http://blog.wahahajk.com/2008/06/base64.html

2010-01-12

虛擬串列埠

現在Notebook電腦為了體積小而美,大部分沒有串列埠(Serial Port, 通稱COM埠)
外面賣的USB轉COM線材轉換晶片常常是假貨,驅動程式良莠不齊。
為了能在NB上模擬Serial Port的讀寫動作,我從完全陌生->僅會讀寫->了解COM通訊理論
也發現市面上有虛擬SerialPort的商業軟體,有提供ActiveX的控制虛擬埠的元件。

我也把網路Socket傳輸通訊的Queue/Checksum應用到串列埠的讀取上
最後,當發現有免費的com0com虛擬串列的Driver支援
我也興起自己寫作虛擬串列埠的念頭,畢竟這是掌握虛擬埠應用的技術重點。

首先,要先了解com0com的Driver控制方式,用C#寫出能簡易控制虛擬埠的管理程式:
SNAGHTML706fad6

透過管理物件Manager能快速新增虛擬埠,User不需了解com0com的內部管理機制及例外狀況:
VirtualSerialPortManager.Setup.ComAddAsync(start, count);

查看「裝置管理員」,可看到這些虛擬埠的裝置: (這得研究Driver安裝上的認證佈署方式)
SNAGHTML709f07a

接下來是最主要的重點,就是如何透過Event方式來Programmer監控經過這些虛擬埠的資料。
只要透過下面的OnRxCharRead事件,即可監控虛擬埠的資料,再作其他的Mapping輸出應用:
SNAGHTML706260b

Manager也提供對這些虛擬埠的寫入函式(Write()),也提供貼心切片傳送(WriteSlice())機制。
最後,擬擬埠的流量控制與速度調整,則有待實務應用時再作測試與調整。

本想等有案子才把這虛擬技術實作出來,沒想到天氣冷一衝動,
就…油然而生出來了。

2010-01-08

SQL-LIMIT分頁查詢語法轉換

以前使用SQL Server,要實現分頁語法很麻煩,總不如MySQL中的LIMIT語法來得直覺:
SELECT * FROM Table1 LIMIT 10, 20     // index, count, 取出第11-30筆資料

微軟到了SQL Server 2005之後,有了ROW_NUMBER()來實現分頁,但SQL語法只是更加複雜
很奇怪微軟為何不支援LIMIT語法(可google,但找不到中肯的答案),
為了維持資料庫MySQL切換SQL Server的分頁語法一致性,
只好自己來寫SQL分頁LIMIT語法的字串轉換函式:
SNAGHTMLa26b713

此轉換函式範例:
string sql;
string sql2 = “SELECT * FROM Table1 ORDER BY Date1 LIMIT 10, 20”;
cmd.CommandText = SqlLimitConvert(sql);

// SQLServer分頁函式需要OrderBy欄位,原文若無則要自訂加入,否則會產生例外。
sql = “SELECT * FROM Table1 LIMIT 10, 20”;
cmd.CommandText = SqlLimitConvert(sql, “Date1 ASC”);

2009-12-05

高速SMG下載方式

常見的BT下載雖然符合多人共載的分配原理,但常常受限普羅大眾作種及限速的關係,並不算快。
如果你家是hinet光纖網速(10M/2M),那麼若能直接下載來自Hinet主機的檔案,速度是很快的
(ISP通常不對自己的線路作設限)。

有善心人士就利用hinet空間,把檔案切細檔再壓縮,放至hinet私人空間讓人下載,
為了保護來源位置,就把該URL編碼,再透過特定軟體下載它,獲得驚人的下載速度。

這樣的特定軟體就是SmartGet,一般就簡稱SMG的分享方式,速度通常都是1MB/sec左右:
SNAGHTML6563582
教學文章: http://blog.yam.com/kuei0116/article/16521674

由於來源位置都在個人hinet或一些高速空間上,這類的資源分享也著重在VIP階層裏
因此通常有下載時限(如5天),因此必須從一些私密的SMG論壇裏獲取較新的加密SMG網址
下載時必須輸入該論壇的會員驗證id/pw,才能進行下載,如著名的無限論壇

是的,SMG下載方式時效短,下載URL加密又得輸入論壇的ID/PW(軟體會幫你記憶),
但它保障了論壇VIP會員驚人的下載速度,讓有貢獻的人(出錢出力)不用浪費下載時間。

假如你厭倦了窮人式的下載等待,或許你可試試SMG下載,真的很棒!

2009-11-24

切換網域AD帳號及權限

假如你在AD網域下存取某些具有權限保護的目錄,你可能需要在程式中切換目前的AD帳號
那麼可以像下圖這樣示意:
SNAGHTMLd94396e

實作方式請參考黑暗大的文章: CODE-C#變身術懶人包
MSDN: http://support.microsoft.com/kb/319615

2009-11-16

刪除Win7的檔案關聯

某天在實驗PowerShell的雙擊直接執行的功能時,把".ps"加入了檔案關聯
結果執行時引起開視窗無窮迴圈,重開機後需要這.ps關鍵刪除,卻發現苦無辦法:
SNAGHTML1a5734

查了google,通常是介紹用命令介面下的ftyle, assoc兩道指令,但它們只能改變關聯設定,
卻無法刪除這不要的副檔名,後來找到這工具:
http://www.winhelponline.com/articles/231/1/An-Utility-to-Unassociate-File-Types-in-Windows-7-and-Vista.html
SNAGHTML1cc725

XP下的檔案關聯倒是可以管理,比較先進的Vista及Windows7卻無法刪除,幸好有這救命工具。

2009-11-13

ListView雙選擇項目

在Windows Form介面程式設計裏,常會發現以下的畫面:
SNAGHTMLe3289e1

除非靠商業元件,否則這些移項的功夫要自己處理
例如項目雙擊就移入對面的ListView,不能重複且能Drag Item排序等等。

這些雜工要避免,就是把相關的操作及滑鼠事件控制都寫入一個統籌的Class類別,
由它綁定相關事件。
SNAGHTMLe36c922

簡易的UI Reuse,也能使用User Control方式來包更加模組化,但這種是最簡單型的。

2009-11-06

專案資料備份方式

軟體專案開發階段通常以SVN來備份修改版本,但一個專案不僅包含源碼文件
也包括User功能需求、規格、報價單、歷次Debug修改記錄等等資料
通常我們會以目錄方式,分類存放。

在專案保固期內,每當User提出調整或Debug時,我有習慣順手備份線上DB資料庫
每經過一段時間,就把所有目錄作一次完整備份。
可想而知,備份的目錄內檔案數量極多,假如單純COPY到另一磁碟上,
未來要搬移或刪除會很麻煩 (碎檔太多)。

壓縮存放會在備份時花不少時間,因此經過思量,決定備份為ISO檔
它把所有檔案綁成單一檔,方便管理。
SNAGHTML2d9dc1a

當然,這些專案備份ISO,是存放在磁碟陣列裏。
書到用時方恨少,危難發生時平時的備份也是同樣道理。