從制造到創造
          軟件工程師成長之路
          posts - 292,  comments - 96,  trackbacks - 0



          下載VSD文件
          posted @ 2007-09-29 10:14 CoderDream 閱讀(551) | 評論 (1)編輯 收藏
          01、數字驗證碼的識別
          02、Log4j的Unknown Source問題 
          03、Javascript中最常用的55個經典技巧
          04、一篇不錯的講解Java異常的文章(轉載)----感覺很不錯,讀了以后很有啟發
          05、Web開發中使用反射為Bean賦值
          06、Hibernate優化查詢性能手段
          07、Java驗證碼資料精粹
          08、在LDAP中使用角色(Role)和組(Group)來管理用戶
          09、關于java數據類型和參數
          10、MySQL5綠色版windows下安裝總結
          11、成功!用SAX讀取XML文件。
          12、用Groovy讀XML文件。
          13、轉載 Java Reflection (JAVA反射)
          14、Ok!用DOM寫XML文件!
          15、checkbox勾選提交問題示例
          16、jsp 詳解request對象
          17、javascript 基礎知識之總結實例
          18、ORACLE函數大全
          19、關于spring+hibernate的事務的簡單配置(這里用的mysql數據庫)
          20、冒泡排序
          21、spring2.04+hibernate3.2+struts2+ajax中文亂碼問題
          22、在jsp環境中配置使用FCKEditor(轉載)
          23、真正的Java學習從入門到精通
          24、軟件開發的理念與實際開發
          25、如何用javascript控制checkbox,并進行批量刪除
          26、用servlet filter 解決編碼問題的一個小例子
          27、Hibernate Search 3.0 正式版發布
          28、中文分詞源代碼解析和下載
          29、面向對象分析與設計面向對象分析與設計OOAD
          30、EJB3.0規范解讀(轉)
          31、使用XFire+Spring構建Web Service
          32、Java做的酒店管理系統(C/S)源碼
          33、反編譯工具jad簡單用法
          34、一篇關于web.xml配置的詳細說明(轉載)
          35、系統進程相關
          36、Spring筆記之八(Internationalization of spring)
          37、java數據庫操作基本流程
          38、用java調用oracle存儲過程總結(轉載)
          39、Tomcat+MySql+Struts中文問題絕妙的解決方案
          40、使用 CVS 下載 java.net 的項目源碼
          41、【轉載】正確地做事與做正確的事同樣重要
          posted @ 2007-09-28 11:48 CoderDream 閱讀(146) | 評論 (1)編輯 收藏
          01、軟件架構亂彈——問題域及其解決方法
          02、JAVA6.0操作腳本語言
          03、架構隨筆整理索引
          04、Ajax基礎
          05、設計模式之創建模式
          06、[轉]J2EE總結--Servlet技術
          07、MD5算法的java版本(轉)
          08、MySQL命令 (7) -- 用戶管理
          09、Hibernate常見問題集錦
          10、JAVA中使用正則表達式的幾個功能
          11、原來Iterator是這樣的,才發現,失敗啊!
          12、ArrayList的使用方法以及與vector的對比(轉)
          13、寫給想當程序員的朋友—一個還不太老的普通程序員的體會
          14、Servlet,JSP 動態生成excel文件并提示下載的簡單方法
          15、簡單的java io測試
          16、Java代理模式
          17、利用Jakarta Commons組件beanutils、dbutils簡化JDBC數據庫操作(一)
          18、程序員的酸甜苦辣—寫在即將告別coding的時刻
          19、程序員與妓女和民工的比較(轉)
          20、Java多線程程序設計詳細解析
          21、jsp中文問題最終解決方案
          22、走出圍城—程序員職業生涯規劃路線圖 (轉csdn)
          23、迭代器模式(Iterator pattern)
          24、Struts與MVC模式的關系
          25、用簡單的實例來實踐TDD的核心思想
          26、EJB學習日記(11)
          27、Java中的++操作
          28、正方形不是長方形的終極解決辦法
          29、有趣的效應-ONE
          30、Spring 整合 Hibernate 的一處簡化配置<轉載>
          31、JAVA STRING UTIL
          32、JPA一對多關系的單向關聯
          33、Hibernate屬性延遲加載
          34、【轉】js日期時間函數
          35、門戶網站建設方案
          36、類加載機制初探
          37、GlassFish 2 vs. Tomcat 6
          38、tomcat中MySQL連接池配置
          39、java畫帶箭頭的線
          40、求質數的算法 (合集)
          41、J2EE全面簡介[轉]
          42、SQL語法參考手冊
          43、sql語句大全
          44、如何同時啟動多個Tomcat服務器
          45、OSCache學習
          46、用CashFilter實現頁面級緩存實踐
          47、Hadoop--海量文件的分布式計算處理方案
          48、設計模式之事務處理
          49、一個經試用效果非常不錯的數據庫連接池
          50、利用js實現欄目隨意拖動
          51、event.srcElement 說明 方法 技巧 (轉:柳永法(yongfa365)'Blog)
          52、菜單
          53、隨機數字驗證碼的生成
          54、改善程序員腦力的70條方法
          55、Ajax中文處理亂碼問題總結
          56、從Decorator,Adapter模式看Java/IO庫(一)
          57、再戰MVC(-)
          58、原創小框架: 動態面向對象數據庫操作(不要影射類哦)
          59、Adobe Flex 3最有趣的特征之一 :Web設計者和開發者的相遇
          60、Tomcat: Error filterStart解決辦法
          61、web開發中類的自動編譯和載入
          62、從Java的面向對象之后再學JavaScript的面向對象
          63、使用DataModelListener對‘jsf的dataTable組件自定義控制指定行樣式的方法 ’的改進
          64、CXF2.0 小試 。。。
          65、Spring 整合 Hibernate 的一處簡化配置<轉載>
          posted @ 2007-09-21 18:04 CoderDream 閱讀(231) | 評論 (1)編輯 收藏
          01、Spring集成XFire開發WebService
          02、大型Java Web項目的架構和部署調優問題
          03、處理一些和日期有關的動作
          04、java實現讀寫文件操作的三種不同方式
          05、JS之OOP
          06、AXIS(APACHE SOAP) 入門記錄
          07、內外網共享FCK editor的上傳文件
          08、Java反射機制學習筆記(二)
          09、java一個多線程的經典例子
          10、自用小框架:DB工廠
          11、[導入]介紹幾款所見即所得的WEB在線編輯器[轉]
          12、java---final 關鍵字 和 static 用法
          13、Hibernate 參數設置一覽表
          14、Spring的回調HibernateCallBack方法
          15、DWR+SPRING整合
          16、Oracle常用命令
          17、看《墨攻》理解IoC—Spring底層核心<轉載>
          18、一個程序員的奮斗歷程<轉貼>來自:LinuxForum
          19、一個php記錄訪問者IP到文件的簡單示例
          20、Java中堆和棧的區別(轉)
          21、我遇到的Javascript 現象總結
          22、設計模式之Factory
          23、DAO設計模式
          24、轉載: 用 Netbeans 開發 Ruby on Rails 程式
          25、轉載:我的 JRuby 初體驗
          26、jar包轉exe文件軟件
          27、MySQL命令 (6) -- 修改數據
          28、常用sql
          29、Pro員
          30、基于 UDP 的局域網多播聊天練習代碼
          31、整合Jboss和Hibernate
          32、【轉載】installanywhere
          33、正則表達式刪除空行
          34、Hibernate+Struts分頁代碼
          35、如何作出一個完善的分析復雜嵌套SQL語句的程序? (附上自己做的分析嵌套SQL語句的兩個類)
          36、限制用戶在文本框輸入的字數
          37、【轉】一篇關于web.xml配置的詳細說明
          38、【轉】JSP三種頁面跳轉方式
          39、java用于精確計算的類
          40、【轉】java中文件操作大全
          41、常用正則
          42、JspSmartUpload使用指南 (整理)  
          43、敏捷軟件開發
          44、jar包轉exe文件軟件
          posted @ 2007-09-21 17:39 CoderDream 閱讀(264) | 評論 (2)編輯 收藏
          1、hibernate簡述
          2、計算任意2個日期內的工作日(摘抄)
          3、接口和抽象類
          4、教大家SQL 內連接
          5、搭建Ruby on Rails開發環境(zz)
          6、簡單的java小知識點,比較容易忘記,不斷更新中(1)
          7、hibernate有關
          8、轉載: Spring 入門實戰
          9、想學好Java的 不進來看 是你的損失,, Java的好書
          10、【J2EE核心模式】——表現層設計考慮和不佳實踐
          11、今天跟大家講講方法的參數....
          12、在JAVA文件中獲取該項目的相對路徑
          13、java筆記3
          14、Jsp基礎
          15、接口和抽象類的定義方式舉例說明(轉)
          16、教大家 抽象類........
          17、Java的Build工具—Ant應用指南(1)
          18、Apache2.0 + Tomcat5.5 如何禁止掉目錄瀏覽
          19、未成熟的程序員做DD設計
          20、 Java反射機制
          21、貪吃蛇
          22、Java基礎-漫談EJB在Java中的應用
          23、一種簡單JDBC數據庫連接池的實現
          24、Oops! JSP + MS Access Quick Start
          25、Hibernate O/R映射
          26、一個26歲IT工程師寫在辭職后
          27、JAVA錯誤處理大集合
          28、轉載:Java學習從入門到精通
          29、Java精華積累:初學者都應該搞懂的問題
          30、轉載:請不要忽視這些基礎知識~
          31、spring+hibernate+struts整合開發實例(教程)
          32、SVN Beginning
          33、Java Excel API Beginning
          34、Subversion(SVN)安裝使用指南
          35、教大家使用反射類 。。 Class
          36、spring2.0使用手冊學習筆記(一)
          37、java2核心技術之代理模式
          38、添加table中的行
          39、(轉帖)利用xfire開發webservice專題[三]
          40、使用 Eclipse V3.3 保持代碼干凈(轉)
          41、限制JTextFiled只能輸入定長或者數字
          42、一個JMS發送接受程序示例(Weblogic)
          43、使用Spring2.0發送和接受JMS消息(在Spring2.0的參考手冊的基礎上補完)
          44、【轉】frameset框架使用總結
          45、java.util.List 真的會用么?看能作對否
          46、Oops! Eclipse + JSP + Applet + JMF Quick Start
          47、AJAX學習筆記---應用AJAX模仿"聯系站長"(JSP版)
          48、Socket編程實現簡單的服務器與客戶端互發消息
          49、一個簡單的DOM解析XML文件過程
          50、依賴注入和單元測試
          51、Hibernate核心接口簡介
          52、JAVA元數據注釋初探
          53、在代碼中編譯和創建Jar
          54、常去的幾個外國技術門戶
          posted @ 2007-09-18 18:08 CoderDream 閱讀(147) | 評論 (0)編輯 收藏

          一、構建Ant環境
          免安裝構建:如果你已經配置好Eclipse環境(3.0以上),那Ant環境就已經構建好了;
          ②從零開始手工配置:
          A:配置好Java環境;
          安裝JDK,然后設置好環境變量,如:

          Java 環境配置
          Java安裝目錄:E:\Java\jdk1.5.0_12
          在“系統”-》“高級”-》“環境變量”-》“系統參數”中
          1、新增JAVA_HOME:
          變量名:JAVA_HOME
          變量值:E:"Java\jdk1.5.0_12
          2、新增CLASSPATH:
          變量名:CLASSPATH
          變量值:.;%JAVA_HOME%\lib\tool.jar;%JAVA_HOME%\lib\dt.jar;
          3、在Path變量中增加Java的bin目錄
          已存在的變量名:Path
          在最前面新增的值:.;%JAVA_HOME%\bin;

                          B、下載Ant包:
          地址:http://ant.apache.org/bindownload.cgi
          配置Ant環境變量:

          Ant 環境配置
          Ant安裝目錄:D:\ant
          在“系統”-》“高級”-》“環境變量”-》“系統參數”中
          1、新增ANT_HOME:
          變量名:ANT_HOME
          變量值:D:\ant
          2、在Path變量中增加Ant的bin目錄
          已存在的變量名:Path
          在最前面新增的值:.;%ANT_HOME%"bin;

           測試:run-》cmd,輸入ant,如果出現下面的畫面,測表明Ant環境已經配置好了。



          二、簡單上手:
          build.xml

          <?xml version="1.0"?>
          <project default="main" basedir=".">
          <target name="main">
          <javac srcdir="src\main\hello\ant" destdir="bin"/>

          <java classname="main.hello.ant.HelloAnt">
          <classpath>
          <pathelement path="bin" />
          </classpath>
          </java>
          </target>
          </project>


          HelloAnt.java

          package main.hello.ant;

          public class HelloAnt {
          public static void main(String[] args) {
          System.out.println(
          "Hello World From HelloAnt!");
          }
          }

          目錄結構:



          運行結果:

           

          三、Ant提高

          改進build.xml,讓它做更多的事情:
          定義全局變量
          初始化,主要是建立目錄
          編譯(已有)
          打包為jar
          建立API documentation
          生成 發布(distribution) 產品


          build.xml
          <?xml version="1.0" encoding="UTF-8" ?>
          <project default="dist" basedir=".">
          <!-- 主要的系統環境屬性 -->
          <!-- 取Window,Unix的環境變量 -->
          <property environment="env" />
          <property name="java.home" value="${env.JAVA_HOME}" />
          <property name="ant.home" value="${env.ANT_HOME}" />

          <!-- 主要的app環境屬性 -->
          <property name="app.name" value="hello-ant" />
          <property name="app.jar" value="${app.name}.jar" />
          <property name="app.copyright" value=" Copyright(c) 2007 CoderDream's Studio All rights reserved." />

          <!-- app中的src屬性 -->
          <property name="src.dir" value="src" />
          <property name="src.main" value="${src.dir}/main" />
          <property name="src.script" value="${src.dir}/script" />

          <!-- app用到的lib -->
          <property name="lib.dir" value="lib" />

          <!-- app的build目錄中 -->
          <property name="build.dir" value="build" />
          <property name="build.classes" value="${build.dir}/classes" />
          <property name="build.docs" value="${build.dir}/doc" />
          <property name="build.docs.api" value="${build.docs}/api" />
          <property name="build.lib" value="${build.dir}/lib" />

          <!-- app的dist(distribution發布)目錄中 -->
          <property name="dist.dir" value="dist" />
          <property name="dist.bin" value="${dist.dir}/bin" />
          <property name="dist.docs" value="${dist.dir}/docs" />
          <property name="dist.lib" value="${dist.dir}/lib" />

          <!-- app的docs目錄中 -->
          <property name="docs.dir" value="docs" />

          <property name="report" value="report" />

          <path id="classpath">
          <pathelement location="${build.classes}" />
          <pathelement path="${java.home}/lib/tools.jar" />
          </path>

          <target name="init">
          <!-- 清除以前的目錄 -->
          <delete dir="${build.dir}" failonerror="false" />
          <delete dir="${dist.dir}" failonerror="false" />

          <!-- 準備目錄 -->
          <mkdir dir="${build.dir}" />
          <mkdir dir="${build.classes}" />
          <mkdir dir="${build.docs}" />
          <mkdir dir="${build.docs.api}" />
          <mkdir dir="${build.lib}" />
          <mkdir dir="${dist.dir}" />
          <mkdir dir="${dist.bin}" />
          <mkdir dir="${dist.lib}" />
          </target>

          <target name="build" depends="init">
          <javac srcdir="${src.dir}" destdir="${build.classes}">
          <classpath refid="classpath" />
          </javac>
          </target>

          <target name="jars" depends="build">
          <jar basedir="${build.classes}" jarfile="${build.lib}/${app.jar}" />
          </target>

          <target name="javadocs" depends="jars" description="-> creates the API documentation">
          <!-- copy docs 手冊 -->
          <copy todir="${build.docs}">
          <fileset dir="${docs.dir}" />
          </copy>

          <javadoc     packagenames="main.hello.ant.*" 
          sourcepath
          ="${src.dir}" 
          defaultexcludes
          ="yes" 
          destdir
          ="${build.docs.api}" 
          author
          ="true" 
          version
          ="true" 
          use
          ="true" 
          windowtitle
          ="Docs API">
          <doctitle>
          <![CDATA[<h1>hello and Docs API</h1>]]>
          </doctitle>
          <bottom>
          <![CDATA[<i>${app.copyright}</i>]]>
          </bottom>
          <tag name="todo" scope="all" description="To do:" />
          </javadoc>
          </target>

          <target name="dist" depends="javadocs">
          <!-- copy bin 執行文件 -->
          <copy todir="${dist.bin}">
          <fileset dir="${src.script}/" />
          </copy>

          <!-- copy doc 執行文件 -->
          <copy todir="${dist.docs}">
          <fileset dir="${build.docs}/" />
          </copy>


          <!-- copy lib 執行文件 -->
          <copy todir="${dist.lib}">
          <fileset dir="${build.lib}/" />
          </copy>
          </target>

          <target name="junitreport" depends="build">
          <junit printsummary="true" failureproperty="tests.failed">
          <test name="main.hello.ant.TestHelloAnt"/>
          <classpath>
          <pathelement location="${build.classes}"/>
          </classpath>
          </junit>

          <junitreport todir="${report}">
          <fileset dir="${report}">
          <include name="TEST-*.xml" />
          </fileset>
          <report format="frames" todir="${report}"/>
          </junitreport>

          <fail if="tests.failed">
          --fail!--
          </fail>
          </target>
          </project>

          執行結果:
          1、Console信息:
          Buildfile: E:\XL\workspace\Ant03\build.xml
          init:
          [delete] Deleting directory E:\XL\workspace\Ant03\build
          [delete] Deleting directory E:\XL\workspace\Ant03\dist
          [mkdir] Created dir: E:\XL\workspace\Ant03\build
          [mkdir] Created dir: E:\XL\workspace\Ant03\build\classes
          [mkdir] Created dir: E:\XL\workspace\Ant03\build\doc
          [mkdir] Created dir: E:\XL\workspace\Ant03\build\doc\api
          [mkdir] Created dir: E:\XL\workspace\Ant03\build\lib
          [mkdir] Created dir: E:\XL\workspace\Ant03\dist
          [mkdir] Created dir: E:\XL\workspace\Ant03\dist\bin
          [mkdir] Created dir: E:\XL\workspace\Ant03\dist\lib
          build:
          [javac] Compiling 1 source file to E:\XL\workspace\Ant03\build\classes
          jars:
          [jar] Building jar: E:\XL\workspace\Ant03\build\lib\hello-ant.jar
          javadocs:
          [javadoc] Generating Javadoc
          [javadoc] Javadoc execution
          [javadoc] Loading source files for package main.hello.ant
          [javadoc] Constructing Javadoc information
          [javadoc] Standard Doclet version 1.5.0_12
          [javadoc] Building tree for all the packages and classes
          [javadoc] Building index for all the packages and classes
          [javadoc] Building index for all classes
          [javadoc] Generating E:\XL\workspace\Ant03\build\doc\api\stylesheet.css
          [javadoc] Note: Custom tags that could override future standard tags:  @todo
          To avoid potential overrides, use at least one period character (.) in custom tag names.
          [javadoc] Note: Custom tags that were not seen:  @todo
          dist:
          [copy] Copying 17 files to E:\XL\workspace\Ant03\dist\docs
          [copy] Copying 1 file to E:\XL\workspace\Ant03\dist\lib
          BUILD SUCCESSFUL
          Total time: 
          4 seconds

          2、生成jar文件和docs API


           

          源代碼下載

          參考:
          1、Ant入門教程
          2、ant使用教程
          3、劉曉濤 第.2.章:.Java就業特訓--2、Java.構建工具.ANT 視頻
          posted @ 2007-09-18 16:51 CoderDream 閱讀(2273) | 評論 (1)編輯 收藏
          要求:將任意位數字輸出為定常格式的字符串,如001,0001等等。

          package com;

          import java.text.DecimalFormat;

          public class FormatNumber {
              
              
          /**
               * 根據參數生成輸出樣式
               * 
               * 
          @param n
               * 
          @return
               
          */
              
          private String initStyle(int n) {
                  String str 
          = "";
                  
          for (int i = 0; i < n; i++) {            
                      str 
          = str + "0";
                  }
                  
                  
          return str;
              }
              
              
          /**
               * 測試
               * 
               * 
          @param args
               
          */
              
          public static void main(String[] args) {
                  FormatNumber fn 
          = new FormatNumber();
                  String style 
          = fn.initStyle(3);
                  
                  DecimalFormat df1 
          = new DecimalFormat(style);
                  
          for (int i = 0; i < 11; i++) {
                      System.out.println(df1.format(i));    
                  }
                  
              }

          }


          輸出結果:

          000
          001
          002
          003
          004
          005
          006
          007
          008
          009
          010

          Java中格式化小數—小數有效位數
          http://blog.csdn.net/haotw/archive/2009/06/26/4301898.aspx

                我剛剛接觸Java編程,在練習中遇到了要把一個Double類型的小數保留到小數點后的幾位,結果在書上沒有找著,郁悶了一天,在網上搜索查找資料,綜合好幾個論壇的答案,終于搞定了。

             這是通過格式化小數實現的,必須把Double類型轉換為String類型,在輸出String類型,下面是我整理得程序,初次發表博客,不妥之處請多多指教……

          /*
           * Double.java
           * 2009.6.26
           * By:tw
           * 用于輸出雙精度數值的小數位數
           
          */
          package dou;
          import java.util.*;
          import java.text.*;
          public class Double{
           
          public static void main(String[] args){
            Scanner input
          =new Scanner(System.in);
            System.out.print(
          "請輸入一個數值:");
            
          double num=input.nextDouble(); //輸入一個數值
            DecimalFormat df=new DecimalFormat("0.0"); //保留一位小數
            DecimalFormat dg=new DecimalFormat("0.00"); //保留兩位小數
            DecimalFormat dh=new DecimalFormat("0.000"); //保留三位小數
            String strnum1=df.format(num); //將num轉換為字符串型
            String strnum2=dg.format(num);
            String strnum3
          =dh.format(num);
            System.out.println(
          "一位小數位:"+strnum1); //輸出一位小數
            System.out.println("兩位小數位:"+strnum2);
            System.out.println(
          "三位小數位:"+strnum3);
           }
          }

          小數部分為零時直接去尾
          http://it577net.javaeye.com/blog/465116

           
           
          /**
               * 去掉小數部分,思路來自于mysql administrator query軟件中顯示float的形式如此,
               * 缺點是返回類型是String,而不是不帶小數部分float,或許會影響前臺加減運算,
               * 但目前用途是js,反正是弱類型的
               *在bean 的 get方法中調用
               * 如doubleNoTail(5.5)=5.5
               * doubleNoTail(5.0)=5
               * 
          @param lengthnum 類型float 或 double
               * 
          @return 字符串符
               * 
          @since 2009-09-08
               
          */
              
          public static String doubleNoTail(float lengthnum) {
                  
          //將參數轉為字符串
                  String str = String.valueOf(lengthnum);
                  
          //獲得小數點位置
                  int index = str.indexOf(".");
                  
          //整數部分
                  String intsub = str.substring(0, index);
                  
          //小數部分
                  String decisub = str.substring(index + 1, str.length());
                  
          //小數部分轉整
                  int decimal = Integer.valueOf(decisub);
                  
          if (decimal == 0) {
                      
          if ("0".equals(intsub)) {
                          
          //整數部分為0,則返回空串
                          return "";
                      } 
          else {
                          
          //小數部分為0,則取整
                          return String.valueOf(Math.round(lengthnum));
                      }
                  } 
          else {
                      
          //小數部分不為0,即帶小數,則原樣返回
                      return str;
                  }
              }



          參考網頁:
          1、使用java.text包格式化數字和日期
          2、 眀海棠文集之數據格式化1.0
          3、Merlin 的魔力: 格式化數值和貨幣
          4、java中的格式化輸出(類似C語言的printf)
          5、Java格式化輸出數字
          6、java中格式化輸出數字
          posted @ 2007-09-06 16:10 CoderDream 閱讀(1104) | 評論 (0)編輯 收藏

          1944年冬,盟軍完成了對德國的鐵壁合圍,法西斯第三帝國覆亡在即。整個德國籠罩在一片末日的氣氛里,經濟崩潰,物資奇缺,老百姓的生活陷入嚴重困境。

          對普通平民來說,食品短缺就已經是人命關天的事,更糟糕的是,由于德國地處歐洲中部,冬季非常寒冷,家里如果沒有足夠的燃料的話,根本無法捱過漫長的冬天。在這種情況下,各地政府只得允許讓老百姓上山砍樹。
           
          你能想像帝國崩潰前夕的德國人是如何砍樹的嗎?在生命受到威脅時,人們非但沒有去哄搶,而是先由政府部門的林業人員在林海雪原里拉網式地搜索,找到老弱病殘的劣質樹木,做上記號,再告誡民眾:如果砍伐沒有做記號的樹,將要受到處罰。在有些人看來,這樣的規定簡直就是個笑話:國家都快要滅亡了,誰來執行處罰?
           
          當時的德國,由于希特勒做垂死掙扎,幾乎將所有的政府公務人員都抽調到前線去了,看不到警察,更見不到法官,整個國家簡直就是處于無政府狀態。但令人不可思議的是,直到第二次世界大戰徹底結束,全德國竟然沒有發生過一起居民違章砍伐無記號樹木的事,每一個德國人都忠實地執行了這個沒有任何強制約束力的規定。
           
          這是著名學者季羨林先生在回憶錄《留德十年》里講的一個故事。當時他在德國留學,親眼目睹了這一幕,所以事隔五十多年,他仍對此事感嘆不已,說,德國人"具備了無政府的條件卻沒有無政府的現象"。
           
          是一種什么樣的力量使得德國人在如此極端糟糕的情況下,仍能表現出超出一般人想像的自律?答案只有兩個字:認真。因為認真是一種習慣,它深入到一個人的骨髓中,融化到一個人的血液里。因了這兩個字,德意志民族在經歷了上個世紀初中葉兩次毀滅性的世界大戰之后,又奇跡般地迅速崛起。
           
          再講一個關于德國人認真的小故事。
           
          熟悉柴油機制造業的人都知道有這樣一個說法:中國制造的柴油機,噪音在數公里外都聽得見,柴油機周圍數十平方米都是油跡;而德國人生產的柴油機則可以放在辦公室的地毯上工作,根本不會影響隔壁房間的人辦公。
           
          于是,1984年,武漢柴油機廠聘請德國退休企業家格里希任廠長。
           
          格里希上任后開的第一個會議,市有關部門領導也列席參加了。沒有任何客套,格里希便單刀直入,直奔主題:"如果說質量是產品的生命,那么,清潔度就是氣缸的質量及壽命的關鍵。"說著,他當著有關方面領導的面,在擺放在會議桌上的氣缸里抓出一大把鐵砂,臉色鐵青地說:"這個氣缸是我在開會前到生產車間隨機抽檢的樣品。請大家看看,我都從它里面抓出來了些什么?在我們德國,氣缸雜質不能高于50毫克,而我所了解的數據是,貴廠生產的氣缸平均雜質竟然在五千毫克左右。試想,能夠隨手抓得出一把鐵砂的氣缸,怎么可能雜質不超標?我認為這決不是工藝技術方面的問題,而是生產者和管理者的責任心問題,是工作極不認真的結果。"一番話,把坐在會議室里的有關管理人員說得坐立不安,尷尬之極。
           
          兩年后,格里希因種種原因卸職時,武漢柴油機廠生產的氣缸雜質已經下降到平均一百毫克左右?;貒?,格里希有幾次來中國,每次都要到武漢柴油機廠探望。在廠里,他有時拿著磁頭檢查捧發現氣缸有未清除干凈的鐵粉時,忘了自己已經不是廠長,仍然生氣地向周圍陪同的人大聲咆哮:"你們怎么能這么不認真!"
           
          如果說強大的德意志是一個可怕的民族,那么,認真也是一種可怕的力量,它大能使一個國家強盛,小能使一個人無往而不利。我們實在該好好學習德國人認真得近乎刻板的精神,將認真貫徹到自己點點滴滴的行為中。一旦認真二字也深入到自己的骨髓,融化進自己的血液,你也會煥發出一種令所有的人,包括自己,都感到害怕的力量。
           
          作者簡介:湘籍。1991年畢業于武漢大學中文系。曾在《獨生子女》、《良友》雜志供職?,F為自由撰稿人。

          posted @ 2007-09-04 15:57 CoderDream 閱讀(299) | 評論 (0)編輯 收藏

          一個軟件項目從開始到結束,由于資源、人員、管理、方法學等等各方面的因素,往往不可避免的會存在一些問題,如需求不明確、項目管理失敗、溝通問題等等,今天無意中看到老外寫的關于這方面的一篇文章,總結的比較全面,翻譯過來結合自己的一些經驗做了點補充和修改,存檔以備時??梢愿嬲]一下自己。

          1、不能很好的理解用戶的需求,缺少與用戶之間的溝通。
          2、錯誤的預估項目的大小和難易度。
          3、沒有計劃就匆匆開始編碼。
          4、沒有在項目初期就開始做測試,一直拖到項目后期才做,或者根本不做什么測試。
          5、選擇時下最cool的技術還是已經被團隊使用比較成熟的技術,往往不能做出很正確的選擇。
          6、不采用任何軟件過程或者方法學。
          7、沒有一個真正的項目經理,讓開發人員無計劃的主導項目。
          8、拖延計劃,把進度壓力留在后期。
          9、不做版本控制,混亂的代碼庫和開發環境。
          10、在項目過程中隨意的更換開發工具和環境。
          11、客戶的任何需求都答應下來,需求會永無止境,記得學會說“不”。
          12、只有一個大的計劃,沒有把計劃分割成一個個更小的任務,要知道,大的計劃如果不分割成任務很難落實和具體實施。
          13、對開發團隊的管理不足。
          14、在項目后期增加人員來加快開發速度,很多時候往往適得其反。
          15、開發人員不做單元測試。
          16、一旦項目中遇到問題,就把壓力拋給開發人員。
          17、不關注軟件實際的運營環境和硬件條件。
          18、沒有命名規范和代碼規范。
          19、到處都用全局變量。
          20、遇到問題的時候往往不請教別人,而是一個人悶頭搞,到最后還是不得以還是通過別人來解決。
          21、沒有寫代碼注釋的習慣。
          22、對輸入輸出的數據不做驗證。
          23、不做壓力測試,到實際環境中往往就會出現更多的跟環境和性能相關的問題。
          24、項目內部溝通不暢,每個成員只是埋頭做自己的事情。
          25、沒有很好的bug管理規范和系統,往往用word、email、excel等文本方式來跟蹤bug,將會導致整個項目的bug管理陷入混沌。

          posted @ 2007-08-29 15:57 CoderDream 閱讀(241) | 評論 (0)編輯 收藏
          在JSF應用中,我們會經常用到值變事件(ValueChange),執行完值變方法后,默認情況下,會做提交動作,這樣就會校驗頁面中的其他控件,例如是否為空等等。但是其他控件我們還沒有輸入值,當然不能校驗,所以我們要阻止校驗,而等到用戶點擊“提交”按鈕的時候再校驗。

          如果我們沒有做任何控制,運行效果就是下面這樣,這顯然不能然用戶滿意:



          其實只要在方法和Jsp頁面修改一下就可以了:

          首先,將 immediate="true" :


          其次,在值變函數中添加:

          FacesContext context = FacesContext.getCurrentInstance();
          ...
          context.renderResponse();

          就可以了。


           

          posted @ 2007-08-21 15:57 CoderDream 閱讀(642) | 評論 (0)編輯 收藏
          僅列出標題
          共24頁: First 上一頁 11 12 13 14 15 16 17 18 19 下一頁 Last 

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(9)

          我參與的團隊

          隨筆分類(245)

          隨筆檔案(239)

          文章分類(3)

          文章檔案(3)

          收藏夾(576)

          友情鏈接

          搜索

          •  

          積分與排名

          • 積分 - 458542
          • 排名 - 114

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 新兴县| 鄱阳县| 建湖县| 宣恩县| 米易县| 潜山县| 西充县| 温泉县| 定兴县| 宁城县| 麻城市| 石门县| 定远县| 交口县| 浦县| 奉新县| 福海县| 雷州市| 图们市| 南开区| 德江县| 五原县| 汤阴县| 襄汾县| 沙洋县| 汤阴县| 富蕴县| 嵊州市| 丰都县| 丹凤县| 微博| 临漳县| 丽水市| 佳木斯市| 邵阳县| 应城市| 遂川县| 万全县| 玛沁县| 宁强县| 太湖县|