2009年3月31日 星期二

IE與FF排版的差異

只要是常常寫網頁的人經常會發現有些頁面在 IE 可以正常瀏覽但是在 FF 底下卻會有偏移的情況。

會發生這個原因其實不是 FF 的錯,而是大部份台灣的網頁設計師都以 IE 為主軸,

因此常常只要在IE下能夠看到正確的內容就好。囧...

最近在做下拉式選單的時候,為了要讓 IE 與 FF 皆能相容的情況下,卻看到兩者編排時有些許不同,

查找了一下資料發現兩者在區塊的呈現方式會有相差 2 pixel 的誤差詳細資料請點我

2009年3月29日 星期日

SQL查詢時的執行順序

前陣子公司常常為了資料庫煩惱不已,因為查詢的時間實在是太久了!
就好比開個網頁要等個幾十秒難以讓人忍受。

而會發生這個問題即來自於 table 的 join 效率不彰,大家都知道當兩個 TABLE(A、B) 要 JOIN 時,
其 JOIN 的總數量是 A的總筆數 乘以 B的總筆數
當 JOIN 時如果兩個 TABLE 皆以數千萬筆資料來擷取所需的資料是多麼可怕的一件事。

2009年3月19日 星期四

IE/FF瀏覽器偵測onMouseDown事件的差異

最近實作踩地雷時,由於踩地雷有一個功能是九宮格中如果所有的炸彈都猜到了,

就可以滑鼠左右鍵同時按下把周圍的格子都打開,沒想到當我用onMousedown偵測時卻發現,

這個event可以偵測到點擊的按鍵是左鍵、右鍵還是滾輪,但是在IE與FF下卻會觸發不同次數。

實際結果大家可以測試下列範例即可得知。

2009年3月17日 星期二

透過PHP產出EXCEL

相信有許多人都曾經需要產EXCEL的檔案,包括我也不例外。

以前曾經試著自己用COM連結EXCEL,許多程式語言也有提供此方法連接,

然而卻發現這個方法並沒有想像中好用,主因來自於SERVER與EXCEL之間的溝通非常的耗時,

導致效能不彰,所以找了一下相關的文獻是否有好的方法能夠產出,

最後找到Creating excel files through PHP這篇文章,

提到其實可以運用HEADER傳送MIME為EXCEL格式並且設定其為附加檔案,即會出現一個下載視窗。

而此方法是運用EXCEL剖析HTML表格以得到最終的結果,因此當轉出前需確認轉出的內容已為表格形式。

2009年3月13日 星期五

踩地雷的概念

這次在實作踩地雷的時候,其實遇到了許多問題需要克服,

哈~~其實也算是我對網頁的語法還不夠熟悉吧!

原本想說在自己的電腦能夠正常運作的script,直接在我的blog開一個page放上來應該就能正常運作了!

沒想到卻遇到了天大的麻煩,後來查找了一下,終於知道我用的css語法,

如果是絕對定位的話,一定要在width、height、top和left後面加上pixel。

但是如果這些是用變數代入的時候要怎麼寫呢?答案就是x + 'px'如此而已...卻苦惱了我一兩個小時!暈...

然而我為什麼要寫踩地雷呢?哈~~因為我以前非常喜歡玩,而且以前沒有用到一些資料結構的觀念。

本次實作的內容完全運用HTML DOM以javascript取得節點來完成,而不是使用document.write或是innerHTML。

2009年3月10日 星期二

.Net 1.1 Treeview的checkbox如何影響子節點

最近客戶在瀏覽某個樹狀結構表示時反映其在點選核取方塊後,它所有的子階層要跟著此核取方塊更動。

http://www.w3.org/TR/NOTE-HTMLComponents

2009年3月5日 星期四

反矩陣(inverse matrix)運算

在介紹反矩陣運算之前,需要先知道矩陣的加減乘法是怎麼運作,才有辦法理解反矩陣的運算規則。

並不是每一個矩陣都會有反逆陣,如果有反矩陣則稱此矩陣是可逆的(invertible)或是非奇異的(nonsingular),反之則稱之奇異的(singular)。

由於矩陣只有加減乘法,並沒有除法運算,所以我們如果需要計算兩矩陣相除時,

需先將除數的矩陣轉換為逆矩陣再做相乘運算即可得到同樣的結果。


由於自己怕忘記實作的反矩陣到底是怎麼實作的,以及所實作的方法又是什麼?因此在這邊加以說明。

反矩陣的算法有很多種(高斯消去法、伴隨矩陣/行列式(adj(A)/|A|).....等),而我所用的則是「高斯消去法」,主要就是運用單位矩陣 In,來達成目的。

底下列出實作的程式碼內容,由於本實作沒有運用分數計算的觀念,因此會有些許小數點誤差,但是其觀念並無錯誤。