過去幾年在軟體公司,開發的系統專案幾乎都是Web Form...
前輩們傳授的觀念是,因為Web Form部屬容易
這些年來,一直跟隨.NET腳步的我,對於M$的ASPX的發展,真的越來越失望...
效能、網頁大小(頻寬)...等問題,是令我最為感冒的問題...
老一輩的開發者,特別重視SQL的效能,認為那是系統效能的關鍵所在...
不過這些年來,我倒是特別重視Page Size的議題
為了讓開發者寫越來越少的程式,就能開發出系統,犧牲掉許多網頁傳輸的問題...
最典型的就是View State了~
回到原點重新思考,Win Form如何呢?
那一個直譯式的Win Form程式,可以嗎?
compiler成數個小dll呢?
異動時只要個別更新即可
web form和win form的整合呢?
flash? sliverlight?
還是wpf呢?
就企業內部的使用而言,win form或許是比較好的選擇
對外,web form更能夠符合更多的使用者
到底哪一種比較好?不知道
但我知道的是,下一波~
我會嘗試的再將win form搬到web上去
sliverlight和wpf... to try...
在user端工作有個好處,有很多很多的專案,讓我不段的去嘗試~
做錯了~就用吧!
因為你必須緊接著下一個專案,但你可以在新的專案中,重新選擇改變或是延用~
2009年1月14日
2007年12月16日
數位儀表板 - Google Chart API

最近因為開發的產品的需求,所以開始注意到Web Application中的數位儀表板的東西,想要把一些統計資訊,利用儀表板的方式呈現出來。
有用過Google Analytics的人,應該對我說的這一種東西應該不陌生吧!這像一開那張圖片的效果一樣...
但是要實做這樣的功能,我想我們遇到的第一個問題就是,要如何產生這一些統計報表呢?這一些統計圖到底是如何動態產生的呢?也因為這一些疑問,所以我開始尋找這方面的資訊,而剛好看到Google也有這樣的API可以使用,所以就稍微給他研究一下,下面這一些文章,是整理智羊男的Blog,希望對於各位有一些幫助。
http://chart.apis.google.com/chart?cht=p3&chd=t:60,40&chs=450x200&chl=Blogger|無名&chtt=Mind+of+Muser
Google Chart API,可以讓使用者在網路上很即時的利用瀏覽器輸入一些語法命令與數據取得質感不錯的統計圖,它的形式像是這樣:
http://chart.apis.google.com/chart?
cht=p3
&chd=t:60,40
&chs=450x200
&chl=Blogger|無名
&chtt=Mind+of+Muser
在網址列輸入上面這一串文字後就得到上方那張圖片,也能夠直接使用 html 的 IMG 標籤將圖片嵌入內容當中,使用並不困難,但是因為類型眾多,還頗為複雜,但是僅就幾個簡單的進行瞭解,應用上大致就沒什麼問題:
網址輸入形式:
http://chart.apis.google.com/chart? [數據設定1] & [數據設定2] ...
各數據之間使用「 & 」做連接;
基本數據形式中,所有能夠控制的語法功能都以 ch 作為開頭(chart),以上面的圖例所使用的語法做例子:
cht = Chart Type :統計圖型式
p 就是派餅圖, p3 就是派餅 3d 圖,lc/lxy 就是線圖, bhs/bhg/bvs/bvg 則是長條圖,v 是涵蓋圖, s 則是落點圖;
chd = Chart Data :統計圖數據
這個數據又分成三種類型,其中 chd=t 的形式是直接輸入浮點數據,但是一旦資料過多的時候,網址將會變得非常非常的長,所以 Google 還用了另外兩種數據編碼方式 chd=s 與 chd=e ,簡直就像是達文西密碼一樣,一般人應該要有個編碼表才能很快找到自己要用的數字,簡單的應用還是直接輸入一般人習慣使用的數字文字 chd=t 的模式較好(不過這在之後會有個有趣的應用);
chs = Chart Size :統計圖大小
最大寬度或高度大小為 1000 pixel,在此範圍內會自動調整圖案;
chl = Chart Labels :統計派餅上數據所代表的標籤/名稱/意義
每個數據所代表的名稱之間用「 | 」來做連接,幾個數據就幾個標籤,像上面那張圖是兩個數據就用兩個標籤「 Evil|Googd 」;
chtt = Chart Title :統計圖的名稱
統計圖標題的命名方式以「 + 」取代空格,用「 | 」強制換行避免標題過長;
有趣卻有點難解的編碼:
光是知道這幾個基本應用方式就已經可以製作出許多不同的統計圖形,各命令也蠻簡單易記的,不過其中 chd Chart Data 的部份是比較複雜難搞的,它有兩種不同的編碼方式,一種是簡單編碼( A = 0 / B = 1 一直到 Z = 25 ,與 a = 26 / b= 27 一直到 z = 51 ),另一種則是延展編碼,不過一般人在應用上更不容易記得(詳細編碼方式請直接上網閱讀)。
在大陸已經有網友弄出一個簡易版的派餅圖生成頁,讓使用者更快的輸入數據生成餅圖,並且取得網址,不過並沒有辦法變更類型,主要變化也是基於派餅圖來應用,也會自動將使用者輸入的各個數字轉換成 chd=s 的簡單編碼形式,可以多去玩玩、試試看,根據網路名人蔡伊林看新聞說單一網路使用者發出圖片生成的查詢使用次數,限制在 50,000 次以內(應該是以紀錄 IP 為主的方式吧?),對於一般人來說很夠用了。
不過,一旦有了英數編碼系統,花招就來了!
喔?未來 Yahoo 還有機會是慢慢上升嗎?
(chd=s:Yahoo)
如果這是 Google 的股票,未來看似震盪有點大喔...
(chd=s:Google)
微軟的 Windows Vista 有後市上揚的趨勢呢...
(chd=e:WindowsVista)
Apple 的 Mac OSX Leopard 起伏頗劇,後勢不妙...
(chd=e:MacOSXLeopard)
這的確蠻像這邊的來訪人數,有新文章人就多,沒文章人就少...
(chd=e:metamuse)
呵呵,以後在網路上看到 Google 的統計圖,說不定裡面就正藏著有趣待解的密碼,說不定可以記手機算命、姓名學之後,弄個什麼英文算命、英文姓名學科技應用之類的!(某神級網站原本說要推出破百萬占卜,要不要就考慮套用這個 API 啊? XD)
(提示:滑鼠在圖片上按右鍵,選內容,就可以看到圖片網址)
2007年12月3日
讓IE 7 和 6 和平共存的好軟體
瀏覽器的問題,相信對於許多的Web開發人員而言,是一個相當棘手的問題,有時候我們為了讓我們開發出來的Web可以在各種瀏覽器上面執行,所以我們就必須安裝各種不同的瀏覽器來進行測試摟~~
如果是不同的瀏覽器,例如IE、Firefox...等,那到還很好解決,但是如果是IE 6跟IE 7呢?
那怎麼辦呢?系統預設僅能夠有一個IE版本阿~~
過去的解決方是大多是建立多個VM,各自安裝不同版本的IE,來進行測試!而一個VM的空間說實在的,容量還不小,開啟時也耗費相當多的系統資源,
在你為這個問題感到煩悶時,這時候"上帝"聽到了....所以有了一個軟體出現摟~~~
國外的TredoSoft推出了一個小軟體,讓你的電腦同時可以安裝以下幾種版本的IE:
IE3 / 4.01 / 5 / 5.5 / 6
身為網頁程式設計師的你,是否又開始覺得『科技始終來自於人性』了呢?

