2009年11月28日 星期六

敗了-皇室御用 - 法國夢特嬌頂級新絲纖維冬被

最近常逛486大的敗家網
真的是繼 Mobil01之後另一個要少去為妙的地方!
不過,今天看到 皇室御用 - 法國夢特嬌頂級新絲纖維 冬被 團購 心想,一直對家裡的棉被很不滿意,都是老爸老媽給的(硬塞來的 -.-)棉被,然後每一條都有些故事提醒著我們要飲水思源*&^#種種的...即使它們有的已經很硬了、有的根本是春夏被~~
其實我只想要蓋得暖蓋得爽的棉被~ 就好了,尤其這款被可以水洗!!看來是可以敗下我人生的第一條(自己掏錢買的)棉被了。

2009年11月10日 星期二

Visual Studio從2003到2005的演化

身為還在VS 2003抽不出身的本團隊,在面對VS 2008 的現在,有必要了解齊演進過程,下文詳細載明其演進。

參考來源: 關心: Visual Studio從2003到2005的演化(全文) (在「Google 網頁註解」中檢視)

更換 OFFICE 2007 的序號

Office的非正版提示苦惱了我好一陣子,尤其在客戶端 present 時真是太刺眼了!
找到這篇文章,一試果然有用。
(以下全文轉載自 Blog of A Yellow Tiger)
今天灌MSDN的Visio,灌好了就直接啟動。結果,啟動次數被用光了!大家還真是會用啊,好不容易弄到另一組MSDN的產品金鑰,卻不知道要怎麼換產品金鑰。難道,要重灌Visio才能再打一次產品金鑰?

別再相信沒有事實根據的說法了!求助於Google吧,用中文找,找到的都是教破解或是免序號。改用英文找,以"visio 2007 change key"為關鍵字,果然一下就找到了,趕快記下來,下次再遇到同樣的情形就可以參考了:

1. 在Registry裡找到下面的subkey
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Registration

2. 因為Visio和Office 2007的其他東西分屬於不同的subkey,所以,Registration這個subkey下面會有不只一個長得像{901.......0FF...}的subkey。一一點進去看ProductName,就可以確認Visio是在哪一個subkey之下。

3. 在Visio所在的subkey中,把ProductIDDigitalProductID兩個subkey給刪了。

4. 執行Visio,就會出現輸入產品金鑰的對話框了。輸入新的序號後,就可以進入Visio的畫面並接著成功啟動了。

PS1:用正版還要受罪,真是不太爽啊!
PS2:這方法適用於其他Office 2007的產品。

2009年11月9日 星期一

M$的VSTS(Visual Studio Team System)

以下內容轉載自 Kai's World 微軟的VSTS(Visual Studio Team System)能有多少發揮呢?
最近公司要打算導入VSTS把IT的某個開發Team拿來當白老鼠,基於一些理由我也就需要研究一下VSTS在玩什麼把戲

看完一些他的教學文件跟產品介紹文件,我其實是非常同意他的遠見,他是想做一個系統開發平台,建立一個Team Foundation Server然後不管是開發人員、架構師、測試人員、DBA、Project Manager通通在同一個平台做事,然後他再提供各個專業人員所需要得工具,讓大家協同合作,還有內建的一些軟工的流程可以套用,落實開發流程,進一步自動產生一些有用的報告或是"Real"的報告讓Project Manager真正掌握開發進度。

我想以上是他想要完成的目標,再細部的往下研究一下

VSTS他並非使用UML的語言而是DSL(Domain Specific Language),他提出的理由是UML太過抽象,是否可以應用在不同的Domain,我們是不是應該因應不同的Domain有不同的語言,所以DSL還有提供讓你定義你自己的DSL,他也提出了一些學術上的論點,找來當初制定UML的人來幫他背書。

我沒用過DSL也沒有裝來畫畫看,所以我無法評論,但是我想很多人會有跟我一樣的想法"搞什麼又要來一個規格之爭嗎"好不容易花時間學會了UML,結果你要我用你自己定義的DSL,我又要花時間學DSL,然後只For你的VSTS,這樣實在是!@#$%^&*(這也是我沒裝來畫畫看的原因),不知道是不是我有所誤會,說不定是共存,讓想用UML的用UML,想用DSL的用DSL這樣比較make sense如果是強迫中獎這樣我想很多人都很難接受。

