2009年7月22日

Living 3.0 智慧化居住空間展示中心參觀心得

前陣子去參觀 Living 3.0 智慧化居住空間展示中心(以下簡稱「展示中心」),這是由內政部建築研究所主辦,財團法人台灣建築中心承辦的一個展示中心,在捷運萬隆站附近(交通資訊),是一棟蠻大的獨立建築物,蠻好找的。展示中心採取導覽介紹制,因此要去參觀前必須到官網上去做線上預約,也可以預約英文導覽。

當天負責導覽的解說員很專業,參觀完了以後的確有感受到政府要利用「現有機電、電子、材料、資訊、通訊、自動化及控制產業與技術優勢,掌握智慧化居住生活科技發展趨勢與機會」的企圖心。

什麼是 Living 3.0


這是內政部建築研究所自己定義的 term(國際上沒有這樣的講法),其所要表達的是「智慧化/科技化生活」的涵義。以下是 Living 1.0 ~ 3.0 的比較:
  • Living 1.0(史前時代到工業革命前)
    在這個階段,人類透過固定或半固定的居所(shelter)來提高生命安全的保障,以避免惡劣的天候或野生動物危害到生命安全。
  • Living 2.0(工業革命後到資訊革命前)
    在 Living 1.0 時代發展出來的 shelter 保護下,人類終於進步到發明各式各樣的機器來協助處理各種繁重的工作(e.g. 長途運輸、搬運重物),而後進一步將機器的 size 縮小,小到可以被用來提昇生活品質的程度(e.g. 熱水器、冷氣機、瓦斯爐)。
  • Living 3.0(資訊革命後到現在)
    到了 1980 年代電腦技術不斷飛快進步之後,資訊科技已經大幅改變人們的生活,透過各種嵌入式系統的發展,生活中的用品漸漸的愈來愈具有「智慧」,配合越來越成熟的網路、通訊科技,讓人類的日常生活開始邁入一個新的時代。
根據解說員的解釋,遠雄二代宅介於 Living 2.0 與 Living 3.0 中間(遠雄的官網上沒有另闢專區介紹這個概念…),因為成本的考量,只有導入一部分的新科技,但由於從設計開始就納入了新的思維,因此從綠建材、系統整合等個面向來看都比傳統的 Living 2.0 住宅進步很多。

而展示中心由於是政府的示範專案,因此可以全面、大量的採用目前的成熟科技來打造(也就是說展示中心內的各種設備都是市場上買的到的,當然有些會非常貴),由於整合了 60 幾家廠商的設備,因此成本會比遠雄二代宅高很多。

那麼展示中心內究竟整合了哪些新穎的設備呢?從官網上的展示中心設備索引就可以先大概瀏覽一下,其中分為廠商別、展場別和種類別,對於沒有參觀過的人而言,建議從設備的種類別進去瀏覽,比較容易找到自己有興趣的主題,另外官網有提供 VR 導覽

我有興趣的系統
  • 太陽光集光導引系統
    「透過高性能集光能將太陽光濃縮一萬倍,再將大口徑的光纖入口端對準集光透鏡的焦點。」這個裝置神奇的地方在於,投射出來的光線不是像聚光燈一樣,而是像自然光一樣的散射,總覺得人類離艾西莫夫大師的「鋼穴」小說裡面那個終年不見天日的世界又邁進了一小步(誤)。
  • 數位互動茶几
    「數位互動茶几」是一結合「多點觸控 (multi-touch)」及「影像標籤辨識 (tag-recognition and identification)」技術的產品雛型。當使用者將『個人化茶杯』置於茶几上,茶几面會浮現預先設定的對應虛擬資訊,包括照片、影片,或音樂等形式,並能跟隨茶杯而移動。這是台灣廠商的產品,使用的技術跟 Microsoft Surface 不太一樣,主要是靠紅外線熱感應,但是背後的理念差不多,利用茶几這個客廳的中心擺設來進行各種數位化的互動。
  • 智慧家庭控制系統
    「在住家內可以任意走動去遙控各角落的家電、照明、電器、窗簾...等設備,穿透樓厝隔間。出門在外可以經由手機、PDA、電腦在遠端看到哪控制到哪。可以把軟體安裝在手機上當作搖控器的個人化數位住宅。不用費心為了控制家電、電燈而拉一堆線,不需擔心為了智慧化把裝潢弄得醜醜的」這真的太方便啦,房子越大越有需要裝 XD
  • RFID智慧衣櫥
    目前是把 RFID sensor 貼在衣架上,買新衣服回家以後,要手動建檔把衣架跟衣服在系統中對應起來,以後要找衣服時先進系統透過關鍵字/tag搜尋,點選要穿的衣服以後衣架上的小燈就會亮起來,很節省時間!限制是衣服一定要按照在系統中設定的對應放到相對的衣架上。未來展望是在衣服的內層也貼上 RFID 標籤,這樣衣服就可以隨意掛到不同的衣架上了。
  • 智慧化流理台
    「根據人體工學,每一個人身高不同,工作台面高度也跟隨改變.智慧型升降台面完全解決這個問題,工作台面高度 80-94cm隨意可調」幾個月前看到美國有家軟體公司給員工用的辦公桌就是這種可以隨意升降的,感覺非常的優。
