2008年12月30日 星期二

UML概念說明


UML概念說明


初學UML的人可能只是把UML當作是單純的繪圖表示法 ,
以為UML就是放上Use Case Diagram , Class Diagram , Sequence Diagram就是UML了 ,....

錯 , ....UML會跟你的方法論有關 , 會跟你的開發程序有關 ,
但是常常還是有人會誤以為UML只是繪圖表示法 ,

所以當你要求外包商 , 要針對他們正在開發的系統去繪製UML產出時 , 常常看到的是 上帝的歸上帝 ,
嗯 ,  說錯 , 是UML文件歸UML文件 , 系統程式歸系統程式 , 兩者完全沒有關聯性 , 純粹只是為了文件而文件 , 這樣的狀況是最糟糕的 , 但是偏偏這種方式卻常常有不少人能夠接受 , 讓我完全無法理解 ,

基本概念一: UML就是系統的藍圖 , 系統的開發應該是根據規劃的藍圖去實做
這麼說好了 , UML , 你可以把它想像是房子的藍圖 , 房子的所有規劃 , 包含電線管路要怎麼拉 , 怎麼走 , 污水管理怎麼走 , 電梯要裝幾個 , 逃生梯開在房子的左邊或是房子的右邊 , 戶與戶之間的大門是向內開還是向外開(之前 , 有大陸的新聞說 , 有棟房子 , 住戶與住戶的大門是向外開的 , 所以 住戶A開了大門就會堵住住戶B的大門 ...) ,
那你可以想像說 , 明明是電梯大廈的藍圖 , 結果蓋出 18樓沒有電梯的房子嗎? ,
如果你能接受房子的實體應該是根據房子的藍圖蓋出來的 ,
那你怎會能接受 做出來的系統程式完全不根據藍圖(UML)去開發???

 基本概念二: UML 的每個Diagram 是有關聯性 , 有可追蹤性的
舉例來說 , Use Case Diagram 談的是User Requirement的蒐集 ,
也就是說你在圖上畫的每個Use Case , 它都應該會被實現(Use Case Realization) , 而每個Use Case Realization 都會被轉化為 SA , (產生 Boundary , Control , Entity) , 再由此衍生出相關的SD , 而產生出 對應的Class , Class Diagram , Sequence Diagram , 等等 ,

這其中就衍生出可追蹤性(traceability) , 照道理來說 , 你可以正向由來源去追蹤每個項目的下一個產生是甚麼 ,
就舉 Use Case  來說 , 如果你的系統有畫了 10 個 Use Case , 那麼你可以看一下每個Use Case 是否有被實做 , 這個Use Case 實做的衍生物是哪些 , 一路追下去 , 保證你絕對不會短缺有任何該做的功能被遺漏沒有實現....(反向也是如此 , 你隨便挑出一個Class , 它一定是某個或某幾個use case實做必須的衍生物 , 絕對不會有那種無中生有的Class , 除非那是垃圾Class或是雞肋Class )

但是 , 一般人員很少有這樣的認知 , 多半是為了交文件而文件...

基本概念三: 是不是一定要畫UML才能開始作系統

這點我的答案是看狀況而定 , 如果你的系統很小 , 然後你也都明確的了解使用者的需求 , 然後要開發的功能與平台都十分明確 , 你也已經評估過程式碼不多 , 甚至你都不打算拆出系統階層 ,或是類別 ,
那根本就不需要UML的介入 ,

還有你是那種做到哪裡才想到哪裡的 , 也不需要 , 因為當你不作規劃 , 那UML對你也沒有幫助...


因為UML的開端就是 Use Case Diagram , 藉由 Use Case 去蒐集與釐清使用者的需求 , 系統的邊界 ,
有哪些系統外部的人或系統(這個就是Actor)會與我們的系統有互動 ,  而那些Use Case 就是我們的系統會對外提供的服務(功能) , 也是我們的系統實做的清單 ,....

我看過廠商畫了 某些Actor , 我問廠商說 , XXX Actor , 它會跟我們的系統有互動嗎? , 如果 XXX Actor 是人 , 那他會登入我們的系統嗎? , 如果 XXX Actor 是另一個系統 , 那麼它跟我們的系統之間是如何溝通互動的....
廠商答不出來 , 因為他根本只是隨便亂畫 , 為了交文件而文件 ,

審閱這些為了交文件而文件 , 連寫文件的人自己都說不出個道理的文件 , 實在是浪費人生...

基本概念四:UML是否一定要畫的巨細靡遺?
我的答案是看你的開發模式是哪一種 ,  或者說你是奉行或是採行哪一種方法論 ,