接下來分享的部份是我認為比較有價值的部份"軟體工程"

我相信在軟工的世界沒有什麼Best Practice,所以目前才有這麼多派系之分,不同公司、不同文化、不同案子都可能產生公司自己的Best Practice,這次微軟提供了微軟自己的MSF(Microsoft Solutions Framework)你可以用微軟開發軟體的方法論來開發自己的軟體,微軟也號稱這套方法論在微軟內部已經從1994年使用自今(不知道大家覺得微軟的品質如何)這MSF涵蓋了CMMI Level3也讓你對未來Level4、Level5做準備。

如果只是這樣我想大家會問他跟RUP沒什麼兩樣阿

重點來了我覺得最吸引人的有兩點

1.他也讓Agile同時存在,在Anile部分他提供了MSF for Agile Software Development微軟從Motorola找來Agile社群中的David Anderson來操刀,讓兩種方法論都可以在VSTS上使用,但是這還不是最新引人的,最吸引人的是你可以客製化你的流程,他只是提供你最極端的兩個範本,你可以依據自己組織的需要調整你自己的開發流程,微軟也宣稱會繼續update各大學派的方法論範本給大家下載免費使用(當然VSTS是要錢的)。

2.文件管理部份由於VSTS是系統協同合作的,很多報告可以由系統自動產生,讓不愛寫文件的工程師工作量減輕不少(我也不愛寫但是有時又是非寫不可),再者我之前提到的"Real",很多人都有經驗明明,你手上的程式只完成30%,但是project schedule是50%,你在report中要寫多少 ? maybe 40%,也或許你認為後面的開發速度會突飛猛進cover現在的delay而填上50%,導致Project manager拿到錯誤的資料,而做出錯誤的評估,你也浪費時間寫出一份讓人有錯誤評估的report。

遇到這狀況,我還寧願不要有這份report,讓工程師專心寫程式。Project Manager透過Project manager的工具連上server,看看目前完成度或是直接選取所需要的資訊。

至於DBA,版本控管,還有測試方面市面上已經有很多工具,大致大同小異就不多做介紹,接下來就是讓市場跟時間來證明他了。
---------------------------------------------------------------------------

TFS 出了名的難裝~ 原本還想使用已經於VM既有的SQL 2008 DB,但似乎狀況更多,到頭來重作一份VM從頭來過,DB改用SQL 2005就順了~
安裝記實:
1.SQL Server Agent需啟動且為自動。
2.SQL Server Browser需啟動且為自動。
(到最後,整個SQL開頭的service都設自動且啟動!除了SQL Server Active Directory Helper外)
3.使用 SQL Server 介面區組態工具啟用遠端 TCP/IP 連接。
4.SQL 2005需上到 SP2。
終於,最後一個問題僅剩硬體需求,CPU需2.2G,就不理它繼續下一步,接下來的過程如同下述說明,建立TFSSERVICE帳戶啟動服務用 and keep Next 直到完成。
5.依個人喜好,可以依照"安裝指南",安裝"Team Foundation Build"。
6.再安裝"Team Explorer"。
7.安裝Windows SharePoint Services Extensions。
8.安裝TFS SP1。
這樣就全部裝好,接下來就打開 Visual Studio,使用Team總管連結上Server。
(2009/11/24)
裝是裝好了,但要開第一個專案就出問題了!!~ 一直出現錯誤
Error
無法連接到位於 192.168.XX.XX 的指定 SQL Server Reporting Services。

Explanation
[專案建立精靈] 無法連接到位於 192.168.XX.XX 的 SQL Server Reporting Services。此時尚無法判斷連接失敗的原因。由於連接失敗,精靈無法完成建立 SQL Server Reporting Services 網站。