下載網址
官方網站
如果是不同的瀏覽器,例如IE、Firefox...等,那到還很好解決,但是如果是IE 6跟IE 7呢?
那怎麼辦呢?系統預設僅能夠有一個IE版本阿~~
過去的解決方是大多是建立多個VM,各自安裝不同版本的IE,來進行測試!而一個VM的空間說實在的,容量還不小,開啟時也耗費相當多的系統資源,
在你為這個問題感到煩悶時,這時候"上帝"聽到了....所以有了一個軟體出現摟~~~
國外的TredoSoft推出了一個小軟體,讓你的電腦同時可以安裝以下幾種版本的IE:
IE3 / 4.01 / 5 / 5.5 / 6
身為網頁程式設計師的你,是否又開始覺得『科技始終來自於人性』了呢?

下載網址
官方網站
2007年11月29日
Machine Name有underline時,Session會掉
今天遇到一個很問題,就是我透過Machine Name連到網頁時,它的登入帳號會掉。
而登入帳號我們是存在Session中的,後來去將它的SessionID Response出來,發現,怎麼SessionID會一值變動呢?
後來又將它原本的Machine Name拿掉,改用IP去連,結果竟然OK了!
經過一番的折騰之後,中於在微軟的KB上發現這一篇!
http://support.microsoft.com/kb/316112/zh-tw
內容簡略如下:
防止伺服器以不正確的名稱語法來設定 Cookie 名稱。使用 Cookie 的網域在網域名稱和伺服器名稱中,一定只能使用英數字元 ("-" 或 ".")。如果伺服器名稱包含其他字元,例如底線字元 ("_"),Internet Explorer 會阻擋來自該伺服器的 Cookie。
沒錯,一開始我們使用的Machine Name就是有包含底線摟~~
建議解決方法:
• 重新命名網域名稱和伺服器名稱,而且只使用英數字元。
• 使用「網際網路通訊協定」(IP) 位址 (而不要用網域/伺服器名稱) 來瀏覽至伺服器。
就是這麼一回事摟~~~
而登入帳號我們是存在Session中的,後來去將它的SessionID Response出來,發現,怎麼SessionID會一值變動呢?
後來又將它原本的Machine Name拿掉,改用IP去連,結果竟然OK了!
經過一番的折騰之後,中於在微軟的KB上發現這一篇!
http://support.microsoft.com/kb/316112/zh-tw
內容簡略如下:
防止伺服器以不正確的名稱語法來設定 Cookie 名稱。使用 Cookie 的網域在網域名稱和伺服器名稱中,一定只能使用英數字元 ("-" 或 ".")。如果伺服器名稱包含其他字元,例如底線字元 ("_"),Internet Explorer 會阻擋來自該伺服器的 Cookie。
沒錯,一開始我們使用的Machine Name就是有包含底線摟~~
建議解決方法:
• 重新命名網域名稱和伺服器名稱,而且只使用英數字元。
• 使用「網際網路通訊協定」(IP) 位址 (而不要用網域/伺服器名稱) 來瀏覽至伺服器。
就是這麼一回事摟~~~
訂閱:
文章 (Atom)