像如果你是採行MDA的開發模式 , 則UML Model 一定要畫的清清楚楚 ,
因為你的Model 就是要產生的系統程式碼的原始規格 ,
不過 MDA 一般也都會搭配類似程式碼產生器的工具 ,
舉例來說 , 像是 Eclipse 之下的 EMF , GEF , GMF 就是你先規劃好不同物件之間的關係 , 關聯 , 限制等等 . 就可透過工具轉換模型變成可執行的程式碼 , 所以有些類型繪圖工具 , 你只要詳細的設定好 Model , 幾乎就可以透過工具完成80%以上的工作 , 讓要寫的程式減少 ,

但是也有人堅持 , UML 只是單純的繪圖表示法 , 只要挑重點畫就可以 ,
這樣也不是不行 , 前提是: 你必須要了解你的系統的全貌 , 每個類別間的關係.. , ...之類的
另外要交接時 , 也可能會因為你畫的十分簡略 , 所以你會有很多東西不在UML圖形中  ,

如果你接手前人這樣的遺產時 , 當你要接手維護時 , 你想要知道某某Class有沒有XX功能 , 或是你想要換掉它 , 但是你又無法從前人留給你的UML中 , 看出端倪時 , 那你只好自求多福 , 或是拜託前人還在公司沒有離職可以讓你問....

或者是當幾年前你開發的系統 , 後續的系統維護者有問題需要詢問你的時候 , 最好是你的記憶好到可以記得 n 年你實做的系統明細....

突然發現又在離題 ...

預計要寫的文章清單


預計要寫的文章清單


在目前的這個部落格中 , 我的每一篇文章都是自己寫出來的 ,
每一篇都是自己的心得或是練習 ,
或者是針對某一個主題 ,
網路上沒有一篇文章可以簡單說明 , 而必須要四處搜尋參考不同文章來源的 , 那也是我撰寫的主題範圍...
(如果有相同題材 , 別人寫的比自己完整 , 比自己豐富 , 那我應該就不會寫了...)

反正想到了 , 就寫一寫 , ( 就是寫的不好 , 才要練習 )...

預計要寫的文章清單:(暫時想到的 , 不過要寫教學 , 要想情境 , 要操作 , 要抓圖 , ...有點懶)

1.GnuCash (Ubuntu) - 個人財務紀錄(記帳軟體) -- 目前已經紀錄幾個月了 , 記出一點使用心得了...
2.編碼 , 字碼 , 字集 觀念說明

Mediawiki 的導覽列設定位址


Mediawiki 的導覽列設定位址


這是一篇小記事


在我當初開始安裝 Mediawiki 在本機之後 , 我第一個想要做的就是 , 弄出一個 Menu在左方(就像在外面的Wiki 看到的一般...) , 有一陣子到處亂試 , 結果才發現

Mediawiki 的導覽列設定位址 會在你本機安裝的以下網址
http://localhost/wiki/index.php/MediaWiki:Sidebar

(要登入為 WikiSysop 帳號 , 或是有同等權限的 , 才能編輯修改)

2008年12月27日 星期六

VMWARE SERVER 2.0的討人厭的預設讀取目錄

VMWARE SERVER 2.0的討人厭的預設讀取目錄


VMWARE SERVER 2.0 在UBUNTU上預設會去讀取"/var/lib/vmware/Virtual Machines" 之下的目錄內容 ,
也就是說 , 如果你有要新增 VM 或是 新增虛擬硬碟(.vmdk)

都要放在這個位置之下 , ....

但是我不習慣放在此 ,   我習慣把每個 VM 拆開目錄分開放
而且是放在自己的USER目錄下 ,....

後來發現一個 Linux 中手應該都要會的作法 , 就是設定軟連結 ,
把自己的VM目錄設定連結 , 對應到"/var/lib/vmware/Virtual Machines"

ln -s "/home/demo/vmware/myVM" "/var/lib/vmware/Virtual Machines/myVM"

"/home/demo/vmware/myVM" 指的是你的VM相關檔案放的真實目錄請把 demo 換成是你自己的帳號 , 我是在自己的帳號目錄下 , 把不同的VM目錄集中放到 vmware的目錄下

"/var/lib/vmware/Virtual Machines/myVM" 是軟連結的所在

就這樣的設定, 讓我可以直接在我自己的目錄下 對VM目錄檔案作搬移
但是又可以讓我在VMWARE SERVER 2.0的介面下可以抓的到VM的目錄新增虛擬硬碟檔案

在UBUNTU存取USB隨身碟不正常動作問題處理

在UBUNTU存取USB隨身碟不正常動作問題處理

因為某些需要所以會透過USB隨身碟從 Windows上複製檔案, 
然後再透過 UBUNTU去讀取USB隨身碟

這幾天碰到一個狀況就是 ,
USB 隨身碟插入後開始搬移檔案不久 , UBUNTU 就出現檔案存取錯誤的問題
然後檔案上得圖示加上"鎖"的圖示 ,

