littleQ

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

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

          2008年10月7日 #

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

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

          支付寶四周年活動(dòng)(http://4y.alipay.com)上線,積分游樂(lè)場(chǎng)有個(gè)拉霸游戲,可以抽中D1便利網(wǎng)的44元優(yōu)惠券。這個(gè)優(yōu)惠券,是購(gòu)買指定商區(qū)的商品才能使用的,但是,我們通過(guò)修改頁(yè)面元素,就可以直接使用優(yōu)惠券。比如一個(gè)42元的商品,本身是不能使用優(yōu)惠券的,但是這個(gè)bug就能讓你用上44元優(yōu)惠券,再加上免運(yùn)費(fèi),就相當(dāng)于不用花錢就拿到這款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)買這款商品的時(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 閱讀(1438) | 評(píng)論 (3)編輯 收藏

          關(guān)于Spring的事務(wù)學(xué)習(xí),我覺得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ù)則開啟一個(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ì)的寫出來(lái)了,大致的意思大家也應(yīng)該能看明白,事務(wù)的隔離級(jí)別和傳播行為都是默認(rèn)的。調(diào)用B的functionB方法,大家覺得會(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 閱讀(1388) | 評(píng)論 (5)編輯 收藏

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

          CO.CC:Free Domain

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

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

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

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

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

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

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

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

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

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

           

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

          使用load,導(dǎo)入clover.license。到這里,Clover已經(jīng)安裝完成,開始進(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,打開,看到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)告見附件。

           

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

           

          posted @ 2008-10-10 19:28 littleQ 閱讀(2101) | 評(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)典好書:深入淺出JavaScript(圖靈計(jì)算機(jī)科學(xué)叢書)
          posted @ 2008-10-07 13:45 littleQ 閱讀(8338) | 評(píng)論 (5)編輯 收藏