其他心得


智慧化概念當然很好,不但能增進生活品質,還可以節能(省錢!)、降低對環境的衝擊,但建商未來還要花很多心力去推廣,政府則是要透過立法來推動相關產業的進步(e.g. 綠建築)。

另外一個跟智慧化居住空間有些關係的資訊來源是 IBM 的 Smarter Planet Blog,這個 blog 關注的是未來都市發展問題,相較於 Living 3.0 展示中心主要 focus 在未來室內環境的發展,Smarter Planet 對於未來的生活可以提供更宏觀的角度,裡面的文章都不錯看。

最後要說,Living 3.0 展示中心給人的整體感覺很不賴!建議大家有空可以去走走,看看 60 幾家廠商的技術整合在一起是什麼感覺,思考一下未來的居家生活會是什麼樣子。(就資訊科技方面可以思考技術如何整合、不同系統如何協同運作、資訊安全等等議題)

後記


關於綠建築這個觀念,最近一期的台北捷運報導(No.257, 2009/7/1)有提到綠建築的概念,因為沒有在網站上找到報導的網頁,所以節錄如下:

綠建築(Green Building)在歐美稱為「生態建築」(Ecological Building)或「永續建築」(Sustainable Building),在日本稱為「環境共生建築」,為地球永續發展環保運動浪潮下建築部分產物,起源於寒帶先進國家。「綠建築」可定義為:在建築生命週期(規劃設計、建材生產、運輸、營建施工、日常使用、維修管理、拆除等各階段過程)中,以最節約能源、最有效利用資源的方式,建造最低環境負荷但能提供最安全、健康、效率及舒適的居住空間,達到人及建築與環境共生共榮、永續發展。也就是消耗最少地球資源建造,使用最少能源,產生最少廢棄物的環保建築物。


行政院於民國85年成立永續發展委員會,將綠建築列為國家施政要項,並將建築節約能源設計規範納入建築技術規則,頒佈「綠建築推動方案」。於88年9月1日正式公告受理「綠建築標章」申請,標章核發需進行綠建築七大指標評估,包括:基地綠化量指標、基地保水指標、日常節能指標、二氧化碳減量指標、廢棄物減量指標、水資源指標及污水垃圾改善指標。[…中略] 從91年起,凡是公共工程造價五千萬元以上,都必須符合綠建築評估七項指標中的兩項以上,取得綠建築候選證書後才可以取得建照(捷運工程屬於特種建築物,免申請建照)。
綠建築就是生態(Ecology)、節能(Energy Saving)、減廢(Waste Reduction)、及健康(Health)的建築,按我國現行綠建築評估等級可分為合格級、銅級、銀級、黃金級及鑽石級等五級。

2009年7月16日

輕鬆使用MS Chart Control - 匯出圖片

