2008年3月22日 星期六

ASP.NET 3.5 Extensions 研討會(二)

ASP.NET 3.5 Extensions 研討會Part II 順利結束囉,我很開心在會場能夠看到一些老朋友,和過去的一些我的學員,我要向一些朋友抱歉,我沒有辦法在會後和大家逐一聊聊,特別是過去我的學員,不過總的來說,您們給我很大的支持與鼓勵,我銘記在心。^_^ (有空請mail給我)

會場中,我提到的大師、在會後和我一起在講台前、長的很像國父的 - Ruddy、也是我的同事,很難得他當天也在會場,很可惜沒有機會向大家介紹他,他可是台灣資訊技術界領袖級的前輩,指導過我很多演說與技術分享的技巧,各位雖然這次沒有機會聽到他和我一起分享,但是如果我沒有記錯,在接下來幾個月當中,他也安排了一些微軟的seminar,先預告一下,請大家千萬別錯過。

上上週答應學員的MVC demo部分,終於演示完了,不知道大家的感覺如何,千辛萬苦只為了寫一個產品資料的顯示程式,會不會有點誇張???

我還是得這麼說,關鍵在規模,從不知道在多久以前,我開始領悟到這個觀念,資訊產業有一個相當重要的必要條件,就是規模,當你在一個專案當中寫100支程式,和寫1000支程式的時候,根本是完全不一樣的情境,當你的Programmer從5位到50位時後,整個專案根本就完全不一樣了,你不可能拿管理5位程式設計師的觀念和態度,去帶領50位程式設計師...

我今天去投票了(會不會轉的太硬?),在選舉過程當中很多風風雨雨,到了最後一週大伙提到的一中市場或是共同市場,我是很有感觸的,原因是,在資訊業,特別是軟體開發業,這個 "可能令人擔心的問題" 幾乎不存在(幾乎不存在的意思並非沒有這個問題,而是這個問題已經自然到不是一個問題),怎麼說呢?

在會場當中我有提到,現在我的Programmer根本不在台灣,我不想提單位產值的問題(提了可能讓人傷心),我只想說,資訊業(特別是軟體開發)根本不存在大陸勞工是不是來台灣的狀況,因為不需要來,也可以透過遠端的合作完成一個產品,整個資訊產品的大部分根本是在internet上可以協力完成的,剩下的一小部分,我們可以透過一些行政流程和管理技巧來彌補,慢慢的我們已經累積出了這些經驗,或許這可以解釋為何台灣的開發人員越來越少...這不是我要提的重點,我要提的是 "產業升級"...

當台灣加入WTO之後沒多久,我看到了天下還是遠見雜誌上的毛巾業者(還是什麼業者)在抗議無法生存了,因為遭遇到傾銷的問題,無法否認的,共同市場可能造成一些問題,但是重點在,世界早就已經變成了一個地球村,scott昨天在blog發表的文章,我立刻就可以在台灣看到,即使不加入WTO、沒有所謂的共同市場,資訊的交流已經無法阻擋,有型產品可能還可以透過海關透過稅金來阻止,那我們的軟體業呢?似乎根本不是這樣的...

資訊業早就在面對這個問題,"世界是平的" 一書作者 "費理曼" 也早就提出警告,區域經濟的發展下,各國必須開始建立出自己獨特的產業,要讓自己在全球有競爭力,現在已經不是那個可以關起家門只顧自己的時代了,如果你不準備面對全球化的競爭,不準備面對資訊的無限制流通所造成的競爭壓力(或是帶來的利益),恐怕接下來很多事情會讓你措手不及,這年頭已經有點贏者通吃的感覺,資訊業更是如此,現在隨便一個RSS Reader軟體或是Media Editor,不管是一家公司或是個人作者,都可以透過很簡單的技術支援localize,只要你寫出一個好軟體,你的市場是整個地球,當然,你的軟體開始跟整個地球上的其他軟體競爭,沒有什麼妥協的餘地...這是真實世界。

當資訊的流通、國界、語文慢慢不是問題,"世界是平的" 一書中所提到的全球化競爭會更加的明顯,不知道你準備好了沒? 台灣準備好了沒?

3/20 ASP.NET 3.5 Extensions 研討會 當天的投影片 [下載]

2008年3月15日 星期六

Silverlight 2.0的開發工具 and 中文字支援

Ok, Silverlight 2.0推出了,如果你也和我一樣喜歡嘗鮮的話,勢必會想要安裝一下鼎鼎大名的Blend 2.5(沒錯, 2.5)和Silverlight Tools for VS2008來嘗試一下 Silverlight 2.0的新功能。

不過,您可能會發生一件悲慘的狀況,就是安裝不起來 silverlight_chainer.exe 這個套件,如果你只安裝Silvelright 2.0 SDK+Blend 2.5,卻又可能在實際開發的時候,發生一個詭異的錯誤訊息:




同時, 你在VS2008當中可能也找不到底下的專案範本:


OK,解決方案是安裝silverlight_chainer.exe , 如果你安裝silverlight_chainer.exe 這個套件時,和我一樣發生底下的錯誤訊息:


請你跟我這樣做:請移除所有的 Silverlight SDK(RTM,1.0, 2.0)總之全移除,然後再安裝 silverlight_chainer.exe 你就會發現可以正常安裝了。