(2009/11/25)
改參考 Huan-Lin 學習筆記 on DotBlogs 中的 Visual Studio Team Foundation Server 安裝筆記重裝整個TFS,這次選用SQL 2005 Ent版,並於SQL裝完上SP3後安裝WSS3.0 with SP2。
怎麼這次是被診斷沒安裝Analysis Service~ 天阿,心裡真是很X。
(2009/11/26)
幾經波折,被Firewall卡了一陣子,最後索性依照 install guid把所有port開啟(NOD32請切到互動過濾模式,不然都不知道它會不會亂濾!),原先仍一直被診斷沒安裝Analysis Service~ 試著merge TFS install image與sp1後重試還是一樣的訊息,期間改了多次service啟用帳戶,最後是都以TFSSERVICE啟動,後來似乎因為WSS沒啟用所致 -.- ,
終於~~只剩CPU或RAM不符要求,終於可以下一步了...
話說,要繼續TFS安裝時,在WSS一步又被卡了,訊息如下:
Error codes: TF220035 (The URL at the specified location is not a Windows SharePoint Services site) or TF220041 (The specified Windows SharePoint Services site URL is not the default site collection site)
這問題請見TFS 2008 on Windows Server 2008 Installation Problem (TF220035 or TF220041)又過了一關~~ 下一王是
Error 28805 Setup cannot finish the request to the SQL Server 2005 Reporting Service report server. Verify that the report server is installed and running, and that you have sufficient privledges to access it看來是Reporting Service的加密金鑰檔住~直接刪除!!又過了一關~~
挖塞~~已成功安裝~~~~~~(我哭了...)
看來,要開始安裝TFS前,需確認以下四個URL都要有:
http://btf-tfs/
http://localhost/reports/
http://btf-tfs:30736

參考來源:
鳥毅的Blog:安裝Team Foundation Server SP1 測試環境
VSTS 實驗室: TFS 2008 單一伺服器簡易安裝說明 (在「Google 網頁註解」中檢視)
Visual Studio Team Foundation Server 安裝筆記

2009年11月6日 星期五

Introduce UML Class Diagram

(以下原文轉載自 smalltide 's Blog Introduce UML Class Diagram )
對UML的類別圖稍微做些簡介,不討論程式語言相關的部份
純為概念性的簡介

類別圖主要功能是表示物件之間的靜態關係

類別圖由三個部份組成
1.類別名稱 2.成員變數 3.成員函式
成員函式前有符號代表存取權限

類別之間的關係有以下幾種
1.Association(關聯)(knows a)
X知道Y的存在
X可能以pointer(指標)或reference(參考)知道Y的存在
在概念模型階段方向性(箭頭)通常不太有意義可以省略

2.Dependency(相依)(use a)
X相依Y
Y若改變 X可能會受到影響 但X的改變不會影響到Y
X可能有某個functiond可以call Y的function

3.Composition(組合)(has a)
X組合Y
Composition是一種整體完全擁有部分
如車子(X)擁有4個輪子(Y)
當(車子)X消滅時(4個輪子)Y同時也會消滅

4.Aggregation(聚合)
X聚合Y
Aggregation是一種"擁有性"比較弱的關係
如車子(X)裡面有4個人(Y)
當車子(X)消滅時4個人(Y)不會消滅(當然車禍除外!!)

5.Inheritance(繼承)(UML以繼承表示泛型關係)
X繼承Y Z繼承Y 此時Y和(X,Z)之間就存在著泛型關係 Y是共同化(抽象化)X,Z則是特性化(具體化)
如 人(Y) 美國人(X) 台灣人(Z) 日本人(W)
XZW繼承Y 則 Y和XZW就存在泛型關係

2009年11月4日 星期三

flickr大量貼圖的好用工具---Friendly.flickr

挖~真是太讚了~ 身處這個網路的世代,要寫篇文章、回覆些論壇帖子,沒圖幾乎是沒人看;雖然已經付費上 Flickr Pr,但如果只是個放圖的地方,那真是不值得花錢!
發現這個工具,可以將Flickr上的圖轉貼上Blog或其它論壇,詳見
Friendly.flickr原作-搖擺天秤的程式開發日誌
另外有其它人的推薦~~
輕鬆插入 flickr 的相片到部落格 - Friendly.Flickr
《推薦》flickr大量貼圖的好用工具---Friendly.flickr & quickr pickr
二話不說,直接試試啦。
測試貼圖並於 Friendly.flickr 上排版後結果 (以下為轉貼於 Flickr 上的相片)

nEO_IMG_IMG_7891_DPPnEO_IMG_IMG_8149_DPP


nEO_IMG_IMG_8630_DPPnEO_IMG_IMG_8957_DPP