从制造到创造
软件工程师成长之路
posts - 292,  comments - 96,  trackbacks - 0



下载VSD文件
posted @ 2007-09-29 10:14 CoderDream 阅读(541) | 评论 (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 阅读(144) | 评论 (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 阅读(228) | 评论 (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 阅读(260) | 评论 (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 阅读(145) | 评论 (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 阅读(2257) | 评论 (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 阅读(1098) | 评论 (0)编辑 收藏

1944年冬,盟军完成了对德国的铁壁合围,法西斯第三帝国覆亡在即。整个德国笼罩在一片末日的气氛里,经济崩溃,物资奇缺,老百姓的生活陷入严重困境。

对普通平民来说,食品短缺就已经是人命关天的事,更糟糕的是,由于德国地处欧洲中部,冬季非常寒冷,家里如果没有足够的燃料的话,根本无法捱过漫长的冬天。在这种情况下,各地政府只得允许让老百姓上山砍树。
 
你能想像帝国崩溃前夕的德国人是如何砍树的吗?在生命受到威胁时,人们非但没有去哄抢,而是先由政府部门的林业人员在林海雪原里拉网式地搜索,找到老弱病残的劣质树木,做上记号,再告诫民众:如果砍伐没有做记号的树,将要受到处罚。在有些人看来,这样的规定简直就是个笑话:国家都快要灭亡了,谁来执行处罚?
 
当时的德国,由于希特勒做垂死挣扎,几乎将所有的政府公务人员都抽调到前线去了,看不到警察,更见不到法官,整个国家简直就是处于无政府状态。但令人不可思议的是,直到第二次世界大战彻底结束,全德国竟然没有发生过一起居民违章砍伐无记号树木的事,每一个德国人都忠实地执行了这个没有任何强制约束力的规定。
 
这是著名学者季羡林先生在回忆录《留德十年》里讲的一个故事。当时他在德国留学,亲眼目睹了这一幕,所以事隔五十多年,他仍对此事感叹不已,说,德国人"具备了无政府的条件却没有无政府的现象"。
 
是一种什么样的力量使得德国人在如此极端糟糕的情况下,仍能表现出超出一般人想像的自律?答案只有两个字:认真。因为认真是一种习惯,它深入到一个人的骨髓中,融化到一个人的血液里。因了这两个字,德意志民族在经历了上个世纪初中叶两次毁灭性的世界大战之后,又奇迹般地迅速崛起。
 
再讲一个关于德国人认真的小故事。
 
熟悉柴油机制造业的人都知道有这样一个说法:中国制造的柴油机,噪音在数公里外都听得见,柴油机周围数十平方米都是油迹;而德国人生产的柴油机则可以放在办公室的地毯上工作,根本不会影响隔壁房间的人办公。
 
于是,1984年,武汉柴油机厂聘请德国退休企业家格里希任厂长。
 
格里希上任后开的第一个会议,市有关部门领导也列席参加了。没有任何客套,格里希便单刀直入,直奔主题:"如果说质量是产品的生命,那么,清洁度就是气缸的质量及寿命的关键。"说着,他当着有关方面领导的面,在摆放在会议桌上的气缸里抓出一大把铁砂,脸色铁青地说:"这个气缸是我在开会前到生产车间随机抽检的样品。请大家看看,我都从它里面抓出来了些什么?在我们德国,气缸杂质不能高于50毫克,而我所了解的数据是,贵厂生产的气缸平均杂质竟然在五千毫克左右。试想,能够随手抓得出一把铁砂的气缸,怎么可能杂质不超标?我认为这决不是工艺技术方面的问题,而是生产者和管理者的责任心问题,是工作极不认真的结果。"一番话,把坐在会议室里的有关管理人员说得坐立不安,尴尬之极。
 
两年后,格里希因种种原因卸职时,武汉柴油机厂生产的气缸杂质已经下降到平均一百毫克左右。回国后,格里希有几次来中国,每次都要到武汉柴油机厂探望。在厂里,他有时拿着磁头检查捧发现气缸有未清除干净的铁粉时,忘了自己已经不是厂长,仍然生气地向周围陪同的人大声咆哮:"你们怎么能这么不认真!"
 
如果说强大的德意志是一个可怕的民族,那么,认真也是一种可怕的力量,它大能使一个国家强盛,小能使一个人无往而不利。我们实在该好好学习德国人认真得近乎刻板的精神,将认真贯彻到自己点点滴滴的行为中。一旦认真二字也深入到自己的骨髓,融化进自己的血液,你也会焕发出一种令所有的人,包括自己,都感到害怕的力量。
 
作者简介:湘籍。1991年毕业于武汉大学中文系。曾在《独生子女》、《良友》杂志供职。现为自由撰稿人。

posted @ 2007-09-04 15:57 CoderDream 阅读(290) | 评论 (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 阅读(234) | 评论 (0)编辑 收藏
在JSF应用中,我们会经常用到值变事件(ValueChange),执行完值变方法后,默认情况下,会做提交动作,这样就会校验页面中的其他控件,例如是否为空等等。但是其他控件我们还没有输入值,当然不能校验,所以我们要阻止校验,而等到用户点击“提交”按钮的时候再校验。

如果我们没有做任何控制,运行效果就是下面这样,这显然不能然用户满意:



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

首先,将 immediate="true" :


其次,在值变函数中添加:

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

就可以了。


 

posted @ 2007-08-21 15:57 CoderDream 阅读(627) | 评论 (0)编辑 收藏
仅列出标题
共24页: First 上一页 11 12 13 14 15 16 17 18 19 下一页 Last 

<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

常用链接

留言簿(9)

我参与的团队

随笔分类(245)

随笔档案(239)

文章分类(3)

文章档案(3)

收藏夹(576)

友情链接

搜索

  •  

积分与排名

  • 积分 - 456257
  • 排名 - 114

最新评论

阅读排行榜

评论排行榜