查了許久 , 只好 USB隨身碟 插 回 Windows ,
去對整個USB隨身碟作硬碟的錯誤掃描跟修復 , 修完了就OK了 ,

根 據先前把UBUNTU裝在這款USB隨身碟的推論應該是:
這款USB隨身碟  沒有辦法支援同時開兩個檔案的存取作業 , 所以導致錯誤發生....

因為之前也有把UBUNTU裝在這隻USB隨身碟上過 , 用了好一陣子 ,
但是也 是因為同時開多個檔案存取動作 , 導致 USB隨身碟上的UBUNTU就起不來了...   

2008年12月24日 星期三

VMWARE - 無法透過網路分享存取 Guest OS Machine 的共享目錄 或是 ping 不到的原因

VMWARE - 無法透過網路分享存取 Guest OS Machine 的共享目錄 或是 ping 不到的原因

如果你有安裝 VMWARE 在 UBUNTU 上 ,
當你發現你的 Guest OS (就是你的虛擬機器)有開共享 , 但是從 Host OS(就是你的實體電腦)
無法存取網路分享或是從 Host OS(就是你的實體電腦)  ping Guest OS 不到時 ,

首先請確認一下 , 你的 Firewall 是否在啟動狀態 , 如果是 , 請暫時性的停止 Firewall ,
(a)然後重新試著從 Host OS(就是你的實體電腦)  ping Guest OS  ,  看看是否就可 Ping的到了
(b)從 Host OS(就是你的實體電腦) 去存取 Guest OS裡面的共享目錄 , 如果可以存取的到 ,

那 就可以肯定是因為 Firewall 擋掉了 Host OS & Guest OS之間的PING & 網路共享
接著就請調整 你自己的 Firewall , 允許這兩者的存取

2008年12月21日 星期日

專案管理-在沒有把你的 hard skill 拿出來好好用之前 , 不要談甚麼 soft skill

不曉得 , 是我對品質太要求還是怎樣?
常常碰到一些令人會爆火的專案 ,

談到專案管理 , 大家都會說專案管理有 Hard Skill & Soft Skill ,
常常有人會提到 Soft Skill 很重要 ,  然後就會說 某某的脾氣太硬或是溝通技巧不好等等不適合當PM ,
就我個人來看 , 當專案的PM沒有好好的做好Hard Skiil 應該做的事情之前 , 老是在提 Soft Skill 根本就是個笑話 ....

有沒有看過 , 廠商的 PM 沒有好好做好 PM的 Hard Skill 該做的事 , 然後專案一直delay 一直沒有有效的產出 , 然後 廠商的 PM 就來每次道歉說好話的 , 如果這個就是當PM的 Soft Skill ,
那我會說這樣的專案 PM 不要也罷...

偏偏國內還有不少主管看不清這種狀況的  ,  老把 Soft Skill 當作是遴選 PM的第一優先條件 ,
拜託 , 基本的事情做好了 , 才能來談 Soft Skill ,

看過專案的Review Meeting , 兩個月的會議內容跟兩個月前的會議內容沒有甚麼不同的 ,
就是
(a)Dealy , Delay , Dealy , 
(b)有沒有甚麼有效產出?  沒有
(c)怎麼樣才能趕上進度? 怎樣才能做出有效產出? 沒有

然後呢?  一直要來談所謂的 Soft Skill 嗎?
可以把問題解決嗎? 不行,...

所以在沒有把你的 hard skill 拿出來好好用之前 , 不要談甚麼 soft skill

我看過廠商的PM , 連自己的專案組織都沒有 , 還是我用問的 , 一個一個把廠商的成員 , 全部寫下來, 包含廠商的專案組織成員 , 角色 , 角色的職責工作等等 , 都是我用問的 , 廠商的PM在我問之前 , 完全沒有把這樣的文件內容寫下來 ,...

在我問完這些東西之後 ,
我馬上就可以100%的確認廠商的進度一定會200%的延誤 , 因為廠商的人力嚴重不足 , 甚至還有許多工作是沒有被任何角色所負責的, 簡單的說 , 就是有工作要作 , 但是掉在地上沒人作 ,
像這些 , 明明都是透過 Hard Skill 就可以去完成的事 , 但是呢 , 廠商的PM看起來就是很忙 , 然後在瞎忙...

這些你用Soft Skill 可以把事情作好嗎?

再說廠商的PM到目前為止 , 仍然在搞不清楚狀況 , 仍然在為了文件而文件....
拜託 , 我已經強調過 N次的 , 不要為了文件而文件 , 廠商仍然在搞不清楚狀況 , 這也是為什麼我不要求廠商PM去把專案組織文件交給我的原因 , 我情願自己去問 , 自己去寫 , 因為他們根本就是搞不清楚狀況...

這 也是到目前為止 , 我看到有不少專案共通的問題 , 很多主管都以為 PM一定要有的 , 就是好的溝通技巧 , 好的Soft Skill , 反而把最基礎 , 也是最重要的 Hard Skill 放在最後不管 , 但是當專案嚴重誤時 , 嚴重超出成本 , 品質嚴重有問題時 , 這些都是因為 PM沒有好好落實基本工作所導致 , 基礎沒做好之前 , 不要老是假裝沒事 , 不要老是假裝請大家吃飯 , 喝飲料就可以把事情做好...


備註:
我不是說 "溝通" 不重要 ,
在PM的相關課程或是教材中會談到 , 溝通 , PM需要準備"必要的材料"(文件 & 專案進行相關資訊 & 狀態)與其他利害關係人溝通或是說明 ,

(a)但是如果像廠商的PM ,上上週專案進度 , 上週專案進度 , 甚至到本週專案進度都是掛 0 ,  請問廠商的PM是要去客戶溝通甚麼?
(b) 如果像廠商的PM完全不把必要的文件準備好 , 常常空口說白話 , 只帶一張嘴 , 完全沒有準備 , 沒有承諾 , 永遠雜亂無章 , 廠商的專案成員沒有人知道自己負責甚麼角色 , 沒有人知道自己該做甚麼工作, 請問這樣是要跟客戶"溝通"甚麼?

如果沒有沒有準備  , 沒有進度 , 沒有產出 ,  談甚麼"溝通" 都是空的 , 沒有用處..

2008年12月13日 星期六

Open Type Font 轉 True Type Font


Open Type Font 轉 True Type Font

2008/12/13 12:57
Open Type Font 轉 True Type Font
(OTF 轉 TTF)

以下要說明的是轉換字型把 OTF 轉 TTF

在UBUNTU上完全不用花錢去買軟體 , 因為上面幾乎都有了
(Windows 平台上也有可以轉 Open Type 字型為True Type 字型的工具 , 但是要錢...)

(1)首先你需要安裝 fontforge 這個軟體
用套件管理員安裝 或是下指令 "sudo apt-get install fontforge"
去安裝

(2)建立一個 otf2ttf.sh 的檔案 , 記得屬性要改成可執行
===REF FROM http://www.stuermer.ch/blog/convert-otf-to-ttf-font-on-ubuntu.html===
#!/usr/local/bin/fontforge
# Quick and dirty hack: converts a font to truetype (.ttf)
Print("Opening "+$1);
Open($1);
Print("Saving "+$1:r+".ttf");
Generate($1:r+".ttf");
Quit(0);
===REF FROM http://www.stuermer.ch/blog/convert-otf-to-ttf-font-on-ubuntu.html===



(3)執行指令去產生 TTF檔
===REF FROM http://www.stuermer.ch/blog/convert-otf-to-ttf-font-on-ubuntu.html===
fontforge -script otf2ttf.sh youFONTNAME.otf
===REF FROM http://www.stuermer.ch/blog/convert-otf-to-ttf-font-on-ubuntu.html===

重要注意事項:
(2) , (3) 的內容 , 我是在以下連結找到的 , 為了尊重別人的智慧 原文連結在此 請大家連過去看
http://www.stuermer.ch/blog/convert-otf-to-ttf-font-on-ubuntu.html

2008年12月3日 星期三

專案開發 寓言故事_01_實做能力很強的廠商

專案開發 寓言故事_01_實做能力很強的廠商

有一家廠商號稱實做能力很強 , 你要甚麼車都能作給你

有一個客 戶聽到 , 哇 , 實做能力這麼強 ,

就找了這家廠商要訂做客製化的車子 ,

沒想到 , 契約簽完後 ,

客 戶想要的 19人座的巴士車體 , 餐車般的內裝 , 還要能夠配備會議廳的相關設備 統統不會有....

廠商的人不斷說他們的實做方式 有多厲害 ,

但是廠商完全沒有跟客戶好好訪談過客戶的需要 ,

甚至於還要客戶配合廠商做出來的怪東西 ( 一台拖板車 , 上面釘了 10 張椅子 , 冷風吹來 , 雨水潑下 )

然後說是客戶不懂 , 廠商一直在強調他們的拖板車有多可靠 , 有多彈性 ,

完 全不理會客戶要甚麼



寓意:
當一家幫你作東西的廠商完全沒有理會你的需要時 ,
只是在要求你要配合他們的 結果時 ,
這家廠商的能力有多強都是虎爛的

<如果要我配合廠商的東西 , 那我去找套裝軟體就好了 , 更便宜 , 更穩定,  何必訂做...>

VMWARE Server 2.0 起不來的暫時解決方案

VMWARE Server 2.0 起不來的暫時解決方案

VMWARE Server 2.0 起不來的暫時解決方案

最近發生過兩次 VMWARE Server 2.0 起不來的狀況
真 正原因不明 ,
不過都是發生在 Ubuntu Update 完某些套件之後