我建議的Silverlight 2開發工具安裝順序是:
1. VS2008
2. Silverlight 2.0 Run-time
3.Expression Blend 2.5
4.silverlight_chainer.exe
5.ASP.NET 3.5 Extensions
 
除此之外, Silverlight 2.0在中文字上也開始全面支援,所以,過去Silvelight 1.0的中文字問題已不復存在: [影片]
 
上面這段影片中的Silverlight 2.0,當點選按鈕之後改變文字變成中文,而程式碼呢?只有底下這樣:
 
Private Sub Button_MouseLeftButtonUp(ByVal sender As System.Object, ByVal e As System.Windows.Input.MouseButtonEventArgs)
  Dim btn As Button
  btn = CType(sender, Button)
  btn.Content = "變成中文字"
 
  Me.Storyboard1.Begin()

End Sub
 
Private Sub Storyboard1_Completed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Storyboard1.Completed
  Me.Storyboard2.Begin()
End Sub
 
開始發現Silverlight 2.0的威力了嗎? 後面我們慢慢來談...

2008年3月9日 星期日

故事六十八

看電影和小說是從小就養成的習慣,一直到目前為止,我始終沒有找到任何一個其他的興趣,其樂趣是凌駕於一杯好咖啡配上一本令人捨不得讀完的小說,獨自享受一個優閒的下午。

當然,隨著年紀越長,很多奇怪的理由讓我慢慢沒有時間可以享受這種樂趣,過去有一陣子(約莫五年前)我喜歡在中午休息時間,到Starbucks看看書,不過自從不知道哪一位大師,建議我中午不應該獨自用餐(你應該聽過這種論調吧!)之後,我的午餐多半只有兩種可能:一、太忙沒時間吃(嚴格說起來是陪電腦吃) 二、和同事、客戶、或工作伙伴一起吃飯以培養感情。

所以我得獨立出一段時間來讀書,這年頭很多書要讀,技術手冊、文件、國外大師著作、小說、散文...,時間真的不夠,所以開始過濾,盡量只挑讓自己看得下去的來看。不過總也會有誤判的時候,也因此,買了不少的書卻沒辦法看完。不過,偶而碰到一本好書,總是相當的喜悅。

"故事六十八" 是我很喜歡的作者李家同的新書,本持著他一貫的風格,沒有炫麗的語句、沒有誇張的用詞、取而代之的是樸實卻深刻的意境,我想,這必須對他所描述的故事有很深刻的體會,才能夠寫出來的吧。

我以前有一個老闆說,人和人之間的交往,應該是 "用生命觸碰生命" , 在這個年代已經少見,學技術的人的生命大多花在與沒有生命的其他事物打交道(我要強調這沒什麼不好),但是偶而少了一些和人的接觸以及悸動,少了一些溫馨和喜悅,大概也因為這樣,我很喜歡看李家同的書,彌補一下這些不足。

我想也因為這樣,我喜歡寫寫BLOG和文章、甚至書籍,主要還是因為那句話 "用生命觸碰生命" 。

Anyway, 回題"故事六十八" 是我最近剛看完的書,覺得還不錯,推薦給大家分享。

By the way, 面對家裡堆積如山的書,我正在想一個解決方案,如果有好的建議請通知我。

ps.另一本最近在看的書是 "NEXT危基當前" 過陣子看完再跟大家分享。

2008年3月6日 星期四

ASP.NET 3.5 Extensions 研討會(一) - PageHistory

今天在台灣微軟7AB講了 ASP.NET 3.5 Extensions的第一個部分,礙於時間有限,所以MVC的部分只是稍微簡單的介紹一下,今天只是overview,讓大家知道ASP.NET 3.5 Extensions當中有哪些特色與功能,在下下周的研討會中,將會實作MVC一個範例,讓讀者參考。

而Data Services也是我覺得的一個重點,在後面的研討會中,我也會整個實作一次。至於dynamic data control其實還可以繼續擴充一些功能,如果後面有時間,也會整個介紹一下。

附上的是 ASP.NET AJAX在 3.5 extendsions的擴充功能PageHistory的教學影片,有興趣的朋友可以參考。 [ 線上瀏覽 ]

ASP.NET 3.5 Extensions 下載位置
[ 研討會投影片下載位置 ]

2008年3月5日 星期三

MVC VS N-Tier

最近MS推出了MVC framework ,在討論區上有不少朋友問到MVC和N-tier有何不同?

N-Tier架構中所謂的多層,主要意義是將不同類型的 『運算工作』,分散給不同的Server處理,以有效配置伺服器,並提高處理效能,降低特定伺服器造成瓶頸的可能性。

也就是說,N-tier架構下,幾乎是以機器來分層,目的是分散運算,讓效能提高。

而MVC ,則是基於『程式碼功能』的不同,進而所採取的分層隔離策略,主要的目的並不是效能,而是後續的維護以及開發的便利性。

我們依照 『程式碼的功能』 將程式碼在撰寫時切成 Model、 View 、Control 三個區塊,主要的目的是降低程式碼之間的耦合度,便於程式開發之分工、維護、與重用。

時間不夠,先寫這樣,明後天update一下。