日誌 - 最新的日誌
 訂閱日誌

最新的日誌
2015/07/07

作者: tacoball (16:02:31)
好久沒有搬機器了

因應EC2之前的長期優惠方案到期了, 所以把機器搬到新的T2 Micro Level的機器上
希望一切順利啦XD
2009/04/21

作者: Crux (14:55:28)
現在用的Mantis還是1.0.8版, 這個問題其實在1.1.0版時已經解了.

Mantis在做檔案上傳時, 所呼叫的 function:file_add 中, 有一個檢查用的 function, 名為 diskfile_is_name_unique, 在這裡它確認了 Table:mantis_bug_file_table 的 diskfile 欄位是否與目前要上傳的重覆, 由於這個欄位沒有建 index 的關係, 導致查詢緩慢.

以我實際的情況來說, 在近端最快也要 7 秒, 這還是最近換了新 Server 的結果(以前約 50~60 秒), 如果是以其他辨公室來存取, 還沒換 Server 前, 跑到 timeout 也常發生.

在此之前, 因為眼殘, 追 code 時一直沒注意到這個 function (因為直覺認為是要存入 disk 才需要 call), 所以一直以為是 table 太肥造成的, 還打算要用 MySQL 的 Partitioning 方案解決... XD

因為不甘心, 所以在找機器測 partitioning 前, 又重看了一次 code, 才發現這個盲點, 建好 index 後, 一切順利.
2009/03/16

作者: tacoball (15:25:53)
http://www.trirand.com/blog/?p=231

如標題,jqGrid出了新的alpha版。
為什麼我要特別在這邊幫他廣告呢?

因為它把jQueryUI的theme引擎包進去了啊啊啊啊~~~~

如果一個 JavaScript UI 的 framework 要稱為成熟,table grid 的元件是很重要的。
我想 jQueryUI 可以拿來用了,雖然jqGrid不是jQueryUi Team維護的:p

===
jQueryUI Team 的 GridTable 計畫
http://wiki.jqueryui.com/GridTable
===

總之,可以拿來用看看了
2009/01/17

作者: tacoball (09:54:31)
新年第一篇文章?...跟我工作有關的:p

PHP之父的開發祕訣
http://www.ithome.com.tw/itadm/article.php?c=52476

其中談到大型網站要如何考量架構的問題,值得一看。
這對於很多用慣opensource軟體系統的人是另外一個思考的方向:D



PS:話說,我丟這個給同事看,結果他們以為我要說的是OOP之於PHP6的問題:p
2009/01/14

作者: Crux (15:47:52)
下午原本正常的網頁在我於Array中加了一個值後, 忽然的在IE中Run不出來, 只有一片空白, PHP沒有顯示錯誤, 在FireFox中也可以正常Work, 查看了Apache的Log也一切正常, 一整個詭異.

原本不想為了只有IE出現的問題特地花時間, 必竟這個網頁不是要灑出去給大家用的, 是任務性的東西, 只會在我的操作下用這麼一次, 想想偷懶算了... ~_~

結果整個網頁調整完, 工作完成後, 離下班還有時間, 就忍不住去找答案了.

很快的估狗到一篇很詳細的文章 - IE中打開UTF-8編碼網頁顯示空白問題
靠它的幫忙, 問題馬上就解決了!

作法很簡單, 就是把我原本寫在<meta>之前的<title>移到<meta>之後就可以了.. (非常白爛)

原因則是IE在讀取到我的<title>時, 因為不認得我的UTF-8中文字, 產生了錯誤, 就不再讀取返回空白畫面. 而在FireFox下之所以正常, 是因為FireFox會去找到<meta>以決定這個網頁是用什麼編碼, 再重頭輸出, 所以會正常.

這篇文章裡面還說明了一件很有意思的事, 也就是說, 當<title>中的中文是偶數時, 約有3/4的機會正確, 若是奇數時, 則都會錯誤, 這點正好符合我遇到的情況..

我這隻網頁title是存在array中, 依情況顯示的, 而正好原本array中的所有value都是偶數的中文, 新加入的則是一個三個中文字的值. 一整個巧.

特此記錄.
2008/09/22

作者: tacoball (07:19:25)
http://docs.jquery.com/UI/Datepicker

很好很強大,options屁話說一堆
真正要用的setting manual翻來翻去都找不到,X的

死外國人到底在想什麼。

PS:找到了,藏在第一個link的option裡,點下去畫面爛光光是怎樣!
2008/09/09

作者: Crux (10:17:16)
今天在做ASP的 AD Search, 全部的東西寫好後, 執行卻錯了...
Failed:System.Runtime.InteropServices.COMException (0x80005000):Unknown error

看到 Unknown error 的感覺無敵囧, 是在Unkonwn個什麼鬼呀.....
不過還是看的出來是錯在這裡面
public SearchResultCollection searchUser(string strSearchKey)
{
  
DirectoryEntry entry = new DirectoryEntry(AD_DOMAINAD_SEARCH_PASSWORDAD_SEARCH_USER);
  
DirectorySearcher adSearcher = new DirectorySearcher(entry);

  
adSearcher.Filter '(&(objectclass=Person)(SAMAccountName=' strSearchKey '))';
  
adSearcher.PropertiesToLoad.AddRange(new string[] { 'company''displayname''samaccountname''mail''givenname''sn' });

  
SearchResultCollection resultCol adSearcher.FindAll();

  return 
resultCol;
}


問了孤狗大神後, 找到了這一篇, 照著上頭的方式又試了整個下午...不僅沒有用, 還弄壞了本來的AD Login, 實在想不通, AD Login會過, 沒理由Search不過呀? 囧rz


最後還是解決了, 很囧很囧..囧翻了的解決了, 人若笨.. 唉..

順道一提, DirectoryEntry的建構式長這樣... 你和我一樣醒了嗎? Orz
public DirectoryEntry (
    
string path,
    
string username,
    
string password,
    
AuthenticationTypes authenticationType
)
2008/09/04

作者: tacoball (02:54:25)
啾咪瀏覽器開始 public beta
試用感想是...safari for windows 安心上路 XD

http://www.google.com/support/chrome/ ... ?answer=95696&topic=14683

參照:
如果您的網站在 Safari 3.1 中運作正常,那麼在 Google Chrome 中應該也會運作正常。


很簡單,因為 kernal 都是 WebKit。
2008/09/02

作者: Crux (03:50:40)
之前接到想要把中文用標楷體, 英文用Times New Roman的要求, 很傷心的一段字一段字的切span去設字體, 結果昨天在網路上找別的東西的時候, 卻看到有人說可以CSS設了就好

body,html{     
  
font-family"Times New Roman"標楷體
}


馬上照抄一份, 而且在我使用的編輯器(KompoZer)裡立刻就變成好看的二種字體, 歡呼呀!!!

結果, 怎麼上線一看還是一樣呀... (淚奔)
再找一找.. FireFox Only.. =_=

暗, 我討厭 xxx Only 啦! 雖然我用FireFox, 但我的User不是呀.. (淚奔 again)
2006/12/06

作者: tacoball (10:11:27)
好用到爆炸的 FF plug-in.尤其是雙螢幕加持時另開 firebug 到另一個視窗,邊瀏覽網頁邊看網頁的實際架構,可以馬上上功力增加不少喔 XD

現在的開發方式
1. 直接 on the fly修正頁面HTML看結果,然後測出來效果了以後整個 copy 下來貼回去 ultraedit。
2. 遇到想要知道的 global var/function 把 window 丟下去觀察就知道了
3. 改 CSS 也不用這麼麻煩對來對去該改哪裡了,直接直定要觀察的目標他會告訴你他的 CSS 是啥,定義在哪裡 or 那個css。
4. Javascript debugger 多了 watch 功能(省得我到處寫console.log),裡面的非英語系文字顯示也正常了,不用回頭去找第幾行。
5. exception 顯示 function 的時候,順便顯示了傳進去的變數,省得再攔下來抓。
6. 新增的 Met 功能,可以顯示一個頁面載入時 browser 讀取資料的先後順序和時間,方便我 tune load 資料的順序和頻率。

提供這工具的人會有福報的啊啊啊啊...。
2006/08/15

作者: tacoball (04:51:47)
有一些新功能...
例如已註冊會員可以試試看HTML content的輸入

菜菜子的新馬力廣告=v=↓



其餘零碎的東西大家可以慢慢發覺:p...
(事實上剛弄好我也還在摸=.=)
2006/08/07
2006/06/06

作者: tacoball (04:37:03)
http://taco.techarea.org/rss/

唯一用到javascript之外的地方,是為了讓XMLHttpRequest跨Domain用的php code。(fetch 檔案回來 echo)

原本想作一個具有一般RSS reader功能的東西,但是後來發現問題還挺嚴重的。

原因是我的理想功能有幾個作不到:
1. 定期幫我抓我沒時間開 RSS reader 時的 feed 回來。
(javascript 是 client 的東西啊...)
2. 共享 feed,節省取得 feed 的時間。
(取得的feed勢必要在一個地方儲存,還有儲存各個user和feed的對應關係)

簡單來說,bloglines 作了什麼,我也想作:p

所以,純用javascript去處理這一段,雖然在parse feed階段因為javascript的高速取得了很大的鼓舞,但是真正的理想功能卻非得要server side script才能做到。

這,應該又是一個我考慮不夠周全的結果吧:p

於是目前的想法變成。
1. php parse RSS feed。
2. php create XML feed。
3. javascrpit read XML feed, show it.

由1和2的部分,處理那些應該要作的功能(cron sync feed)
最後3僅處理介面顯示。

還是回到老路啊XD
2006/06/02

作者: tacoball (05:19:17)
James McParlaneJames McParlane今天有一篇文章談到了一些不該在javascript中作的一些行為。

ajaxian有整理了一下,在下面轉述:
1. Don’t use Object.prototype to extend the base ‘Object’.
2. Don’t use ‘Array’ for an Associative Array
3. There are two types of Library ‘Primary’ or ‘Secondary’. James sees Dojo, Prototype, et al becoming “primary” libraries on which other, more specialized libraries, build.
4. Port code that uses ‘Array’ for Associative Arrays. (Use objects and not Arrays for associative array behavior.)
5. Write JavaScript Tools That Warn Of Rule Violations.

不是很明白為什麼,還在看@@
在這裡記錄一下ccc
2006/06/02

作者: tacoball (04:31:58)
不是canvas、也不是VML or SVG。
有個神經病用了 pure div 去產生圖形=.=

http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm

看了一下,真的是強者。
不過強歸強,整篇我只注意到一句話

"However, don't compare the performance with Java or stand-alone applications!"

中肯。
2006/05/26

作者: tacoball (09:49:14)
用途自己理解XD
Date._parse Date.parse;
Date.parse = function (date_str) {
    
//regex to match wc3dtf
    
var Date._parse(date_str);
    if (
isNaN(t)) {
        var 
format = /(d{4})-(d{2})-(d{2})T(d{2}):(d{2}):((d{2}))?(?:([-+])(d{2}):?(d{2})|(Z))?/;
        var 
match date_str.match(format)  
        if (
match) {
            var 
year match[1];
            var 
month match[2];
            var 
day match[3];
            var 
hours match[4];
            var 
minutes match[5];
            var 
seconds match[6];
            
//calc epoch for current date assuming GMT
            
var gmmktime = new Date();
            
gmmktime.setUTCFullYear(year);
            
gmmktime.setUTCMonth(month-1);
            
gmmktime.setUTCDate(day);
            
gmmktime.setUTCHours(hours);
            
gmmktime.setUTCMinutes(minutes);
            
gmmktime.setUTCSeconds(seconds);
        
            var 
epoch gmmktime.getTime();
            var 
offset 0;
            if ( 
match[10] != 'Z' ) {
                var 
tz_mod match[8];
                var 
tz_hour match[9];
                var 
tz_min match[10];
                
// zero out the variables
                
if ( ! tz_hour ) { tz_hour 0; }
                if ( ! 
tz_min ) { tz_min 0; }
        
                var 
offset_secs = ((tz_hour*60)+tz_min)*60;
        
                
// is timezone ahead of GMT?  then subtract offset
                
if ( tz_mod == '+' ) {
                    
offset_secs offset_secs * -1;
                }
                
offset offset_secs;
            }
            
epoch epoch offset;
            return 
epoch;
        }
        else {
            return 
NaN;
        }
    } else {
        return 
t;
    }
}
2005/11/23

作者: tacoball (02:41:50)
要做到不reload頁面而更新資料的方法有很多種,不過一般來說都是 XHR or Iframe 兩種來做。
(事實上,在公司我都用iframe作,因為至少不用另外綁一個 XHR 的 js code 進來)


一篇文章有關於 iframe 和 XHR 的效能測試,看來我還是乖乖的用 XHR 比較好啊=v=...
2005/09/20

作者: tacoball (17:37:40)
縮圖
有圖有真相,PHP/SWF charts新版支援中文了(意思就是可以自訂字型)

看來算得上是有前途的東西了,嘿嘿嘿嘿。
2005/09/05

作者: tacoball (02:27:16)
我一直以為使用者介面是需要經過人因工程的方法去實作,去研究的。
那天在火車上想啊想,原來我是錯的。
事實上,很多人都是錯的。

由於使用者的經驗對於操作介面的好壞有決定性的因素,所以所謂的好壞
不能藉由一般的研究方式去問:「你覺得這個介面好不好用啊?」
而是在於精確計算使用者在完成同樣動作時在新舊介面中那細微的
動作操作時間。

但是問題來了,誰能保證在舊介面的操作習慣不會影響到新介面的操作習慣?
那所謂的使用者經驗,不就是舊介面中的user mind?
太有趣了,使用者的經驗就是所謂的舊介面,那新介面的設計原則是依照使用者經驗去打造,所以操作模式不會離舊介面太遙遠。

於是,雞生蛋loop。
於是,我們不再需要去思考太多所謂的介面,因為照著最常見的使用者刻板印象去設計介面就是了。(於是,B公司的首頁就是A公司和Y公司的混合版),因為使用者的操作習慣已經被其他公司教育成那樣的user mind了。
於是,有大量機會促成使用者經驗的人決定了介面開發的原則,其他UI只能照著去做,要不然就會變成使用者介面不良的標準示範。

當然,有方法可以避免,就是像google一樣把search UI簡化到剩下textbox一個和submit button一個。

想到了嗎?這樣才是重新教育使用者經驗的最簡單方法。
別人的使用者經驗被簡化成剩下輸入文字,按下按鈕。不再需要在畫面上找尋自己應該要點哪一個入口網站的link。
因為簡化了,所以使用者操作的門檻便低,使用的人數也增加了。
使用人數增加,就會讓google開始決定UI的設計原則。

很資本主義的感覺。:p
2005/08/26

作者: tacoball (11:29:12)
http://www.sergiopereira.com/articles/prototype.js.html

prototype.js的說明文件,寫的真是詳細。
之前因為一直沒有文件,所以對這個entension lib沒啥興趣。雖然我知道一狗票的新AJAX應用都是從這個延伸出來的。

剛剛翻了翻,終於知道為什麼之前我 inclide prototype.js 進我寫的html裡會有問題了。
因為這個lib自己創造了一個 element 物件, 所以會跟原有的form.element打架...orz

姆...故事告訴我們...就算IE和firefox都過的了,也不代表prototype.js過的了~_~...

(1) 2 »

日誌月曆

        

會員登入

小老虎成長中

小小龍成長中

搜尋




JUMP to TOP - 28.04.2024 -