網路技藝大車拼‧大內高手來闖關 活動即將開始!

活動網站終於大功告成,還沒睡的人可以先註冊帳號,等早上 7:00 一到就可以開始闖關了!

本次活動我花了不少心思,大部分的題目都是「活的」,也就是你真的要從我的提示中聯想出我想表達的東西才能解題成功,請不要用「暴力解題法」,因為你是猜不到的,不要浪費我的主機資源與頻寬。

每一關都會有你個人在此關卡的進度,與所有人在此關卡的統計資訊,由於會計算你每一關進入的時間與首次通關的時間,所以各位要把握闖關的時間,這樣數字比較漂亮。 ^_^

 

另外,我還做了個「關卡進度一覽表」,讓各位清楚的知道每一關最先達陣的前三名,只要從第4關開始上榜就有書可以拿。

最後,祝各位順利闖關啦!

對於活動有任何問題,都可以在此留言,或在我的噗浪留言也可以!

活動網址

關卡進度一覽表

  

此文章由 will 發表於 2009/10/31 上午 02:48:48

永久連結 | 評論 (6) | 此文章的RSSRSS comment feed |

分類: 多奇快訊

標籤:

收藏:

關於網域在網域註冊商設定 NS 時應該輸入 IP 或是 Domain

今天幫一個客戶解決了一個 DNS 設定的問題,客戶端為了安全考量,所有主機/網路的設定都十分嚴格,以致於設定錯誤,導致在國外的客戶無法透過 DNS 正確解析網址,經過一番對話後也順利查出問題,調整設定後問題立即解決。不過客戶這次對 DNS 的認知錯誤,我猜想大部分住在台灣的技術人員可能都是這樣認知的,原因讓我娓娓道來。

客戶提供的資訊是:

  • 原本的 Domain 已經設定好,且已經運作一段時間,在台灣沒有任何用戶反應有問題。
  • 當新的 Domain 設定完成後,台灣的用戶都沒問題,但香港地區的客戶卻怎樣都無法解析該網域。

資訊十分有限,而且這也是一般人發問的方式:「我原本 XXXXX 都可以,為什麼 YYYYYY 就不行了。」

我當下的直覺是:「設定錯誤

我向客戶取得 DNS 設定資料後,再利用 nslookup 做幾次 DNS 檢測就立即查出問題所在,原來是他們的 NS 紀錄所指定的 Domain Name 僅設定在 “內網”,所以在 “外網” 是查不到該 Domain Name 的,以致於國外的 DNS 伺服器無法查詢到該 Domain 的 NS 紀錄,所以無法查詢到所有該網域的任何 DNS 設定。

C:\>nslookup www.example.com.hk ns1.example.com.tw
DNS request timed out.
timeout was 2 seconds.
Server: UnKnown
Address: 123.123.123.123

DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.

客戶原本的 Domain Name 設定:

  • Domain 1:   example.com.tw
    • NS:  ns1.example.com.tw
    • A:    ns1.example.com.tw   ( 在外部網路查不到 IP 位址,僅有內網查詢的到 )
  • Domain 2:   example.com.hk
    • NS:  ns1.example.com.tw

因為上述設定已經運作一段時間,沒人反應有任何錯誤,讓他們覺得 DNS 設定應該沒有異常,但為何突然設定新網域後卻是「香港地區」的人無法查詢該網域呢?

我們先來看看 HiNet 網域註冊 提供的 DNS 設定畫面 ( 以下是正確的設定範例 ):

HiNet 網域註冊 :: DNS 設定畫面

你可能很難想像,有多少人在 DNS Server Name 這個欄位亂設定一通的,我至少曾經幫數十位客戶設定過上百個 Domain Name 過,有些很久以前就設定好的 DNS 資料根本就是錯的,不然就是該 NS 的 Domain Name 根本沒有定義,所以幾乎是「完全依賴」 IP Address 這個欄位的設定,久而久之反而讓許多人誤認為「只要設定對 IP Address 就好了,DNS Server Name 設錯沒關係 」的錯誤觀念。

大部分的客戶都是這樣設定的 ( 以下是錯誤示範 ):

HiNet 網域註冊 :: DNS 設定畫面

也許因為 HiNet 老大哥的關係,所以台灣其他網域註冊商也都跟進,設定錯也沒關係,照樣讓你的 DNS 順利運作 ( 是好是壞很難斷定 )。

