Programming分類文章 顯示方式:簡文 | 列表

2009年11月5日

RESTful 介面實作示範

大家好,我又來談 REST 了。雖然我早已在過去的實務工作中採用 RESTful 概念,但似乎在國內大多數人眼中, RESTful 還是個陌生的內容。因為我新任職的公司,才剛在專案中採用 RESTful 工作,還要大家去 survey 一下。也就在這過程中,我才發覺大伙兒對 RESTful 的認知還有不少偏差。最主要的一點還是把過去的 REST 作法混進來了。忽略了 RESTful 字尾的 -ful 所代表的意義。

雖然我一年多前在 REST and RESTful web service 就提過 RESTful 的內容了,不過當時主要放在 REST 和 RESTful 的差異上,假設讀者已經很熟悉 Web 架構與設計模式了。在當時的文章最後,附上的範例程式也僅僅是示範如何把舊的 REST 程式重構支援 RESTful 。沒有示範 RESTful 到底如何與客戶端互動。這篇文章就是在填這個坑。

...繼續閱讀

2009年10月22日

SOA的輕量化趨勢,從ESB漂移到Mashups

幾年前,談到 SOA 架構必然伴隨著 ESB 。然而這兩年來,我們雖然依然在談 SOA ,但 SOA 身邊伴著的角色卻已悄悄換成了 Web 2.0 、Mashups 。儘管 ESB 還沒走下舞台,但已經不在舞台中心了。

在 SOA 的舞台上,ESB走向邊緣,而 Mashups 走向中心,顯示了 SOA 正在輕量化的趨勢。

...繼續閱讀

2009年05月25日

魔獸世界UI - RaidWarningMessages, 團隊警告訊息循序放送

RaidWarningMessages,我自製的插件。基本功能是每次都按順序送出不同的訊息。因為我的戰士是坦克,在開怪前習慣用團隊警告提醒隊友。久而久之,就想在台詞上做些變化。原本是用巨集,不過巨集有限制字數不太方便,就改用 UI 來寫。

本人不提供壓縮檔。軟體授權憑證採 GNU GPL 發佈。符合 Blizarrd 所規範的 UI 發行政策。

...繼續閱讀

Posted by shirock at 樂多Roodo!14:53回應(0)引用(0)
標籤:wow,lua

2009年05月20日

魔獸世界UI - AuraNotify, 觸發式技能光環提示

AuraNotify,這是我從其他插件改過來的。因為我玩法師和戰士,所以只登記了法師和戰士的觸發技能光環,其他職業的請自己加上。觸發時的提示音效也請自己找或自己錄,但我的經驗是音效檔的大小最好不要超過16kb。請將音效檔複製到插件安裝資料夾的 Sounds 資料夾內,並將檔名改成登記表中的名字。例如觸發猛擊(Slam)時的音效,請取名為 Slam.wav。按預設狀況,音效檔放置的資料夾是: C:\Program Files\World of Warcraft\Interface\AddOns\AuraNotify\Sounds

我個人喜歡用Windows作業系統內提供的 C:\WINDOWS\Media\ringout.wav 。簡潔清楚。

...繼續閱讀

Posted by shirock at 樂多Roodo!15:37回應(2)引用(0)
標籤:wow,lua

2008年11月5日

2008 IBM developerWorks開發者大會記要

Tags: developerWorks

今天(11月5日)去台北參加 2008 IBM developerWorks 開發者大會。今年的專題是 RSDC (Rational Software Development Conference),還創造了一個 R-Heros 戰隊。分別是 架構神人、析哈天后、時空司令、克隆女王、霸葛殺手、版管將軍,他們的顏色分別是藍、橙、灰、橘、青、綠。嗯,真難記,應該要跟日本動畫多學學... 呃,我扯到哪去了。總之呢,今天的議程也算是最新的 Rational 開發工具的說明會吧。

2006的專題是 EssUP 、2007的專題是 Jazz (Jazz project),今年的專題 RSDC。其實今年 RSDC 的內容,有很大一部份是圍繞著與 Jazz platform 相關的 Rational Team Concert。只是去年偏向說明 Jazz platform 的概念,而今年則是以 Rational Team Concert, Rational Software Delivery Platform 等軟體具體地介紹開發者如何在日常工作中使用這些工具。此外, SOA 也一直是近年來開發者大會中必不可少的內容。除此之外,我個人比較關注還有 B3 議程《加速研發: 開放源碼軟體與 IBM Rational》和 B4 議程《跨地協作開發實戰手冊》。

...繼續閱讀

Posted by shirock at 樂多Roodo!23:26回應(2)引用(0)

2008年06月5日

開發自動化文章參考

Tags: agile_method

前幾天在 developerWorks 看到一篇關於負載測試的新文章,《让开发自动化: 自动负载测试 - 使用 Apache Ant 和 Apache JMeter 频繁进行负载测试》。它提醒了我一件事:負載測試也有自動化工具。我以往很少在這一方面下功夫。大部份時候,我都是針對特定情況,自行撰寫特定的負載測試工具,而且不是很好用...

我目前尚未引入 JMeter 到日常工作之中,暫時先在此做過標註。不過有一點可以先說,JMeter 是針對應用軟體的成品或者整個運作環境進行負載測試,跟你的應用軟體開發工具無關。所以並不侷限於 Java 開發的專案才能用 JMeter 。使用 PHP 或其他工具開發的案子也能用。

附帶一提,developerWorks 專欄作者 Paul Duvall 所撰寫的《让开发自动化》專欄,皆有相當高的實務價值,值得一讀。


Posted by shirock at 樂多Roodo!17:11回應(0)引用(0)

2008年05月15日

利用 NullObject 改善程式可讀性,No more if, no more try

Tags: php5 refactoring nullobject

剛在重構一組類別的程式碼時,突然想到 Martin 在《敏捷軟體開發原則、樣式與實務》一書中提到的一個編程技巧,就是在失敗狀況時回傳 NullObject ,避免行為調用者用 iftry 處理失敗狀況,影響程式可讀性。

我重構中的類別程式碼,基本上是一個聚合類別,它包含了其他類別的個體。此聚合類別提供一個方法 get() ,以取得它所包含的個體。外部調用 get() 後取得內容個體後,立即呼叫該個體的一個方法。

...繼續閱讀

Posted by shirock at 樂多Roodo!16:27回應(1)引用(0)

2008年05月7日

請在「持續整合」的原則下利用版本控制工具的合併功能

Tags: svn subversion cvs version_control agile_method

前一陣子在工作場所碰到一件事,我的同事抱怨 SVN 不能幫他合併他修改過的分支內容。我覺得很奇怪,因為我並沒有碰過這種情形。一開始我以為他是不熟悉 TortoiseSVN 工具,後來我實際看了他操作後,看到他竟然一次要合併近百份源碼檔,當場無言以對。

我記得我曾說過 SVN 可以幫我們程序員自動合併分支的源碼內容,並在衝突時提示我們。然而,在碰到同事這件例子後,我發覺我忘了加一個但書: 「請在持續整合(Continuous Integration)的原則下利用合併功能」。否則再好的版本控制工具也無法幫你合併。

...繼續閱讀

Posted by shirock at 樂多Roodo!18:33回應(4)引用(0)

2008年04月21日

A patch of isEditable of Selenium Core 0.83

Tags: selenium web_dev

日前配合 Selenium 撰寫一個 Web 應用軟體的測試案例,案例中有一句斷言要判定指定的表單輸入欄位是唯讀的 (readonly)。我個人很直覺地使用了 assetrNotEditable,但測試結果卻是錯的。後來我又試了 assertEditableassertAttributeassertNotAttribute 等寫法。始終無法正確而一致地判定輸入欄位的唯讀屬性 (readonly)。

依據參考文件 (Selenium IDE Reference) ,assertEditable/assertNotEditable 的說明,這兩種斷言都是調用 isEditable() 判斷。於是我開啟 selemium-api.js 後搜尋 isEditable ,找出它的源碼內容。結果發現它只判斷輸入控制元件 (input element) 的 disabled 屬性,而未判斷 readonly 屬性。

...繼續閱讀

Posted by shirock at 樂多Roodo!14:20回應(0)引用(0)

2008年03月18日

Making Document: Make a Database Schema SQL from StarUML's Class Diagrams

Tags: agile_method uml database

日前我在公司和同事討論一個案子的 database schema,PM初期丟下來的 database schema 是寫在 Excel .xls 檔中。我拿到手後看了一會,覺得有些怪怪的,好像有些重覆。自然要討論內容。不過,用 Excel .xls 實在不方便討論,不時地切換試算表頁,常常中斷思考與討論節奏。所以,我乾脆打開 StarUML,建立一個類別圖 (Class diagram),把 database schema 畫了出來。在類別圖中清楚地呈現了表格與關聯性。一畫之下果然討論起來就順暢多了,也重新修正了不少地方。那接下來呢?再打開程式碼編輯器,把剛剛畫出來的 database schema 類別圖的內容,重新用 SQL 語法編寫一次嗎?

喔,不,老兄,那樣太不專業了。我們可是專業的資訊人員,重複輸入同樣的資訊,不是我們該做的事。身為專業資訊人員,就應該重複利用輸入過的資訊才對。不然我們做什麼資訊管理,搞什麼資料庫?

...繼續閱讀

Posted by shirock at 樂多Roodo!16:39回應(3)引用(0)
 [1]  [2]  [3]  [4]  [5]  [6]  [7]  [最終頁]