java learnging

          一塊探討JAVA的奧妙吧
          posts - 34, comments - 27, trackbacks - 0, articles - 22

          2005年6月11日

          Version Eclipse 3.1

          1.性能

              a. 禁用緩存遠(yuǎn)程資源
                 Window -> Preferences -> Internet -> Cache -> 選擇Disable Caching
                 這樣在打開web.xml等文件時(shí)就不會 Loading xmlns 之類的信息了
             
              b. 禁用有效性驗(yàn)證
                 Window -> Preferences -> Validation -> 選擇Deselect All
                 可能有效性驗(yàn)證是個(gè)不錯(cuò)的功能,不過有時(shí)候需要花的時(shí)間太長,有點(diǎn)受不了,基本上也不怎么需要
              c. 禁用啟動eclipse時(shí)自動構(gòu)建
                 Window -> Preferences -> Launching -> 不選擇 Build before launching

          2.個(gè)人嗜好

              a. 修改Ant Document Url
                 Window -> Preferences -> Ant -> Document Url -> 選擇Ant Document目錄
                 這樣要比eclipse默認(rèn)去apache的網(wǎng)站訪問快多了
             
              b. 修改快捷鍵的設(shè)定
                 Window -> Preferences -> General -> Keys -> 按自己的需要修改
                 尤其是Content assist 這么一個(gè)好用的功能和我的輸入法沖突了,只有改了

              c. 修改java文件的source和output folder
                 Window -> Preferences -> Java -> Build Path ->選擇 Folders,并設(shè)為src和classes
                 這樣的項(xiàng)目文件目錄比較標(biāo)準(zhǔn),不過和maven的標(biāo)準(zhǔn)不太一樣哦

              d. 修改Mark Occerencs
                 Window -> Preferences -> Java -> Editor -> Mark Occerencs -> 把Mark Occerencs置為disable
                 這樣在選擇一個(gè)單詞的時(shí)候,與這個(gè)單詞“具有同樣含義”的單詞就不會同時(shí)加亮了

          posted @ 2005-08-17 17:38 bigseal 閱讀(1489) | 評論 (0)編輯 收藏

          Eclipse 3.0/3.1

          Subclipse releases for Eclipse 3.x are hosted at our update site. Add http://subclipse.tigris.org/update as an update site in Eclipse's update manager (which you can find in the Help menu).

          The update site itself can be downloaded and used as a local update site as well. Simply unzip the site archive, and add the path as a new "Local Site" in the Eclipse update manager. You can also host your own internal Subclipse update site by placing the site on your own HTTP server (be sure to update site.xml appropriately).

          We also provide instructions for installing Subclipse in Eclipse 3.x

          Eclipse 2.1.3

          Subclipse 0.9.3.3 is linked against Subversion 1.1.4. Binaries for Windows are included.

          Development for this version of Eclipse is no longer active. There are no new releases planned.

          Download the Eclipse 2.x version

          Note:如果把文件直接unzip到eclipse的安裝目下,在使用的時(shí)候會沒有授權(quán)文件文件之類的錯(cuò)誤。

          posted @ 2005-08-15 12:38 bigseal 閱讀(15296) | 評論 (0)編輯 收藏

          修改默認(rèn)字符集(default character set)
          在mysql的my.ini配置文件中設(shè)置,這樣在mysql啟動后就會自動加載
          例如:把默認(rèn)字符集設(shè)置為UTF-8

          default-character-set=utf8

          查看變量值:
          例如:查看字符集設(shè)置

          SHOW VARIABLES LIKE 'character_set_%';
          SHOW VARIABLES LIKE 
          'collation_%'

          設(shè)置變量值
          例如:設(shè)置字符集變量
           set  character_set_server  = utf8;
           
          set  character_set_system  = utf8;
           
          set  character_set_database  = utf8;
           
          set  character_set_client  = utf8;
           
          set   character_set_connection  = utf8;
           
          set  character_set_results = utf8;
           
           
          set collation_connection = utf8_general_ci;
           
          set collation_database = utf8_general_ci;
           
          set  collation_server = utf8_general_ci;

          posted @ 2005-07-25 17:38 bigseal 閱讀(1436) | 評論 (0)編輯 收藏

          java.util.*

          java.util.StringTokenizer
          作用: 根據(jù)標(biāo)記分割字符串
          例子:

          StringTokenizer st = new StringTokenizer("this is a test");
               
          while (st.hasMoreTokens()) {
                   System.
          out.println(st.nextToken());
               }
          結(jié)果為:
               this
               is
               a
               test

          但是該類已經(jīng)不推薦使用了,如果要實(shí)現(xiàn)該功能可以通過String類的split方法或 java.util.regex package來代替。
               String[] result = "this is a test".split("\\s");
               
          for (int x=0; x<result.length; x++)
                   System.
          out.println(result[x]);
          結(jié)果為:
               this
               is
               a
               test

          posted @ 2005-07-22 18:00 bigseal 閱讀(1295) | 評論 (0)編輯 收藏

          Container默認(rèn)布局管理

          Container       null
          Panel             FlowLayout
          Window        BorderLayout
          Dialog           BorderLayout 
          Frame           BorderLayout

          有幾個(gè)用于布局管理的類
          BorderLayout
          CardLayout
          FlowLayout
          GridLayout
          GridBaglayout

          BorderLayout水平擴(kuò)展南北構(gòu)件,使這些構(gòu)件的寬度達(dá)到所在容器的寬度,但根據(jù)構(gòu)件的首先高度調(diào)整它們的高度。東西構(gòu)件被垂直擴(kuò)展,并根據(jù)它們的首先寬度調(diào)整她們的寬度,中間構(gòu)件布滿剩下的空間。

          在使用GridBaglayout管理布局時(shí),需要通過GridBagConstraints來指定各構(gòu)件的約束條件,下面是GridBagConstraints的一些設(shè)置
          GridBagConstraints.anchor 構(gòu)件在顯示區(qū)中的位置
          GridBagConstraints.fill         構(gòu)件填充顯示區(qū)的方式
          GridBagConstraints.gridx/gridy  構(gòu)件左上角的網(wǎng)格單元
          GridBagConstraints.gridwidth/gridheigth 構(gòu)件顯示區(qū)的大小
          GridBagConstraints.weighx/weighy 構(gòu)件顯示區(qū)可以消耗多少額外的空間
          GridBagConstraints.insets 構(gòu)件的空白區(qū)
          GridBagConstraints.ipadx/ipady 構(gòu)件的內(nèi)部填充

          posted @ 2005-07-22 17:50 bigseal 閱讀(1624) | 評論 (0)編輯 收藏

          The UML2 project is an EMF-based implementation of the UML 2.0 metamodel for the Eclipse platform designed to support the development of modeling tools. Further objectives of the UML2 project are to provide a common XMI schema to facilitate interchange of semantic models, test cases as a means of validating the specification, and validation rules as a means of defining and enforcing levels of compliance. For more details see Getting Started with UML2

          posted @ 2005-07-15 14:06 bigseal 閱讀(1484) | 評論 (0)編輯 收藏

              有兩種方法要用到對Graphi的引用,這兩種就是傳遞一個(gè)對Graphi的引用,或返回對Graphics的引用。

             1 .傳遞一個(gè)對Graphi的引用是諸如 void paint(Graphics g)的方法,通過override該方法來達(dá)到目的。

          import java.awt.*;

          public class SubPanel extends Panel{

              
          public void paint(Graphics g){
                  g.setColor(Color.RED);
                  g.drawString(
          "subPanel",5,5);
              }

          }


          2.返回對Graphics的引用是諸如 Graphiics getGraphics() 的方法,直接引用返回的Grapchics。

          import java.awt.*;


          import java.awt.
          *;

          public class SubPanel extends Panel {

              
          public void test() {
                  Graphics g 
          = getGraphics();
                  
          if (g != null{
                      g.setColor(Color.RED);
                      g.drawString(
          "subPanel"55);
                  }

              }

          }


          其中,如果如果組件當(dāng)前未顯示getGraphics()方法返回null。

          posted @ 2005-07-13 14:07 bigseal 閱讀(1430) | 評論 (0)編輯 收藏

              AWT是JFC(Java基本類)的核心,為JFC的構(gòu)成提供了以下的基本結(jié)構(gòu):

          • 代理事件模型
          • 輕量構(gòu)件
          • 剪貼板和數(shù)據(jù)傳輸
          • 打印和無鼠標(biāo)操作

              Java抽象窗口工具集有四個(gè)主要的類,即:構(gòu)件類(Component)、容器類(Container)、圖形類(Graphics)、和布局管理類(LayoutManager和LayoutMangager2)。容器包含構(gòu)件,布局管理器確定容器內(nèi)構(gòu)件的位置和形狀。圖形(Graphics)類提供在構(gòu)件中顯示文本框和圖形的方法。

          1.強(qiáng)制一個(gè)容器布置它的構(gòu)件

              在任何時(shí)間給定的構(gòu)件都是有效(valid)或無效(invalid)的。無效的構(gòu)件需要被布置,而有效的構(gòu)件不需要。訪問一個(gè) 無效容器(它的同位體已經(jīng)產(chǎn)生)的validate()引起對容器layout()方法的調(diào)用。使構(gòu)件無效的過程不僅使構(gòu)件自己變得無效,而且也會使構(gòu)件所在的容器變的無效。
          使構(gòu)件無效的Component和Container方法:
          void Component.addNotify()
          void Component.show() (invalidates parent container)
          void Component.hide() (invalidates parent container)
          void Component.reshap(int x,int y,int width,int height)
          void Component.setSize(int width,int height)
          void Component.setBounds(int x,int y,int width,int height)
          void Component.setLayout(LayoutManager)
          void Container.add(Component)
          void Container.remove(Component)
          void Container.removeAll(Component)
          void Container.setLayout(LayoutManager)
          因此我們可以把希望重新布置的構(gòu)件設(shè)置為無效,然后調(diào)用該構(gòu)件父容器的validate()方法即可。

          posted @ 2005-07-13 14:04 bigseal 閱讀(1357) | 評論 (0)編輯 收藏

          Timer是一個(gè)線程用來調(diào)度在后臺線程中運(yùn)行的計(jì)劃任務(wù)的使用工具。任務(wù)可能計(jì)劃只運(yùn)行一次,或者以一定的時(shí)間間隔重復(fù)運(yùn)行。
          下面是一個(gè)定時(shí)的小程序:

              /**
               * 彈出菜單顯示3秒鐘后自動隱藏
               * 
               
          */

              
          private void timerToHidden() {
                  Timer timer 
          = new Timer();

                  timer.schedule(
          new TimerTask() {
                      
          public void run() {
                          msgWindow.setVisible(
          false);
                      }

                  }
          3000);
              }

          posted @ 2005-07-13 13:57 bigseal 閱讀(1545) | 評論 (0)編輯 收藏

          使用JDIC (Jdesktop Integration Components)類庫做開發(fā)。
          開發(fā)過程中遇到的問題:
          1. 主窗體最小化后隱藏
            當(dāng)發(fā)生窗體最小化事件時(shí)把窗體隱藏就可以了
                     /*
                         * 最小化窗體時(shí)把窗體給隱藏了 (非 Javadoc)
                         * @see java.awt.event.WindowListener#windowIconified(java.awt.event.WindowEvent)
                         
            */

                        
            public void windowIconified(WindowEvent e){
                            e.getWindow().setVisible(
            false);
                        }

          2. 單擊系統(tǒng)托盤,顯示程序主窗體
            單擊系統(tǒng)托盤但時(shí),把窗體置為可見,并把窗體從任務(wù)欄恢復(fù)
                       // 單擊系統(tǒng)托盤,顯示程序主窗體
                    tray_icon.addActionListener(new ActionListener() {
                        
            public void actionPerformed(ActionEvent e) {
                            buddyFrame.setVisible(
            true);
                            buddyFrame.setState(JFrame.NORMAL);
                        }

                    }
            );

          3. 當(dāng)有消息時(shí)在系統(tǒng)托盤圖標(biāo)旁顯示一個(gè)消息提示
            (這是一個(gè)類似與MSN那種,而不是把鼠標(biāo)放到托盤上顯示的 ToolTip)
            當(dāng)消息到來時(shí)在系統(tǒng)托盤圖標(biāo)旁顯示一個(gè)彈出菜單即可
             
            public void promptMsg(String msg, String ticket, String url, String para,
                        String userID) 
            {
                    
            // 設(shè)置消息內(nèi)容
                    mViewMsg.setText(msg);

                    
            // 設(shè)置url(點(diǎn)擊 mViewMsg 菜單選項(xiàng)事件的監(jiān)聽程序)
                    mViewMsg.addActionListener(new msgMenuActionListener(msgMenu, url + "?"
                            
            + para));

                    
            // 設(shè)置菜單的大小和位置
                    setMsgMenuSize();

                    msgMenu.setVisible(
            true);
                }


                
            /**
                 * 
                 * 設(shè)置菜單的大小和位置
                 
            */

                
            private void setMsgMenuSize() {
                    Dimension menuSize 
            = new Dimension(200,150);
                    msgMenu.setPopupSize(menuSize);
                    
            int xMenu = tray_icon.getLocationOnScreen().x - menuSize.width + 50;
                    
            int yMenu = tray_icon.getLocationOnScreen().y - menuSize.height;
                    Point menuPoint 
            = new Point(xMenu, yMenu);
                    msgMenu.setLocation(menuPoint);
                    
                }

          posted @ 2005-07-08 11:20 bigseal 閱讀(2957) | 評論 (2)編輯 收藏

          New and Noteworthy
          文章來源:http://download.eclipse.org/downloads/drops/R-3.1-200506271435/index.php

          posted @ 2005-06-29 14:39 bigseal 閱讀(323) | 評論 (0)編輯 收藏

              我曾說,“照我說的那樣做,但不要學(xué)我本人。”那么這里我要說的就是這樣的。從來沒有人——包括我自己——把我當(dāng)成處理生活和工作的平衡關(guān)系的權(quán)威。

            41年以來,我執(zhí)行的原則就是好好工作,好好享受,花一點(diǎn)時(shí)間來當(dāng)父親。但是回
          頭看去,很顯然我所選擇的平衡對于我家里和辦公室的其他人都有不利的影響。例如,我的孩子們主要是由他們的母親獨(dú)自帶大的。

            盡管工作與生活的平衡問題在90年代已經(jīng)越來越成為前衛(wèi)和中心的話題,但似乎直到我2001年退休之后,它才真正熱門起來。在我過去三年去世界各地的時(shí)候,我遇到了許多這方面的問題。最常見的是,“你怎么會有那么多的時(shí)間去打高爾夫球,還能繼續(xù)干好CEO的工作?”

            在個(gè)人應(yīng)該如何排列生活中各部分的優(yōu)先次序的問題上,我顯然不是專家。何況我一直以為這些選擇應(yīng)取決于個(gè)人。但是,作為一名經(jīng)理人,我處理過數(shù)十宗關(guān)于工作與生活平衡協(xié)調(diào)的難題,作為經(jīng)理人的經(jīng)理人則處理過數(shù)百宗。

            從這些經(jīng)歷里,我找到了一些感覺,關(guān)于老板們?nèi)绾慰创ぷ髋c生活的平衡,不知道他們是否告訴過你。

            管理的優(yōu)先次序

            我們首先要談?wù)勊^的“工作與生活的平衡”究竟指的是什么。它涵蓋了我們所有人應(yīng)該如何管理生活、支配時(shí)間的問題——關(guān)于優(yōu)先次序和價(jià)值觀的問題。基本上,這個(gè)平衡是關(guān)于“我們應(yīng)該把多少精力消耗在工作上”的討論。

            工作與生活的平衡是一個(gè)交易——你和自己之間就所得和所失進(jìn)行的交易。平衡意味著選擇和取舍,并承擔(dān)相應(yīng)的后果。讓我們站到你的老板的視角上,換個(gè)位置對工作與生活的平衡問題做些思考。

            1.你的老板最關(guān)心的事情是競爭力。當(dāng)然他也希望你能快樂,但那只是因?yàn)槟愕目鞓纺軌驇椭墓沮A利。實(shí)際上,如果他的工作做得好,他就可以讓你的工作變得很有吸引力,使你的個(gè)人生活顯得不那么拖后腿。

            老板給你付工資的原因,是因?yàn)樗麄兿M阖暙I(xiàn)所有的一切——包括你的頭腦、體力、活力和獻(xiàn)身精神。

            2.絕大多數(shù)老板都非常愿意協(xié)調(diào)員工的工作與生活的矛盾,如果你能給他出色的業(yè)績。這里的關(guān)鍵詞是“如果”。

            實(shí)際上,我倒愿意通過一個(gè)老式的積分系統(tǒng)來處理工作與生活的平衡問題。那些有突出業(yè)績的人可以獲得“積分”,用以交換自己工作的彈性。

            3.老板們很清楚,公司手冊上面關(guān)于工作、生活平衡的政策主要是為了招聘的需要,而真正的平衡是由一對一的談判決定的,其背景是一個(gè)相互支持性的企業(yè)文化,而不要總是強(qiáng)調(diào)“但是公司說過……”

            公司手冊是件華麗的宣傳品,有醒目的照片、多項(xiàng)終生福利的介紹,也包括倒班或工作彈性等。然而許多聰明人很快就明白,手冊上所列舉的“工作與生活的平衡規(guī)劃”主要是面向新人的招聘工具。

            真實(shí)的平衡安排是在老板與員工之間就具體問題進(jìn)行單獨(dú)談判得到的,使用的方法正好是我們剛介紹過的業(yè)績與彈性交換的制度。

            4.那些公開為工作與生活的矛盾問題而斗爭、動輒要求公司提供幫助的人會被當(dāng)做動搖不定、擺資格、不愿意承擔(dān)義務(wù)或者無能的人,或者以上全部。因此,那些消極抱怨的人最后總免不了被邊緣化的命運(yùn)。

            所以,在你第五次開口,要求公司減少你的出差,要求在星期四上午請假,或者希望回家去照顧小孩之前,你應(yīng)該知道自己是在發(fā)表一項(xiàng)聲明。而且不管你用什么辭令,你的請求在別人聽來都似乎是,“我對這里的工作并不真的感興趣。”

            5.即使最寬宏大量的老板也會認(rèn)為,工作和生活的平衡是需要你自己去解決的問題。實(shí)際上,絕大多數(shù)人也知道,的確有一些策略能幫助你處理好這個(gè)問題,他們也希望你能會采用。

            毫無疑問,談判、協(xié)調(diào)這種平衡關(guān)系要給經(jīng)理人的工作再增加一層復(fù)雜性。但是你的經(jīng)理人應(yīng)該歡迎這種挑戰(zhàn),因?yàn)槟墙o他提供了另外一套工具,來激勵(lì)和挽留優(yōu)秀的員工。這套新工具與高薪、紅利、晉升或其他所有形式的認(rèn)可一樣有效。

            不過,在此期間,你也可以并且應(yīng)該學(xué)會幫助自己。有關(guān)工作與生活的話題已經(jīng)討論了相當(dāng)長的時(shí)間了,也有不少好的經(jīng)驗(yàn)被總結(jié)出來。那些非常老練的老板們都知道這些技巧,很多人自己已經(jīng)開始采納,他們也希望你能借鑒。

            經(jīng)驗(yàn)之談

            以下就是一些經(jīng)驗(yàn)之談:

            經(jīng)驗(yàn)1:無論參與什么游戲,都要盡可能地投入。我們已經(jīng)陳述過,工作希望你150%地投入,生活也同樣。因此做事時(shí)要努力減輕焦慮、避免分心,或者說,要學(xué)會分門別類、有條不紊。

            經(jīng)驗(yàn)2:對于你所選擇的工作與生活平衡之外的要求和需要,要有勇氣說“不”。最終,大多數(shù)人都會找到適合自己的工作與生活的平衡位置,以后的竅門就是堅(jiān)持。

            學(xué)會拒絕將給你帶來巨大的解脫,因此,你應(yīng)該力爭對一切不屬于你有意識的平衡選擇之外的項(xiàng)目說“不”。

            經(jīng)驗(yàn)3:確認(rèn)你的平衡計(jì)劃沒有把你自己排除在外。在處理事業(yè)與生活的平衡關(guān)系時(shí),一件真正可怕的事情是陷入“為了其他所有人而犧牲自己”的綜 合癥。有許多非常能干的人,他們制定了完美的平衡計(jì)劃,把自己的一切都貢獻(xiàn)出來,給了工作、家庭、志愿者組織。問題在于,在這樣的完美計(jì)劃的核心,卻有一 個(gè)真空,那就是對當(dāng)事人而言根本沒有樂趣。

            在認(rèn)真考慮這個(gè)話題的時(shí)候,你會發(fā)現(xiàn),如果自己想追求平衡和完美,最關(guān)鍵的不過是明白幾個(gè)道理。

            ·除了工作以外,你要弄清楚,你還想從生活中得到什么。

            ·在工作中,你要明白自己的老板需要什么。

            ·爭取業(yè)績積分,根據(jù)自己的需要來兌換彈性,再不斷補(bǔ)充它。

            ·找尋平衡將是一個(gè)過程,找對感覺需要反復(fù)實(shí)踐。在獲得經(jīng)驗(yàn)和思考之后,你可以做得更好。最終,在一段時(shí)間過去之后,你會發(fā)現(xiàn)事情并沒有那么艱難,不過是平凡的生活而已。(本文經(jīng)許可改編自韋爾奇所著的《贏》,該書中文版已由中信出版社出版)

          posted @ 2005-06-27 13:38 bigseal 閱讀(398) | 評論 (0)編輯 收藏

          現(xiàn)代人最常掛在嘴邊的就是“忙得找不出時(shí)間來了”。每日為工作而庸庸碌碌,常常覺得時(shí)間不夠用的人,就像常怨嘆錢不夠用的人一樣,是“時(shí)間的窮人”,似乎 都有恨不得把24小時(shí)變成48小時(shí)來過的愿望。但上天公平給予每人一樣的時(shí)間資源,誰也沒有多占便宜。在相同的“時(shí)間資本”下,就看各人運(yùn)用的巧妙了,有 些人是任時(shí)間宰割,毫無管理能力,二十四小時(shí)的資源似乎比別人短少了許多,有人卻能“無中生有”,有效運(yùn)用零碎時(shí)間;而有些懂得“搭現(xiàn)代化便車”的人,干 脆利用自動化及各種服務(wù)業(yè)代勞,“用錢買時(shí)間”。“時(shí)間即金錢”,尤其對于忙碌的現(xiàn)代人而言更能深切感受,每天時(shí)間分分秒秒的流失雖不像金錢損失到“切 膚”的程度,但是,錢財(cái)失去尚可復(fù)得,時(shí)間卻是“千金喚不回”的。

            如果你對上天公平給予每個(gè)人24小時(shí)的資源無法有效管理,不僅可能和理財(cái)投資的時(shí)機(jī)性失之交臂,人生甚至還可能終至一事無成,可見“時(shí)間管 理”對現(xiàn)代理財(cái)人的重要性。想向上帝“偷”時(shí)間既然不可能,那么學(xué)著自己“管理”時(shí)間,把分秒都花在“刀口”上,提高效率,才是根本的途徑。

            “忙”、“沒有時(shí)間” 只是借口而并非真實(shí),如果聰明才智相仿,而工作時(shí)數(shù)比別人長,績效(薪水、所得、職位、成就)卻不比別人好,那就該好好檢討,是不是沒有充分發(fā)揮時(shí)間效 率?在心理上必須建立一個(gè)觀念,力求“聰明”工作,而不是“辛苦”工作。例如別人六個(gè)小時(shí)可做到的事,我努力在四個(gè)小時(shí)之內(nèi)完成。以追求最高的時(shí)間績效為 目標(biāo),假以時(shí)日,時(shí)間自然在你掌握中!

            時(shí)間管理與理財(cái)?shù)脑硐嗤纫肮?jié)流”還要懂得“開源”。要“賺”時(shí)間的第一步,就是全面評估時(shí)間的使用狀況,找出所謂浪費(fèi)的零碎時(shí)間,第 二步就是予以有計(jì)劃地整合運(yùn)用。首先列出一張時(shí)間“收支表”,以小時(shí)為單位,把每天的行事記錄起來,并且立即找出效率不高的原因,徹底改善。再來,把每日 時(shí)間切割成單位的收支表做有計(jì)劃的安排,切實(shí)去達(dá)成每日績效目標(biāo)。

            “時(shí)間是自己找的”,當(dāng)你把“省時(shí)”養(yǎng)成一種習(xí)慣,自然而然就會使每天的二十四小時(shí)達(dá)到“收支平衡”的最高境界,而且還可以“游刃有余”的處于“閑暇”的時(shí)間,去從事較高精神層次的活動呢!

            如果你是開車或乘公交車的上班族,平均一天有兩個(gè)小時(shí)花在交通工具上,一年就有一個(gè)月的時(shí)間待在車?yán)铩H绻堰@一個(gè)月里每天花掉的兩個(gè)小時(shí)集中起來,連續(xù)不斷地坐一個(gè)月的車,或不眠不休地開一個(gè)月的車,就能體會其時(shí)間數(shù)量的可觀了。

            要占時(shí)間的優(yōu)勢,就要積極地“憑空變出”時(shí)間來,以下提供一些有效的方法,讓你輕松成為“時(shí)間的富人”。

            盡量利用零碎時(shí)間:坐車或等待的時(shí)間拿來閱報(bào)、看書、聽空中資訊。利用電視廣告時(shí)間處理洗碗、洗衣服、拖地等家事。不要忽略一點(diǎn)一滴的時(shí)間,盡量利用零碎時(shí)間處理雜瑣事務(wù)。

            改變工作順序:例如做飯時(shí),先洗米煮飯、煮湯、再來洗菜、炒菜,等菜上桌的同時(shí),飯、湯也好了。稍稍改變一下工作習(xí)慣,能使時(shí)間發(fā)揮最大的效益。此種“時(shí)間共享”的作業(yè)方式可在工作中多方嘗試,而“研究”出最省時(shí)的順序。

            批量處理,一次完成:購物前列出清單,一次買齊。拜訪客戶時(shí),選擇地點(diǎn)鄰近的一并逐戶拜訪。較無時(shí)效性的事務(wù)亦以地點(diǎn)為標(biāo)準(zhǔn),集中在同一天完成,以節(jié)省交通時(shí)間。

            工作權(quán)限劃分清楚,不要凡事一肩挑:學(xué)習(xí)“拒絕的藝術(shù)”,不要浪費(fèi)時(shí)間做別人該做的事,同事間互相幫忙偶爾為之,不要因“能者多勞”而做爛好 人。辦公室的工作各有分工,家事亦同,家庭成員都該一起分擔(dān),上班族家庭主婦不要一肩挑。例如,先生的書房、車子;小孩的房間、玩具要求他們自己清理,家 事也要分工負(fù)責(zé),把省下的時(shí)間用來自我充實(shí),做個(gè)“新時(shí)代主婦”。

            善加利用付費(fèi)的代勞服務(wù);銀行的自動轉(zhuǎn)帳服務(wù)可幫你代繳水電費(fèi)、煤氣費(fèi)、電話費(fèi)、信用卡費(fèi)、租稅定存利息轉(zhuǎn)賬等,多加利用,可省舟車勞頓與排隊(duì)等候的時(shí)間。

            以自動化機(jī)器代替人力:辦公室的電話連絡(luò)可以傳真信函、電子郵件取代,一方面可節(jié)省電話追蹤的時(shí)間內(nèi)容又有憑據(jù),費(fèi)用亦較省。而且傳真信、電子郵件簡明扼要,比較起電話連絡(luò)須客套寒暄才切入主題,節(jié)省許多無謂的“人力”與時(shí)間。

            家庭主婦亦可學(xué)習(xí)美國婦女利用機(jī)器代勞的快速做家事方法。例如使用全自動單缸洗衣機(jī)、洗碗機(jī)、吸塵器、微波爐等家電用品,可比傳統(tǒng)人力節(jié)省超過一半的時(shí)間,十分可觀。

          posted @ 2005-06-27 13:36 bigseal 閱讀(194) | 評論 (0)編輯 收藏

          在右鍵菜單添加命令行

          在“開始”-“運(yùn)行”中輸入“regedit”,打開注冊表。找到\HKEY_CLASSES_ROOT\Folder\shell,如果 沒有shell,可以在Folder下新建一個(gè)名為shell的鍵,在shell下新建一個(gè)名為“命令行(Command Windows)”的鍵,在這個(gè)鍵之下再建一個(gè)新的名為“Command”的鍵,設(shè)置默認(rèn)值為“cmd /K cd /d %L”。

          posted @ 2005-06-16 08:31 bigseal 閱讀(187) | 評論 (0)編輯 收藏

          把比較常用的Eclipse plugin 的下載地址給列出來,便于今后用到的時(shí)候查看。

             名稱:Folding
             作用:增強(qiáng)folding功能,可以支持control condition級別的fodling
             網(wǎng)址: http://eclipse.coffee-bytes.com  
             更新: http://eclipse.coffee-bytes.com/update-site     

             名稱:DocJar
             作用:可以讓你在Eclipse里搜索成千上萬的Java Source和Java Doc
             網(wǎng)址:http://www.docjar.com/

             名稱:JIntio
             作用:屬性編輯器
             網(wǎng)址:http://www.guh-software.de/jinto.html

             名稱:Properties Editor
             作用:屬性編輯器
             網(wǎng)址:http://propedit.sourceforge.jp/index_en.html

             名稱:Lomboz
             作用:開發(fā)J2EE應(yīng)用程序
             網(wǎng)址:http://www.objectlearn.com/projects/download.jsp

          posted @ 2005-06-12 15:17 bigseal 閱讀(285) | 評論 (0)編輯 收藏

          操作系統(tǒng):FreeBSD 5.3
          這是第一次在非Windows系統(tǒng)安裝軟件,對于系統(tǒng)中很多基本的東西都不熟悉,基本上都是看著配置文檔來的,很多東西都是需要用的時(shí)候才找的,因此也花了不少時(shí)間。比較欣慰的時(shí)這些軟件的文檔的都很詳細(xì),使一個(gè)初次接觸者也能夠按照文檔的說明一步一步完成安裝。
          目錄:
          1)  SVN簡介
          2)準(zhǔn)備工作
          3)安裝使用tar打包的應(yīng)用軟件
          4)開始安裝
          5)創(chuàng)建文件庫
          6)Apache配置
          7)把CVS檔案庫轉(zhuǎn)換為SVN檔案庫

          1.   SVN簡介
                
          現(xiàn)在開發(fā)的源碼,版本等管理一般都是CVS 。Subversion(SVN, http://subversion.tigris.org/)項(xiàng)目開始于2000年2月,作者之一是著名的 Open Source Development with CVS 作者Karl Fogel,也是CVS的開發(fā)者。
          Subversion開始由CollabNet(
          http://www.collab.net) 所有,但是它確實(shí)是一個(gè)開源的軟件,遵從bsd樣式的許可證。CollabNet只是給幾個(gè)全職開發(fā)者發(fā)工資,并享有代碼的版權(quán),但是這個(gè)版權(quán)是 Apache/BSD-style的許可證,也就是說,你可以自由下載,修改,發(fā)布Subversion,而不需要CollabNet或其他人的許可。
          Subversion意為更好的CVS,所以它除了包括了大多數(shù)CVS的特點(diǎn),還有一些新鮮的東西:
          Repositories 可以用內(nèi)建的BerkeleyDB 或者普通文件實(shí)現(xiàn)。
          目錄在Subversion中和文件一樣是versionable的對象,還有文件重命名等。Subversion還允許用戶追蹤文件和目錄的任意屬性信息,包括元信息(META-DATA)。甚至包括符號連接。在Subversion中,容易移動,復(fù)制和重命名。
          高效的網(wǎng)絡(luò)利用率。Subversion 可以用apache的基于HTTP的 WebDAV/DeltaV協(xié)議進(jìn)行通訊。Apache服務(wù)器提供repository的服務(wù)。
          二進(jìn)制文件處理的增強(qiáng)。
          本地化消息Localized messages
          Subversion根據(jù)本地設(shè)置(locale settings) 用gettext()顯示翻譯過的錯(cuò)誤,信息,幫助等。
          Branching and tagging are cheap (constant time) operations
          Subversion支持目前所有的流行的操作系統(tǒng),比如Unix, Win32, BeOS, OS/2, MacOS X等。


          下載到:
          http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
          文檔:

          更多的信息還是到主頁
          http://subversion.tigris.org/上去看吧。
          相關(guān)網(wǎng)站:
          Subversion for Windows 安裝指南
          http://sun.cis.scu.edu.tw/~nms9115/articles/softeng/scm/svn/2-install/svn_install.htm
          Version Control with Subversion中文版:
          http://svn.ntcu.net/svnbook/book.html
          http://svnbook.red-bean.com/svnbook-1.1/svn-book.pdf

          2.  
          準(zhǔn)備工作 
               
          下載:subversion-1.2.0.tar.gz
          地址:
          http://subversion.tigris.org/servlets/NewsItemView?newsItemID=1159

          下載:libxml2-2.5.3.tar.gz
          地址:
          http://cosoft.org.cn/html/osl/projects.php?group_id=4981

          下載:neon-0.24.7.tar.gz
          地址:
          http://www.webdav.org/neon

          下載:db-4.3.28.NC.tar.gz
          地址:
          http://www.sleepycat.com/download/index.shtml

          下載:Apache Web Server 2.0.49 or newer

          地址:
          http://httpd.apache.org/download.cgi

          3.   安裝使用tar打包的應(yīng)用軟件
          1) 安裝:
          整個(gè)安裝過程可以分為以下幾步:
          ? 取得應(yīng)用軟件:通過下載、購買光盤的方法獲得;
          ? 解壓縮文件:一般tar包,都會再做一次壓縮,如gzip、bz2 等,所以你需要先解壓。如
          果是最常見的gz格式,則可以執(zhí)行:“tar -xvzf 軟件包名”,就可以一步完成解壓與解
          包工作。如果不是,則先用解壓軟件,再執(zhí)行“tar -xvf 解壓后的tar包”進(jìn)行解包;
          ? 閱讀附帶的INSTALL文件、README 文件;
          ? 執(zhí)行“./configure”命令為編譯做好準(zhǔn)備;
          ? 執(zhí)行“make”命令進(jìn)行軟件編譯;
          ? 執(zhí)行“make install”完成安裝;
          ? 執(zhí)行“make clean”刪除安裝時(shí)產(chǎn)生的臨時(shí)文件。
          好了,到此大功告成。我們就可以運(yùn)行應(yīng)用程序了。但這時(shí),有的讀者就會問,我怎么執(zhí)
          行呢?這也是一個(gè)Linux特色的問題。其實(shí),一般來說,Linux的應(yīng)用軟件的可執(zhí)行文件
          會存放在/usr/local/bin目錄下!不過這并不是“放四海皆準(zhǔn)”的真理,最可靠的還是看這
          個(gè)軟件的INSTALL和README 文件,一般都會有說明。
          2) 卸載:
          通常軟件的開發(fā)者很少考慮到如何卸載自己的軟件,而tar又僅是完成打包的工作,所以
          并沒有提供良好的卸載方法。一般都提供 make uninstall 來卸載軟件的。

          說明:閱讀附帶的INSTALL文件、README 文件是很重要的,大部分軟件的安裝信息都是從這里得到的。

          4.   開始安裝
          1)安裝libxml2-2.5.3

          這是一個(gè)提供XML解析的類庫,在安裝subversion之前必須安裝。
          tar -zxf libxml2-2.5.3.tar.gz
          cd libxml2-2.5.3
          ./configure
          make
          make install
          make clean

          2)安裝 Neon library 0.24.7

          Neon庫允許SVN客戶端在Internet上使用基于WebDAV 的協(xié)議和遠(yuǎn)程知識庫交互。
          tar -zxf neon-0.24.7.tar.gz
          cd neon-0.24.7
          ./configure
          make
          make install
          make clean

          3)安裝Berkeley DB 4.3.28

          當(dāng)前版本Subversion支持兩種格式數(shù)據(jù)庫,一種是FSFS,另外一種是BDB( Berkeley Database)。BDB是一個(gè)輕量級的關(guān)系數(shù)據(jù)庫,可以作為一個(gè)輕巧的內(nèi)置數(shù)據(jù)庫,在很多開源項(xiàng)目下有很多應(yīng)用,比如CVSTrac。FSFS格式主要的特點(diǎn)是可以支持Subversion的數(shù)據(jù)庫和Subversion服務(wù)器可以在不同的物理機(jī)器上,可以通過網(wǎng)絡(luò)共享(不知道是否支持NFS?),能很好的工作在MS Win98上,并且速度更快,但是由于FSFS是一種新的格式,穩(wěn)定性可能沒有BDB好。
          比較郁悶的是我把Berkeley DB安裝完成后,安裝SVN的時(shí)候竟然檢測不到,只有用FSFS格式的數(shù)據(jù)庫了。
          tar -zxf db-4.3.28.NC.tar.gz
          cd docs
          ../dist/configure
          make
          make install
          make clean
           
          4)安裝Apache 2.0
           
          tar -zxf httpd-2.0.54.tar.gz
          ./configure --enable-dav --enable-so --enable-maintainer-mode
          make
          make install
          make clean
          注意:configure后面參數(shù)--enable-dav 表示構(gòu)建mod-dav,--enable-so表示開啟共享模塊的支持也就是mod_dav_svn模塊,--enable-maintainer-mode表示啟用調(diào)試信息
           
          5)安裝Subversion
           
          tar -zxf subversion-1.2.0.tar.gz
          ./configure --with-apxs=/usr/local/apache2/bin/apxs
          make
          make install
          make clean
           
          注意:如果Apache未按照默認(rèn)路徑安裝或出現(xiàn)跳過構(gòu)建mod_dav_svn的警告信息,就需要在./configure 加上參數(shù) --with-apxs=/usr/local/apache2/bin/apxs來構(gòu)建mod_dav_svn并和Apache關(guān)聯(lián)起來.

          5.    創(chuàng)建文件庫

          Subversion 所提供的 svnadmin 工具, 有個(gè)專門處理這件事的子命令. 要建立一個(gè)新的檔案庫, 只要執(zhí)行:

          $ svnadmin create /usr/svn/repos/test

          這樣就在“/usr/svn/repos”目錄下創(chuàng)建了一個(gè)test檔案庫,其中檔案庫的路徑為“/usr/svn/repos/test”

          注意:svnadmin工具的默認(rèn)路徑為“/usr/local/bin/svnadmin”

          在你執(zhí)行 svnadmin create 命令之后, 這個(gè)目錄中就會有全新的 Subversion 檔案庫. 讓我們看一下在這個(gè)目錄里產(chǎn)生了什么東西.

          $ ls /usr/svn/repos/test
          dav/  db/  format  hooks/  locks/  README.txt
          除了 README.txt 與 format 檔以外, 檔案庫是由一群子目錄組成. 就像 Subversion 其它部份的設(shè)計(jì)一樣, 模塊化是很重要的原則, 而且階層式組織要比雜亂無章好. 以下是新的檔案庫目錄中, 各個(gè)項(xiàng)目的簡單敘述:

          dav

          提供給 Apache 與 mod_dav_svn 使用的目錄, 讓它們儲存內(nèi)部數(shù)據(jù).

          db

          主要的 Berkeley DB 環(huán)境, 里面都是儲存 Subversion 檔案系統(tǒng) (就是你置于版本控制的全部數(shù)據(jù)所在) 的數(shù)據(jù)庫表格.

          format

          一個(gè)內(nèi)容為一個(gè)整數(shù)的檔案, 表示檔案庫配置的版本號碼.

          hooks

          一個(gè)放置 hook 腳本文件模板的目錄 (如果你有安裝的話, 還有腳本檔本身的檔案).

          locks

          用來放置 Subversion 檔案庫鎖定數(shù)據(jù)的目錄, 用來追蹤存取檔案庫的客戶端.

          README.txt

          這個(gè)檔案只是用來告知使用者, 他們在看的是 Subversion 的檔案庫.


          6.    Apache配置

          SVN可以同過兩種方式提供客戶端對檔案庫的訪問。

              采用Apache HTTP 服務(wù)器 (httpd)。使用WebDAV/deltaV 通訊協(xié)議與客戶端交互, 這個(gè)通訊協(xié)議 (它是 HTTP 1.1 的擴(kuò)充; 請參照 http://www.webdav.org/) 采用廣為使用的 HTTP 通訊協(xié)議。

              采用SVN自帶的svnserve服務(wù)器。這個(gè)程序要比 Apache 更輕便, 而且更容易設(shè)定,它會與 Subversion 客戶端透過 TCP/IP 聯(lián)機(jī)以自訂的通訊協(xié)議溝通。

              我們采用了Apache服務(wù)器的方式,配置的具體步驟如下:
             
              1).Apache需要加載模塊
              為了使客戶端能夠通過Apache來訪問SVN檔案庫,Apache需要加載一個(gè)特殊的模塊mod_dav_svn。如果您的Apache是按照與預(yù)設(shè)目錄安裝的,mod_dav_svn 模塊應(yīng)該會安裝在 Apache 安裝位置 (默認(rèn)路徑是 /usr/local/apache2) 的 modules 子目錄內(nèi)。同時(shí)在Apache的配置文件httpd.conf(默認(rèn)路徑為/usr/local/apache2/conf)中已經(jīng)使用LoadModule指令加載了該模塊(這是安裝過程中自動添加)。LoadModule 指令的語法很簡單, 就是將一個(gè)具名模塊對映到共享鏈接庫在磁盤上的位置:
          LoadModule dav_svn_module     modules/mod_dav_svn.so
          注意這個(gè)指令必須出現(xiàn)在其它的 Subversion 相關(guān)指令之前。

              2).配置匿名訪問
              使客戶端能夠通過Apache訪問資源庫還需要告訴Apache資源庫的位置,這需要我們在htppd.conf中加入Location指令來配置。
          <Location /test>
            DAV svn
            SVNPath /usr/svn/repos/test
          </Location>=
          其中DAV表示處理方式,SVNPath是SVN檔案庫的位置。
          這樣你就可以使用
          http://servername/test來訪問檔案庫。

              如果你計(jì)劃支持多個(gè) Subversion 檔案庫, 而它們都有著共同的本地磁盤路徑, 你可以使用另一種指令 SVNParentPath, 指示它們共同的父路徑。如果我們在路徑 /usr/svn 之下建立多個(gè) Subversion 檔案庫, 并以http://servername/svn/repos1http://servername/svn/repos2 等等的 URL 供人存取, 你可以使用下面中的 httpd.conf 設(shè)定語法:

          <Location /svn>
            DAV svn
            SVNParentPath /usr/svn/repos
          </Location>
          使用前述的語法, Apache 會將所有路徑以 /svn/ 開始的 URL 都交給 Subversion DAV 供應(yīng)模塊處理, 它會假設(shè)任何以 SVNParentPath 指令指定的目錄都是 Subversion 檔案庫。 不像SVNPath, 這個(gè)相當(dāng)便利的語法可以讓你在建立新的檔案庫時(shí), 仍舊不必重跑 Apache。 這時(shí)我們可以同過
          http://servername/svn/test來訪問我們剛才的檔案庫,同樣如果/usr/snv/repos/目錄中還有檔案庫cvsrepos,我們可以通過http://servername/svn/cvsrepos來訪問,并不需要重新配置。

              3).配置用戶驗(yàn)證
              我們使用最簡單的是基本驗(yàn)證機(jī)制,它只會使用使用者名稱與密碼, 用以確認(rèn)使用者是他所聲稱的身份。Apache 提供了htpasswd 工具程序,來管理接受的使用者名稱與密碼,也就是你想要授與存取 Subversion 檔案庫權(quán)限的使用者。 讓我們授與 Sally 與 Harry 送交存取的權(quán)限。 首先, 我們必須把它們加入到密碼檔案。

          $ ### 第一次: 以 -c 建立檔案
          $ htpasswd -c /etc/svn-auth-file harry
          New password: *****
          Re-type new password: *****
          Adding password for user harry
          $ htpasswd /etc/svn-auth-file sally
          New password: *******
          Re-type new password: *******
          Adding password for user sally
          $
                 
          接著, 你需要在 httpd.conf 的 Location 區(qū)塊中新增幾個(gè)指令, 告訴 Apache 如何處理你的新密碼文件。
          AuthType 指令指定應(yīng)使用何種認(rèn)證系統(tǒng)。 在目前的狀況中, 我們想要指定 Basic 認(rèn)證系統(tǒng)。
          AuthName 是一個(gè)任意的名稱, 讓你用來指定認(rèn)證領(lǐng)域 (authentication domain)。 大多數(shù)的瀏覽器在向使用者詢問使用者代號與密碼時(shí), 會將這個(gè)名稱顯示在彈出的對話框中。
          AuthUserFile 指令指定你以 htpasswd 產(chǎn)生的密碼文件
          Require 指令指定只有通過驗(yàn)證的用戶才能訪問。

          在新增這四個(gè)指令后, 你的 <Location> 區(qū)塊看起來應(yīng)該像這樣:

          <Location /svn>
            DAV svn
            SVNParentPath /usr/local/svn
            AuthType Basic
            AuthName "Subversion repository"
            AuthUserFile /etc/svn-auth-file
            Require valid-user
          </Location>
          現(xiàn)在如果你重新啟動 Apache, 任何需要認(rèn)證的 Subversion 動作都會從 Subversion 客戶端取得使用者代號與密碼, 這可能是使用先前置于快取的值, 或是向使用者詢問。

          7.    把CVS檔案庫轉(zhuǎn)換為SVN檔案庫
          cvs2svn工具是用來把CVS檔案庫轉(zhuǎn)換為SVN檔案庫的。

          1).安裝
          下載:Python 2.0 
          地址:http://www.python.org/
          說明:執(zhí)行csv2svn中Python 腳本所需要的環(huán)境
          安裝:
                cd /usr/software
                tar -zxf Python-2.4.1.tgz
                cd Python-2.4.1
                ./configure
                make
                make install
                make clean
           
          下載:RCS
          地址:http://www.cs.purdue.edu/homes/trinkle/RCS/
          說明:用來讀CVS檔案庫
          安裝:
                cd /usr/software
                tar -zxf rcs-5.7.tar
                cd rcs-5.7
                ./configure
                make
                make install
                make clean
          注意:make操作只能由非root用戶執(zhí)行
           
          下載:GNU 工具
          地址:http://www.gnu.org/software/coreutils/
          說明:可能FreeBSD系統(tǒng)已經(jīng)有了
          安裝:
                cd /usr/software
                tar -zxf coreutils-5.2.1.tar.gz
                cd coreutils-5.2.1
                ./configure
                make
                make install
                make clean
           
          下載:cvs2svn
          地址:http://cvs2svn.tigris.org/
          說明:
          安裝:
                cd /usr/software
                tar -zxf cvs2svn-1.2.1.tar.gz
                cd cvs2svn-1.2.1
                make install
                make clean
           
          2).使用cvs2svn把CVS檔案庫轉(zhuǎn)換為SVN檔案庫
            使用cvs2svn工具根據(jù)需要可以幾種轉(zhuǎn)換方式供選擇的。默認(rèn)的方式為完全轉(zhuǎn)換,我們就是采用這樣方式的。
            進(jìn)入csv2svn所在的目錄:
             cd /usr/software/cvs2svn-1.2.1
             ./cvs2svn --svnadmin=/usr/local/bin/svnadmin --encoding=gb2312 --fs-type=fsfs -s /usr/svn/repos/CVSRepos_JSP /usr/software/CVSRepo_JSP
            
             參數(shù)說明:
             --svnadmin svndadmin的路徑,創(chuàng)建SVN檔案庫時(shí)需要
             --encoding 所采用的編碼,默認(rèn)為ascii
             --fs-type  檔案庫的類型fsfs或bdb
             -s         SVN檔案庫的位置
             最后一個(gè)是要轉(zhuǎn)換CVS檔案庫的位置

          注:本文中一些SVN介紹性文字等是轉(zhuǎn)自其它網(wǎng)站的。

          posted @ 2005-06-11 15:37 bigseal 閱讀(4857) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 安新县| 若尔盖县| 琼结县| 工布江达县| 东乡县| 揭西县| 泾源县| 景泰县| 泽州县| 福海县| 秀山| 南漳县| 安达市| 噶尔县| 稻城县| 固阳县| 岫岩| 黄梅县| 和静县| 喜德县| 临漳县| 布拖县| 汤原县| 洛阳市| 通海县| 突泉县| 麻城市| 织金县| 理塘县| 温泉县| 亳州市| 绥江县| 南丹县| 三原县| 安仁县| 阳信县| 长春市| 宁城县| 丹棱县| 星子县| 金秀|