以我個人註冊國外網址的經驗,大部分網域註冊商在設定網域的 NS 記錄時,只能讓你 Domain Name,根本不讓你輸入 IP Address ( 但有些還是有讓你輸入 ),所以當網域註冊商收到你設定的 NS Domain Name 時就會先做第一次檢核,如果該網域不存在就直接拒絕,讓你重新設定。雖然這樣會增加 DNS 設定成功的困難度,但設定好的 Domain Name 也比較沒問題。

如果你的網域真的是如我所說的這樣設定,那就儘速修改吧,否則真的會有部分人無法看到你的網站!

相關網址

  

此文章由 will 發表於 2009/10/30 下午 04:50:17

永久連結 | 評論 (1) | 此文章的RSSRSS comment feed |

分類: 系統管理

標籤: , , ,

收藏:

利用 jQuery 將 DOM 元素聚焦 focus() 的六個版本

簡單的東西不簡單,將 DOM 元素聚焦是個再簡單不過的功能了,在實務上也經常用到,但是我們最近在使用 FancyBox 利用 IFRAME 載入頁面時卻怎麼樣都無法讓游標自動停在特定的文字輸入框中,除此之外,我也將我這些年累積遇到無法 focus() 的問題做了一次總整理,一共有六個版本之多。

第一種:經典版 

$('#Account').focus();

潛在的問題可以從官方提供的 Events/focus 文件看出一些端倪,但大部分的情況還是可以正常運作的,這也是讓 Web 開發人員匪夷所思的地方,就是有些地方可以用、有些地方不能用。

jQuery Events/focus: This causes all of the functions that have been bound to the focus event to be executed. Note that this does not execute the focus method of the underlying elements.

第二種:轉換成 DOM 去執行 focus() 函式

$('#Account')[0].focus();

使用 DOM 執行有很多風險,如果例外處理沒做好就很容易出現以下問題:

This webpage contains errors that might prevent it from displaying or working correctly. If you are not testing this webpage, click No.  Error: '0' is null or not an object

'0' 是 null 或不是一個物件

第三種:轉換成 DOM 去執行 focus() 函式,外加條件判斷確保執行無誤

if($('#Account').length > 0) { $('#Account')[0].focus(); }

你以為這樣就沒事了嗎?錯!因為當元素處於「隱藏」狀態時,是無法執行 DOM 物建的 focus() 函式的,硬要去執行就會出現以下錯誤:

Error: Can't move focus to the control because it is invisible, not enabled, or of type that does not accept focus

控制項不可見、為啟動或無法接受焦點,因此無法將焦點移到控制項上。

第四種:轉換成 DOM 去執行 focus() 函式,外加條件判斷確保執行無誤,以及利用 setTimeout 修正笨 IE 的詭異錯誤

if ($('#Account').length > 0) { setTimeout(function() { $('#Account')[0].focus(); }, 0); }

這問題會出現在 IE8 之前的 IE 瀏覽器上,通常發生在 DOM 元素先被隱藏,然後才被顯示出來 (這是常用的 hack 技法),雖然 DOM 元素已經在畫面上看的到,但 DOM 物件狀態還沒改變,導致執行 focus() 函式發生錯誤,這時就要用以上程式來解決。

第五種:轉換成 DOM 去執行 focus() 函式,外加條件判斷確保執行無誤,以及利用 setTimeout 修正笨 IE 的詭異錯誤,以及利用 try/catch 將最後可能潛在出現的問題給過濾掉。

if($('#Account').length>0){setTimeout(function(){try{$('#Account')[0].focus();}catch(e){}},0);}

以上應該算是我的終極解決版了,但不完美,所以我設計了第六個版本。

第六種:最終完美版

$('#Account').setfocus();

最後我將這些經驗濃縮成一個 jQuery 外掛 (Plugins),讓全網站有需要用到 focus() 功能的地方都可以利用 jQuery 自訂外掛函式達成目的。原始碼如下:

(function($)
{
    jQuery.fn.setfocus = function()
    {
        return this.each(function()
        {
            var dom = this;
            setTimeout(function()
            {
                try { dom.focus(); } catch (e) { } 
            }, 0);
        });
    };
})(jQuery);

 

對於剛從事 Web 甚或從事 Web 開發一段時間的人來說,真的很難想像能遭遇到多少大大小小、龜龜毛毛的的問題,但我卻還是不時會聽到有人說:「做網站很簡單阿,隨便一個大學生都可以做了」這樣的話,每次都是冷靜的想一想後決定:算了,這真的不是三言兩語講的清楚的,就讓誤解繼續下去吧~~

 

相關連結

  

此文章由 will 發表於 2009/10/29 下午 09:56:43

