跳到主要內容

發表文章

目前顯示的是 4月, 2009的文章

人狗殊途

文章開始前,先來張照片... 話說起來,嘟嘟也來到家裏快一年了,在這個不長不短的時間,有時候常常覺得,很奇怪到底誰才是主人啊。為什麼每次我都要幫嘟嘟擦尿、擦大便、裝飼料,明明就是我主人,可是我卻覺得我像個奴才似的。 這個學期也開始每天都待在家中寫程式,陪著嘟嘟的時間也比較多了些,可是卻沒有感覺嘟嘟你也比較乖一點耶。為什麼電影、廣告上的狗狗都很可愛、很乖,可是你特別不一樣呢? 嘟嘟,你可以換個地方躺一下嗎?「挖a咖.......麻去了......」 當我移動雙腳之後的嘟嘟是....↓ 嘟嘟你就給我精神一點,睡在我的胖肚肚上還這樣子,你都不知道我腳麻掉了嗎? 快點給我下來!><" 唉!!!!!!!!~(微微的覺得人不如狗啊)

jQuery清空表單資料

沒想到jQuery居然沒有支援reset這一個方法 因此爬文爬了一下,找一下正規w3c的用法 發現可以用這樣子的語法來實現。 $("form").each(function(){ this.reset(); }); 蠻方便也很簡單。

Javascript開新視窗Tips

開發網站介面的時候,常常會遇到空間不足的問題。瀏覽器大小就這樣,要放進網頁的資訊卻那麼多,該怎麼辦呢? 如果只是單純顯示資料,用AJAX呼叫回傳,顯示在select tag或div裡面就可以了。這樣介面簡潔,操作也不複雜。可是,如果需要更多互動的話,用AJAX,開發人員辛苦之外,介面太複雜維護不易,用戶用起來也不見得舒服。 這時候,開個小視窗另外操作,必要時也可以回傳結果到母網頁,對開發人員和用戶來說,應該都可以是權宜的好辦法。 window.open很常用也很簡單,本篇分基本型、完整型、遙控型三方面介紹,接下來就直接進範例嚕: 1.基本型 window.open ('page.html'); 這是給只是想丟資料出來的人用的,或是想要強制另外開視窗。不過,真是這樣的話,用 Yahoo! 會更好。當然有時也會,需要用程式來判斷網頁方向也說不定。簡而言之,這個是方便記憶用的。 2.完整型 window.open ('page.html', '_blank', 'height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=n o, status=no'); 應該大部分會用到的是這行吧!先給目標URL,其次是開啟的目標,等同a tag的target屬性。第三個參數,就是給被開啟的瀏覽器設定,設定參數在上面的範例應該都有了,如果有缺漏請跟我說喔^__^。 3.遙控型 var new_window=window.open( ... ); if( new_window.opener == null ){ new_window.opener=window; } 這裡展示的是開啟新視窗之後,還想要繼續對新開的視窗做操作時,我們就可以用一個變數接收window.open()的回傳,如此就可以追蹤新開的視窗。新視窗也可以透過window.opener,將特定的資訊回傳給母視窗。 例如:在新視窗裡用: window.opener.document.getElementById('obj').innerHTML="XXX"; 或者 window.opener

正規表示法::不貪多演算

不論在哪種語言,正規表示法(regular Expression,簡稱RE)預設上都會盡可能的擷取更多的資料範圍,一般稱為貪心演算法。當然本篇不是在研究演算法本身,只是作為常用RE的筆記。 但是一般實務上,通常並不需要貪心演算,許多情況下,貪心演算甚至會礙事。所以,當我們在抓取資料的時候,必須要告訴電腦:老實點,別太貪心!這在RE裡面是怎麼表示呢?就是在次數表示符(quantifier)後面,加註一個『?』,例如: 『.*』代表抓取任意字元、任意次數、貪心演算 『.*?』代表抓取任意字元、任意次數、不貪心演算 『.+』代表抓取任意字元、一次以上、貪心演算 『.+?』代表抓取任意字元、一次以上、不貪心演算 在quantifier 後面加註問號,並不會改變他的意義,改變的只有他的『貪婪程度』。 其他例子: \d*? :任意數字、任意次數、不貪心演算 \w*? :任意文字、任意次數、不貪心演算 \D*? :任意非數字、任意次數、不貪心演算 \W*? :任意非文字、任意次數、不貪心演算 其他正規表示式的參考資料 1. 比對 「一個字元」 的符號: [...] ... 當中任何一個字元 [^...] 除了 ... 之外的任何一個字元 . 任何一個字元 2. 「定位」 功能的 anchor: ^... 以 ... 開頭的字串 ...$ 以 ... 結尾的字串 \b 文數字/非文數字 的邊界。 3. 計數用, 表達 「重複出現多少次」 的 quantifier: {5} 重複 5 次 * {3,7} 重複 3 到 7 次 ? 可有可無 (0 次或 1 次) * 重複出現任意次, 包含 0 次 + 重複出現任意次, 至少 1 次 常用符號: \d 等同 [0-9],代表『任意數字』 \D 等同 [^0-9],代表『任意非數字』 \w 等同 [a-zA-Z0-9_],代表『任意文字』 \W 等同 [^a-zA-Z0-9_],代表『任意非文字』 \s 等同 [ \t\n],代表『任意空白字元』 \S 等同 [^ \t\n],代表『任意非空白字元』 轉錄: http://deer.nublog.cc/article.php?u=DeeR&i=20080225

Is it ME?

測驗連結 挑戰型(權威自信,敢作敢為) 您經常是精力充沛、情感強烈、專橫霸道、叛逆、保護者、獨斷獨行、一不作二不休的人。您工作賣力,玩樂也賣力。 您擁有一定的個人倫理,涵蓋了整合、真理和正義,透過這個個人倫理,您以正反對立的角度觀看世界。 您雖然重視公平,卻不太樂意聽到其他人的觀點。 優點: 您對朋友和所愛的人會極端保護和支持,您會因為他們受到不公平對待,不夠強壯到足以為自己爭鬥的人而努力抗爭。 缺點: 不尊重他人的權利和需求,為了自己而脅迫他人。 愛情: 您深刻重視感情,但由於您獨斷獨行,而且有對控制的需要,可能會出現建立關係的困難。 在親密關係中,爭吵對您來說是主要的,這是安全保持連繫的一種刺激方式。 您是能鼓舞對方,有趣的伴侶,而且會永不厭倦地保護對方,支持伴侶自我實現。 「我知道她的聰明、能幹,而且我愛這樣,但是踏入這個充滿危險威脅的世界,她跟著我走是重要的,這樣我才知道她是安全的。這看起來像是控制,然而卻是對她的保護。」 安定方位: 付出型 在安定的狀態下您會變得順從、願意付出、容易受人影響,讚成和自己有關的事物。 壓力方位: 思考型 當面對感情的壓力或情緒對抗時,您會變得沮喪、怠惰、不溝通,而且無法決定自己在思考的事情,並加以實行。 建意: 學習接受沉悶和恐懼 認知並歡迎您的脆弱及無力 改善自己責備他人的傾向 最渴望: 控制掌握一切,當家作主 最恐懼: 屈服於人 最難達到的美德: 純真 (Innocence) 最難克服的執念: 縱慾 (Lust)

Google神秘伺服器大公開(轉)

轉錄至 ZDNet 沒有想到Google裡面的電腦硬體會是這麼的陽春,雖然說早就已經知道他們是用蠻低廉的價格來自制硬體和軟體,不過居然跟我的電腦其實差沒有多少,還真是令人驚訝。 而且還省略使用UPS的硬體,採用自行設計的儲存型電池,但是我還是對這個電池有一點點質疑,難到時間到了不用更換嗎? 一個貨櫃裡面就是滿滿的SERVER,和我們的DATA,這些貨櫃裡面裝設的,不只是硬體,內部的資料才是驚人的可怕啊!1160個SERVER,真是有點給他誇張,不過套句鄉民的意見,"google,不意外!"

Javascript 和 Flash之間的戰爭....

這一篇真的就只能用中文來寫出我的感想了,話說最近看到一篇 ZDnet的報導 ,裡面指出Javascript和Flash之間的一場戰爭,裡面包含了瀏覽器之間的戰爭,還有Javascrip、Flash、slivelight,其中Flash和Slivelight其實是屬於同樣的產品。 雖然說微軟一直想要在軟體界稱王,確實他也做到了,不過現在是web的時代,目前看來好像還沒有一點頭緒誰才是真正的領先者,也許google勝出的味道多了一些,畢竟他是真正讓使用者感覺到web新體驗的角色,而其中google的很多產品威脅到了一般軟體的存在,也漸漸改變大家對於web的觀感。 不就是瀏覽器的戰爭和web之間的搶食,那跟javascript、flash、sliverlight有何關係呢?其實對於使用者來說這三個扮演的角色都是讓使用者可以感受到web威力的人,很多人都在說web2.0,但具體的來說web2.0這種東西並不存在,讓這些實現的關鍵主要是頻寬的提升,電腦硬體架構快速,儲存容量增加,價格也越來越低廉,種種因素導致這些老技術重新被提及。 在五六年前,如果你的網頁使用XMLhttpRequest可能會被罵死,因為網頁可能因為傳輸量過大的關係,導致整個瀏覽器Crash,但是現在如果你不使用這種技術,讓使用者一直更新頁面,那該死的就是VD(vitraul disgner),Flash和sliverlight也是一樣,頻寬不足,光下載個軟體都要等這麼久了,更何況多個plug-in,還要等待影音的loading,這真是天大的笑話。 而我個人覺得雖然javascript在維護和撰寫上其實跟flash相較起來,是困難了許多。但是plug終究是plug並不是每個user都願意install,或者是想要去學習如何安裝plug,要叫user為了一個新的服務去學習(安裝)一種東西,那他寧可使用舊有的方式。 再者javascript是屬於開放式的程式,任何有心的人想要去學習都不是一件困難事。有很多公司也開始朝著簡化javascript在努力中,例如:Yahoo, google, jQuery, prototype......,因為他們的整合與努力,讓front-side的程式撰寫者有多些選擇,省下許多時間解決瑣碎的問題,尤其這些都是open可以經由群體的力量讓javascript漸入佳境。 另外漸進式的網

Trying open MSI U90

Originally, I planed to add a DDR ram in my MSI U90. I went to TK3c buying a 2GB DDR ram, and fast get home. The first problem was how take apart U90, I was trying open it carefully, I was afraid to broken it. Finally, I did. And put Ram in U90, Second fire up the note. Oh no ,nothing appear. What was happend? Try again. the same result. OK, I took apart Ram, open it. Unbelievable, It work. I want to figure out what is going on. I think maybe there is a ram in the note. So I open the case , fan, wireless of the note. But I did not find the ram. Oh my god, Where is the Ram? Show me. Finally, I found it. Guest what. Ram was fixed next to the plug slot. I did not find it as the first time opening note. I mash all the desk, and there were many screws. It is a big mistake. But I still can not add Ram in my note. How can I do now?

建立XMLHttpRequest pool

在ajax應用中,通常一個面要同時發送多個請求,如果只有一個XMLHttpRequest物件,前面的請求還未完成,後面的就會把前面的覆蓋掉,如果每次都創建一個新的XMLHttpRequest物件,也會造成浪費。解決的辦法就是創建一個XMLHttpRequset的物件集區,如果池裡有空閒的物件,則使用此物件,否則將創建一個新的物件。 下麵是我最近寫的一個簡單的類: /** * XMLHttpRequest Object Pool * * @author legend <legendsky@hotmail.com> * @link http://www.ugia.cn/?p=8 * @Copyright www.ugia.cn */ var XMLHttp = { _objPool: [], _getInstance: function () { for (var i = 0; i < this._objPool.length; i ++) { if (this._objPool[i].readyState == 0 || this._objPool[i].readyState == ) { return this._objPool[i]; } } // IE中不支援push方法 this._objPool[this._objPool.length] = this._createObj(); return this._objPool[this._objPool.length - ]; }, _createObj: function () { if (window.XMLHttpRequest) { var objXMLHttp = new XMLHttpRequest(); } else { var MSXML = [’

安裝獨立的 IE7 正式中文版(免安裝)

轉錄于: 安裝獨立的 IE7 正式中文版 因為編寫網頁的關係,可是很多時候瀏覽器版本不同,造成需要切換來切換去,看看自己設計的版面和程式,在所有的瀏覽器能否使用,因此IE6 IE7這兩個兄弟的共存變得很重要。 還好網路上有搜尋到這篇,讓我的IE可以同時兼容,真是太感激了XD 以下是轉載的內容 讓我為各位解說一下如何安裝獨立版的 IE7:    1.第一步當然是先把 IE 7 for XP SP2 中文版 下載回來,檔案名稱為 IE7-WindowsXP-x86-cht.exe ,這裡我將它放到 D:Software 下 (你可以自行決定儲放的位置) 。       2.進到 DOS 命令列視窗,用以下指令把 IE7-WindowsXP-x86-cht.exe 解開至 D:\SoftwareIE7 :(「DOS 命令列視窗」就是"開始/附屬應用程式/命令提示字元"。或是直接用"開始/執行"亦可。)       IE7-WindowsXP-x86-cht.exe /x    3.再下載 IE7 standalone 的 zip 檔 ,並將它解開,裡面會有一個 IE7s.exe 和一個 LICENSE.rtf 。 (注意,我們只需要 zip 檔,不要下載到安裝檔了。)    4.把上一步驟的 IE7s.exe 放到 D:SoftwareIE7 裡。    5.把整個 D:\Software 的 IE7 資料夾搬到...隨便你放哪...我是擺在 C:Program Files 下。    6.幫 C:\Program\FilesIE7\IE7s.exe 建立一個捷徑,然後把這個捷徑移到桌面上。

媽啊!我幫Google換衣服啦

有一天我打開我的Gmail發現一件事情,媽啊!我的Google mail怎麼不一樣了XD 揪~竟,是怎麼回事,讓我們繼續看下去 原來都是這個網站搞的鬼 那到底是怎麼發生的呢? 首先您必須要具備幾個條件 ೧. 使用 Firefox3.0 以上版本 ೨. 具有Google account 再來跳轉到這個網站 按此 按下install允許安裝Firefox的plug-in,重新啟動Firefox,以上的動作就完成了。 接下來再進去Gmail瞧一下,哇!不一樣勒! 下載這個plug-in會發現Google mail, reader, calendar 外觀都會改變,如果不想要這樣的格式,也是OK的啦。看看你的Firefox右下角有一個圖示,按下去將你要的服務取消掉就可以嚕。

CSS 切割多餘字元在 DIV內

很多時候都會遇到想要只顯示一行 但是無奈字串就是會給你斷行繼續顯示 要切割字元一定要用JS嗎? 不用 用這個CSS語法即可搞定 white-space:nowrap; overflow:hidden; /*底下這行IE專用,可顯示...的文字*/ text-overflow:ellipsis; 不過前提是要設定寬度width,超過寬度就會以...顯示

遠端server不能更改ini的辦法

有很多時候我們要測試一些東西,但是因為無法控制系統 所以導致很多除錯的資訊無法輸出 可以嘗試一下這個語法 ini_set() 範例: //顯示錯誤訊息 ini_set('display_errors', 1); 只有 Changeable 欄位為 PHP_INI_USER 或 PHP_INI_ALL 才可以接受 ini_set() 設定。 參考網址: http://tw.php.net/ini_set