欲望是無窮的,特別是要跑 VM 的機器,4GB 已經不能滿足。上 8GB 才是王道。
2009/10/19
2009/08/27
Google docs makes Firefox javascript engine busy.
After opened a document in Google docs, an alert window popup as the screenshot showed.
Firefox version is 3.7a1pre.
2009/07/21
MSDN 雜誌線上文章中英對照功能
許久沒有看 MSDN 雜誌的線上文章了,赫然發現現在不但有中英對照本版,還可以逐句對映,並且可以編輯中譯內容。由於中文內容一向是繼器翻譯,所以文句上面總是不通順,微軟這招讓社群成員可以編輯中譯本的功能,也頗不錯,集合大家的力量讓中文化資源越來越豐富。雖然是機器翻譯,有些時候還是可以省去翻字典的時間。
2009/07/10
Microsoft Expression Blend 2 SP1 安裝問題
在微軟 Expression 網站下載英文版的 Blend 2 試用版安裝完成後,接著下載 Blend 2 SP1,安裝完成後,執行 Blend 2 卻跳出一個警示訊息 "The prereleased version of this product has expired. You must update to a newer release.",關掉訊息後,程式也隨之結束。在 google 上爬文後於這個討論串看到有人(Cary321)發現解決方式。
在下載 Blend 2 SP1 的網頁,按下 download 後,會跳到一頁 “Thank You for Downloading” 的說明頁面。在這個說明頁面有另外一個連結,那種告訴你如果瀏覽器沒有自動下載檔案,可以點這裡下載的說明 : "If your download does not start after 30 seconds, click this link: Start download. " 請點一下 "Start download”,下載這個 Blend 2 SP1 安裝檔。
自動下載的檔案和手動下載的檔案名稱雖然一樣,但是檔案大小不同,請安裝手動下載的那個。現在,你可以安心的使用 Blend 2 了。
2009/07/07
在微軟報表檢視器加入自訂程式碼 實例說明
加入程式碼的 MSDN 說明請參考: Adding Custom Code to a ReportViewer Report
在製作報表的時候,客戶有一個需求,假設資料的內容如下:
| 班號 (ClassNumber) | 學生姓名 (StudentName) |
| 001 | 王大明 |
| 001 | 陳小華 |
| 002 | 李大丙 |
| 002 | 吳小菁 |
| 003 | 張小英 |
希望輸出的報表的時候,重複的班號不要顯示,如下:
| 班號 | 學生姓名 |
| 001 | 王大明 |
| 陳小華 | |
| 002 | 李大丙 |
| 吳小菁 | |
| 003 | 張小英 |
在一般製作報表的時候,班號的這個欄位會填上 Fileds!ClassNumber.Value 的內容,但要怎麼才可以濾掉重複出現的班號呢? 使用自訂程式碼。
展開 Visual Stuio 的命令選單 Rport –> Report Properties,選擇 Code 頁籤,寫一段判斷式的函式。如下:
Dim tempClassNumber as String = ""
Public Function ShowClassNumber(ByVal classNumber as String) as String
If (classNumber = tempClassNumber)
Return ""
End If
tempClassNumber = classNumber
Return classNumber
End Function
然後在設計報表的地方使用如下的 expression:
=Code.ShowClassNumber(Fileds!ClassNumber.Value)
客戶期望的報表內容就成功了。
自訂程式碼是動態地將程式碼編譯到報表內建的 Code 類別,以記事本打開報表設計 rdlc 檔案,可以在 <code> 區塊看到上面寫的程式碼。在報表的 expression 編輯器,使用 Code 類別來呼叫。有幾點要注意一下:
1. 必須先編譯一次專案才可以使用自訂的程式碼。
2. 在 expression 編輯器不會自動列舉自訂程式碼裡面的函式名稱。
3. 自訂程式碼必須以 Visual Basic 撰寫。
2009/06/17
GETDATE() in Oracle
MS SQL Server 取得伺服器時間很簡單地只要呼叫 GETDATE() 預設 function。那麼,Oracle 呢 ?
請執行這個語法
SELECT TO_CHAR(SYSDATE,'yyyy/MM/dd HH24:mi:ss') FROM dual;
執行結果為
2009/06/17 14:56:31
2008/08/07
什麼是正確的握刀與拔刀方式?
這句話是依達我流問良峰貞義的,當劍聖收依達我流做徒弟後,第一件事情就是叫他去向良峰貞義學習正確的握刀與拔刀方式。什麼是正確的握刀與拔刀方式? 在多次的體悟後,依達我流終於答出正確的答案。
正確的握刀與拔刀,就是沒有多餘的動作,只為目標而握刀,只為目標而拔刀。當手握刀之前就已經決定,這一刀要往哪邊拔出,往哪邊揮斬,在拔刀之前一瞬間制敵機先。
以上故事是霹靂神州第17集的劇情。是啊~ 這是布袋戲裡面的劇情。不過在這段短短的劇情中,體會出幾件人生通則:專心、決心。除此之外呢? 目標!
常常在開發軟體或製作專案時,會發現功能不斷擴增,需求不斷改變,計畫永遠不足。為什麼會這樣? 因為我們缺乏明確目標,不只是身處開發者的我們,客戶與其他的第三者亦同。因為沒有明確的目標,所以對正在開發階段的項目,一邊討論需求一邊修改,產生多餘的工作打亂了原訂的計畫,使得我們無法專心致志。
螺旋開發法與 MSF 都強調階段性,在每個 iteration 中大致包含需求、設計、開發、測試的流程。在一個 iteration 中如果發現新的需求,可以排入下一個 iteration,以免打亂目前的開發節奏。堅守開發的節奏與流暢度,才能讓軟體品質節節高昇。