永久連結 | 評論 (5) | 此文章的RSSRSS comment feed |

分類: Web | Tips | JavaScript

標籤: , , ,

收藏:

網路技藝大車拼‧大內高手來闖關 保哥邀請您來展功夫

為了慶祝我的部落格誕生兩年,特別舉辦一場『網路技藝大車拼‧大內高手來闖關』活動,除了慶生外,還為了賭一口氣,因為上次黑暗大黑暗寶藏讓我敗在第七關,使我忿忿不平,決定設計另一套更機車有趣的題庫反擊,希望讓所有人都有機會闖關成功,題目都不難 (誤),大家快來玩吧! ^^

這幾天在設計一個全新的活動網站,由於我最近的時間實在太少了,所以只能盡量快速開發,所有的闖關功能與會員機制大約 2 小時完成 ( 拜 ASP.NET MVC 之賜 ),但苦就苦在如何設計出有意義、不容易破解、有點機車又不會太機車的題目,思考題目的過程確實有趣,設計題目時都一直在偷笑,呵呵~

大部分題目考的是對網路底層的瞭解、對技術細節的理解、對基礎理論的掌握、基礎邏輯推理能力、以及知識領域的廣度,由於這是我第一次出這種闖關題目,我自己覺得題目應該不會出的太難 (純粹自我感覺),當我想出難一點的題目時又礙於透過網站介面機制進行闖關在實做上無法簡化而作罷,我自己估計最快可能 3 小時內就會有人通過所有關卡。

至於通關獎品的部分雖然普通,但價值卻很高,是 30 本由悅知文化出版的書籍喔!在此由衷感謝悅知文化大力贊助本活動贈品。

當然,基本的【免責聲明】還是要先講的,以下幾點請參賽者特別注意:

  • 各位請以「玩玩看」的心態來闖關,不要因為闖不了關來找我報仇嘿!
  • 本活動不保證絕對的公平與客觀性,如有遇到任何無法解決或無法解釋之爭議,還是以我個人的決議為主,任何參賽者不得有任何異議。
  • 本站保留修改活動規則及贈獎內容的所有權利。

以下就是本次活動的摘要啦!

活動時間

  • 預計在 本週六 ( 10/31 ) 早上 7:00 正式起跑 ( GMT +0800 )
  • 備註:今天有人提到星期五有人沒那麼早下班,所以改週六早上開台,題目很簡單,要書的人就早起來闖關吧! ^_^

比賽辦法

  • 參加活動必須註冊一組活動專用 暱稱Email,註冊成功後即可登入參加活動
  • 原則上開放所有住在地球上看的懂中文的人類參賽
  • 原則上本站不提供主動郵寄贈品服務,需要贈書者請親自領取 (台北市) [ 活動結束會發信告知 ]
  • 關卡總共有 9 關,率先達陣第 9 關的前三名我可以主動郵寄贈品,但以台灣地區為限
  • 當所有關卡都有前三名達陣時,活動即宣告結束,但闖關活動還是可以繼續玩
  • 本次贈品為悅知文化所出版的 30 本書籍,活動贈品將於活動結束後會讓得獎者選書

獎勵辦法

  • 為增加闖關活動的參與程度,每位得獎者所獲得的贈書最多不得超過 5 本。
  • 每人限註冊一組帳號,若發現有重複註冊帳號者將取消其得獎資格。
  • 活動結束後,我會透過帳號註冊的郵件發信得獎者來活動網站選書。

贈品規劃

  • 率先通過第 9 關的前三名獎勵如下:
    • 第一名:可優先任選四本書
    • 第二名:可優先任選三本書
    • 第三名:可優先任選兩本書
  • 率先通過第 8 關的前三名獎勵如下:
    • 第 1 名:可優先任選 1 本書
    • 第 2 名:可優先任選 1 本書
    • 第 3 名:可優先任選 1 本書
  • 率先通過第 7 關的前三名獎勵如下:
    • 第 1 名:可優先任選 1 本書
    • 第 2 名:可優先任選 1 本書
    • 第 3 名:可優先任選 1 本書
  • 率先通過第 6 關的前三名獎勵如下:
    • 第 1 名:可優先任選 1 本書
    • 第 2 名:可優先任選 1 本書
    • 第 3 名:可優先任選 1 本書
  • 率先通過第 5 關的前三名獎勵如下:
    • 第 1 名:可優先任選 1 本書
    • 第 2 名:可優先任選 1 本書
    • 第 3 名:可優先任選 1 本書
  • 率先通過第 4 關的前三名獎勵如下:
    • 第 1 名:可優先任選 1 本書
    • 第 2 名:可優先任選 1 本書
    • 第 3 名:可優先任選 1 本書
  • 幸運獎 / 參加獎
    • 活動結束後會亂數抽出 6 位幸運得獎者,各可獲得 1 本贈書。