暫時的解決方案是
開啟終端機輸入以 下指令

sudo /usr/bin/vmware-config.pl

去重新讓系統配置跟編譯VMWARE
之後 就能啟動了
(我的UBUNTU 是 8.04 , 有固定更新)

[暫時沒有上到 UBUNTU 8.10的計畫 , 因為目前的 UBUNTU 8.04 用的還算蠻穩定的...]

2008年11月26日 星期三

VMWare Server 2.0 & Tomcat 互相衝突問題

VMWare Server 2.0 & Tomcat 互相衝突問題

(Tomcat can't startup ,because   port 8005 is already using by other program )

如果你有安裝 VMWare Server 2.0 , 然後發生 Tomcat 無法啟動 ,
那直接告訴你問題所在 ,

(1)
因為VMWare Server 2.0佔用了TCP Port 8005 ,
導 致 Tomcat 無法啟動

(2)
相同的原因 , 如果是在 Windows 平台中 , 如果你發現你的 VMware Server 2.0起不來 , 或是有異常,
檢查一下 , 你是不是有其他的Tomcat去佔用了 8005的port

解決方法:
因為我不想移除VMWare Server 2.0 , 所以我只好去修改 Tomcat 的Config
修改以下這兩個檔的內容
apache-tomcat-5.5.27/conf/server.xml
apache-tomcat-5.5.27/conf/server-minimal
雖 然衝突到的 port 只有 8005這個port , 不過我很乾脆的把設定中所有的TCP/IP Port 統統加上 50000
例如 8005 就改為 58005 , 8080 就改為 58080 port

以下是修改的內容
(1)apache-tomcat-5.5.27/conf/server.xml





... 中間內容略...

 

   
   
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="58443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" />
 
   
   
               enableLookups="false" redirectPort="58443" protocol="AJP/1.3" />
... 中間內容略...



(2)apache-tomcat-5.5.27/conf/server-minimal



 
   
   
              type="org.apache.catalina.UserDatabase"
       description="User database that can be updated and saved"
           factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
          pathname="conf/tomcat-users.xml" />
 


 
   

   
   

   
     
             resourceName="UserDatabase" />
     
   

   
 


2008年11月16日 星期日

在UBuntu上編輯PDF檔 - 2

在UBuntu上編輯PDF檔 - 2

2008/11/16 17:40
這個是延續上一篇 ,

在UBuntu上編輯PDF檔

 接著要介紹第四種方法 , Open Office 3.0 + PDF Import extension

1.使用套件管理員解除安裝 OpenOffice 2.x 所有相關套件(UBUNTU 8.10 仍然是OpenOffice 2.x)

2.下載 OpenOffice 3.0 官方網址
http://download.openoffice.org/other.html#en-US
(a) 選這一個  繁體中文版 / Linux DEB
http://openoffice.bouncer.osuosl.org/?product=OpenOffice.org&os=linuxinteldeb〈=zh-tw&version=3.0.0
(b) 下載回來 OOo_3.0.0_LinuxIntel_install_zh-tw_deb.tar.gz
(c)解壓縮在桌面(  ~/Desktop/ )上

3.執行安裝 OpenOffice 3.0

執行以下指令
cd ~/Desktop/OOO300_m9_native_packed-1_zh-TW.9358/DEBS
sudo dpkg -i *.deb

3,a 執行安裝 OpenOffice 3.0 桌面整合(就是掛上 Menu)
cd ~/Desktop/OOO300_m9_native_packed-1_zh-TW.9358/DEBS/desktop-integration
sudo dpkg -i openoffice.org3.0-debian-menus_3.0-9354_all.deb

4. 下載 PDF Import extension for OpenOffice 3.0
http://extensions.services.openoffice.org/project/pdfimport
Linux    Download extension    0.3.2-Linuxx86    2008-Oct-16    1.72 MB
下載回來 pdfimport.oxt

5.開啟 Open Office 3.0 Writer
(a) 使用終端機輸入以下指令 , 開啟 Open Office 3.0 Writer
/opt/openoffice.org3/program/swriter
(Open Office 3.0官方版安裝完成後 , 不會自動幫你建立軟體捷徑)<--執行 3.a之後就會有了

(b) 執行 Open Office 3.0 Writer 上得功能表 
工具->擴充軟體管理程式
出現 增加擴充軟體 視窗 , 點選 按鈕 "增加" , 或出現視窗詢問你 oxt 檔案所在
選擇剛剛下載的  pdfimport.oxt , 然後把它新增上去 , 完成後 ,
關閉  Open Office 3.0 Writer
然後重新啟動  Open Office 3.0 Writer

6. 匯入PDF檔
Open Office 3.0 Writer 功能表 檔案->開啟舊檔 ,
選擇 你要匯入的 PDF檔
(注意 , 注意 , 如果你的PDF 有點大 ; 就是超過 512 KB 以上的 ; Open Office 會花比較久的時間處理它 ;
感覺很像是當掉了 ; 但是它其實正在處理中....
 )

7.Open Office Draw 出現了(剛剛不是開 Open Office Writer 嗎?)
我哪知啊? ,
看來 Open Office 是把 PDF 當作是繪圖方式在處理....所以開啟 Open Office Draw...

嗯...將就一點 , 目前測試的結果 ,
可以正確的輸入中文 , 存檔 (Open Office 3.0 Draw)

然後匯出成 PDF (中文內容也不會有問題...)

(只 是匯入的時候會比較慢)


==================================
因為官方版的 Open Office 3.0 不會自動加入捷徑
手動設定 Open Office 3.0 軟體捷徑 , 相關設定:
(1)文書處理
/opt/openoffice.org3/program/swriter %U
(2)簡報
/opt/openoffice.org3/program/simpress %U
(3)試算表
/opt/openoffice.org3/program/scalc %U
(4)資料庫
/opt/openoffice.org3/program/sbase %U
(5)數學公式
/opt/openoffice.org3/program/smath %U
(6)繪圖
/opt/openoffice.org3/program/sdraw %U

2008年11月9日 星期日

Vmware Server 2.0已經釋出

Vmware Server 2.0已經釋出

2008/11/09 13:35
Vmware Server 2.0已經釋出一陣子了

在UBuntu 8.04上可以直接安裝
先前的版本(VMWare Server 1.x)還要另外找修正版(vmware-any-any-update-116之類的套件)
才能在UBuntu上完整安裝完 畢 ,

VMWare Server 2.0可以不用這樣做了


(0)下載的網址在這
https://www.vmware.com/freedownload/login.php?product=server20
需 要帳號 密碼 , 沒有的就立即跟它申請一個

(1)
下載的時候 , 選擇 Linux 的 .tar.gz (不要選 RPM)
目 前的版本是 VMware-server-2.0.0-122956.i386.tar.gz

(2)
下載完畢 , 解壓縮 VMware-server-2.0.0-122956.i386.tar.gz ,
 會有一個這個目錄 vmware-server-distrib
進去這個目錄 , 開啟終端機 , 輸入並執行以下指令
sudo vmware-install.pl
(其他的幾乎都是按Enter , 下一步就可以)
中間會問管理帳號要用那一個 ,  請輸入 你現在登入的帳號
裝完之後 , 請記得一定要重新開機

(3)
啟動管理介面
應用程式->其它 ->VMware Server Console

它會幫你叫出 Firefox (在Ubuntu上)
需要輸入 ID & Password , 輸入你現在登入Ubuntu的帳號跟密碼
就可以看到畫面 ,
點選某一個你的虛擬機 , 在右側的console頁面 ,
你需要點選其中的plugin ,它會自動在firefox上安裝plugin (VMWare Remote Console Plugin)
 (如果有警告訊息 , 你看一下 , 只要允許這次的安裝即可)


稍微測試了一下
管 理介面 , 改成Web的管理方面
我不是很喜歡這個管理介面
其他方面還沒有更進一步的去測試它 , 其他的一切用法暫時間看不出有太大的差異

不過它改成Web介面就表示如果你要從外面的其他機器 ,
可以只要有Browser  然後安裝完plugin之後就可以從外面連回你的VMWARE SERVER

不過說實在 , 我根本不需要 , 因為我都是本機在測試 , 我也不想開放給外面的任何連線可以連進來
這個功能對於個人用戶來說根本不實際 , 再說 .

如果是企業用戶可能也不會允 許這樣作

2008年11月1日 星期六

Getting Things Done - GTD

Getting Things Done

這個觀念是起源自一本書 ,(Getting Things Done )

就是希望你的腦子不要一直放一些事情想要作 , 但是一直沒作 , 但是又一直掛心掛在哪
它希望你儘快的把能作的事情給作掉 , 就不會積壓一堆事情沒有作

目前尋找到的一套軟體名稱為 GPD , 感覺不錯用

...未完...待完成

2008年10月12日 星期日

專業證照 CISSP ISO27001 參考書籍

專業證照 CISSP ISO27001 參考書籍



以下這三本翻譯書
是我覺得可以當作 CISSP & ISO27001 ,相關實做技術的參考書

1.資訊安全 (Network Security: A Beginner's Guide, 2/e)
2.資訊安全 (Information Security: Principles and Practices)
3.資訊安全基礎概論 (Computer Security Fundamentals)

資訊安全 (Network Security: A Beginner's Guide, 2/e)
這一本書的書名 , 英文原文是"Network Security" , 翻譯成中文應該是"網路安全"
但是中文書名卻是"資訊安全" , 是不是弄錯了???

沒有 , 其實如果你去看它的書的章節 , 可以發現像:
第六章 政策
第七章 風險管理
第八章 資訊安全步驟
第九章 資訊安全最佳實務

講的範疇都超過了網路安全 , 而與資訊安全有所牽連...
(可當CISSP & ISO27001的補充書目)

另一本 資訊安全基礎概論 (Computer Security Fundamentals)
則可以算是一本關於資訊安全的入門書 , 比較薄 ,
講的內容比較偏技術面
(可當CISSP 的補充書目 , 不是很建議當ISO27001的補充書目)

另一本 資訊安全 (Information Security: Principles and Practices)
從書的章節名稱可以看到 , 幾乎可以滿足 CISSP & ISO27001的相關參考規範...
(可當CISSP & ISO27001的補充書目)


===最近要來開始複習CISSP , 準備考試===
(資料來源說明: 以下的圖書圖片以及書的內容章節 都引用 天䆍圖書的網頁)
資訊安全 (Network Security: A Beginner's Guide, 2/e)


ISBN:9574939235
出版商:學貫
天瓏圖書的網頁
出版日期:2004-08-18
第一篇 什麼是資訊安全
第一章 資訊安全基礎
第二章 攻擊類型
第三章 駭客技術
第四章 資訊安全服務
第二篇 基礎工作
第五章 資訊安全之網路議題
第六章 政策
第七章 風險管理
第八章 資訊安全步驟
第九章 資訊安全最佳實務
第三篇 安全技術
第十章 防火牆
第十一章 虛擬私人網路
第十二章 加密
第十三章 入侵偵測
第四篇 實務運用以及特定平台的實作
第十四章 Unix 安全議題
第十五章 Windows 2000/Windows 2003 Server 安全議題
第十六章 網路架構
第十七章 電子商務安全需求
第十八章 無線網路安全

資訊安全 (Information Security: Principles and Practices)


ISBN:9861544178
天瓏圖書的網頁
出版商:CS
出版日期:2006-10-31
Chapter 1  認識資訊安全
Chapter 2  資訊安全基礎原則
Chapter 3  認證計劃與通識體系
Chapter 4  安全管理
Chapter 5  安全架構與模型
Chapter 6  營運持續計畫與災難復原計畫
Chapter 7  法律、調查與道德規範
Chapter 8  實體安全控管
Chapter 9  作業安全
Chapter 10  存取控制系統與方法
Chapter 11  加密法
Chapter 12  電信、網路與網際網路安全
Chapter 13  應用程式開發安全
Chapter 14  資訊安全展望
Appendix A  通識體系
Appendix B  安全政策與標準分類
Appendix C  政策範例
Appendix D  安全政策管理軟體
Appendix E   HIPPA 安全法規標準

資訊安全基礎概論 (Computer Security Fundamentals)


ISBN:9789861813264
天瓏圖書的網頁
出版商:碁峰
出版日期:2008-02-23
第1章 電腦網路犯罪與安全介紹
第2章 電腦網路與網際網路
第3章 評估系統安全性
第4章 阻斷服務攻擊
第5章 惡意軟體
第6章 評估與維護系統安全的基本原理
第7章 加密
第8章 網際網路詐騙與電腦網路犯罪
第9章 電腦網路上的產業間諜活動
第10章 電腦網路恐怖主義與資訊戰
第11章 電腦網路偵探
第12章 電腦安全的硬體和軟體
附錄A 電腦安全專家:教育與訓練
附錄B 網路上的資源
附錄C 安全性政策文件與檢查項目範本
附錄D 字彙
附錄E 參考文獻
附錄F 索引

2008年10月2日 星期四

個人專業技能培養清單

目前的專業證照技能清單
  • SCJP 1.4 已取得
  • SCWCD 1.4 已取得
  • SCBCD 5.0 已取得
  • 暫停 - SCEA 5.0 準備中 - 2009 Q1
  • 暫停 - UML(UM0) 準備中 - 2009 Q1
  • 暫停 - ISO27001 LA 已上完課 , 考完試 ; -> 有問題->準備登錄實習稽核員 ; 準備成為正式稽核員 -2008Q4
  • 取消計畫-BS 25999 LA 準備先上條文解說課 ; 再上 LA 課程 ; 準備登錄實習稽核員 ; 準備成為正式稽核員 - 2008Q4
  • 暫停 - CISSP 已上完課 ; 尚未自行完整複習 ; 準備考試排程中 - 2009Q2
  • 取消計畫-在職進修專班 計畫中 - 2009Q1
  • 準備中 - PMP - 課程已上完 , - 尚未排定考試時間

2008年9月21日 星期日

J2ME - WTK - Emulator - AWT-EventQueue-0 GTKLookAndFeel Exception

在 Ubuntu 8.04 , 中文環境 , UTF-8  , 設定

在 Eclipse + EclipseMe , 啟動

J2ME , Sun WTK Emulator - 會出現 AWT-EventQueue-0 GTKLookAndFeel Exception

沒有辦法啟動手機模擬器




上網去查了一下 , 唯一的解法只有去修改環境變數變成 en_US
然後去啟動 Eclipse , 但是注意看 , 啟動時 , 會有錯誤訊息 , locale not supported by C library



進入 Eclipse , 啟動 WTK Emulator , 可以啟動了
但是仔細看 , 程式碼中 , 原先是中文的地方變成亂碼了 , 輸入或是修改中文訊息也會有問題





噹噹 , 正解在這裡 ,  修改環境變數 LANG 為 en_US.UTF-8
然後去啟動 Eclipse , 就沒有錯誤訊息了



接著啟動 WTK Emulator , 也可以正常執行 , 沒有錯誤訊息 , 而且程式碼中的中文也沒有變成亂碼了 , 可以正常顯示了



最近順便在看手機程式 , 但是發現 MIDP/J2ME 跟 Android 比起來 , 限制多了不少
沒有辦法使用標準常用的 J2SE 程式跟 API 方式 , (最簡單的例子 , System.getProperties() , MIDP/J2ME 沒辦法用這樣的寫法, 但是 Android 可以 , 簡單的說 MIDP 感覺很像是被閹掉的 J2SE , 限制還不少)

2008年9月8日 星期一

某間公司的笑話

某間公司的笑話

如果你看到某間公司 , 說要推 Open 架構  , 導入 Java /J2EE 解決方案  N年了 ,
結果公司對於 相關的證照補助只有針對 MS , MCSD , MCSE 有補助  ,

其 他如 SCJP , SCWCD , SCBCD , SCEA 等等一概沒有補助 ,

你就會知道這間公司的 IT 主管是在玩真的還是在玩假的 ,
也就是這樣的緣故 , 員工們根本就看破老闆的手腳 , 對於老闆們說要推甚麼 ,推甚麼 ,
一直都是 觀望與看笑話的態度 ,


老闆說要推Java /J2EE , 員工把老闆說的當笑話看 , 沒人會認真理他 ,
孔子曰 , 觀其言 , 察其行 , 人焉叟哉 ,

意思是: 看看這個人說的話 , 觀察這個人的行為 , 一個人真實的狀況是無法隱瞞的

換 在 公司的管理者方面 , 也是一樣 ,

老闆說要推 Java / J2EE / Open ,  但是諸多專業證照補助中 , 完全沒有Java/J2EE相關專業證照的補助 ,
反倒是不是主力的 .NET 一堆證照補助 ,


老闆 說得 , 跟做的完全兩碼子事 , 別怪員工把你說的話當屁話

在還沒離職前 , 公司的黑幕不能報 , 不過笑話總是可以拿出來講講的...

2008年8月29日 星期五

Android Emulator 中的 Java Properties


NOTE: 以下項目是在 Android 0.9/1.0 測試的


Android Emulator 中的 Java Properties


透過程式抓到 Android Emulator中的相關屬性 , 重新按照比較對我們有用的部份 , 去排序
可以看到有些值是空的

另外要注意的是 它的 java.io.tmpdir 是會去讀取 SD Card , 它用 sdcard 當作暫存目錄
另外則是 user 的dir , home , name , language , region , file.encoding 等幾個屬性會是比較跟我們撰寫程式要可能會使用到的

NO
Name
Value
01
user.dir
/
02
user.home

03
user.name

04
user.language
en
05
user.region
US
06
file.encoding
UTF-8
07
file.separator
/
08
line.separator


09
path.separator
:
10
java.io.tmpdir
/sdcard
11
java.class.path
.
12
java.boot.class.path
/system/framework/core.jar:
/system/framework/ext.jar:
/system/framework/framework.jar:
/system/framework/android.policy.jar:
/system/framework/services.jar
13
java.home
/system
14
java.library.path
/system/lib
15
javax.net.ssl.trustStore
/system/etc/security/cacerts.bks
16
java.ext.dirs

17
os.arch
OS_ARCH
18
os.name
Linux
19
os.version
2.6.25-00350-g40fff9a
20
java.specification.vendor
The Android Project
21
java.vendor
The Android Project
22
java.vm.vendor
The Android Project
23
java.vm.specification.vendor
The Android Project
24
java.vendor.url
http://www.android.com/
25
java.vm.vendor.url
http://www.android.com/
26
java.specification.name
Dalvik Core Library
27
java.vm.specification.name
Dalvik Virtual Machine Specification
28
java.vm.name
Dalvik
29
java.vm.specification.version
0.9
30
java.specification.version
0.9
31
java.runtime.version
0.9
32
java.vm.version
1.0.0
33
java.compiler

34
java.class.version
46.0
35
java.version
0
36
android.vm.dexfile
true