了解Ruby基本語法和核心類別之後,
接下來則是介紹Ruby在類別(class)和方法(method)的使用方式。
這篇文章會提到,
1. 類別和方法的定義
2. 物件屬性、方法和類別屬性、方法

下一篇文章將會解說,
3. 屬性的存取
4. 方法的存取權限
5. 繼承的使用

繼續閱讀 »

Symbol是Ruby和其它程式語言比較不同的一點。
使用的時機通常是用來取代常出現的字串。
例如我們在操作Hash時,

std = {
 "id" => "001",
 "name" => "Grady",
 "gender" => "Male"
 }

puts std["id"] + "  " + std["name"]   #001  Grady

std["id"] = "009"

puts std["id"] + "  " + std["name"]   #009  Grady

如果是按照上面的方式,在存取std hash時,都是使用字串物件。
而每一次的存取,就會新增一個字串物件,
如此一來,自然增加記憶體的使用量。

下面的程式碼是把上面的字串部份改用Symbol。
Sybol的使用方式是 :變數名稱,例如 :name,
請參考範例,

std = {
 :id => "001",
 :name => "Grady",
 :gender => "Male"
 }

puts std[:id] + "  " + std[:name]

std[:id] = "009"

puts std[:id] + "  " + std[:name]

當我們使用Symbol的時候,Ruby會確保Symbol變數所指的是同一個內容,
(也因為這樣才不會產生不同的物件)。
底下是拿它和字串做比較。

#產生三個字串物件,並比較他們的物件id
puts "name".object_id     #35717620
puts "name".object_id     #35717600
puts "name".object_id     #35717580

#使用Symbol,並比較他們的物件id
#指向同一個物件
puts :name.object_id     #34258
puts :name.object_id     #34258
puts :name.object_id     #34258

以上,簡單的說明了Symbol的用法和時機。

PRO: Designing and Developing ASP.NET Applications
using Microsoft .NET Framework 3.5,
這是ASP.NET Developer 3.5 MCPD的最後一科。

考試的內容不像70-562比較著重在元件的使用,相對而言,
70-564要我們重視的是整體上的規劃。
我認為考題算是靈活,大部份會模擬一些狀況,
而這些情況在我目前的工作上,有些的確很類似。
例如ASP.NET和SQL Server的配置,在什麼樣的特定需求下,
要如何設定以滿足要求。

由於這一科並沒有出版參考書籍,
準備的方式只能從官方網站的考試方向下手,
多翻一些和考試大網相關的文件。

目前工作上的架構是在前端使用ASP.NET,在管理介面的部份則採用Windows Form。
其實從需求面來看,不一定要使用Windows Form。
但這個架構在工作單位上存在已久,為了更深入Windows Form的機制,
花了一些時間閱讀
Microsoft® .NET Framework 3.5 — Windows Forms Application Development

http://www.microsoft.com/learning/en/us/book.aspx?ID=13111&locale=en-us

然後就去考試了。

從實用方面來說,考這一科獲得的效益對於技術層面幫助比ASP.NET少一點。
我相信大部份的企業需求會著重在網頁端,
少部份有特殊條件才會把程式建立在Windows Form上。
是否值得投資時間在這一科,就看個人工作內容了。

通過這一科,加上之前的70-536,算是拿到一張MCTS。

參考用書 Microsoft .NET Framework 3.5 ASP.NET Application Development

http://www.amazon.com/MCTS-Self-Paced-Training-Exam-70-562/dp/073562562X

從書中的章節,尋找MSDN相關的文章,收獲會更多。

對我而言,比較有用的有
1. Page Life Cycle的解說
2. 各種Server Control的應用時機
3. AJAX Client Side Library
4. Web Part的應用

比較難的是Mobile Application,因為在這方面我沒有在.NET實作的經驗。
書中的範例讓我覺得建置這一類的應用程式會花不少時間和精神。

其它的部份,因為工作上多少有用到,所以不算陌生。

為什麼要考証照? 當初拿SCJP只是為了讓自己更深入了解Java。
現在考了這一科也是如此,因為有了實作的經驗,
想要更深入的了解平台和語言,只是這次平台轉為.NET。

我的參考用書是 — MCTS Self-Paced Training Kit (Exam 70-536): Microsoft® .NET Framework–Application Development Foundation, Second Edition
(http://www.microsoft.com/learning/en/us/book.aspx?ID=12915&locale=en-us)
另外搭配MSDN的類別說明。

有一些內容是工作上沒用到的,這些東西讀了之後,算是長知識。
有些則是剛好開發上需要實作,縮短一些摸索的時間。

實際考試的內容比書上的測驗要難上許多,也靈活不少,
能通過算是有點運氣。

總之,70-536是第一步,還是要繼續努力。

Firefox(http://www.moztw.org/)正式發佈3.5版。

這裡記錄最近看到的新聞,Firefox此版本支援HTML 5。

雖然HTML5尚未正式定案,但已新增許多可讓開發人員測試的Tag。
例如可用來控制影片,可以畫2D的圖形。
另外還有離線存取資料庫,拖放功能的支援、類似多執行緒的Web Worker。
IBM Developerworks有篇文章 http://www.ibm.com/developerworks/library/x-html5/?ca=dgr-lnxw01NewHTML
提到一些新增的tag和應用。

Youtube的HTML5 Demo site,可以檢視原始碼看看tag的應用。

http://www.youtube.com/html5

HTML5參考文件

http://dev.w3.org/html5/html-author/

另外,在今年五月底的Google IO,也有關於HTML5應用的展示。
除了使用HTML語法控制Video之外,
在未來我們可以使用Javascript開發3D應用程式。

http://code.google.com/events/io/sessions/AddingInteractive3DContent.html

目前是以Plug-in的方式使用O3D,此功能目前(2009.06.30)未內建於瀏覽器。

Google的Demo site: http://htmlfive.appspot.com/

好久之前收到一封電子郵件,內容大致上是說Adobe為了推廣RIA和Flex,
提供學校的學生、教職員免費申請Flex Builder序號。

對於Flex技術一點也不通的我,心血來潮想用Adobe AIR寫一個小程式。
於是透過以下網址申請到序號。

https://freeriatools.adobe.com/flex/

申請過程很簡單,
1. 填上基本資料,我是以英文填寫。

2. 上傳符合申請資格的証明文件。例如學生証、教職員任職書信。
我是上傳個人任職資料的網頁快照。

Adobe處理的速度相當快,早上申請,下午就送來通過的信件。
接下來要尋找相關學習資源了。

FlexEduAccepted

Oracle買下Sun其實是四月份的事了。
一開始的消息是IBM要買Sun,但結果因為對於併購的細節搞不定而沒有下文。
這個情況就是像之前微軟想買Yahoo,但過程就像連續劇一般,
只是沒有好的結局。

繼續閱讀 »

最近寫了一個簡單的Ajax程式,功能是使用者選了下拉式選單A,
依照A的值從後端資料庫帶出相對應下拉式選單B的值。
這裡是以學校的學院和系所的對應做為例子。

由於功能並不難,因此後端處理的程式碼並沒有刻意分開。
概念上是,假設前端程式–javascript,寫在Default.aspx,
後端則為Default.aspx.cs。

繼續閱讀 »

後一頁 »