選書順序

  • 為獎勵優先闖關成功者,選書的優先順序依序從第 9 關第一名、第 9 關第二名、第 9 關第三名、第 8 關第 1 名、第 8 關第 2 名、第 8 關第 3 名、… 依此類推。

贈書清單 ( 書籍介紹請至悅知文化網站查看:http://www.delightpress.com.tw/ )

書號 書名
SKUD00001 SQL server 2005 SSIS 整合服務
SKUD00007 SQL Server 2005 T-SQL資料庫設計
SKUD00010 SQL Server 2008 管理實戰-營運管理篇
SKTD00007 Training Kit | MCTS Exam 70-433 SQL Server 2008 資料庫開發
SKTD00008 Training Kit | MCTS Exam 70-448 SQL Server 2008商業智慧開發與維護
SKTD00009 Training Kit | MCTS Exam 70-432 SQL Server 2008實作與維護
SKUP00001 ASP.NET2.0 網站開發學習講座
SKUP00003 Visual Basic 2008 最佳實務講座
SKUP00006 ASP.NET 3.5最佳實務講座
SKUP00010 Crystal Reports 2008報表設計與開發
SKNP00008 LINQ 最佳實務講座
SKNP00010 Robotics Developer Studio實戰手冊
SKNP00012 UML團隊開發流程與管理
SKNP00013 Google應用服務引擎開發實戰
SKNP00015 動起來!百變樂高機器人
SKTP00015 ppk on JavaScript中文版
SKTP00023 大話設計模式
SKTP00024 Ext JS開發實戰:次世代Ajax解決方案
SKTA00002 聰明工作必知:Excel函數與公式實戰精粹
SKTM00006 CSS:Web設計的關鍵法則
SKTM00007 打造賺錢網站的黃金準則
SKTM00008 色彩的準則
SKTM00009 文字的準則
SKTM00014 就用氛圍取勝吧!DSLR風格攝影完全解析
SKTM00015 就用質感取勝吧!DSLR氛圍編修完全解析
SKTM00018 寫真。日和:讓幸福入鏡的氛圍攝影手帖
SKTM00019 CG的極意:17位日本插畫家之技法實錄
SKUS00001 Windows Vista系統管理-實戰主義
SKUS00005 Windows Server 2008 系統建置與管理
SKUS00007 Windows Server 2008 網路服務與安全

 

主辦單位 / 主機提供:多奇數位創意有限公司

多奇數位創意有限公司

贈品贊助:悅知文化

 悅知文化

  

此文章由 will 發表於 2009/10/28 下午 11:50:06

永久連結 | 評論 (5) | 此文章的RSSRSS comment feed |

分類: 多奇快訊

標籤:

收藏:

The Will Will Web 生日快樂! ( 歡度兩週歲生日 )

Happy Birthday人在忙碌的時候時間總是過的特別快,真沒想到我的部落格已經滿兩歲生日了,在此也不免俗的再次祝賀 The Will Will Web 生日快樂! ^_^

最近幾個月被案子忙的焦頭爛額,連寫文章的時間都變的不規律了,雖然沒有像去年一樣每天一篇文章,不過從去年生日到今天也累積了 301 篇文章,這些可都是心血的結晶呢。

為了讓 The Will Will Web 滿兩週歲更具意義,前陣子受到前輩的感召,決定也來辦個闖關活動,希望能將所學整理成一個一個的關卡,一方面是讓技術學習變的有趣,一方面是讓各位大內高手 ( .NET Expert ) 藉此驗證自己技術能力的深度與廣度。

為了讓親朋好友與公司同事在闖關時能有新鮮感,所以題目都不能假手他人,只好辛苦抽空設計題目,目前已經想到很多可以出的題目,不過還需要轉成線上版讓整個闖關活動自動化,所以還需要一些時間開發,我最近已經著手開發活動網站與題目設計,估計本週五晚上 7:00 正式開台,歡迎各位踴躍參加藉此交流。

詳細的活動辦法贈品將於明晚公布,敬請各位拭目以待! ^__^

  

此文章由 will 發表於 2009/10/27 下午 11:59:28

永久連結 | 評論 (5) | 此文章的RSSRSS comment feed |

分類: 心得分享

標籤:

收藏: