2009年11月21日 星期六

[演講心得] 電腦遊戲、手機遊戲、iPhone遊戲

講者:龍華科技大學 多媒體與遊戲發展科學系 梁志雄教授

先提到全球在遊戲領域很重要的研討會: GDC (Game Developers Conference)

2009年10月18日 星期日

[Database] .NET 連接 informix

一開始遇到問題,大概可以確定是 informix 版本的問題,但到底是 SDK版本太新太舊,還是引入參考的方式不對,一直沒頭緒……

卡了大半天,問有經驗的同仁才曉得,原來因為學校舊平台的校務系統也有裝一個 ifx sdk,造成環境變數中的 path會有兩個目錄設定,系統優先找第一個,自然讓開發的 AP無法順利編譯執行,顯示找不到正確的 dll -> 無法載入 DLL 'iclit09b.dll'
一個解決方案,是將原本預設的路徑砍掉,只留新的 path,本機執行就成功了。(但是這樣會使得校務系統無法順利執行,要能兼容兩種環境,恐怕就得動態切換或是隔離開發環境了。)

後來遇到第二個問題,是將程式由本機發佈到主機後發生的,這類似的問題,推敲了一天,才曉得我的本機 ifx 版本又跟 server 上的不同,所以無法順利執行。我想這又帶來一個很寶貴的經驗,開發環境跟發佈環境需要一致的重要 0rz~

ps. 這邊似乎也存在著一個 IIS的 bug:[節錄]
If you are trying to use IBM.Data.Informix (Client 2.81 TC3, 2.9, 3.5, etc.)
from IIS, and you still have this problem, I have a solution. I found that
IIS 5.1 has a bug!!. IIS cannot read the entire PATH environment variable if
it’s too long (my PATH has 1364 characters).

So if your informix dir is near the end of your PATH and your PATH is too
long, IIS will never read your informix dir ("C:\Program
Files\IBM\Informix\Client-SDK\bin"). Just put your informix dir at the
beginning of your PATH variable, and very important execute an "iisreset" and
the issue will gone away. I don't know if this bug remains in IIS 6.0 or later

2009年9月15日 星期二

[C#] 四捨五入之無條件進位 0.5

因為特殊用途,所以需要用到無條件進位0.5的規則,例如 1.3 要變 1.5,1.8 要變2,所以來研究一下怎麼達成。

先參考既有的方法,
http://www.allenkuo.com/EBook5/view.aspx?TreeNodeID=27&id=381
http://www.dotblogs.com.tw/yc421206/archive/2008/11/03/5852.aspx
[節錄] 舊的規則,會根據前一位數字,來決定小數點
的進位。在.NET 2.0 以後, Math.Round()多了參數,可以自訂如何進位。

其他參考:
C#無條件捨去
利用ToString()

自己生出簡單的進位 0.5 函式:
public double halfRound(double val)
{
double ten = val * 10;
double key = ten % 10;
if( key>=5 || key==0 )
return Math.Round( val, MidpointRounding.AwayFromZero);
else
return Math.Round(val, MidpointRounding.AwayFromZero)+0.5;
}
這樣子就達成目的了!

halfRound(1.2) => 1.5
halfRound(1.6) => 2

2009年3月5日 星期四

在 Jbuilder X 開發 web services

之前寫 web services的經驗是在 Eclipse導入 ws,不過最近的程式橋接,因為該專案原本就是 jBuilder 的,所以改用JB內建的方法。

2009年2月28日 星期六

[web] jQuery/Tab + anchor(錨點)在 IE的跳躍問題

問題是寫完某個具有 jQuery/TAB 功能的頁面,在點擊錨點時,第一次會導致頁面更新(refresh),而且這個狀況只有在 IE會發生,在 Firebox 跟 Chrome 裡都是運作正常。

補充描述系統的情境,該網頁如果是從別的地方代登入進來的,會接受一個 page的參數,假如是 2,網址最後就會串 #2,透過產生第一頁時讓使用者看到 tab=2 的頁面。

而問題會產生的狀況,假如系統是自己登入的,網址會變 #null,如"在 IE"的情況下,第一次點錨點類link(ex X),
雖然會跳到該區塊,但造成頁面刷新,也就讓使用者原本在看的區快跑掉了。

經過數次交叉比對測試,終於發現解決方式,就是程式在收完參數,判斷如是 null 後,不要在 url
串入 #p
ex: xxx.jsp?ooo=xxx&oo=xx#p
不論是p值或是#都不要加入網址,這樣子 IE的問題就解決。

原本懶惰一律加上去網址變數的寫法,因為在 firefox 沒有問題,所以就不理這樣 o.0