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

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

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

    littleQ

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

      BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
      33 Posts :: 0 Stories :: 60 Comments :: 0 Trackbacks

    2008年9月27日 #

         摘要: 今天參加了公司安排的《六頂思考帽 》的培訓(xùn),講師是keylogic的王展程。
    且不論王老師講的如何,就六頂帽子所強(qiáng)調(diào)的思想來(lái)說(shuō),是件很有意思的事情。原作者愛(ài)德華·德·博諾 強(qiáng)調(diào)的概念是把思想簡(jiǎn)單話,在同一時(shí)間內(nèi)只使用一個(gè)思維去思考。

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

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

    代碼是這樣子的:
     

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

    關(guān)于Spring的事務(wù)學(xué)習(xí),我覺(jué)得klyuan有一篇文章介紹的很不錯(cuò):http://www.javaeye.com/topic/78674。從這篇文章里,我弄清楚了臟讀,幻讀等概念。

    Spring的默認(rèn)事務(wù)隔離級(jí)別ISOLATION_DEFAULT ISOLATION_READ_COMMITTED 提交讀;默認(rèn)事務(wù)傳播行為是PROPAGATION_REQUIRED,如果存在一個(gè)事務(wù),則支持當(dāng)前事務(wù)。如果沒(méi)有事務(wù)則開(kāi)啟一個(gè)新的事務(wù)。

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


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

    }


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

    }

    代碼我就不詳細(xì)的寫(xiě)出來(lái)了,大致的意思大家也應(yīng)該能看明白,事務(wù)的隔離級(jí)別和傳播行為都是默認(rèn)的。調(diào)用B的functionB方法,大家覺(jué)得會(huì)出現(xiàn)什么問(wèn)題?

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

    現(xiàn)在.cn的域名第一年1塊錢(qián),淘寶上到處都有的賣(mài)。不過(guò)還有比這個(gè)更便宜的,沒(méi)想到吧~不僅是便宜,而且還是免費(fèi)。

    CO.CC:Free Domain

    當(dāng)然也不是所有的都是免費(fèi)的,比如我搜索friends的域名,結(jié)果是:
    www.friends.co.cc is already registered

    下面會(huì)顯示一些其他類(lèi)似的域名,比如:
    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

    等等其他很多域名。要錢(qián)不注冊(cè),免費(fèi)的就注冊(cè)幾個(gè)玩玩好了。

    點(diǎn)擊這里去co.cc注冊(cè)

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

    前段時(shí)間做的一個(gè)升級(jí)包到線上后出了個(gè)bug,原因是因?yàn)樽鰷y(cè)試的時(shí)候沒(méi)有完全覆蓋到。痛定思痛,決定使用Clover來(lái)提高代碼的單元測(cè)試覆蓋率。

    開(kāi)發(fā)的IDE是使用的Eclipse3.4,這里主要說(shuō)一下在Eclipse中如何使用Clover,也是剛使用不久,寫(xiě)在這里和大家探討一下。

    http://www.cenqua.com/download.jspa下載Clover,還需要申請(qǐng)一個(gè)license,否則無(wú)法使用。我下載了30天試用版。

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

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

     

    還需要導(dǎo)入clover.license。從Preferences->Clover->License進(jìn)入:

    使用load,導(dǎo)入clover.license。到這里,Clover已經(jīng)安裝完成,開(kāi)始進(jìn)入我們的單元測(cè)試。

     

    我新建了一個(gè)project,結(jié)構(gòu)如下:

     

    Sample.java和SampleTest.java內(nèi)容分別是:

    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。上面有一個(gè)Enable Clover in this project,勾上,apply->OK.

     

    從Window->Show view->other進(jìn)入,找到Coverage Explorer,打開(kāi),看到Clover選項(xiàng)的相關(guān)信息:

    點(diǎn)擊紅框內(nèi)的按鈕,會(huì)彈出重新構(gòu)建工程的提示,點(diǎn)擊"是"即可。

     

    在Coverage Explorer界面下,我們會(huì)看到:



     

     

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



     

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

     

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

     

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

     

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

    用JS實(shí)現(xiàn)div的自動(dòng)滾動(dòng)。代碼如下:
     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(一次滾動(dòng)高度,速度,停留時(shí)間);**/
        
    31</script>
      
    32

    推薦一本學(xué)習(xí)javascript的經(jīng)典好書(shū):深入淺出JavaScript(圖靈計(jì)算機(jī)科學(xué)叢書(shū))
    posted @ 2008-10-07 13:45 littleQ 閱讀(8329) | 評(píng)論 (5)編輯 收藏

    在網(wǎng)上收集到幾個(gè)當(dāng)當(dāng)?shù)膬?yōu)惠券,貼出來(lái)給大家共享。

    序號(hào) 面值 卡號(hào) 時(shí)間
    01 5元 lm163377 2008.09.01-2008.10.31
    02 5元 lm163388 2008.09.01-2008.10.31
    03 5元 lm163449 2008.09.01-2008.10.31
    04 5元 lm163455 2008.09.01-2008.10.31
    備注 禮券每張5元,購(gòu)物金額大于50元

    去當(dāng)當(dāng)看看

    posted @ 2008-10-06 13:09 littleQ 閱讀(256) | 評(píng)論 (0)編輯 收藏

    轉(zhuǎn)眼又是國(guó)慶了,7天假期。還記得去年國(guó)慶的時(shí)候,正是大四學(xué)生忙著找工作的時(shí)候,校園招聘也逐漸進(jìn)入高潮。那時(shí)候幾個(gè)要好的兄弟,很多都是準(zhǔn)備考研,也有好幾個(gè)是考研和找工作兩手都抓—我就是其中一個(gè)。這是一件很痛苦的事情,每天早上很早就去圖書(shū)館占位置,一個(gè)杯子,幾本書(shū),除了吃飯上廁所,就是把頭埋在書(shū)里。遇到一家公司有宣講會(huì)了,就會(huì)很痛苦的猶豫到底要不要去。我們學(xué)院在郊區(qū),而宣講會(huì)招聘會(huì)都是在市中心的本部校區(qū)。

    不管是考研還是找工作,都要做好充足的準(zhǔn)備,為了這些去看很多書(shū)。考研我就不多說(shuō)了,因?yàn)樵趦烧咧g我最后還是選擇了工作。

    <<程序員面試寶典>>java程序員面試寶典前面這本主要收錄的是Cc++的題目。仔細(xì)看完這兩本,基本能應(yīng)付大部分C C++Java筆試題。

    <<深入理解計(jì)算機(jī)系統(tǒng)>>:從程序員的角度看計(jì)算機(jī)系統(tǒng),求職必備,考研也必備

    看完以上三本,一般的IT公司基本都能搞定了。

    <<C語(yǔ)言程序設(shè)計(jì)>>:薄歸薄,可是人家是學(xué)習(xí)C語(yǔ)言的圣經(jīng),你也沒(méi)辦法。同樣很薄很經(jīng)典的書(shū)還有<<effective C++>><<編程珠璣>><<effective java>>

    <<UNIX環(huán)境高級(jí)編程>>:linux系統(tǒng)程序設(shè)計(jì)的殺手。

    <<算法導(dǎo)論>>:這么聞名的書(shū),還用介紹么?這本書(shū)你買(mǎi)一本吧,不買(mǎi)對(duì)不起你學(xué)了多年計(jì)算機(jī)。想去好的公司,算法一定不能落下,筆試就專(zhuān)考你算法,不會(huì)的話抓狂也沒(méi)用。

    除了兩本面試寶典外,其他的書(shū)都是找完工作后,都能繼續(xù)留在你書(shū)架上的書(shū),當(dāng)枕頭,當(dāng)磚頭,墊筆記本,都應(yīng)該留著。

    過(guò)了筆試關(guān),還有面試關(guān)。這年頭,面試可是過(guò)N關(guān),斬N將的。一定要自信,沒(méi)自信就已經(jīng)歇菜一半了。不要小看那些面試官,他們面了那么多人,聊幾句就基本能摸清你的底。千萬(wàn)要自信,唬住那些面試官。我進(jìn)公司后,當(dāng)時(shí)面我的主管對(duì)我說(shuō),我當(dāng)時(shí)招你就欣賞你的自信。

    把面試當(dāng)聊天,心態(tài)要好。不要我,大不了我繼續(xù)回去考研唄!我當(dāng)時(shí)就這么想的。沒(méi)了壓力,自然就放開(kāi)了。

    求職的道路也許很漫長(zhǎng),也許也和我一樣狗屎運(yùn)好,只面了一家就能拿到心儀的offer。只是,在這個(gè)過(guò)程中,我們必須保持良好的心態(tài),總會(huì)有一家好公司,給我們好offer。微笑,總是更容易讓面試官記住你的名字。

    posted @ 2008-09-28 21:26 littleQ 閱讀(1808) | 評(píng)論 (5)編輯 收藏

    Velocity的比較本來(lái)很簡(jiǎn)單,只是它在比較基本類(lèi)型的時(shí)候,不僅比較值是否相等,還會(huì)比較類(lèi)型是否相同。
    拿個(gè)很簡(jiǎn)單的例子來(lái)說(shuō)一下:

    VelocityContext context = new VelocityContext();
    long aLong = 1234L
    ;
    context.put(
    "aLong", aLong);


    在velocity頁(yè)面里,進(jìn)行一個(gè)比較:

    #if($!aLong==1234)
        類(lèi)型比較成功
    #else
        比較失敗
    #end

    頁(yè)面肯定會(huì)打印出"比較失敗".因?yàn)樵趘elocity中獲取的變量aLong是long類(lèi)型,而數(shù)字1234是默認(rèn)為int類(lèi)型的。雖然值相等,可是類(lèi)型不同。
    在velocity里,好像沒(méi)有方法進(jìn)行基礎(chǔ)類(lèi)型之間的強(qiáng)制轉(zhuǎn)換,如果你知道的話,請(qǐng)回帖告訴我們。
    那現(xiàn)在問(wèn)題擺在這里,我們想看到"類(lèi)型比較成功",應(yīng)該怎么做呢?

    修改java代碼,把變量aLong強(qiáng)制轉(zhuǎn)換成int類(lèi)型:

    context.put("aLong",(int)aLong).


    不過(guò)我不是很贊成這種做法,從long強(qiáng)制轉(zhuǎn)換成int類(lèi)型,很容易造成精度丟失。
    還有一種比較直接的方法,不修改java代碼,直接修改vm文件:

    #if("$!aLong"=="1234")
        類(lèi)型比較成功
    #else
        比較失敗
    #end


    把兩邊都變成了String類(lèi)型,就不會(huì)出現(xiàn)類(lèi)型比較失敗的情況了。
    認(rèn)識(shí)比較膚淺表面,還希望大家多指點(diǎn)一下。

    posted @ 2008-09-27 10:08 littleQ 閱讀(4098) | 評(píng)論 (7)編輯 收藏