星期四, 8月 13, 2015

Certificate Scrum Developer 認證課程心得




最近剛上完 Certificate Scrum Developer 課程,授課老師是 Jacky Shen。在這門課程當中討論「持續整合」,「TDD」,「重構」,「Simple Design」,「Git version control」,「Pair Programming」等相關議題。

在最近一年的時間裡,我陸續取得 PMI-ACP,CSPO 及CSM等證照。有了這些知識,卻感覺還少那麼一點東西。Scrum 團隊有 Product Owner,Scrum  Master 及 Development Team 這三個角色。其中,Team 的人數最多,卻很少有人坐下來好好地把什麼是一個好的 Development Team,以及我們該如何成為這樣的團隊。

所以,有 Product Owner 的認證,有 Scrum Master 的認證,當然我們也需要知道如何培養自己或是團隊成為一個敏捷開發團隊成員之一。所以,基於一個這樣的念頭,讓我在颱風隔天連續上了兩天 12 小時的馬拉松課程。


從整個課程的內容來看,初步可以將課程內容分成兩個主要觀念。

          (1) 專注品質

1.1. 在課程中有提到許多好的程式概念,例如:程式碼要讓其他人一目了然,快速地了解。程式碼要可被信賴。程式碼必須是可維護的。

1.2. Test Driven Development: 確保每一段程式碼都有其對應可執行的測試案例。

1.3. 頻繁且持續地測試,保持程式碼永遠是可動的,並且合於需求。

1.4. 透過重構,不斷地改善程式碼的品質,降低程式的壞味道。

          (2) 減少浪費

2.1. 不做過度的設計,減少浪費。

2.2. 花時間進行重構,可以降低日後一次性大規模的調整。(這讓我想起「不要惹公司的程式設計師啊」。)

2.3. 建立自動化的測試案例,可以降低人為測試不斷重工的浪費。


但是,我認為上述的內容還不是最重要的。在 Scrum Alliance 的網站上,說明怎樣是一個成功的 CSD?

A successful Scrum Developer is committed to continuous improvement.

課程最重要的內容是

讀書、練習、分享

努力不懈地提升自己,透過練習不斷地提升自己實務的能力,並且將這些知識分享出去,發揮影響力,讓團隊可以更精進。

最後,感謝長宏的團隊促成以及一起上完這兩天馬拉松式課程的同學們,讓這次Certificate Scrum Developer 課程能在百般的艱難下開課成功。感謝 Jacky  老師充實的課程使大家獲益良多。

星期日, 5月 03, 2015

Deploy IBM Worklight Server to WebSphere Liberty Profile Manually


最近,有一個客戶要將 IBM Mobile First 7 安裝在 AIX 6.1 上。但是,在裝好後,我卻發現 MobileFirst Platform 的目錄中沒有 Worklight Configuration Tool。

心裡面的OS是,這不是IBM的產品嗎?為什麼沒有自家 OS 的工具。

所以,只好開始研究看看,怎麼手動將 Worklight Server 手動佈到伺服器上。

首先,第一步就是檢視 MobileFirst 的安裝目錄,看看裡面有什麼設定檔,反正根據過去經驗應該可以找到一些東西。

終於,在 WorklightServer 的資料夾底下,找到 configuration-samples 的資料夾。在這裡面發現了許多的 xml 檔案 (例如:configure-liberty-db2.xml)。從這些檔案的命名規則,大概可以推敲出可能的解決方案。

於是,我將該檔案打開來進行編輯。依據 xml 檔案內容的提示,置換相關的資料進去。

隨後,執行下列幾個指令:

ant -f configure-liberty-db2.xml admdatabases
ant -f configure-liberty-db2.xml databases

ant -f configure-liberty-db2.xml adminstall

ant -f configure-liberty-db2.xml install

記得每個指令執行後都必須要看到 BUILD SUCCESSFUL 關鍵字,才可以執行下一個指令。


[參考資料]
1. IBM Mobile First 7 Knowledge Center

星期一, 3月 30, 2015

Windows 磁碟壓縮後 Microsoft SQL Server 無法正常使用

使用 Apple Mac Book Pro 最大的問題應該就是硬碟空間太小。

前幾天,我電腦中 windows 的 VM 空間滿了。讓我無法執行寫程式與測試的工作 (因為只要想寫檔案,系統就會出現,磁碟空間不足的錯誤訊息)。

所以,在這種清況下,為了清出空間來使用,只好使用 Windows 的磁碟壓縮功能。

服用後,多出了 20%左右的空間,使得手邊的工作得以繼續。

就在這兩天,我準備打開 Microsoft SQL Server 進行一些相關技術驗證時,就出現資料庫檔案是壓縮檔,無法正常使用的錯誤。

於是,我開始在網路上找尋 solution,花了十幾分鐘,也沒看到一個好的建議方案。


只好自己想辦法處理。如果跟據先前的分析來看,我應該要設法解除磁碟壓縮的狀態。

但是,如果解決磁碟壓縮,就會面臨空間不足的另外一個問題。所以,只好探索是否能部份解除。

後來,我在相關的資料夾的進階設定選單中發現了設定選項。解除該資料夾底下的磁碟壓縮狀態。

設定方法如下:
1. 選定該資料夾,按右鍵選擇「內容」,並且點選「進階」按鈕
2. 系統跳出右邊視窗,取消勾選「壓縮內容,節省磁碟空間(C)」

弄完後,Microsoft SQL Server 就恢復正常了!

星期二, 1月 20, 2015

修改 WebSphere Application Server 上的 JESSIONID cookie name

       Java Servlet API 2.5 之前規定,session identification coolie 必須叫做 JESSIONID。但是,這個規定在 Servlet API 3.0 後已經解除,而 WebSphere Application Server 第八版之後就已經支援 Java Servlet API 3.0 的規格,所以我們可以修改 WebSphere Application Server 上的 JESSIONID cookie name。

        基於,以上的原因。最近突然有人說有改這個東西。當然,先前完全沒改過這個項目!所以,到 IBM 的 Knowledge Center 翻出了下列修改方式:


1. 開啓 WebSphere Application Server 管理主控台
2. 選擇 Servers > Application Servers > Server_Name > Web Container Settings > Session management > Enable Cookies
3. 修改 Session Cookie 的值,預設為“JSESSIONID”
4. 點選確認,然後儲存相關修改設定
5. 重新啟動 WebSphere Application Server
6. 重新啟動 plugin 檔案

待確認問題:
1. 假設在 Cluster 的環境上,我們只修改某一台 Server 的 JESSION Cookie Name 會發生什麼事?

2. 如果 WebSphere Application Server 上裝著以前的舊程式 (Java Servlet API 2.5 以前),會不會被影響?

3. 修改後的 plugin-cfg.xml 會有什麼變化?

4. 這個跟 IBM HTTP Server 以及 WebSphere Application Server Plugin 的版本有沒有關係 (例如:IBM HTTP Server v7.0 是否支援)?


未完,待續 .....


參考資料:
1. 修改 HTTP Cookie Name