<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    littleQ

    終于明白曾經他們失落的目光,當年的你們是否一樣;間有懈怠或有頹放,難知多久方能補上;今起,不再彷徨!

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      33 Posts :: 0 Stories :: 60 Comments :: 0 Trackbacks

    2008年10月7日 #

         摘要: 今天參加了公司安排的《六頂思考帽 》的培訓,講師是keylogic的王展程。
    且不論王老師講的如何,就六頂帽子所強調的思想來說,是件很有意思的事情。原作者愛德華·德·博諾 強調的概念是把思想簡單話,在同一時間內只使用一個思維去思考。

    六頂帽子是哪六頂?
    白帽子:中性的事實和數據帽
    紅帽子:情感帽
    黃帽子:樂觀帽
    黑帽子:謹慎帽
    綠帽子………………  閱讀全文
    posted @ 2008-11-14 19:39 littleQ 閱讀(1572) | 評論 (3)編輯 收藏

    支付寶四周年活動(http://4y.alipay.com)上線,積分游樂場有個拉霸游戲,可以抽中D1便利網的44元優惠券。這個優惠券,是購買指定商區的商品才能使用的,但是,我們通過修改頁面元素,就可以直接使用優惠券。比如一個42元的商品,本身是不能使用優惠券的,但是這個bug就能讓你用上44元優惠券,再加上免運費,就相當于不用花錢就拿到這款42元的商品。 我隨便選擇一款商品,在結算中心的支付、配送信息頁面,選擇優惠券的radio是不可選的。

    代碼是這樣子的:
     

    只要把其中 的
    <input id="radio1" name="radio1" disabled="disabled" type="radio" />修改成<input id="radio1" name="tktid" value="275809" type="radio" />,就可以在購買這款商品的時候使用這張優惠券。在服務器端沒有做任何的校驗。只是在昨天下午的時候,他們發現了這個bug,并及時做出了修正,并打電話過來說抱歉,不會發貨。從客戶端到服務器的數據,都是值得懷疑的,不做任何校驗就直接處理,在安全上存在很大的漏洞。我相信D1便利網這個bug存在不是一天兩天的事情了,如果大家都利用這個bug,而且對方反應比較遲鈍的話,等商品都發貨了才發現這個bug,就已經是不小的資損了。
    完全的概念,必須刻在每一個搞網絡的人的腦子里。
    posted @ 2008-11-12 09:59 littleQ 閱讀(1434) | 評論 (3)編輯 收藏

    關于Spring的事務學習,我覺得klyuan有一篇文章介紹的很不錯:http://www.javaeye.com/topic/78674。從這篇文章里,我弄清楚了臟讀,幻讀等概念。

    Spring的默認事務隔離級別ISOLATION_DEFAULT ISOLATION_READ_COMMITTED 提交讀;默認事務傳播行為是PROPAGATION_REQUIRED,如果存在一個事務,則支持當前事務。如果沒有事務則開啟一個新的事務。

    這里有個很有意思的事情,想和大家一起分享一下。
    Class Sample{
        
    private int id;
        
    private String name;
        
    //setters and getters
    }


    Class A 
    {
        
    public void functionA(Sample sample){
        
    //事務處理,更新sample
        }

    }


    class B {
        
    public void functionB(List samples){
        
    //事務處理,遍歷samples,調用A的functionA方法
        }

    }

    代碼我就不詳細的寫出來了,大致的意思大家也應該能看明白,事務的隔離級別和傳播行為都是默認的。調用B的functionB方法,大家覺得會出現什么問題?

    --EOF--
    Spring in action 第二版
    轉自我的javaeye:http://littlez.javaeye.com/admin/blogs/254980
    posted @ 2008-10-19 16:49 littleQ 閱讀(1384) | 評論 (5)編輯 收藏

    現在.cn的域名第一年1塊錢,淘寶上到處都有的賣。不過還有比這個更便宜的,沒想到吧~不僅是便宜,而且還是免費。

    CO.CC:Free Domain

    當然也不是所有的都是免費的,比如我搜索friends的域名,結果是:
    www.friends.co.cc is already registered

    下面會顯示一些其他類似的域名,比如:
    www.7maples.co.cc is available Free
    www.friendshotmom.co.cc is available One year domain registration for $18 
    www.friends6.co.cc is available One year domain registration for $5
    www.xandu.co.cc is available Free
    www.friup.co.cc is available Free

    等等其他很多域名。要錢不注冊,免費的就注冊幾個玩玩好了。

    點擊這里去co.cc注冊。

    posted @ 2008-10-14 16:42 littleQ 閱讀(1328) | 評論 (4)編輯 收藏

    前段時間做的一個升級包到線上后出了個bug,原因是因為做測試的時候沒有完全覆蓋到。痛定思痛,決定使用Clover來提高代碼的單元測試覆蓋率。

    開發的IDE是使用的Eclipse3.4,這里主要說一下在Eclipse中如何使用Clover,也是剛使用不久,寫在這里和大家探討一下。

    http://www.cenqua.com/download.jspa下載Clover,還需要申請一個license,否則無法使用。我下載了30天試用版。

    下載后把Clover壓縮包里有兩個文件夾,features和plugins。我試著用links的方式安裝Clover,不幸的失敗了,不知道是不是我哪里配錯了,只好直接把兩個文件夾解壓到ECLIPSE_HOME覆蓋。

    打開Eclipse,從Window->Show view->other,可以看到Clover的信息:

     

    還需要導入clover.license。從Preferences->Clover->License進入:

    使用load,導入clover.license。到這里,Clover已經安裝完成,開始進入我們的單元測試。

     

    我新建了一個project,結構如下:

     

    Sample.java和SampleTest.java內容分別是:

    package com.lyoe.sample;

    public class Sample 
    {
        
    public Integer add(Integer a, Integer b) 
    {
            
    if (a == null || b == null
    {
                
    return null
    ;
            }

            Integer sum 
    = new Integer(a.intValue() + b.intValue());
            
    return
     sum;
        }

    }


     

    package com.lyoe.sample;

    import
     com.lyoe.sample.Sample;
    import
     junit.framework.TestCase;

    public class SampleTest extends TestCase 
    {

        
    protected void setUp() throws Exception 
    {
            
    super
    .setUp();
        }


        
    public void testAdd() {
            Sample sample 
    = new
     Sample();
            Integer a 
    = new Integer(1
    );
            Integer b 
    = new Integer(2
    );
            Integer c 
    =
     sample.add(a, b);
            assertNotNull(c);
        }


        
    protected void tearDown() throws Exception {
            
    super
    .tearDown();
        }


    }

     

     右擊JunitInAction工程,選擇Properties->Clover。上面有一個Enable Clover in this project,勾上,apply->OK.

     

    從Window->Show view->other進入,找到Coverage Explorer,打開,看到Clover選項的相關信息:

    點擊紅框內的按鈕,會彈出重新構建工程的提示,點擊"是"即可。

     

    在Coverage Explorer界面下,我們會看到:



     

     

    右擊SampleTest.java,選擇Run as->JUnit Test,結果如下:



     

    可以看到Sample.java的覆蓋率為71.4%.

     

    Clover還可以生成三種測試報告:PDF/HTML/XML。按鈕可以在Coverage Explorer那排的選項按鈕里找到(run new report)。html的測試報告見附件。

     

    到這里,已經算是能在Eclipse中使用Clover的基本功能了,以后慢慢探索,歡迎大家扔磚~

     

    posted @ 2008-10-10 19:28 littleQ 閱讀(2099) | 評論 (1)編輯 收藏

    用JS實現div的自動滾動。代碼如下:
     1<div id="show" style="overflow:hidden;height:210px;">   
     2</div>
       
     3<script>
       
     4function startmarquee(lh,speed,delay)
    {    
     5    var
     t;    
     6    var oHeight = 210/** div的高度 **/
      
     7    var p=false
    ;   
     8    var o=document.getElementById("show"
    );    
     9    var preTop = 0
    ;   
    10    o.scrollTop = 0
    ;    
    11    function start()
    {    
    12        t=
    setInterval(scrolling,speed);    
    13        o.scrollTop += 1
    ;    
    14    }
        
    15    function scrolling()
    {    
    16        if(o.scrollTop%lh!=0 && o.scrollTop%(o.scrollHeight-oHeight-1)!=0)
    {   
    17            preTop =
     o.scrollTop;   
    18            o.scrollTop+=1
    ;   
    19            if(preTop >= o.scrollHeight || preTop==o.scrollTop)
    {   
    20                o.scrollTop = 0
    ;   
    21            }
       
    22        }
    else{   
    23
                clearInterval(t);    
    24
                setTimeout(start,delay);    
    25        }
       
    26    }
        
    27
        setTimeout(start,delay);    
    28}
        
    29startmarquee(20,20,1500
    );    
    30/**startmarquee(一次滾動高度,速度,停留時間);**/
        
    31</script>
      
    32

    推薦一本學習javascript的經典好書:深入淺出JavaScript(圖靈計算機科學叢書)
    posted @ 2008-10-07 13:45 littleQ 閱讀(8331) | 評論 (5)編輯 收藏