從制造到創(chuàng)造
          軟件工程師成長(zhǎng)之路
          posts - 292,  comments - 96,  trackbacks - 0
          配置環(huán)境
          WINDOWS XP SP2
          JDK 1.6
          TOMCAT 6.0
          ECLIPSE 3.3
          LOMBOZ 3.3

          一. JDK(JDK1.6)的安裝與配置
          (1) 在JAVA官方網(wǎng)站下載JDK工具包(JDK1.6)
          http://java.sun.com/javase...

          點(diǎn)擊在新窗口中瀏覽此圖片

          點(diǎn)擊在新窗口中瀏覽此圖片

          點(diǎn)擊在新窗口中瀏覽此圖片

          (2) 執(zhí)行安裝文件,如圖
          點(diǎn)擊在新窗口中瀏覽此圖片

          點(diǎn)擊在新窗口中瀏覽此圖片

          點(diǎn)擊在新窗口中瀏覽此圖片



          (3) 配置JAVA運(yùn)行環(huán)境:
          【開(kāi)始】-【控制面板】-【性能和維護(hù)】-【系統(tǒng)】-【高級(jí)】或者右鍵單擊【我的電腦】-【屬性】-【高級(jí)】
          點(diǎn)擊在新窗口中瀏覽此圖片

          進(jìn)入【環(huán)境變量】界面,選擇【系統(tǒng)變量】中的【Path】選項(xiàng)
          點(diǎn)擊在新窗口中瀏覽此圖片

          在【變量值】項(xiàng)的初始端輸入您的JDK安裝目錄(%JAVA_HOME%\bin,%JAVA_HOME%為JAVA安裝目錄)至bin目錄,注意:不要忘記分號(hào)。
          點(diǎn)擊在新窗口中瀏覽此圖片

          (4) 測(cè)試
          【開(kāi)始】-【運(yùn)行】-【cmd】-【java -version】可以查看您當(dāng)前的JDK版本
          點(diǎn)擊在新窗口中瀏覽此圖片

          點(diǎn)擊在新窗口中瀏覽此圖片

          在C盤(pán)根目錄中創(chuàng)建一文本文檔,鍵入以下語(yǔ)句(如圖),并保存為JAVA文件,注意:CLASS類(lèi)名與保存的文檔名必須一致,且大小寫(xiě)敏感。
          點(diǎn)擊在新窗口中瀏覽此圖片

          在命令行模式中測(cè)試剛剛編寫(xiě)的JAVA文件(如圖),運(yùn)行成功則顯示Hello World!
          點(diǎn)擊在新窗口中瀏覽此圖片

          二. Tomcat6.0的安
          (1) 下載Tomcat安裝包
          http://tomcat.apache.org/d...

          點(diǎn)擊在新窗口中瀏覽此圖片

          (2) 執(zhí)行安裝文件,如圖
          點(diǎn)擊在新窗口中瀏覽此圖片

          點(diǎn)擊在新窗口中瀏覽此圖片

          點(diǎn)擊在新窗口中瀏覽此圖片

          點(diǎn)擊在新窗口中瀏覽此圖片

          點(diǎn)擊在新窗口中瀏覽此圖片

          點(diǎn)擊在新窗口中瀏覽此圖片

          (3) 測(cè)試(測(cè)試結(jié)束后關(guān)閉Tomcat服務(wù)器)
          在%TOMCAT_HOME%\bin目錄下執(zhí)行tomcat6w.exe(%TOMCAT_HOME%為T(mén)omcat安裝目錄),點(diǎn)擊Start啟動(dòng)Tomcat服務(wù)器。
          點(diǎn)擊在新窗口中瀏覽此圖片

          打開(kāi)瀏覽器,在地址欄中輸入:http://localhost:8080 運(yùn)行成功則出現(xiàn)如下畫(huà)面
          點(diǎn)擊在新窗口中瀏覽此圖片

          PS:示例中的Tomcat為Windows Service Installer(.exe)程序,安裝成功后無(wú)需再進(jìn)行額外配置。

          三. Eclipse(Eclipse3.3)與Lomboz(Lomboz3.3)的安裝
          (1) 下載Eclipse與Lomboz合包(Eclipse與Lomboz版本號(hào)必須匹配,否則會(huì)引發(fā)錯(cuò)誤)
          http://forge.objectweb.org...

          點(diǎn)擊在新窗口中瀏覽此圖片

          點(diǎn)擊在新窗口中瀏覽此圖片

          (2) 執(zhí)行程序(解壓后直接使用,無(wú)需安裝),如圖
          點(diǎn)擊在新窗口中瀏覽此圖片

          注意:Lomboz3.1版本以上在Eclipse首選項(xiàng)界面中均不會(huì)再有【Lomboz】選項(xiàng)
          點(diǎn)擊在新窗口中瀏覽此圖片

          四. Tomcat插件的安裝與配置
          (1) 下載TomcatPluginV321.zip,鑒于官網(wǎng)無(wú)法訪問(wèn),可以去百度、谷歌搜索,以下地址僅供參考
          http://d.download.csdn.net...(需要先注冊(cè))

          (2) 將TomcatPluginV321.zip解壓縮到eclipse安裝目錄中的plugins文件夾下

          (3) 在命令行模式中重新啟動(dòng)Eclipse(以-clean模式啟動(dòng))
          點(diǎn)擊在新窗口中瀏覽此圖片

          (4) 配置Tomcat version與Tomcat home(參照自身的安裝路徑)
          打開(kāi)Eclipse,選擇【W(wǎng)indow】-【Preferences】-【Tomcat】
          點(diǎn)擊在新窗口中瀏覽此圖片

          五. 集成環(huán)境測(cè)試(JSP程序)
          創(chuàng)建一個(gè)新項(xiàng)目
          打開(kāi)Eclipse,選擇【File】-【New】-【Project】-【W(wǎng)eb】
          點(diǎn)擊在新窗口中瀏覽此圖片

          輸入項(xiàng)目名Test,點(diǎn)擊Finish
          點(diǎn)擊在新窗口中瀏覽此圖片

          創(chuàng)建服務(wù)器,選擇【File】-【New】-【Other】-【Server】
          點(diǎn)擊在新窗口中瀏覽此圖片

          點(diǎn)擊在新窗口中瀏覽此圖片

          點(diǎn)擊在新窗口中瀏覽此圖片

          點(diǎn)擊在新窗口中瀏覽此圖片

          點(diǎn)擊在新窗口中瀏覽此圖片

          創(chuàng)建JSP文件,選擇【File】-【New】-【Other】-【W(wǎng)eb】
          點(diǎn)擊在新窗口中瀏覽此圖片

          輸入文件名
          點(diǎn)擊在新窗口中瀏覽此圖片

          點(diǎn)擊在新窗口中瀏覽此圖片

          編輯JSP文件,如圖
          點(diǎn)擊在新窗口中瀏覽此圖片

          打開(kāi)服務(wù)器,右擊選擇Start
          點(diǎn)擊在新窗口中瀏覽此圖片

          點(diǎn)擊在新窗口中瀏覽此圖片

          運(yùn)行服務(wù)器,選擇【Run】-【Run As】-【Run on Server】
          點(diǎn)擊在新窗口中瀏覽此圖片

          打開(kāi)瀏覽器,在地址欄中輸入 http://localhost:8080/Test/Test.jsp 運(yùn)行成功則顯示以下畫(huà)面
          posted @ 2007-12-10 17:35 CoderDream 閱讀(1920) | 評(píng)論 (1)編輯 收藏
          eclispe想必大家都很熟悉了,一般來(lái)說(shuō),eclipse插件都是安裝在plugins目錄下。不過(guò)這樣一來(lái),當(dāng)安裝了許多插件之后,eclipse變的很大,最主要的是不便于更新和管理眾多插件。用links方式安裝eclipse插件,可以解決這個(gè)問(wèn)題。

             當(dāng)前配置XP SP1,eclipse3.0.1

             現(xiàn)在假設(shè)我的eclipse安裝目錄是D:\eclipse,待安裝插件目錄是D:\plug-in ,我將要安裝LanguagePackFeature(語(yǔ)言包)、emf-sdo-xsd-SDK、GEF-SDK、Lomboz這四個(gè)插件。

             先把這四個(gè)插件程序全部放在D:\plug-in目錄里,分別解壓。如Lomboz3.0.1.zip解壓成Lomboz3.0.1目錄,這個(gè)目錄包含一個(gè)plugins目錄,要先在Lomboz3.0.1目錄中新建一個(gè)子目錄eclipse,然后把plugins目錄移動(dòng)到剛建立的eclipse目錄中,即目錄結(jié)構(gòu)要是這樣的:D:\plug-in\Lomboz3.0.1\eclipse\plugins 

             Eclipse 將會(huì)到指定的目錄下去查找 eclipse\features 目錄和eclipse\plugins 目錄,看是否有合法的功能部件和(或)插件。也就是說(shuō),目標(biāo)目錄必須包含一個(gè) \eclipse 目錄。如果找到,附加的功能部件和插件在運(yùn)行期配置是將是可用的,如果鏈接文件是在工作區(qū)創(chuàng)建之后添加的,附加的功能部件和插件會(huì)作為新的配置變更來(lái)處理。

              其它壓縮文件解壓后若已經(jīng)包含eclipse\plugins目錄,則不需要建立eclipse目錄。

              然后在 eclipse安裝目錄D:\eclipse目錄中建立一個(gè)子目錄links,在links目錄中建立一個(gè)link文件,比如 LanguagePackFeature.link,改文件內(nèi)容為  path=D:/plug-in/LanguagePackFeature  即這個(gè)link文件要對(duì)應(yīng)一個(gè)剛解壓后的插件目錄。

          說(shuō)明:

           1. 插件可以分別安裝在多個(gè)自定義的目錄中。

           2. 一個(gè)自定義目錄可以安裝多個(gè)插件。

           3. link文件的文件名及擴(kuò)展名可以取任意名稱(chēng),比如ddd.txt,myplugin都可以。

           4. link文件中path=插件目錄的path路徑分隔要用\\或是/

           5. 在links目錄也可以有多個(gè)link文件,每個(gè)link文件中的path參數(shù)都將生效。

           6. 插件目錄可以使用相對(duì)路徑。

             7. 可以在links目錄中建立一個(gè)子目錄,轉(zhuǎn)移暫時(shí)不用的插件到此子目錄中,加快eclipse啟動(dòng)。 

             8.  如果安裝后看不到插件,把eclipse 目錄下的configuration目錄刪除,重啟即可。

           

          注意:關(guān)于用links方式安裝Lomboz插件,在編輯EJB時(shí)可能會(huì)產(chǎn)生問(wèn)題,這個(gè)將會(huì)在有關(guān)Lomboz插件的文章中探討。

          posted @ 2007-12-10 17:29 CoderDream 閱讀(296) | 評(píng)論 (0)編輯 收藏
          1、Anatomy of an Android Application(中文翻譯)
          2、在android平臺(tái)上測(cè)試C/C++程序及庫(kù)
          3、http://www.forwind.cn/category/linux/android/
          4、http://www.1android.cn/Default.asp
          5、Android開(kāi)發(fā)者論壇
          6、Android中文網(wǎng)
          7、Android中文文檔
          posted @ 2007-12-10 17:18 CoderDream 閱讀(359) | 評(píng)論 (0)編輯 收藏
          1、 推薦一個(gè)很棒的JS繪圖庫(kù)Flot
          2、DroidDraw - Android的界面設(shè)計(jì)器
          3、AppFuse 2.0.1發(fā)布
          4、MySQL InnoDB數(shù)據(jù)恢復(fù)工具
          5、用 AjaxTags 簡(jiǎn)化 Ajax 開(kāi)發(fā)
          6、Java SE 6 Update N Early Access Program
          7、JSFUnit - JSF的測(cè)試工具
          posted @ 2007-12-06 14:27 CoderDream 閱讀(278) | 評(píng)論 (0)編輯 收藏
          1、正則表達(dá)式30分鐘入門(mén)教程
          posted @ 2007-11-29 11:06 CoderDream 閱讀(321) | 評(píng)論 (1)編輯 收藏
          1、《EJB3.0實(shí)例教程》官方網(wǎng)
          2、將 EJB 部署到 WebSphere 應(yīng)用服務(wù)器
          3、 Enterprise JavaBeans 入門(mén)
          posted @ 2007-11-28 13:50 CoderDream 閱讀(260) | 評(píng)論 (0)編輯 收藏

          1、安裝Weblogic:
                使用的EJB服務(wù)是BEA的weblogic8.1,下載BEA的weblogic8.1,然后安裝。安裝步驟省略。  
          2、定義EJB遠(yuǎn)程接口(Remote Interface):
                 任何一個(gè)EJB都是通過(guò)Remote Interface被調(diào)用,EJB開(kāi)發(fā)者首先要在Remote Interface中定義這個(gè)EJB可以被外界調(diào)用的所有方法。執(zhí)行Remote Interface的類(lèi)由EJB生成工具生成。
            以下是HelloBean的Remote Inteface程序:
          package com.leo;
          import java.rmi.RemoteException;
          import java.rmi.Remote;
          import javax.ejb.*;
          public interface Hello extends EJBObject, Remote {
          //this method just get "Hello EJB" from HelloEJB.
          public String getHello() throws RemoteException;
          }
          3、定義Home Interface
          EJB容器通過(guò)EJB的Home Interface來(lái)創(chuàng)建EJB實(shí)例,和Remote Interface一樣,執(zhí)行Home Interface的類(lèi)由EJB生成工具生成。以下是HelloEJB 的Home Interface程序:
          package com.leo;
          import javax.ejb.*;
          import java.rmi.Remote;
          import java.rmi.RemoteException;
          import java.util.*;
          /**
          * This interface is extremely simple it declares only
          * one create method.
          */
          public interface HelloHome extends EJBHome {
          public Hello create() throws CreateException,
          RemoteException;
          }
          4、寫(xiě)EJB類(lèi)
          在EJB類(lèi)中,編程者必須給出在Remote Interface中定義的遠(yuǎn)程方法的具體實(shí)現(xiàn)。EJB類(lèi)中還包括一些 EJB規(guī)范中定義的必須實(shí)現(xiàn)的方法,這些方法都有比較統(tǒng)一的實(shí)現(xiàn)模版,編程者只需花費(fèi)精力在具體業(yè)務(wù)方法的實(shí)現(xiàn)上。
          以下是HelloEJB的代碼:
          package com.leo;
          import javax.ejb.*;
          public class HelloEJB implements SessionBean{
              public void ejbCreate(){}
              public void ejbRemove(){}
              public void ejbActivate(){}
              public void ejbPassivate(){}
              public void setSessionContext(SessionContext ctx){}
              public String getHello() {
                   return new String("Hello,EJB");
              }
          }
          5、創(chuàng)建ejb-jar.xml文件
            ejb-jar.xml文件是EJB的部署描述文件,包含EJB的各種配置信息,如是有狀態(tài)Bean(Stateful Bean) 還是無(wú)狀態(tài)Bean(Stateless Bean),交易類(lèi)型等。ejb-jar.xml文件的詳細(xì)信息請(qǐng)參閱EJB規(guī)范。以下是HelloBean的配置文件:
          <?xml version="1.0"?>
          <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems Inc.//DTD Enterprise JavaBeans 1.2//EN" "http://java.sun.com/j2ee/dtds/ejb-jar_1_2.dtd">
          <ejb-jar>
          <enterprise-beans>
          <session>
          <ejb-name>Hello</ejb-name>
          <home>com.leo.HelloHome</home>
          <remote>com.leo.Hello</remote>
          <ejb-class>com.leo.HelloEJB</ejb-class>
          <session-type>Stateless</session-type>
          <transaction-type>Container</transaction-type>
          </session>
          </enterprise-beans>
          </ejb-jar>
           

          6、創(chuàng)建weblogic-ejb-jar.xml
           <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE weblogic-ejb-jar PUBLIC "-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN" "http://www.bea.com/servers/wls810/dtd/weblogic-ejb-jar.dtd">
          <weblogic-ejb-jar>
           <description><![CDATA[Generated by XDoclet]]></description>
             <weblogic-enterprise-bean>
                <ejb-name>Hello</ejb-name>
                <stateless-session-descriptor>
                </stateless-session-descriptor>
                <reference-descriptor>
                </reference-descriptor>
                <jndi-name>Hello</jndi-name>
                <local-jndi-name>HelloLocal</local-jndi-name>
             </weblogic-enterprise-bean>
          </weblogic-ejb-jar>
          7、部署和編譯
                    EJB的jar包是由class文件和描述文件組成,對(duì)于weblogic服務(wù)器來(lái)說(shuō)還要增加weblogic-ejb-jar.xml描述文件。編譯Java源文并將編譯后class和ejb-jar.xml、weblogic-ejb-jar.xml打包到Hello.jar
          7.1:創(chuàng)建目錄build。
          7.2:在build下新建目錄META-INF,把文件ejb-jar.xml、weblogic-ejb-jar.xml拷到META-INF下。
          7.3:把編譯好的class文件拷到build目錄下(此時(shí)為com/leo/Hello.class,HelloEJB.class,HelloHome.class)。
          7.4:打包成jar文件: jar -cvf hello.jar *.* 。
          7.5:再將hello.jar文件部署到weblogic服務(wù)器中。
          8、寫(xiě)客戶端調(diào)用程序
          您可以從Java Client,JSP,Servlet或別的EJB調(diào)用HelloBean。
          調(diào)用EJB有以下幾個(gè)步驟:
          通過(guò)JNDI(Java Naming Directory Interface)得到EJB Home Interface
          通過(guò)EJB Home Interface 創(chuàng)建EJB對(duì)象,并得到其Remote Interface
          通過(guò)Remote Interface調(diào)用EJB方法
          以下是一個(gè)從Java Client中調(diào)用HelloBean的例子:
          package ejb.hello;
          import javax.naming.Context;
          import javax.naming.InitialContext;
          import java.util.Hashtable;
          import javax.ejb.*;
          import java.rmi.RmoteException;
          /**
          * @author Copyright (c) 2000 by Apusic, Inc. All Rights Reserved.
          */
          public class HelloClient {
              public static void main(String args[]){
                  String url = "rmi://localhost:7100";
                    Context initCtx = null;
                    HelloHome hellohome = null;
                    try {
                            Hashtable env = new Hashtable();
                            env.put(Context.INITIAL_CONTEXT_FACTORY,"com.apusic.jndi.InitialContextFactory");
                            env.put(Context.PROVIDER_URL, url);
                            initCtx = new InitialContext(env);
                    } catch(Exception e){
                            System.out.println("Cannot get initial context: " + e.getMessage());
                            System.exit(1);
                    }
                    try {
                            Object obj=ctx.lookup("Hello");
                            HelloHome home=(HelloHome)PortableRemoteObject.narrow(obj,HelloHome.class);
                            Hello hello = hellohome.create();
                            String s = hello.getHello();
                            System.out.println(s);
                   }catch(Exception e){
                            System.out.println(e.getMessage());
                            System.exit(1);
                  }
              }
          }
            運(yùn)行HelloClient,可得到以下輸出:
            Hello EJB

          posted @ 2007-11-28 13:44 CoderDream 閱讀(2176) | 評(píng)論 (0)編輯 收藏
          ejb3.0開(kāi)發(fā)環(huán)境配置
          運(yùn)行環(huán)境配置
          1、工具下載與安裝
                1>下載安裝JDK5.0(www.java.sun.com)
                2>下載安裝eclipse3.2.x(www.eclipse.org)(如果你下載了JBOSS IDE2.0(內(nèi)含eclipse3.2.x,這個(gè)可以不要)
                3>下載和安裝jboss-4.0.5.GA 服務(wù)器(記住一定要下載安裝版,內(nèi)含EJB3.0Container,地址:http://sourceforge.net/project/d ... mp;use_mirror=jaist
                4>下載插件JBOSS IDE 2.0(http://sourceforge.net/project/d ... amp;use_mirror=nchc)
                安裝JBOSS是要注意幾點(diǎn):
                 1>議不要安裝在Program Files 目錄,否則一些應(yīng)用會(huì)導(dǎo)致莫名的錯(cuò)。
                2>選擇帶集群功能的安裝選項(xiàng)“ejb3-clustered”
                3>在輸入配置名稱(chēng)時(shí),輸入“all”
                4>在配置JMX時(shí),把所有選擇薦都勾上,并輸入jmx-console的用戶名和密碼!
                5》運(yùn)行JBOSS,進(jìn)行JBOSS安裝目錄下,進(jìn)入BIN目錄下,運(yùn)行 run -c all,如果直接運(yùn)行run,會(huì)報(bào)錯(cuò)!(因?yàn)槟鉹un.bat不知道你運(yùn)行的是那種配置all,default,還是min)
          2、設(shè)置環(huán)境變量
              JAVA_HOME=JAVA安裝目錄
             JBOSS_HOME=JBOSS安裝目錄

          3、認(rèn)識(shí)JBOSS目錄用途
          目錄        描述
          bin        啟 動(dòng) 和關(guān)閉JBoss的腳本
          client         客戶端與JBoss通信所需的Java 庫(kù)(JARs)
          docs         配置的樣本文件(數(shù)據(jù)庫(kù)配置等)
          docs/dtd        在JBoss中使用的各種XML文件的DTD。
          lib        一些JAR,JBoss啟動(dòng)時(shí)加載,且被所有JBoss配置共享。(不要把你的庫(kù)放在這里)
          server         各種JBoss配置。每個(gè)配置必須放在不同的子目錄。子目錄的名字表示配置的名字。JBoss
          包含3 個(gè)默認(rèn)的配置:minimial,default和all,在你安裝時(shí)可以進(jìn)行選擇
          server/all         JBoss的完全配置,啟動(dòng)所有服務(wù),包括集群和IIOP。(本教程就采用此配置)
          server/default         JBoss 的默認(rèn)配置。在沒(méi)有在JBoss 命令航中指定配置名稱(chēng)時(shí)使用。(本教程沒(méi)有安裝此
          配置,如果不指定配置名稱(chēng),啟動(dòng)將會(huì)出錯(cuò))
          server/all/conf         JBoss的配置文件。
          server/all/data         JBoss的數(shù)據(jù)庫(kù)文件。比如,嵌入的數(shù)據(jù)庫(kù),或者JBossMQ。
          server/all/deploy        JBoss的熱部署目錄。放到這里的任何文件或目錄會(huì)被JBoss自動(dòng)部署。EJB、WAR、EAR,甚至服務(wù)。
          server/all/lib         一些JAR,JBoss在啟動(dòng)特定配置時(shí)加載他們。(default和minimial配置也包含這個(gè)和下面兩個(gè)目錄。)
          server/all/log        JBoss的日志文件
          server/all/tmp        JBoss的臨時(shí)文件
          4、EJB部署
             JBoss中的部署過(guò)程非常的簡(jiǎn)單、直接。在每一個(gè)配置中,JBoss不斷的掃描一個(gè)特殊目錄的變化:
          [jboss安裝目錄](méi)/server/config-name/deploy。
          posted @ 2007-11-28 11:49 CoderDream 閱讀(683) | 評(píng)論 (0)編輯 收藏


              大多數(shù)人學(xué)英語(yǔ)只知整天死背詞匯表,或昏昏欲睡地聽(tīng)老師絮叨語(yǔ)法。盡管老師常會(huì)夸張運(yùn)用臉部肌肉演示發(fā)音,然而僅僅一天之后,所學(xué)一切就開(kāi)始在你腦海中逐漸褪色。這便導(dǎo)致了一個(gè)無(wú)奈的結(jié)果:就算你會(huì)讀會(huì)寫(xiě),可當(dāng)你真正面對(duì)一個(gè)外國(guó)人進(jìn)行電話會(huì)議或演講陳述的實(shí)戰(zhàn)練習(xí)時(shí),你還是傻眼了。
          現(xiàn)在EF中國(guó)區(qū)總裁Peter Winn告訴你:只需掌握了五個(gè)基本秘訣,即可輕松掌握單詞、詞組,真正實(shí)現(xiàn)“無(wú)痛”學(xué)英語(yǔ)。

              1.確定目標(biāo),適時(shí)褒獎(jiǎng)。大多數(shù)人把學(xué)英語(yǔ)的目的簡(jiǎn)單地定義為“對(duì)未來(lái)有益”,其實(shí)精準(zhǔn)的目標(biāo)設(shè)定更有助于集中精力達(dá)成最終結(jié)果,其關(guān)鍵在于確定成績(jī)測(cè)試方式及時(shí)間范圍。你需要對(duì)自身英語(yǔ)水平做出客觀評(píng)估,并制定漸進(jìn)提高的詳細(xì)步驟。須謹(jǐn)記:衡量學(xué)習(xí)成果,定要始終使用同一衡量標(biāo)準(zhǔn),這樣才能清楚看見(jiàn)進(jìn)步空間。另外,設(shè)立長(zhǎng)遠(yuǎn)目標(biāo)倒也無(wú)妨,如同“說(shuō)一口流利的、不帶絲毫口音的英語(yǔ)”等等,就是不少人正在使用著的目標(biāo)。不過(guò),以階段性目標(biāo)作為發(fā)端容易敲開(kāi)成功之門(mén),“我希望能與同事進(jìn)行基本商務(wù)對(duì)話”,就是一個(gè)不錯(cuò)的例子。最后,千萬(wàn)不要忘記,哪怕你獲得最微小的進(jìn)步,也應(yīng)適時(shí)獎(jiǎng)勵(lì)自己,如此可以保證長(zhǎng)期的學(xué)習(xí)激情。

              2.快樂(lè)學(xué)習(xí),輕松記憶。學(xué)習(xí)英語(yǔ),可以脫離教室。研究表明,當(dāng)人們處于快樂(lè)的心境下,記憶力更突出、自信心更富裕。把英語(yǔ)學(xué)習(xí)同興趣愛(ài)好結(jié)合起來(lái)。喜歡打網(wǎng)球,就參加英語(yǔ)交流的網(wǎng)球俱樂(lè)部;喜歡烹飪,就報(bào)名采用英語(yǔ)教學(xué)的烹飪培訓(xùn)班;喜歡唱歌,不妨試試在卡拉OK演唱英語(yǔ)歌曲……用眼睛盯著屏幕,用耳朵捕捉一遍遍重復(fù)的歌詞,輔以熟悉流暢的旋律,這一切讓單詞記憶變得越發(fā)簡(jiǎn)單。可能最初有點(diǎn)難,但是這會(huì)強(qiáng)迫你使用英語(yǔ)。尤其是你正做著自己熱愛(ài)的事情,學(xué)習(xí)英語(yǔ)的痛苦也就一掃而光了。

              3. 融入環(huán)境,異化自己。建立英語(yǔ)學(xué)習(xí)自信心的關(guān)鍵無(wú)非:實(shí)踐實(shí)踐再實(shí)踐!缺少實(shí)踐機(jī)會(huì)和語(yǔ)言環(huán)境是目前中國(guó)學(xué)生面臨的最大挑戰(zhàn)。當(dāng)年我學(xué)習(xí)中文的時(shí)候,我和身邊朋友定下默契,盡量強(qiáng)迫自己用中文互相交流,即便中文不是我們其中任何一個(gè)人的母語(yǔ)。我們大家約定不到萬(wàn)不得已之時(shí),必須一直說(shuō)英語(yǔ),甚至對(duì)違反默認(rèn)規(guī)則的人實(shí)行懲罰措施!雖然剛開(kāi)始可能會(huì)犯很多錯(cuò)誤,但隨著對(duì)英語(yǔ)對(duì)話模式的逐漸熟悉,所犯錯(cuò)誤也將越來(lái)越少。令自己處于一個(gè)天然外語(yǔ)環(huán)境同樣重要,這個(gè)環(huán)境可以是辦公室、俱樂(lè)部、健身館、酒吧、餐廳,諸如此類(lèi)的場(chǎng)所越多越好。盡量挑選“主動(dòng)”語(yǔ)言環(huán)境,比如俱樂(lè)部或派對(duì),在那里你會(huì)更有說(shuō)話的欲望。而像電影院之類(lèi)的“被動(dòng)”語(yǔ)言環(huán)境,收效往往并不出色。不要害怕犯錯(cuò)——走出門(mén)去,找外國(guó)人交流。

              4. 尋求幫助,制訂規(guī)劃。學(xué)習(xí)英語(yǔ)的一個(gè)關(guān)鍵步驟,是接受高質(zhì)量學(xué)習(xí)指導(dǎo)或參加高端語(yǔ)言培訓(xùn)項(xiàng)目。據(jù)我了解,很多學(xué)生寧愿選擇自學(xué),以及與外國(guó)友人實(shí)戰(zhàn)練習(xí)。最終,這些學(xué)生的確能夠建立充分信心,敢于流利表達(dá)自己,但詞匯量卻相當(dāng)有限。這就等于缺少了最基本的磚塊,無(wú)法建起堅(jiān)實(shí)的語(yǔ)言基礎(chǔ)。我認(rèn)識(shí)一個(gè)女孩,她說(shuō)話速度很快,卻從不注意用詞,因此總是表達(dá)不夠清晰。另外一個(gè)學(xué)生經(jīng)常和外國(guó)友人一起泡吧,于是連他自己都沒(méi)有意識(shí)到,他的口頭英語(yǔ)里夾雜許多酒吧用語(yǔ),甚至包括hey dude、yeah man 、that rocks!這些粗俗的臟話,就好像他長(zhǎng)年在酒吧工作一樣。扮演不同的社會(huì)角色,必然有完全迥異的英語(yǔ)表達(dá)方式,你能想象與國(guó)外客戶高層管理人員開(kāi)電話會(huì)議時(shí)突然冒出hey dude、that rocks這些詞句嗎?而這些區(qū)別只能由一個(gè)專(zhuān)業(yè)老師指導(dǎo)。一個(gè)稱(chēng)職老師會(huì)詳細(xì)分析學(xué)生的優(yōu)勢(shì)和不足,找到需要輔導(dǎo)的不足所在,強(qiáng)化本身具備的優(yōu)勢(shì),由此制定一個(gè)切實(shí)可行的學(xué)習(xí)規(guī)劃。 學(xué)習(xí)語(yǔ)言不僅需要流利,更加需要得體!

              5. 承諾自己,態(tài)度積極。從來(lái)沒(méi)有確切證據(jù)表明,某種特質(zhì)的某些人更易于或更難于熟練掌握一門(mén)語(yǔ)言。相信我,任何人無(wú)論年齡、基礎(chǔ),只要具備正確學(xué)習(xí)態(tài)度,都足以學(xué)好英語(yǔ)。那些失敗過(guò)的學(xué)生,并不是因?yàn)樗麄儾粔蚵斆鳎且驗(yàn)樗麄儧](méi)有把學(xué)英語(yǔ)當(dāng)作一種對(duì)自己的承諾。你越早制定明確目標(biāo)和學(xué)習(xí)計(jì)劃,就能越快克服重重障礙。當(dāng)然,最初要讓舌頭適應(yīng)陌生的聲音和句式,確實(shí)有些困難。這并不該讓你退卻。失敗原因永遠(yuǎn)只有一個(gè),那就是你自己向這些困難投降了。

              遵循這5個(gè)簡(jiǎn)單步驟,你很快會(huì)發(fā)現(xiàn)詞匯量和造句能力迅速提高,而對(duì)英語(yǔ)學(xué)習(xí)信心逐漸增強(qiáng),與老外對(duì)話時(shí)逐漸懂得鎮(zhèn)定心思。曾經(jīng)有位老師教育我要“操控”語(yǔ)言,而不是讓語(yǔ)言“操控”你。 不知不覺(jué),你會(huì)愛(ài)上英語(yǔ),學(xué)習(xí)也不再感覺(jué)痛苦。

          posted @ 2007-11-27 17:27 CoderDream 閱讀(359) | 評(píng)論 (0)編輯 收藏
          可能是有些自負(fù)的因素吧,我常常覺(jué)得《程序員》雜志上的很多觀點(diǎn)和我不謀而合。我一般喜歡看的是人物介紹、產(chǎn)品的底層實(shí)現(xiàn)方法等文章;對(duì)其它的新名詞倒不是很感興趣;最不喜歡的欄目反而是幾個(gè)人不斷的在說(shuō)各家產(chǎn)品的有什么新技術(shù)、新趨勢(shì)的文章。

          在接觸《程序員》雜志的這七年,也是我從迷茫走向成熟的七年,至少我能明白我現(xiàn)在在做什么,也能夠承擔(dān)因此而引起的后果,不論是苦還是甜。

          這幾年來(lái),我也發(fā)生了很大的變化,各種生活也逐漸定型,雖然開(kāi)發(fā)不是一個(gè)很好的工作,但對(duì)我個(gè)人來(lái)說(shuō),技術(shù)(特別是開(kāi)發(fā))仍然是能最發(fā)揮我的特點(diǎn)的一個(gè)職業(yè)。隨著年齡的增長(zhǎng),我也能坦然接受自己對(duì)這個(gè)工作的喜愛(ài),并感受到其中的一點(diǎn)樂(lè)趣。

          粗粗算來(lái),已經(jīng)工作快十八年了,接觸計(jì)算機(jī)也有二十年的時(shí)間,其中用于編程的時(shí)間大概也有十年,在這里將我的幾點(diǎn)體會(huì)和大家分享一下。如果您是一個(gè)程序員、或者打算做一個(gè)程序員,或者打算開(kāi)一個(gè)公司從事軟件開(kāi)發(fā)方面的工作,希望這些觀點(diǎn)能夠?qū)δ兴鶐椭?br />
          1、開(kāi)發(fā)規(guī)模問(wèn)題
             
          對(duì)于目前業(yè)內(nèi)的一些觀點(diǎn),我并不認(rèn)同。例如在各種報(bào)刊雜志上,經(jīng)常有專(zhuān)家教授嘮嘮叨叨在說(shuō)現(xiàn)在的軟件開(kāi)發(fā)已經(jīng)進(jìn)入工業(yè)化時(shí)代,要多少多少人團(tuán)隊(duì)開(kāi)發(fā),才能如何如何。但是,基于國(guó)內(nèi)的實(shí)際情況,其實(shí)許多1000萬(wàn)元以下的項(xiàng)目完全是幾個(gè)人的小團(tuán)隊(duì)開(kāi)發(fā)模式,即使大到規(guī)模上市的軟件公司,具體到每個(gè)定制開(kāi)發(fā)的項(xiàng)目,實(shí)際項(xiàng)目組的開(kāi)發(fā)人員,也經(jīng)常只有不到十個(gè)人的規(guī)模,三、五個(gè)人的情況更是多如牛毛。

          再看看國(guó)際上,我們所使用的一些著名的產(chǎn)品,如unix系統(tǒng)、C語(yǔ)言、notes系統(tǒng)、java語(yǔ)言、甚至最早的windows、dos很多都是幾個(gè)人的小組所完成的開(kāi)發(fā)。

          至于這些產(chǎn)品的推廣完善,所需要的巨大人力資源和開(kāi)發(fā)之初的人力投入完全是兩回事。在開(kāi)發(fā)階段,人多不一定就是好事,甚至肯定要壞事。

          這就像生小孩一樣,只要一男一女兩個(gè)人就完全足夠,但是,將這個(gè)孩子養(yǎng)大成人,除了他的父母,整個(gè)家庭、學(xué)校、社會(huì)等其它各色人等也直接或間接付出了很多。但這個(gè)孩子仍然只是他父母開(kāi)發(fā)出來(lái)的,其它人只是起一個(gè)推波助瀾的作用。

          2、技術(shù)與思想問(wèn)題

          綜合分析目前國(guó)內(nèi)的軟件開(kāi)發(fā)方法(甚至包括其它IT技術(shù)),不難發(fā)現(xiàn),我們總是熱衷于技術(shù),而不注重標(biāo)準(zhǔn)。從Basic、C、C++、一直到j(luò)ava、 C#等語(yǔ)言,再到.Net、J2EE等架構(gòu),多少技術(shù)在我們眼前晃來(lái)晃去,有些人也以掌握這些技術(shù)為目的,甚至洋洋得意。

          其實(shí),冷靜下來(lái)分析一下其中的核心技術(shù)內(nèi)容,現(xiàn)在的Web開(kāi)發(fā)和早期的CGI方式的Web開(kāi)發(fā),只有方法上的不同,沒(méi)有實(shí)質(zhì)上的區(qū)別,所遵循的數(shù)據(jù)標(biāo)準(zhǔn)也沒(méi)有任何變化。

          整天只沉迷于片面的技術(shù),使我們離核心技術(shù)越來(lái)越遠(yuǎn),根本談不上什么創(chuàng)造性。現(xiàn)在國(guó)內(nèi)很多電子政務(wù)的項(xiàng)目在投標(biāo)時(shí)均要求必須基于J2EE或.Net技術(shù),完全拒絕LAMP和其它技術(shù),估計(jì)很多美國(guó)公司老板做夢(mèng)都要笑出聲來(lái)。

          重要的是思想而不是工具,就象毛澤東打敗蔣介石是依靠思想而不是武器一樣,技術(shù)并不起決定作用。

          3、技術(shù)沉淀的重要性

          由于不注重核心技術(shù)(其實(shí)那怕是一個(gè)小小的strcpy都是核心技術(shù)的一部分),很多公司沒(méi)有任何技術(shù)積累,也沒(méi)有可重復(fù)使用的底層開(kāi)發(fā)庫(kù),更談不上編程方法和思想上的積累。

          因?yàn)楣ぷ鞯年P(guān)系,我曾經(jīng)接觸過(guò)不少項(xiàng)目,這些項(xiàng)目都是號(hào)稱(chēng)采用了何等先進(jìn)的技術(shù)云云,但實(shí)際上很多項(xiàng)目即使一個(gè)簡(jiǎn)單的按鈕修改都需要在每個(gè)JSP文件中逐個(gè)修改。看了這樣的代碼,你真的不能不相信,語(yǔ)言是一個(gè)項(xiàng)目中最不重要的技術(shù)。


          4、面向?qū)ο蟮氖桥c非

          我始終認(rèn)為翻譯“面向?qū)ο?#8221;的那個(gè)人是一個(gè)典型的老光棍,整天想著找對(duì)象,所以就想當(dāng)然的這么翻譯,其實(shí)我覺(jué)得“面向?qū)ο?#8221;應(yīng)該是“面向目的”才對(duì)。所謂面向目的,說(shuō)白了就是黑貓白貓的一句話。

          其實(shí)“面向目的”(而不是“面向?qū)ο?#8221;)更多的是一種思想,而不是一個(gè)所謂的編程方法。所謂的抽象,固然有其必要性,但到處都是對(duì)象的說(shuō)法,往往只是一些外行說(shuō)出的內(nèi)行話。難怪Torvalds對(duì)C++批的一無(wú)是處。

          真正的“面向目的”,就是對(duì)一個(gè)項(xiàng)目的各個(gè)部分采用最適合的方法以達(dá)成目的。

          5、大道至簡(jiǎn)

          我越來(lái)越相信“大道至簡(jiǎn)”這個(gè)哲學(xué)觀點(diǎn),從設(shè)計(jì)產(chǎn)品、系統(tǒng)分析、模塊劃分,一直到做飯洗菜、吃飯睡覺(jué),甚至到人際交往,這個(gè)道理都是相通的。從程序的角度也是如此,一段好的代碼大多都是一個(gè)簡(jiǎn)潔的代碼。

          就像做人一樣,簡(jiǎn)單做人,自己不辛苦,別人也不辛苦。同樣一種開(kāi)發(fā)語(yǔ)言、一種技術(shù)、一種開(kāi)發(fā)工具、一種框架平臺(tái)也是如此。

          我個(gè)人認(rèn)為C語(yǔ)言幾十年不倒的主要原因,主要就是因?yàn)槠浣Y(jié)構(gòu)簡(jiǎn)單,擴(kuò)充方便。n年前玩音響的時(shí)候,很多發(fā)燒友也一致認(rèn)為,在價(jià)格相當(dāng)?shù)那闆r下,一個(gè)旋鈕最少的音響基本上就是最好的音響,也是同樣的道理。

          6、責(zé)任心和細(xì)節(jié)

          其實(shí)大家都知道這一點(diǎn),但是實(shí)際操作起來(lái)往往又根本不在乎。做項(xiàng)目需求時(shí),有些人往往只是考慮實(shí)現(xiàn)客戶要求的功能,而不是從客戶要求的內(nèi)容去思考和分析,甚至因?yàn)楣ぷ髁康年P(guān)系,故意避開(kāi)一些問(wèn)題。但是這些問(wèn)題仍然存在,最后仍然會(huì)逐漸暴露出來(lái),反而自討苦吃。

          其實(shí),對(duì)客戶而言,能有更好更完善的方案一般都會(huì)樂(lè)意接受,如果能本著對(duì)客戶負(fù)責(zé)的精神,客戶才能真正信任你;你和客戶談起價(jià)格時(shí)也才能有理有據(jù)。

          很多時(shí)候只要負(fù)起責(zé)任,就會(huì)有助于發(fā)現(xiàn)所有的問(wèn)題,并提出一個(gè)妥善的解決方法,注意到每一個(gè)細(xì)小的問(wèn)題。其實(shí)大到衛(wèi)星上天,小到刷鍋洗碗,最根本的關(guān)鍵不是什么技術(shù),而是在高度責(zé)任心的基礎(chǔ)上對(duì)細(xì)節(jié)的把握。

          我曾經(jīng)在跳蚤市場(chǎng)買(mǎi)過(guò)一個(gè)七十年代的收音機(jī),是春雷703,一個(gè)很古老的上海牌子,其信噪比和靈敏度比現(xiàn)在的集成電路的高出很多,原因無(wú)它,每一件細(xì)小的功能都做到最好而已。其實(shí)看一個(gè)程序員只要看他對(duì)程序跳格的處理,就可以決定90%的情況。

          7、堅(jiān)持熬下去

          前幾天看一個(gè)關(guān)于抗戰(zhàn)的記錄片,老毛對(duì)抗戰(zhàn)相持階段的說(shuō)法是熬下去,當(dāng)然是積極的熬法。其實(shí)不僅是做程序,做其它事情又何嘗不是這樣。

          如果一天寫(xiě)100行代碼,10年下來(lái)就是30多萬(wàn)行,記得好像unix最早的代碼也不到40萬(wàn)行,30多萬(wàn)行代碼,可以做多少事情呀。

          有一天和一個(gè)朋友談起代碼量,他說(shuō)最近在招人,要求曾經(jīng)獨(dú)立寫(xiě)過(guò)1萬(wàn)行代碼,我后來(lái)仔細(xì)算了我開(kāi)發(fā)的MCIS中間件系統(tǒng),在代碼最多時(shí)也才5萬(wàn)多行,后來(lái)不斷調(diào)整優(yōu)化,現(xiàn)在只有4萬(wàn)行不到。再統(tǒng)計(jì)一下數(shù)據(jù)庫(kù)接口部分,每個(gè)數(shù)據(jù)庫(kù)接口只有可憐的400行代碼不到,但就這簡(jiǎn)單的400行已經(jīng)可以完成一個(gè)數(shù)據(jù)庫(kù)接口應(yīng)具備的完整功能。

          這幾天剛好趕上亞洲杯,中國(guó)隊(duì)0-3負(fù)于烏茲別克斯坦,又一次在打平即可出線的時(shí)候情況下完蛋。看看中國(guó)足球隊(duì)的窩囊,其實(shí)就是沒(méi)有認(rèn)真對(duì)待場(chǎng)上的每一分鐘,姑且不論技術(shù)和意識(shí),只要場(chǎng)上每個(gè)人都能堅(jiān)持90分鐘不停的奔跑攔截,估計(jì)在亞洲也可以獨(dú)立獨(dú)行。最根本而又最簡(jiǎn)單的沒(méi)有做到,又何談勝利。

          總想寫(xiě)一些東西,但因時(shí)間的關(guān)系,一直拖了下來(lái),這幾天剛好朋友約稿,就寫(xiě)一點(diǎn)自己的想法。從職業(yè)的角度而言,每個(gè)職業(yè)都有不同的酸甜苦辣,相比而言,選擇一個(gè)自己比較喜歡的職業(yè),也確實(shí)是一個(gè)不錯(cuò)的選擇。可能是年齡的關(guān)系,我反而覺(jué)得生活才是最重要的,當(dāng)然最好能在工作中保持樂(lè)趣,在生活中享受樂(lè)趣。在《程序員》雜志7年之際,寫(xiě)下這點(diǎn)東西,希望《程序員》雜志能夠成為更多程序員的朋友。
          posted @ 2007-11-27 15:15 CoderDream 閱讀(520) | 評(píng)論 (0)編輯 收藏
          僅列出標(biāo)題
          共24頁(yè): First 上一頁(yè) 4 5 6 7 8 9 10 11 12 下一頁(yè) Last 

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(9)

          我參與的團(tuán)隊(duì)

          隨筆分類(lèi)(245)

          隨筆檔案(239)

          文章分類(lèi)(3)

          文章檔案(3)

          收藏夾(576)

          友情鏈接

          搜索

          •  

          積分與排名

          • 積分 - 459691
          • 排名 - 114

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 昆山市| 平顶山市| 阿巴嘎旗| 城步| 大洼县| 和政县| 鄢陵县| 汾阳市| 尼勒克县| 南雄市| 太湖县| 叙永县| 昌都县| 西青区| 平阴县| 威信县| 容城县| 迁西县| 垣曲县| 临泉县| 吕梁市| 西充县| 嘉兴市| 长春市| 柳河县| 苍梧县| 巫山县| 石门县| 临邑县| 北京市| 河东区| 南岸区| 孝义市| 石狮市| 广汉市| 兴文县| 日喀则市| 巴里| 永嘉县| 汨罗市| 克拉玛依市|