雖然在圖片上直接按右鍵就可以另存圖片 (沒設定權限的話
不過客戶還是想要有個按鈕能讓圖片下載
所以坎尼只好再想辦法滿足客戶的需求

UI設定

首先,在畫面上準備好下載按鈕和圖表
順便設定一下樣式和內容,這部分之前講過很多次就不多談了

撰寫按鈕事件

先宣告 System.IO.MemoryStream 物件,用來承接 Chart 的 binary 資料
再利用 Chart.SaveImage 方法將資料流放到 MemoryStream 中
把 Stream 轉為 byte[] 陣列後,再丟到匯出的方法中處理

Chart.SaveImage 儲存方式有兩種:FilePath Stream
但用 FilePath 的方式是儲存在 Server 端,要另外再多做個動作才能讓使用者下載
所以坎尼就選用 Stream 來處理

接著是匯出 byte[] 裡的二進位資料
這邊坎尼是參考董大偉老師的 如何在ASP.NET中下載檔案
另外函式做了點小修改,也可以用來匯出其他二進位的資料流


執行程式,點下載圖片後會直接將圖片匯出

噹噹噹噹噹,圖片就這樣下載到使用者的電腦上啦


此次的範例檔下載

小結

上面有講到明明右鍵就可以下載,但為什麼還要弄個按鈕出來,是要累死工程師嗎?
最近坎尼有看到一篇 Web Design 的文章講的很好
(原文是英文,坎尼大致上翻譯一下意思)
「盡量把操作弄成最愚笨的方式,使用者會比較容易使用」
「但仍要保留給進階使用者進階技巧的使用權利,他們會希望用一組快速鍵達到滑鼠點三次的要求」

所以設計者們,記得有機會就多留點隱藏技巧,令使用者有驚喜的感覺
不過不要留了後門給駭客進出啊 XDDDD

2009年7月10日

輕鬆使用MS Chart Control - 簡單設定圖表外觀

本來坎尼要寫比較進階版的圖表應用
上一篇實在太長了,所以先來篇短文休閒一下

I. 情境

校長打開電腦系統查閱一年級各班平均成績
由於2班有他喜歡的小蘿莉學生-心亞
於是校長進一步點開2班的詳細資料


校長發現心亞的國文不是很好,於是廣播要她放學後留下來...(故事請自己補完)

II. 實作

首先要設定圖表物件及基本樣式,下圖為已設定好之圖表區

要讓圖表呈現3D屬性,需要到 ChartArea 裡設定 Area3DStyle


要讓長條圖變得更好看,則是要打開 Series 的 CustomProperties 做設定
範例裡把 DrawingStyle 設成 Cylinder

要注意的是,CustomProperties 會依圖表類型不同而改變
長條圖、圓餅圖、折線圖的 CustomProperties 屬性大多不相同

下圖為完成後的 Html Code

接著要撰寫 Chart_Click 事件 (其他繫結事件之前談過很多次了,這邊省略)
這邊作了點小處理,讓圓餅圖在點下之後,會呈現分離狀態

圓餅圖的 PostBackValue 為 X 軸值,也就是班級名稱
(不曉得 PostBackValue 的人請先看
這篇)
利用迴圈把已繫結的資料點 (Points) 抓出來和 PostBackValue比對
找出使用者按下的資料點後,將其 CustomProperties 的 Exploded 屬性設為 true

設定 CustomProperties 語法為 Chart.Series[a].Points[b]["屬性名稱"] = "屬性值";
Exploded 為圓餅圖(Pie)甜甜圈圖(Doughnut)專用
目的為讓圖表呈現 pizza 型的切片狀態

接著就是利用 PostBackValue 找出班上的學生
其實用 Gridview 將清單列出也行,本篇是在講 Chart 所以就用長條圖來代替

執行後,大功告成,校長可以手指動一動就輕鬆的看到全校資料了

Chart Control 的屬性很多,有意要學好的人一定要多加練習,熟悉各項設定
MSDN Chart Control 論譠 是個很好的資源取得地,可多加利用

本次的範例檔下載

2009年7月8日

輕鬆使用MS Chart Control - 讓使用者與圖表互動

一般圖表多半只是以靜態的方式呈現
MS Chart Control 既然為 Server Control,當然支援後端事件啦
下面的範例會帶讀者們一步一步的完成 Chart 屬性設定及撰寫事件

情境:

在圖表一有本班學生成績平均,但老師想看單一學生的各科成績
此時只要將滑鼠移到該學生的長條圖上,當游標呈手狀

點下後即會出現該學生各科成績

要完成上面的功能需要很多程式碼嗎? 一點也不
但由於要設定的屬性眾多,所以這邊坎尼抓了不少張圖作說明

下圖是所有屬性設定完成後的狀態
很神奇地,這邊只需要單單一個 Chart Control 即可

1.建立 ChartAreas 及 Series

這次範例所需設定屬性,會到用到 Chart 三員大將 - ChartAreas、Legends、Series


首先點開 ChartAreas 新增一個圖表區,此時會發現原本的 Chart 被往上推擠
但由於尚未設定完,所以下方會是一片空白,這片空白就是新的 ChartArea


接著點開 Series 集合,加入新的 Series 並重新命名
分別用來顯示「平均」「數學」「英語」「國文」等分數

剛剛有提到一開始是看到所有學生的平均分數
所以這邊把 Average ChartArea 設定為 ChartArea1 (第一圖表區)

另外三科成績則設定為 ChartArea2 (第二圖表區)
按下確定後,應該可以看到兩個圖表區都出現資料了

2.設定 Legend

接著打開 Legends 集合,加入新的 Legend 來顯示第二圖表區的圖例
這邊需要將 DockedToChartArea 屬性設定為 ChartArea2

由於一開始圖表區2應為不存在,但Legend2仍然會出現 (請將它們視為不同個體)
所以這邊還要將 Enabled 屬性設為 False

此時此刻雖然畫面上出現了圖例,但圖例的名稱卻不是坎尼所想要的
於是坎尼打開了 Series 集合,設定呈現的 Legend 以及 LegendText
(是的,你沒看錯,要在 Series 裡設定 Legend 的相關顯示設定)

把 Math、English、Chinese 的 Legend 目標設定為 Legend2
並將 LegendText 分別設定成「數學」、「英文」、「國文」

Average 為 Legend1顯示,LegendText 為平均分數

上圖出現了個 Important 的字樣,但這屬性稍後再提

3.加入 Label 及 PostBackValue

接著加入圖表上要顯示的 Label 屬性
先到 Series 的 Label,會發現旁邊有個 button,點開後可以填入 Label 上要呈現的文字
當然也有預先設定好的 keyword,點 Insert New Keyword 即可插入

圖中 keyword 為 #VALY ,代表 Y 軸的值,範例中即為各科及平均分數
當然這邊要一個一個 Series 去設定,坎尼就不放圖囉

再回到更之前的圖,這裡 PostBackValue 放了 #VALX

#VALX 指的是 X 軸值的 keyword,也就是每個學生的人名
PostBackValue 是什麼呢? 大家應該都猜到了,就是送回後端時所傳送的數值

當然,要配合 Chart 的 Click 事件才有效果

到此經過了漫長的時間,總算是設定好 Chart 的各項屬性了
看一下 Html Code 可以發現,其實沒有想像中的落落長

4.撰寫圖表資料後端程式碼

在 Page_Load 放入取得第一圖表區資料的方法
X軸為學生名字,Y軸為平均成績

資料來源,這邊用假造的資料取代資料庫

接著是最重要的 Click 事件
利用 e.PostBackValue 到資料來源抓取學生資料 (e.PostBackValue為學生名字)
將學生成績利用 Series.Points.AddXY 的方式放到圖表區2
(詳細內容可點圖放大,註解皆有說明)


完成上列步驟後,即可讓你的圖表和使用者互動囉

2009年6月30日

探索 SqlCommand.Parameters.Add 定義資料值長度

其實這個問題也是老早之前就遇到 (大概一年半前吧...)
所以這兩天坎尼又重新測了一下問題發生的原因

先講一下這次的問題所在
SqlCommand.Parameters.Add 有個多載是可以傳入參數值的 size
但在 varchar 的狀態下,傳入中文並不會把值鎖定在 10,以至於系統拋出了例外

先來看範例,首先是資料表定義,有個 varchar(10) 的欄位

接著是可正常運作的範例

相信大家都知道,中文字在 varchar 中會佔 2 單位
所以6個中文字以上的字串,是無法新增至上面所定義的欄位表


當時坎尼就是遇到要把中文字存到 varchar 的欄位中
但很明顯的,size參數完全起不了作用
而且同事還說要不要用 String.SubString 的方法把資料截斷啊?

年幼的坎尼還真的照做了,但問題依舊存在
正確的做法應該是要先轉成 byte[] ,再將資料截斷送入

原本的 "無敵鐵金鋼2" 就被截斷後再送入資料庫中

但這個解法只限於傳入的值皆為 2bytes 的字
一但需截斷的資料中有1byte的字,就可能發生中文字被腰斬的情況



上面談了這麼多
是不是要證明 SqlCommand.Parameters.Add 的第3個 size 參數沒有用呢?
當然不是,它當然有用,只是在上面範例中不適合
其實只要把字串改成全為英文,Parameter就會自動把超過的字串切掉



上述例子中沒有作用的原因為:
中文字才6個,還未達到Length=10的瓶頸
但又因為中文字每個字代表2bytes,所以早就超過資料表裡的限制
中華文化博大精深,一般人尚無法精通,何況電腦

字串切割會以字的數目,而非字所佔的容量
「一二3四五」和「12345」同樣是算 5 個字
用 String.Substring(0,6) 即會拋出 index 不符的例外

但其實上述的範例真正的解決方式為...
應將有可能出現中文字的欄位設為 nvarchar,且前端要針對輸入的字作控管

最後補充一下小小的發現
上面 Table 裡的 ID 值是用遞增方式,但卻少了 2,難道是坎尼自己偷刪嗎?
其實是上述的測試中,坎尼故意傳了大於欄位長度的值進去,因此在 Sql 方面出現例外
不過遞增值的 flag 似乎自動加一了? 所以才會跳過該數字

創新,啟動新未來(Google the Future)研討會心得

上週(6/23)去參加數位時代主辦的 MIT 論壇 (Meet The Innovator) – Google the Future,適逢數位時代成立十週年,於是他們請了也成立剛滿十周年不久的 Google 搜尋產品與使用者體驗副總裁 – Marissa Mayer 來演講。在演講開始前是記者會,iThome 有相關報導(介紹 Google 的新產品,以及未來發展),另外在地圖日記也有一篇報導(如何選擇新創公司、對於工作的態度等),裡面的內容我就不再贅述了。

大體上演講內容頗平淡的,主要在介紹 Google 推出了哪些新的服務,跟 User Experience/UI Design 一點關係都沒有(=.=|||),適合沒空 follow Google 產品趨勢的人很快的了解一下 Google 最近在做什麼新東西。

以下是我比較有印象的新產品/服務:
  • Google Fusion Tables (Pre-Alpha)
    找不到繁體中文的報導,就看一下官網的 TourFAQ 吧,這個 service 的目標是 import and visualize table data online, share and collaborate in real time, and visualize it instantly。初期會與政府機關合作(當然是先從美國開始),將一些公開的統計資料(人口分布、經濟數據等)匯入這個服務,以促進知識的流通、加速科學研究、協助制定決策等等(visualize public datasets to stimulate academic research)。以這個2006年全球淡水供應量的資料為例,只要點選 Visualize Menu 下的 Intensity map, 就能看出全球淡水的分布圖,如此可以很快的掌握這些資料的涵義,以用來產生更深入的 insight。

    感覺這個產品像是 Google Spreadsheets + Google Visualization API 做出來的,也可以很方便的把產生出來的網頁 embed 到其他網頁(blog、news)中。
  • Google Squared
    功能請參考 iThome 報導- Google Squared可自動幫忙整理搜尋結果,原理是 Google 會對你的搜尋結果再進行一次重整(Google will google your google search result to produce a comparison table),要產出這個對照表,Google 必須了解網路上各種非結構性資料的 structure,並從中萃取出相同的事實(fact)加以比較(extract fact from data)。這個 service 對於網路購物,或者科學研究應該都會有很大的幫助。
演講之後的 panel discussion 有趣多了,從 Google 的未來展望聊到公司如何鼓勵並管理創新、男女員工比例等等,以下是我印象比較深刻的討論:
  • Google 的未來展望
    Google 會持續專注在「搜尋」這個核心能力上,由於搜尋這個問題距離完全被解決還有很長的路要走,所以 Google 未來還有很多可以改進的地方。經過分析以後 Google 發現,網路上約有 5% 的流量是 search,就過去的經驗來看這個 5% 可說是一個不變的常數(這也是 Google 最穩定的 money maker),因此要持續增加營收就必須把餅做大(讓更多的人上網瀏覽網頁),因此對於郭家齊提問的「Google API 未來是否會收費」,答案是不會,因為收費對於「把餅做大」不但沒有幫助,反而有害,這也是為何越來越多 Google 產品都朝向 open source 的方向來走的原因之一。
  • Social Network 的 Business Model(如何變現)
    從上面的分析中可以看出,Google 相信只要有流量就可以找到變現的方法,就目前的趨勢來說,透過朋友間的購物推薦(recommendation)和合購(可以折扣、殺價)會是個很不錯的應用,平台業者可以從中獲利。
  • 如何鼓勵並管理員工創新
    Google 最有名的是員工每週有 20% 的時間可自由決定要做什麼 project,而且也可自由決定是哪 20% 的時間要拿來做自己的 project。這跟之前聽過的 TrendMicro(趨勢科技)安排工作的哲學類似,資方不會千方百計的設法壓榨員工,而是給予員工適當程度的自由,和一些彈性,這樣創意才有成長的空間。至於這種經營哲學是否對公司的成長有(顯著的)幫助?看看 Google 的營收就知道啦。

    至於如何管理員工的創新,Marissa 有特別強調 Google 內部的資訊是非常的透明公開,隨便一個人都可以看的到即時的銷售數字,把 information sharing 的機制建立起來之後,讓所有員工看到這些資料,才有可能一起思考如何解決客戶的問題、提高營收、公司未來走向等等。

    在開發產品的部份,不外乎就是新產品要在內部廣泛試用,並且 release early, release fast, fix fast(就是走 agile 那套啦),這樣就能做出優秀的產品。(突然想到,Google 都是強調公司內如何創新,而 Microsoft 則是會不斷強調要找出新方法來滿足客戶的需求,這點不太一樣。)
  • 如何判斷新創公司能否成功
    相信大家都希望畢業後進到一個賺錢的公司上班,對 Marissa 來講, 當初她怎麼有信心 Google 會成功呢?她認為,不管公司經營的結果是好是壞,在工作的過程中一定會學到很多寶貴的經驗,一定要熱愛你的工作,並且能夠從工作中獲得很大的成就感,這才是最重要的。

    至於如何找到一間未來具有很大成長潛力的公司,她認為這間公司的核心願景必須要是為了解決一個大家都會面臨到的大問題,例如 Google 的 mission 是「to organize the world’s information and make it universally accessible and useful」,這是個到目前為止還沒有被解決的大問題,由於這個大問題太難解決,表示「完全」解決此問題的價值非常非常高,因此只要突破一小部分的瓶頸(部分、初步解決)就可以帶來很大的成功,讓公司可以繼續往最終目標邁進。
  • 如何維持健康的男女員工比例
    就 Google 內部的資料來看,若男女性員工比例接近 1:1 是最好的,而在 engineering department 中,女性工程師的人數若能維持在 25% 左右是很理想的。一開始 Google 都把這比例維持的很好,但是在 Google 快速擴張的時候,曾經 engineering department 中的女性工程師比例一路下滑到 20% 以下,一直下滑到了 16% 的時候 Sergey 就做了一個「停止招募新的男性員工」的決定,並且調了幾位女性員工來擔任招募的工作,一直到男女比例回復到 20% 以上,才再度開始招募男性員工。從這件事情中他們也發現,要請男性招募女性是比較困難的,要招募女性員工最簡單的方法就是請女性來負責招募。

就 panel discussion 中英文口說的部份,朱學恆的英文不錯(而且中氣十足),Alvin 講話是含滷蛋的,郭家齊的英文有個口音,楊致偉的英文還不賴,主持人王致仁整場負責即時口譯,雖然在翻譯 SearchWiki 的時候出了個難以想像的大包,但除此之外都還不賴啦~

最後做個簡單的總結,我覺得 Google 是一間很棒的公司,希望他們能夠持續創造更好的產品(例如 Google Wave),同時也不要違背他們 You can make money without doing evil. 的信念。

2009年6月20日

在 .net 2.0 專案裡使用 Chart Control

雖然 Chart Control 要用 vs 2008 sp1開發
若是以前用 vs2005 開發的專案,在部署到 Server 上時
也能把 Chart Control 放上去喔 :")

首先,要釐清一下,開發仍是要用 vs 2008
只是開發完的頁面可以加入至 vs 2005 的專案中再發佈出去
(當然不能用新語法,且專案類別要設定成 .net framework 2.0)

所以這邊坎尼建議,若是沒什麼顧慮
就用 vs2008 把原本用 vs2005 開發的專案打開吧
再建立有關 Chart Control 的頁面

首先將開發好的專案放到要部署的機器上

到 MS Chart Control 的安裝資料夾裡找到 System.Web.DataVisualization.dll
複製一份到專案的 bin 資料夾下

在 web.config 裡加入以下的設定 (請點圖放大)

加入下圖的 appSettings,兩者擇一即可
url=~\imgs\ 將圖片暫存設為目前專案下的 imgs 資料夾
dir=c:\TempImageFiles\ 則是把圖片暫存放在 Server 的 c 槽下



完成上述的設定後,打開專案看一下目前的成果吧 :p
利用 Chart Control 設計的頁面應該可以順利呈現囉!!!!

若是出現 ChartImg.axd 的錯誤訊息,請確認上述的設定是否正確

最後補充一下坎尼剛剛在抓圖的發現
原來 Chart Control 在 Windows Form 裡也可使用,有機會再來研究看看 :D

Google Spreadsheet 裡用規則運算式

最近因為工作關係,遇到要用 Google Form 及 Google Sheet 所以研究了 Google Sheet 裡的一些 function 怎麼用 首先,分享一下如何在 Google Sheet 裡用規則運算 :D