??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲人成网站18禁止久久影院,久久精品九九亚洲精品天堂,亚洲中文字幕久在线http://www.tkk7.com/super2/学习复习zh-cnFri, 09 May 2025 18:15:34 GMTFri, 09 May 2025 18:15:34 GMT60Scanner----java控制台和文gd的利?java 5新增)http://www.tkk7.com/super2/archive/2009/07/10/286236.html淘声依旧淘声依旧Fri, 10 Jul 2009 05:40:00 GMThttp://www.tkk7.com/super2/archive/2009/07/10/286236.htmlhttp://www.tkk7.com/super2/comments/286236.htmlhttp://www.tkk7.com/super2/archive/2009/07/10/286236.html#Feedback0http://www.tkk7.com/super2/comments/commentRss/286236.htmlhttp://www.tkk7.com/super2/services/trackbacks/286236.html
上一ơ说java没有c++里类似cinq样的从控制台读取的命oQ其实不寏V今天介l的Scannerq个cLjava 5新增加的c?不仅使用方便Q功能更是强大。先来看一个简单的例子:System.in指明从键盘读入数?nbsp;  
  
import java.util.*;
public class ScannerTest {
 
   public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        double a=scanner.nextDouble();
        System.out.println(a);
    }
}
q行
输入 一个Q意数然后输出q个?/span>
 
注意_体字的地方Q这一行就实现了从控制台输入数字的功能Q如果要从键盘输入字W串可以用:
String a=scanner.next();//注意不是nextString()
 
Scannerq可以直接扫描文Ӟ比如Q有炚wQ耐心一点)。可以指定其他输入流的对?如FileInputStream的对?q样的话是从文仉d数据,而不是从键盘d
import java.util.*;
import java.io.*;
public class ScannerTest {
    public static void main(String[] args) throws IOException{//q里涉及到文件io操作
        double sum=0.0;
        int count=0;
        FileWriter fout=new FileWriter("text.txt");
        fout.write("2 2.2 3 3.3 4 4.5 done");//往文g里写入这一字符?br />         fout.close();
        FileReader fin=new FileReader("text.txt");
        Scanner scanner=new Scanner(fin);//注意q里的参数是FileReadercd的fin
        while(scanner.hasNext()){//如果有内?br />             if(scanner.hasNextDouble()){//如果是数?br />                 sum=sum+scanner.nextDouble();
                count++;
            }else{
                String str=scanner.next();
                if(str.equals("done")){
                    break;  
                }else{
                    System.out.println("文g格式错误!");
                    return;
                }
            }
        }
        fin.close();
        System.out.println("文g中数据的q_数是:"+sum/count);
    }
}
l果输出文g中数据的q_数是:3.1666666666666665
q段E序的功能是?2 2.2 3 3.3 4 4.5 done"写入文gscannerd文g中的数直到donel束。ƈ求出数字的^均|比较有意思的是scanner会自动一I格作ؓ分割W区分不同数字。当然也可以通过scanner.useDelimiter(Pattern pattern)来设|不同的分割W,比如 scanner.useDelimiter(",*");
如果你感兴趣Q更多强大的功能可以参看jdk 5 的帮助文?/span>

本文 “Xhinker” 博客Q请务必保留此出?/span>http://xhinker.blog.51cto.com/640011/133575



淘声依旧 2009-07-10 13:40 发表评论
]]>
Eclipse 3.4使用摘录 http://www.tkk7.com/super2/archive/2009/07/10/286235.html淘声依旧淘声依旧Fri, 10 Jul 2009 05:38:00 GMThttp://www.tkk7.com/super2/archive/2009/07/10/286235.htmlhttp://www.tkk7.com/super2/comments/286235.htmlhttp://www.tkk7.com/super2/archive/2009/07/10/286235.html#Feedback0http://www.tkk7.com/super2/comments/commentRss/286235.htmlhttp://www.tkk7.com/super2/services/trackbacks/286235.html

1. VE -  升地址Q?nbsp;http://update.soyatec.org/Ganymede/ve/1.4 
    参考页面:http://wiki.eclipse.org/VE/Installing#VE_1.4


2. UML2 ToolsQ?选择Help->Software Updates ->Available Software -> Ganymeda ->Models and Model Development下的EMF - Eclipse Modeling Framework Runtime and ToolsQGraphical Modeling Framework RuntimeQ?UML2 Diagram Search FeatureQ?UML2 SearchQ?UML2 Tools安装卛_?/p>


3. SubclipseQSub Version 工具Q升U地址Q?a style="text-decoration: none; color: #336699; ">http://subclipse.tigris.org/update_1.4.x


4. Spring IDEQ升U地址Q?a style="text-decoration: none; color: #336699; ">http://springide.org/updatesite/site.xmlQ但L意,安装时去掉Spring IDE Dependencies(Only for Eclipse 3.2.x)和Spring Mylyn Integration(Optional)选项?/p>


5. Hibernate ToolQ需安装JBoss ToolQ下载地址为:http://download.jboss.org/jbosstools/builds/nightly/200809111947-nightly/all/JBossTools-200809111947-nightly-ALL-win32.zip
 
6. Proedit -- 资源文g~辑工具Q升U地址Q?a style="text-decoration: none; color: #336699; ">http://propedit.sourceforge.jp/eclipse/updates/

转自Q?a style="text-decoration: none; color: #336699; ">http://blog.csdn.net/sunshinestation/archive/2008/09/12/2919567.aspx


在Eclipse 3.4上正安装Subersive(SVN)插g
Eclipse 3.4菜单->Help->Software Updates...->选择Available Software

点击“Add Sites...”按钮Q分别添加两个站点:
http://download.eclipse.org/technology/subversive/0.7/update-site/
?br /> http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/

然后N以下选项Q然后点?#8220;Install...”安装Q必成功Q?br /> http://download.eclipse.org/technology/subversive/0.7/update-site/
--Subversive Integration Plug-in's
  --Subversive SVN Intergration for the Mylyn Project

http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/
--Subersive SVN Connectors
  --JavaHL 1.5.0 Connector
  --Native JavaHL 1.5 Win32
  --Subversive SVN Connectors
  --SVNKit 1.1.7 Implementation

转自Q?a style="text-decoration: none; color: #336699; ">http://xiaoluan.spaces.live.com/blog/cns!8F244FD8E9FE4639!307.entry

  以前安装Eclipse插g无非两种方式, 直接copy插g到features/plugins目录或者在links目录下创建链接文? 刚刚发布的Eclipse 3.4又推出另一U新的安装途径, 更加灉|。Eclipse 3.4下有个dropins目录, 只要把插件放到该目录下就可以加蝲, 有几U格式可以选择?/p>

1. 最单的Q直接将jar包放到dropins目录:

    eclipse/
          dropins/
               com.essiembre.eclipse.i18n.resourcebundle_0.7.7


2. 传统格式Q统一攑ֈ一个eclipse目录?
      eclipse/ 
          dropins/ 
               eclipse/ 
                    features/ 
                    plugins/


3. 按照插g名称区分:
    eclipse/ 
          dropins/ 
               resourcebundleeditor/ 
                    features/ 
                    plugins/               
               m2eclipse/ 
                    features/ 
                    plugins/

4. cMlinks方式d链接:

    eclipse/ 
          dropins/ 
               xfire.link

如果只安装一个Eclipse的话采用W三U,否则采用W四U?/p>

如果发现安装了没有效果,可以删除eclipseȝ录下的\configuration\org.eclipse.update后,再执行eclipse -clean试试?/p>

转自Q?a style="text-decoration: none; color: #336699; ">http://blog.csdn.net/flying__snow/archive/2008/09/06/2890414.aspx


本文来自CSDN博客Q{载请标明出处Q?a style="text-decoration: none; color: #336699; ">http://blog.csdn.net/sabuhaha/archive/2009/01/05/3710085.aspx



淘声依旧 2009-07-10 13:38 发表评论
]]>
java囄处理 (文字水印、图片水印、羃放、补? http://www.tkk7.com/super2/archive/2009/07/10/286233.html淘声依旧淘声依旧Fri, 10 Jul 2009 05:31:00 GMThttp://www.tkk7.com/super2/archive/2009/07/10/286233.htmlhttp://www.tkk7.com/super2/comments/286233.htmlhttp://www.tkk7.com/super2/archive/2009/07/10/286233.html#Feedback1http://www.tkk7.com/super2/comments/commentRss/286233.htmlhttp://www.tkk7.com/super2/services/trackbacks/286233.html  1 import java.awt.AlphaComposite;
  2 import java.awt.Color;
  3 import java.awt.Font;
  4 import java.awt.Graphics2D;
  5 import java.awt.Image;
  6 import java.awt.geom.AffineTransform;
  7 import java.awt.image.AffineTransformOp;
  8 import java.awt.image.BufferedImage;
  9 import java.io.File;
 10 import java.io.IOException;
 11 
 12 import javax.imageio.ImageIO;
 13 
 14 /**
 15  * @author Eric Xu
 16  *
 17  */
 18 public final class ImageUtils {
 19     /**
 20      * 囄水印
 21      * @param pressImg 水印囄
 22      * @param targetImg 目标囄
 23      * @param x 修正?nbsp;默认在中?br />  24      * @param y 修正?nbsp;默认在中?br />  25      * @param alpha 透明?br />  26      */
 27     public final static void pressImage(String pressImg, String targetImg, int x, int y, float alpha) {
 28         try {
 29             File img = new File(targetImg);
 30             Image src = ImageIO.read(img);
 31             int wideth = src.getWidth(null);
 32             int height = src.getHeight(null);
 33             BufferedImage image = new BufferedImage(wideth, height, BufferedImage.TYPE_INT_RGB);
 34             Graphics2D g = image.createGraphics();
 35             g.drawImage(src, 00, wideth, height, null);
 36             //水印文g
 37             Image src_biao = ImageIO.read(new File(pressImg));
 38             int wideth_biao = src_biao.getWidth(null);
 39             int height_biao = src_biao.getHeight(null);
 40             g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, alpha));
 41             g.drawImage(src_biao, (wideth - wideth_biao) / 2, (height - height_biao) / 2, wideth_biao, height_biao, null);
 42             //水印文gl束
 43             g.dispose();
 44             ImageIO.write((BufferedImage) image, "jpg", img);
 45         } catch (Exception e) {
 46             e.printStackTrace();
 47         }
 48     }
 49 
 50     /**
 51      * 文字水印
 52      * @param pressText 水印文字
 53      * @param targetImg 目标囄
 54      * @param fontName 字体名称
 55      * @param fontStyle 字体样式
 56      * @param color 字体颜色
 57      * @param fontSize 字体大小
 58      * @param x 修正?br />  59      * @param y 修正?br />  60      * @param alpha 透明?br />  61      */
 62     public static void pressText(String pressText, String targetImg, String fontName, int fontStyle, Color color, int fontSize, int x, int y, float alpha) {
 63         try {
 64             File img = new File(targetImg);
 65             Image src = ImageIO.read(img);
 66             int width = src.getWidth(null);
 67             int height = src.getHeight(null);
 68             BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
 69             Graphics2D g = image.createGraphics();
 70             g.drawImage(src, 00, width, height, null);
 71             g.setColor(color);
 72             g.setFont(new Font(fontName, fontStyle, fontSize));
 73             g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, alpha));
 74             g.drawString(pressText, (width - (getLength(pressText) * fontSize)) / 2 + x, (height - fontSize) / 2 + y);
 75             g.dispose();
 76             ImageIO.write((BufferedImage) image, "jpg", img);
 77         } catch (Exception e) {
 78             e.printStackTrace();
 79         }
 80     }
 81 
 82     /**
 83      * ~放
 84      * @param filePath 囄路径
 85      * @param height 高度
 86      * @param width 宽度
 87      * @param bb 比例不对时是否需要补?br />  88      */
 89     public static void resize(String filePath, int height, int width, boolean bb) {
 90         try {
 91             double ratio = 0.0//~放比例 
 92             File f = new File(filePath);
 93             BufferedImage bi = ImageIO.read(f);
 94             Image itemp = bi.getScaledInstance(width, height, bi.SCALE_SMOOTH);
 95             //计算比例
 96             if ((bi.getHeight() > height) || (bi.getWidth() > width)) {
 97                 if (bi.getHeight() > bi.getWidth()) {
 98                     ratio = (new Integer(height)).doubleValue() / bi.getHeight();
 99                 } else {
100                     ratio = (new Integer(width)).doubleValue() / bi.getWidth();
101                 }
102                 AffineTransformOp op = new AffineTransformOp(AffineTransform.getScaleInstance(ratio, ratio), null);
103                 itemp = op.filter(bi, null);
104             }
105             if (bb) {
106                 BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
107                 Graphics2D g = image.createGraphics();
108                 g.setColor(Color.white);
109                 g.fillRect(00, width, height);
110                 if (width == itemp.getWidth(null))
111                     g.drawImage(itemp, 0, (height - itemp.getHeight(null)) / 2, itemp.getWidth(null), itemp.getHeight(null), Color.white, null);
112                 else
113                     g.drawImage(itemp, (width - itemp.getWidth(null)) / 20, itemp.getWidth(null), itemp.getHeight(null), Color.white, null);
114                 g.dispose();
115                 itemp = image;
116             }
117             ImageIO.write((BufferedImage) itemp, "jpg", f);
118         } catch (IOException e) {
119             e.printStackTrace();
120         }
121     }
122 
123     public static void main(String[] args) throws IOException {
124         pressImage("G:\\imgtest\\sy.jpg""G:\\imgtest\\test1.jpg"000.5f);
125         pressText("我是文字水印""G:\\imgtest\\test1.jpg""黑体"36, Color.white, 80000.3f);
126         resize("G:\\imgtest\\test1.jpg"500500true);
127     }
128 
129     public static int getLength(String text) {
130         int length = 0;
131         for (int i = 0; i < text.length(); i++) {
132             if (new String(text.charAt(i) + "").getBytes().length > 1) {
133                 length += 2;
134             } else {
135                 length += 1;
136             }
137         }
138         return length / 2;
139     }
140 }
141 

getLength q个Ҏ用来得到文字的长?全角一个字 半角半个字 但是感觉q种Ҏ不太?不知道有没有更好地方法~

博文来源Q?a style="text-decoration: none; color: #006bad; ">http://www.javaeye.com/topic/309457



淘声依旧 2009-07-10 13:31 发表评论
]]>
Java目的工?/title><link>http://www.tkk7.com/super2/archive/2009/04/25/267496.html</link><dc:creator>淘声依旧</dc:creator><author>淘声依旧</author><pubDate>Sat, 25 Apr 2009 08:28:00 GMT</pubDate><guid>http://www.tkk7.com/super2/archive/2009/04/25/267496.html</guid><wfw:comment>http://www.tkk7.com/super2/comments/267496.html</wfw:comment><comments>http://www.tkk7.com/super2/archive/2009/04/25/267496.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/super2/comments/commentRss/267496.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/super2/services/trackbacks/267496.html</trackback:ping><description><![CDATA[<strong><span style="color: #ff0000;">本文转自</span><a target="_blank" rel="external"><span style="color: #ff0000;">http://www.suneca.com</span></a><br /> </strong>      一直想写一这Lȝ性文章,但不是没有时间就是没有勇气写下去Q因为怕别Z臭鸡蛋。这两天有时_l于鼓v勇气Q将q篇文章写来下!也希望对一些正在寻找更好发展的朋友能有点帮助,也希望对于一些技术跟理斚w的牛人,能给予一些徏议?br /> <br />        作ؓ一名项目经理、系l架构师或技术骨qԌ其水q_何,关系到公司的目理、Y件质量管理等斚w的问题。项目经理或技术骨q应该要起带头作用,使整个团队的开发及理能达CU更高的水^?br /> <br />        ? 作ؓ一名项目经理或公司技术骨q应该学会那些工具及知识点呢Q涉及到q一块的工具及技术点非常多,如何去选择Q是摆在目l理、系l架构师跟技术骨q面? 的问题。根据公司及团队的情况,选择合适的工具或技术框Ӟq一炚w帔R要。在目的不同阶D,需要有不同的工h支持?br /> <br />        按照软gpȝ的生命周期的六个阶段Q一般分为需求分析阶Dc系l设计阶Dc系l开发阶DcY件测试阶Dc系l发布阶Dc系l维护阶D,q几个阶D都需要有不同工具的支持?br /> <br /> <span><strong>一、需求分析阶D:</strong></span><br /> <strong>W一、项目管理及需求管理工?/strong><br /> <br />      ? 目管理工具很多公叔R在用,Z么要使用q些工具Q假如没有用这些工P而是使用Excel或Wordq行记录Q那当需求变_需求实现情늚跟踪Q? 软g是否能按时交付?是一仉常烦锁且Ҏ出错的事情。一个Y仉目、开发团队能否获得成功,理非常关键。比较有名的商业化工hQ?strong>MicroSoft Project Server</strong>?strong>Project 2003</strong>?strong>IBM Rational RequisitePro</strong>?strong>JIRA</strong>?strong>PowerDesinger</strong>。比较有名的开源需求管理工具包括:<strong>OSRMT(Open Source Requirements Management Tools)</strong>?strong>Xplanner</strong>?strong>Openworkbench</strong>{等?br /> <br />      很多软g公司都会使用<strong>SharePoint</strong>Q在<strong>SharePoint</strong>q_上,只要你想得到Q基本上都可以通过配置方式来满你的业务需求。在<strong>SharePoint</strong>上,可以?strong>MicroSoft Project Server</strong>很好的结合,再配|?strong>Project 2003</strong>为客LQ进行公司的目理。也许对<strong>Project</strong>操作习惯的问题,在Web界面q行目理的时候,总觉得很不方ѝ?br /> <br />     <strong>IBM Rational RequisitePro</strong>Q?a target="_blank" rel="external">http://www.ibm.com</a> Q可以算是最骨灰U的一个Y件了Q假如你公司整个软g生命周期理都是采用IBM的解x案,那?strong>RequisitePro</strong>是一个非常好的解x案。需要这些Y件可以到<strong>IBM</strong>官方|站上去下蝲一个最新版本,或者在电驴上面下蝲一?#8220;特别”版本。设计工兗管理工L完美l合Q这个正?strong>IBM Rational RequisitePro</strong>的强V?strong>RequisitePro</strong>?strong>Offce</strong>l合得也是非常完?br /> <br />     <strong>JIRA</strong>Q?a target="_blank" rel="external">http://www.atlassian.com</a> Q原来只是一个缺陯t系l,你可以在JIRA上面创徏新的<strong>ISSUE</strong>Q当<strong>ISSUE</strong>分配l某个程序员Ӟpȝ会自动发送一邮件给该程序员Q提C有新的BUG?strong>JIRA</strong>也有提供一?strong>Eclipse</strong>插gQ你可以在Eclipse上面Q查到属于自qISSUEQƈ快速解冟뀂现?strong>JIRA</strong>也可以用来做目理Q在操作斚w非常人性化Q个Z直非常喜Ƣ用JIRA来进行项目管理、缺L理,再结合EclipseQ简直就是完!但作为商业的软gQhg非常贵,互联|上也有很多CrackQ大家有兴趣也可以搜一下?br /> <br />     <strong>OSRMT</strong>Q?a target="_blank" rel="external">http://sourceforge.net/projects/osrmt</a> Q是一个开源的需求管理工P分ؓ客户端跟服务器,也提供了一个安装界面供用户安装Q做开源的已经是做得非常完美了。当前最新版本是V1.5Q有兴趣的朋友可以下载一个最新版本玩一下,操作q算是挺人性化的?<br /> <br />     <strong>Xplanner</strong>Q?a target="_blank" rel="external">http://www.xplanner.org</a> Q是一个开源的Q基于XP~程的项目管理YӞ它可以帮我们生成一些统计图表。这个Y件从06q底发布0.7b7版后Q就再也没有更新q了Q我对开源工L看法是Q版本号没有过1.0版,我都不会应用于生产!对于XplannerQ也是停留在试用的阶Dc?br /> <br />     <strong>Openworkbench</strong>Q?a target="_blank" rel="external">http://www.openworkbench.org</a> Q?也是一个开源的目理软gQ其功能跟Project 2003怼Q是一个值得大家M用的一个工P但对于中国很多Y件公司,都是使用特别版的Project 2003。假如你很尊重版权,又不想用Project 2003Q那Openworkbench是一个非常好的选择?br /> <br /> <strong>W二、需求分析工?/strong><br />      需求分析工L得比较多可能是<strong>Rational Rose</strong>?strong>MicroSoft Visio</strong>?strong>MindManager</strong>Q一般我们?strong>Rational Rose</strong>来进行用例分析,ȝ例图Q画状态图Q用MicroSoft Visio来画出应用系l的l构图、流E图{。当Ӟ对于MicroSoft Visio能画出来的东西,其实<strong>Rose</strong>也一样可以实玎ͼ只是Q大安是这么干Q我们也没有必要专门d一些特例的东西Q特别是对于一些比较特D的公司及行业?br /> <br />     <strong>Ration Rose 2003</strong>? 一个值得怀늚工具Q至今还是有很多公司跟个人都是用,个h觉得q个软g版本是最l典的一个,但对于现在所见即所得的要求下,使用Rose 2003Q可能没有办法满你Q因为它需要经q一些小操作才能满你的要求。但不可否认Q它是一个非怼U的Y件。现在对于一些喜Ƣ用新工具新技术的E? 序员Q也许现在他们正在用RSA?br /> <br />     <strong>MicroSoft Visio</strong>Q?a target="_blank" rel="external">http://www.microsoft.com</a> Q是每个搞设计的人都会用的一个工P我们一般用Visio来画pȝl构图、关键流E图、系l部|结构图{。MicroSoft Visio也提供了UML的功能,可以用它来画用例图、类图、状态图Q时序图{,但一般这个功能很用。至我基本上不用?br /> <br />     <strong>MindManager</strong>Q?a target="_blank" rel="external">http://www.mindjet.com</a> Q? 是一个非常好用的工具Q我们用来描q我们的思维Q很多h都不喜欢通过软g来描qͼ而是通过一张纸Q然后在上面q行涂鸦Q接着跟客h团队q行思维沟通? MindManager很好地解决了q个问题。MindManager跟Officel合得非常完,可以生成Word、Excel、PDF{文件。这? 工具是我一直在使用的一个YӞ非常好用。最新版本ؓ7Q大家有兴趣可以下蝲一个试用一下,也可以在|搜搜烦一?#8220;特别”版本?br /> <br /> <span><strong>二、系l设计阶D:</strong></span><br /> <strong>W一、系l设计工?/strong><br />      ?的pȝ设计工具有大安常熟悉的Rose2003Q不q,现在已经不叫Rose了,现在IBM最新的设计工具是RSAQRation Software ArchitectQ,Borland TogetherQSyBase PowerDesingerQMicroSoft VisioQ对于开源的pȝ设计工具也有很多Q比如ArgoUML、DBDesigner{等?br /> <br />     <strong>RSA</strong>Q?a target="_blank" rel="external">http://www.ibm.com</a> Q:IBM 最新的设计工具Q它是一个基于Eclipseq_的一个工P对于你用RSAQ那也许你会你的整个团队的工具都采用IBM的整套解x案,使用 RequisitePro来进行需求管理、用RSA来进行徏模、用ClearCase来进行配|管理、用ClearQuest来进行缺陯t、? RFT(Rational Functional Tester)来进行测?#8230;…RSA有一个最大的优点Q那是跟Wordl合得非常好。这一点可以肯定?br /> <br />     <strong>Together</strong>Q?a target="_blank" rel="external">http://www.borland.com</a> Q:Borland 公司的NB的设计工PTogether 2006版本也是一个基于Eclipseq_的YӞ功能也是非常强大Q其所见所得的功能Q是我非常喜Ƣ它的一个原因。还有一个原因就是基? Eclipseq_Q这个可以跟我的开发工具很完美地整合在一赗不q,整合要注意一个问题,那就是Eclipse兼容性问题,q一Ҏ非常烦h的?br /> <br />     <strong>PowerDesigner</strong>Q?a target="_blank" rel="external">http://www.sybase.com</a> Q: PowerDesigner?#8220;一站式”建模与设计解x案,物理数据模型的数据库q_无关性,所见即所得,反向工程Q报表生成等{功能,使得它成为数? 库设计h员心目中最好的产品Q它的易用性深深地吸引了我Q特别它的Repository模型库的功能Q更让我们实C模型设计的版本控制。最新的 PowerDesignerQ得我觉得它是一件艺术品。做设计的h员一般会使用PowerDesigner来进行数据库物理模型设计Q它是我心目中的? 选工兗之前曾l对比过RSA、Together、ERWin的数据库模型讄工具Q最l我q是更加喜欢使用PowerDesignerQ也许,我的操作 习惯已经被PowerDesigner腐蚀?br /> <br /> <strong>W二、开发的技术框?/strong><br />      技术框架的选择是非常关键,一个好的技术框Ӟ可以让我们的开发更加快速、团队的分工更加合理、系l能够支持多U数据库q_、我们的l护更加方便?br /> <br />      Web前端MVC框架?strong>Struts 2</strong>。Struts 2可以说是StrutsI上了WebWork的外衣,其内核大部分都是采用了WebWork的技术,q且ZAOP的设计思想Q让我们在Y件设计上的能够更加多C?#8220;高内聚,低耦合”的设计思想?br /> <br />      J2EE框架?strong>Spring</strong>Q作Z个开源的J2EE框架Q虽然它没有太多的新技术点Q但它的整合性,拿得我们的开发更加简单,IOC、AOP、事务处理、开源框架的整合支持{等Q得作Z个J2EE框架的首选?br /> <br />      持久层框架是<strong>Hibernate</strong>Q? 作ؓ一个开源的目Q我惻I没有一个开源项目的C֌能够你Hibernate一P丰富的文档,z跃的社区,ZHibernate的开发团队的庞大Q 得它作ؓ持久层框架的首先。基? HibernateQ我们可以开发出数据库^台无x的产品。但是,Hibernate也有自n的问题,假如使用不当Q也怼有所失控Q一旦失控,它所? 来的Q就是性能问题。对于最新的Hibernate3Q存储过E的支持Q外部SQL的定Ӟ很好地解决了q个问题。但在关联关pMQ用还是要心为好?br /> <br />      面框架Q可以多考虑使用DIV技术、JSTL标签库、Struts 2标签库、DWR、AJAX、XML+XSLT{技术来让我们页面更好维护,使用OSCache~存技术来提高我们面的访问速度?br /> <br /> <strong>W三、开发规范的定制</strong><br />      文g命名规范、数据库设计规范、编码规范、团队协作规定等{一些规范性的东西Q需要在pȝ开发前p定好Qƈ且做相应的培训。QA也要做好监督的作用,定期做评审工作,对已发生的问题及可能出现的问题,及早发现Q及早处理?br /> <br /> <strong>W四、开发工L选择</strong><br />      ?队一定要选择同样的开发工P开发工L同,软g版本相同。ؓ什么要q样子做Q其实假如你作ؓ一个Team LeaderQ你会在理你的团队的时候发现很多问题,而解册个问题,那在目~码前,把什么东襉K规定好,以免其中发生问题Q媄响整个团队的开发? 度。开发工L选择也是非常重要的,目前企业用得比较多的开发工hQEclipse、Jbuilder、NetBeans、IDEA?br /> <br />     <strong>Jbuilder</strong>Q? 最新的Jbuilder版本?007Q?007版基本上可以是重新开发的版本Q因为它是基于Eclipse之上的。我是Borland公司最为忠? 的Fans啦,从Jbuilder6Q到Jbuilder7Q再到Jbuilder8Q再到Jbuilder9、Jbuilder XQJbuilder 2005QJbuilder 2006Q我l常跟我学生_对于JbuilderQ相信没有h比我更熟悉他了,做Java开发接q?q时_过4q的旉Q每天都都在使用的工 PJbuilder见证了我的长成。用过Jbuilder的h很多人知道一点,是Jbuilder的盗版问题,安装完Jbuilder之后Q假如你 一个不心Q没有安装防火墙Q那Jbuilder会不旉过8888端口向Borland总部发送一些你的计机信息Q这个是一U非常可怕的“木马”Q什 么是“木马”Q这个就是!q种情况自从Jbuilder X以后׃直有。假如你不怕Borland公司的h跟工商局q来查你公司的Y件的话,那选择Jbuilder是一个不错的选择。作为Java IDE开发^台的老大QJbuilder在企业应用开发是非常有优势的Q特别是开发EJB跟WebServiceQ偶只能用一个句来Ş容,那就是牛? Jbuilder 2007Q王者归来,怿对于很多Borland的FansQ还是非常喜Ƣƈ乐意d试的Q不q,hq是会让很多公司都受不了、速度会让很多E序员也? 不了。我的Jbuilder的缘分到2006基本上已经l束了。现在我的开发环境基本上都是Eclipse?br /> <br />     <strong>Eclipse</strong>QIBM捐出来的好东西,发展挺快的,现在已经CEclipse3.3Q非常好用的一个工兗但Eclipse只是一个基q_Q假如你需要其他的功能Q那你需要下载相关的插gq行扩展Q下载的插g要注意一下跟Eclipseq_的兼Ҏ问题?strong>Eclipse+MyEclipse</strong>Q?a target="_blank" rel="external">http://www.myeclipseide.com</a> Q是个是很多WEB开发h员都是在采用的一个整合工P但MyEclipse要钱Q如果公司愿意ؓ此支?9.9元的话Q那它是一个非常好的选择Q比MyEclipse更上一个档ơ的q有<strong>Exadel</strong>Q?a target="_blank" rel="external">http://www.exadel.com/web/portal/home</a> Q,不过QhD得离谱,因ؓ它本w就是一家咨询服务公司做出来Q主要还是靠咨询服务Q培训挣钱,q且Q运行时的不E_Q也让我攑ּ了选择q个插g作ؓ我的开发工P虽然q个工具真的是很强大?strong>Eclipse+WTP</strong>Q?a target="_blank" rel="external">http://www.eclipse.org</a> Q也是一个非常好的免费的开发工P从eclipse官方|站上可以下载WTP跟Eclipse整合在一L工具Q现在教学基本上用这个?strong>Lomboz</strong>Q?a target="_blank" rel="external">http://lomboz.objectweb.org/</a> Q? 也是一个非常好用的免费J2EE插gQ学生用的很多,因ؓ好像有不书都是用这个进行教学的。通过插g来的扩展本来是一件好事,但当它的版本问题Q兼Ҏ? 问题Q安全性问题?语言问题Q出现的时候,你就会骂着Qؓ什么不提供一站式开发^台呢Q如果你下蝲了语a包,你会发现Q有些地Ҏ中文的,有些地方是英? 的,极其丑陋Q也许,Eclipse作ؓ一个基q_Q它实是太基础了。但现在Q我们也可以下蝲一些All-In-One版本的EclipseQ但个h 感觉q是不够Q很多功能,我们q需要去找插件来q行扩展。也许,Eclipse的决{者认为,作ؓ基础q_Q肯定是简单越好,需要什么就加什么,q样Q? 资源占用会更。正如东Ҏ准最咨深的^面老师曑֮飞讲q一句话Q你会去麦当劳点酸菜鱼吃吗?<br /> <br />     <strong>NetBeans</strong>Q? 作ؓSun公司出品的开发工P功能一样也是非常强大,不管你是做应用程序开发还是做应用pȝ开发,NetBeans都是一个不错的选择? NetBeans也跟Eclispe一P也是一个基q_Q但q个基础q_做得比Eclipse强大很多Q基本上你下载一个NetBeans可以开? 应用E序或J2EE应用pȝ了。ƈ且,NetBeans的中文支持非常好Q基本上一个新版本出来Q就已经有中文版、英文版跟日语版了。看 来,NetBeans的决{者还是比较看好这些h的。NetBeans的Mobile插g开发J2ME是最快最好用的,臛_我个么认为。开? J2ME应用产品Q我首选的是NetBeans。目前NetBeans已经发展?.0的版本了Q界面非常华丽,有兴的朋友可以下蝲一个玩一下? NetBeans的下载地址是:<a target="_blank" rel="external">http://www.netbeans.org</a> ?br /> <br />     <strong>IDEA</strong>Q? 对于IDEA的评P我只能用六个字来形容Q那是Q实用的艺术品。它非常好用Q界面非常华丽,相当如果你是一个女性的目l理或技术牛人,你会喜欢上这 件艺术器的。IDEA开发应用程序非常强大,q一点绝对可以肯定。官Ҏ供的插g也非怸富,当你需要那一斚w的功能,基本上都可以扑־刎ͼ找插Ӟ你只 需要在官方插g库里面去扑ְ可以了,q且自动安装Q自动更新。作?003q拿到JavaWorld大将的一个作品,怿Q它可以带来很多IDEA的创 新。它是属于商业化的工Ph也只?99元Q而个Z也就249元Q如果你愿意牺牲某些功能Q那你完全可以下载一个免费的版本。h格方面,个h? 得完全对得vqg艺术品h倹{有兴趣的话可以下蝲一个试用版玩一下:<a target="_blank" rel="external">http://www.jetbrains.com/idea</a> Q小声地_上一下baiduQ插件一下,其实你可以找到很多注册号?br /> <br />     <strong>Ant</strong>是apache的一个开源项目,可以从Ant官方|站上下载一个最新的版本Q?a target="_blank" rel="external">http://ant.apache.com</a> 。虽然该目虽然现在发展变得非常~慢Q但可以非常肯定地讲Q它是一个好东西。我们可以用ant来对我们整个工程q行~译Q打包,单元试Q部|等{,基本上你惛_到的东西QAnt可以帮你做得到。MavenQ?a target="_blank" rel="external">http://maven.apache.com</a> Q? 是一人比Antq要强大的工P现在大有Maven会代替Ant的趋势,Maven也是目l理要关注的一个技术点。基本上现在L的开发工具都提供? 了对Ant的支持,有些甚至是依赖,比如QNetBeansQ你在NetBeans当中创徏一个新的工E,那系l会自动地创Z个ant的运行脚本程序? 对于你进行编译、打包、发布,那完全都是依赖于q个ant脚本。我们可以用Ant来开发一个DailyBuildQ微软叫每日产品生成QXP叫持久集 成)的流E,来提高我们整个团队的软g开发质量。Ant的用非常简单,多看手册Q多q心思,那你会做得更好?br /> <br /> <span><strong>三、开发阶D?/strong></span><br /> <strong>W一、配|管理工?/strong><br /> <br /> 代码理工具有很多,现在公司用得比较多的代码理工具?strong>CVS</strong>?strong>VSS</strong>?strong>SVN</strong>?br /> ? 于一个开发团队只?-5个hQƈ且这两三个h是同一间办公室里,那用VSS是一个非怸错的选择Q个得他团队的理斚w非常好用。个? VSS唯一的缺点就是一个文件当被一个h锁定Q那其他人就没有办法q行修改了,当一个文件ؓ多个人所q且开发团队h数较多时Q这U问题将会显C非怸 重。VSS客户端跟服务器你都可以从Visio Studio里面扑ֈ?br /> <br /> Eclipse的VSS客户端插Ӟ<a target="_blank" rel="external">http://vssplugin.sourceforge.net/</a><br /> <br />      对于一个开发团队有过5个hQ那此如选择CVS或SVN是一个更好的选择Qƈ且,假如你的团队是分散的Q可能不在一间办公室或者根本不在同一个城市,那用CVS或SVN是一个非常更想的选择。CVS的服务器一般是使用CVSNT或CVSServer?br /> <br /> <strong>CVSServer</strong>Q?br /> <strong>Linux for X86</strong>Q?a target="_blank" rel="external">http://ftp.gnu.org/non-gnu/cvs/binary/stable/x86-linux/RPMS/i386/</a><br /> <strong>Window for X86</strong>Q?a target="_blank" rel="external">http://ftp.gnu.org/non-gnu/cvs/binary/stable/x86-woe/</a><br /> <strong>CVSNT</strong>Q?a target="_blank" rel="external">http://www.cvsnt.org/</a><br /> <strong>CVSClient</strong>Q?br />     <strong>WinCVS</strong>Q?a target="_blank" rel="external">http://www.wincvs.org</a><br />     <strong>TortoiseCVS</strong>Q?a target="_blank" rel="external">http://www.tortoisecvs.org/</a><br />     <strong>JBuilder</strong>?strong>Eclipse</strong>?strong>NetBeans</strong>?strong>IDEA</strong>集成的CVS客户?br /> <br />      ? 为版本管理工PCVS出现至今Q已l有二十个年_可以说他已经走到了尽_但可以肯定,它将l箋存在着。SVN是作为CVS的代替品而出现的。现? 很多开源组l,都慢慢地转到SVN上,比如Apache跟SourceForge。SVN有着比CVS更强大的功能Q比如,它可记录目录的更改,它的性能 比CVS会快很多{等。目前SVN慢慢地被企业所接受Q但个h觉得其Eclipse的客L的稳定性还有待提高Q也许这个跟Eclipse的版本兼Ҏ有 一定关pR但q些不稳定性,让我现在对这个品的使用ql停留在试用的阶Dc?br /> <br /> <strong>SVNServer</strong>Q?a target="_blank" rel="external">http://subversion.tigris.org/</a><br /> <strong>SVNClient</strong>Q?br />     <strong>TortoiseSVN </strong>Q?a target="_blank" rel="external">http://tortoisesvn.net/</a><br />     <strong>Eclipse</strong>插gQ?a target="_blank" rel="external">http://subclipse.tigris.org/</a><br /> 目前SVN插g支持包括Eclipse、Jdeveloper、NetBeans{开发工兗?br /> <br /> <strong>W二、知识库理工具</strong><br /> ? 队每一个h在开发的时候都会发C些问题,最l,有些问题可能没有办法解决Q有些问题可以解冟뀂一般情况,大部分问题经q团队成员的共同努力Q都是可以解 决的Q那解决问题的方法,解决问题的步骤,q些都应该Ş成知识。作Z个团队的LeaderQ我们必重视这些知识,因ؓQ这些知识非常有用,它对于一? 新手或没有遇到此c问题的同事Q能够提供相应的帮助?br /> <br />     <strong>Confluence</strong>Q?a target="_blank" rel="external">http://www.atlassian.com</a>/software/confluence Q,跟JIRA来自同一家公司的产品Q它跟JIRA可以整合得非常好。我们可以通过JIRA的ISSUEQ将该ISSUE上升Z个知识。假如你是? JIRA来进行项目管理跟~陷理Q那使用Confluence是一个最佳选择?br /> <br />     <strong>PHPBB</strong>Q?a target="_blank" rel="external">http://www.phpbb.com</a> Q, 论坛其实也是一个非常好的知识库理工具Q当某一个工E师遇到一些疑难杂症的时候,最l,通过自己的努力或团队其他同事的努力,l于解决问题了。那作ؓ Leader的你Q应该鼓׃们将q些知识Q写一些文章,然后发布在公司自qBBS上。供大家参考及讨论。这个是一U很好的Ҏ。记得我以前Q我在网? 看到一些有用的信息Q我把它保存在我本机的PHPBB上。只可怜,后来电脑被h偷了。贼郁闷?br /> <br /> <span><strong>四、Y件测试阶D?/strong></span> <br /> <strong>W一、缺L理工?/strong><br />      ? 件你不能保证它永q不会错Q只是,有些错误你暂时还没有发现而已Q有些错误需要在某些特定的环境下它才会发生。就像WindowsQ时不时会有一些系l更 新文件要求更新。可能这些更C是错误,只是一些系l安全方面的隐患。这些都可以是软gpȝ的缺陗那q些~陷我们应该怎么q行理Q怎么q行跟踪呢? 现在~陷理用得比较多的有两个:W一个是开源的bugzillaQ另一个是商业的JIRA?br /> <br />     <strong>Bugzilla</strong>Q?a target="_blank" rel="external">http://www.bugzilla.org</a> Q, 作ؓ开源界~陷理pȝ的E,它发展到现在已从98q到现在l有10的时间了。它的开发语a是PerlQ这使得它的安装变得很麻烦,Bugzilla? 以安装在Windows、Linux、Unix{操作系l上。现在的Eclipse也提供了对它的支持,我们可以在Eclispeq_上,扑ֈ应用pȝ? BUGQ功能做得非常强大。如果安装能更加L一点,或者提供一个All-In-One版本Q那会更好!<br /> <br />     <strong>JIRA</strong>Q作为商Z化的~陷理pȝQJIRA的h格对得v它的功能。JIRA不只是一个缺L理系l,它更是一个集目理、缺L理、统计分析ؓ一w的工具。这个工h一直在使用Q只是用一?#8220;特别”版本而已?br /> <br /> <strong>W二、Y件性能监测工具</strong><br />     <strong>Jprofiler</strong>Q?a target="_blank" rel="external">http://www.ej-technologies.com</a> Q是一个非常好的性能监测工具Q用这个工P你可以快速发现系l那些模块出现性能瓉或算法导致的性能问题Q它q可以分析内存泄漏的问题。这个工具也提供了相应的Eclipse插gQ让你开发更加快速方ѝ它支持L的服务器?br /> <br />     <strong>Borland Optimizeit Suite</strong>Q?a target="_blank" rel="external">http://www.borland.com</a> Q也是一个非常好的性能监测工具Q它跟Borland产品整合得非常好。不q,q行q个工具Q你最好准备一下,最好有2G内存Q否则,本来pȝ好好的,一q行hQ你机器反而死掉了?br /> <br /> <strong>W三、Y件性能试工具</strong><br />     <strong>Ant+Windows计划d</strong>创徏公司的DailyBuild自动化测试流E,q个是以前做的一个测试流E。用这U测试流E,无非一个目的,是提高公司的Y件质量?br /> <br />     <strong>Jmeter</strong>Q?a target="_blank" rel="external">http://jakarta.apache.org/jmeter</a> Q,q个工具是apache出品的,作ؓapache忠实的FansQ我对Jmeter也是很喜Ƣ,使用JmeterQ你可以怼多用L境,对应用系l进行测试,试整个应用pȝ能够承受的最大ƈ发量?br /> <br />     <strong>LoadRunner</strong>Q?a target="_blank" rel="external">http://www.hp.com</a> Q,假如你不知道q个软gQ那你肯定做不了试工程师,q个是最专业的一个Y件性能试工具Q它可以模似上千万个用户量来q行压力试Q检系l能够承受的最大ƈ发量。这个Y件我只用q几ơ,~写脚本Q进行测试,使用来讲其实是比较单?br /> <br /> <span><strong>五、Y件发?/strong></span><br />      ? 件的发布我们会怎么d呢?我们一般做法就是,数据库脚本化,包括语句、初始化数据{,q有制作WAR文g或EAR文g。然后到客户那边Q我们需? 数据库表及数据q行初始化,接着Q将WAR或EAR文g发布到应用服务器上。这个也许是我们到客L在发布经常在做的一件事情。那能不能做得更加简? 呢?做法一般有两个Q第一个就是用AntQ编写一个初始化数据库跟发布应用E序模块的Ant脚本Q然后到生Z直接q行该脚本即可;W二个就是制作安 装文Ӟ一般用来制作安装文件的有IzPackQ这个是用得最多的一个免费工P你可以用这个免费工h制作安装E序。也许客户都习惯了安装程序的安装 方式了,制作一个可执的安装E序Q有助于提高软g产品化的档次?br /> <br /> <span><strong>六、Y件维护阶D?/strong></span><br /> <strong>W一、客户CASE跟踪理工具</strong><br />      ? 户CASE跟踪pȝ怿很多做CISCO公司金牌代理的h都会用过。我们必d公司内部建立相应的CASE跟踪制度。当用户使用pȝ的时候,发现一些问 题,那我们需要对q些问题q行录入q进行跟t。像客户呼叫服务pȝ{等一些商业化的Y件外面还是很多的Q这些系l其实公司自己开发一个也是很快的。但必须 要有。这个也是提高整个公司整体服务Ş象的一U态度?img src ="http://www.tkk7.com/super2/aggbug/267496.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/super2/" target="_blank">淘声依旧</a> 2009-04-25 16:28 <a href="http://www.tkk7.com/super2/archive/2009/04/25/267496.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>犹太?-伊斯兰教--正统基督?/title><link>http://www.tkk7.com/super2/archive/2009/04/18/266298.html</link><dc:creator>淘声依旧</dc:creator><author>淘声依旧</author><pubDate>Sat, 18 Apr 2009 07:06:00 GMT</pubDate><guid>http://www.tkk7.com/super2/archive/2009/04/18/266298.html</guid><wfw:comment>http://www.tkk7.com/super2/comments/266298.html</wfw:comment><comments>http://www.tkk7.com/super2/archive/2009/04/18/266298.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/super2/comments/commentRss/266298.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/super2/services/trackbacks/266298.html</trackback:ping><description><![CDATA[<strong>原文来自If programming languages were religionsQ很有意思,可以从宗教的角度来看看各U常见语a的特炏V(q里丝毫没有要找Z同语a优劣的意思,每个人都有信仰自由)</strong><strong><br /> C</strong>?a target="_blank">犹太?/a>——很古老而且戒律很多Q但大多Ch都熟悉ƈ重其戒律。问题是很难皈依它,你要么开始就信Ԓ它,要么会认为它直太疯狂了。而且Q一旦事情出了差错,Z׃怪罪于它?strong><br /> Java</strong>?a target="_blank">正统基督?/a>——理Z来说它基于CQ但它去掉了很多老的戒律Q以至于跟原教旨已经大相径庭。另外,它新加了一套严格的教义Q追随者们怿q些比原来的教义更ؓ重要。他们认是世界上最好的语言Q而且会将所有的异端烧死在刑׃? <p><strong>PHP</strong>是Cafeteria基督教——与Java在Web开发领域进行竞争。它引入了C和Java的一些概念,但只限于它所喜欢的。也许它不像其它语言那样条理清楚Q但臛_l你了更多自由,看v来还一个整体。而且不会有下地狱Qgoto hellQ这L说法?/p> <p><strong>C++</strong>?a target="_blank">伊斯兰教</a>——来源于CQ不仅保持了后者的戒律Q还变本加厉加入了一套新的复杂戒律。它是如此地多才多艺Q可用于构徏M事物Q从弥天大罪到美丽的艺术品,q随者们怿它才是终极语aQƈ会被持不同意见的人激怒。更可怕的是,如果你冒犯了它或者是它的创始人,你的生命都会受到威胁?/p> <p><strong>C#</strong>?a target="_blank">摩门?/a>——乍看之下,它跟Java一P不过仔细一看就会发现它被单一l织所控制Q很多Java的追随者将其视为恶)Q而且很多概念都不相同。你在暗忖,它也怸错吧Q呃。。。希望你不会被Java的追随者们歧视?/p> <p><strong>Lisp</strong>?a target="_blank">佛教</a>——没有语法,没有核心教义Q也没有让h膜拜的神。就看你的造化了——需要你有够的悟性。有它压根儿׃是一门语aQ有的h却认为它是唯一有意义的语言?/p> <p><strong>Haskell</strong>?a target="_blank">道教</a>——与其它语言差别太大Q以至于很多人怀疑它到底能做什么。其q随者相信它才是通往智慧的正道,只是q些智慧为大多数世俗之h力所不及?/p> <p><strong>Erlang</strong>?a target="_blank">印度?/a>——又一U奇怪的语言Q看h没什么用处,但不像大多数其它的现代语aQ它建立?#8220;同步之神”的基上?/p> <p><strong>Perl</strong>?a target="_blank">巫毒?/a>——一套神U的、难以理解的咒语Q会让你的灵永久地堕落。老板在周五晚上九点吩咐你一紧急Q务,q时得靠它了。(惌v兽族部落的巫毒商店,而且它与萨满教有些类|</p> <p><strong>Lua</strong>是巫术——一U泛论的语aQ容易与不同文化和地区相融合。它的代码非常自由,其中的一些技术在传统语言的用L来是不可思议的。它与月亮有紧密的联pR?/p> <p><strong>Ruby</strong>?a target="_blank">新异教主?/a>——不同语a和理늚混合体,可以被看作是一U语a。其支持者群体成长迅速,管很多人面带疑色地看着他们Q但基本上他们还是善良的Q无意于伤害他h?/p> <p><strong>Python</strong>?a target="_blank">人文M</a>——简单、自由,它只需要你具备常识。很多追随者声UͼPython帮助他们怸了其它语a带来的担子,从而再ơ找到编E的乐趣。有些hq说它就是一U伪代码?/p> <p><strong>COBOL</strong>是古异教M——很久以前,它曾l统ȝ大片地区Q现在却差不多死掉了。尽很多h都在其神的A式中留下了伤疤,直到今天仍然有hq随着它?/p> <p><strong>APL</strong>?a target="_blank">p基教</a>——尽有很多人声U要q随它,但你M怀疑它是一个大大的恶作剧?/p> <p><strong>LOLCODE</strong>是阿里乌斯教——它很神U,产生于互联网Q尽有人在努力地开发和散布Q但没h会对它当真?/p> <p><strong>Visual Basic</strong>?a target="_blank">撒旦?/a>——可惜你q不是真的需要将灵魂出卖。。?/p><img src ="http://www.tkk7.com/super2/aggbug/266298.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/super2/" target="_blank">淘声依旧</a> 2009-04-18 15:06 <a href="http://www.tkk7.com/super2/archive/2009/04/18/266298.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>lucene中我的错?/title><link>http://www.tkk7.com/super2/archive/2009/04/14/265575.html</link><dc:creator>淘声依旧</dc:creator><author>淘声依旧</author><pubDate>Tue, 14 Apr 2009 09:53:00 GMT</pubDate><guid>http://www.tkk7.com/super2/archive/2009/04/14/265575.html</guid><wfw:comment>http://www.tkk7.com/super2/comments/265575.html</wfw:comment><comments>http://www.tkk7.com/super2/archive/2009/04/14/265575.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/super2/comments/commentRss/265575.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/super2/services/trackbacks/265575.html</trackback:ping><description><![CDATA[Z么修Ҏd׃产生一个新?cfs呢,一个下午的研究Q没弄明白,l果查到了一个同L问题Q原来是IndexSearcher没有closeQ那Z么就会生新?cfs呢。不懂~~~~<br /><img src ="http://www.tkk7.com/super2/aggbug/265575.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/super2/" target="_blank">淘声依旧</a> 2009-04-14 17:53 <a href="http://www.tkk7.com/super2/archive/2009/04/14/265575.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>FreeMarker常用内容http://www.tkk7.com/super2/archive/2009/03/13/259572.html淘声依旧淘声依旧Fri, 13 Mar 2009 08:56:00 GMThttp://www.tkk7.com/super2/archive/2009/03/13/259572.htmlhttp://www.tkk7.com/super2/comments/259572.htmlhttp://www.tkk7.com/super2/archive/2009/03/13/259572.html#Feedback0http://www.tkk7.com/super2/comments/commentRss/259572.htmlhttp://www.tkk7.com/super2/services/trackbacks/259572.html ?lt;#if test??></#if>可以防止报错Q不能写test==nullq是不对的,q可以test?existsq样写?br /> 学学模板Qcommon.ftl
<#macro html title>
<html>
<head>
<title>${title?html}</title>
</head>
<body>
<#nested/>
</body>
</html>
</#macro>
使用面:test.ftl
<#import "common.ftl" as tl>
<@tl.html title="标题">
q里写body的内?br />
</@tl.html>



淘声依旧 2009-03-13 16:56 发表评论
]]>
关于freemarkhttp://www.tkk7.com/super2/archive/2009/03/04/257819.html淘声依旧淘声依旧Wed, 04 Mar 2009 08:15:00 GMThttp://www.tkk7.com/super2/archive/2009/03/04/257819.htmlhttp://www.tkk7.com/super2/comments/257819.htmlhttp://www.tkk7.com/super2/archive/2009/03/04/257819.html#Feedback0http://www.tkk7.com/super2/comments/commentRss/257819.htmlhttp://www.tkk7.com/super2/services/trackbacks/257819.htmlFreeMarker是Quake Wang推荐我用的。刚?span class="hilite1" style="background-color: #ffff00;">FreeMarker的时候,发现freemarker真的很棒Q简单易用,功能强大。但是用它做了几个项目以后开始不爽了?nbsp;

一宗罪Q?span class="hilite1" style="background-color: #ffff00;">freemarker的变量必L|没有被赋值的变量׃抛出异常Q那个黄黄的freemarker出错面Q真是让人看了太难过了?nbsp;
freemarker? FAQ上面冠冕堂皇的说Q未赋值的变量强制抛错可以杜绝很多潜在的错误,如缺失潜在的变量命名Q或者其他变量错误。但是实际的效果是:带来的是非常大的~? E麻烦,E序里面几乎所有可能出现空值的变量l统需要加?{xxx?if_exists}Q有些@环条件还需要写if判断Q这样不但没有杜l应该杜l的 错误Q反而极大增加了~程的麻烦?nbsp;

二宗|:freemarker的map限定key必须是stringQ其他数据类型竟然无法操作!q一点就不讲了,JavaEye上面已经有h抱怨过了。连Webwork的开发h员Pat Lightboy都在抱怨这一炏V?nbsp;


三宗|:freemarkerZ~程方便把不可序列化的东西往session里面放! 
freemarker支持在页面里面直接操作SessionQrequest{,例如${Session[...]}Q方便确实很方便Q但是一旦需要做集Q就会报错?nbsp;
今天是b051问v我这个问题,他在做Tomcat集的时候发?span class="hilite1" style="background-color: #ffff00;">freemarker报错QHttpSessionHashModel不可序列化。他修改该类源代码,让他实现序列化接口,仍然报错。我一看,HttpSessionHashModel包含的属性: 
Java代码 复制代码
  1. private HttpSession session;  
  2. private final ObjectWrapper wrapper;  
  3.   
  4. // These are required for lazy initializing session  
  5. private final FreemarkerServlet servlet;  
  6. private final HttpServletRequest request;  
  7. private final HttpServletResponse response;  


L晕倒,q样的东西还往Session里面放?bad smellQ?nbsp;
严重警告应用需要往集上面发布应用的同学们Q千万别?span class="hilite1" style="background-color: #ffff00;">freemarkerQ?nbsp;

不过瑕不掩瑜Q?span class="hilite1" style="background-color: #ffff00;">freemarker也是有优点的Q?nbsp;

1、易学易?nbsp;
我是看了一天文档就用得挺熟l了Q?span class="hilite1" style="background-color: #ffff00;">freemarker文档写得太好了,例子丰富Q照做一遍全都会了?nbsp;

2、功能强?nbsp;
比Velocity强大多了Q还支持JSP Tag。不q最有意义的是macro功能Q可以自定义常用的macroQ实现页面常规操作的可复用性?nbsp;

3、报错信息友?nbsp;
很多应用服务器的JSP报错信息是无法定位到源代码行的。不q?span class="hilite1" style="background-color: #ffff00;">freemarker报错定位很准,丝毫不差Q而且信息丰富Q一看就知道怎么回事(虽然那个黄黄的页面看h让h隑֏) 

淘声依旧 2009-03-04 16:15 发表评论
]]>
关于Ҏ重蝲 overloading ?Ҏ覆盖 overriddenhttp://www.tkk7.com/super2/archive/2009/03/04/257817.html淘声依旧淘声依旧Wed, 04 Mar 2009 08:10:00 GMThttp://www.tkk7.com/super2/archive/2009/03/04/257817.htmlhttp://www.tkk7.com/super2/comments/257817.htmlhttp://www.tkk7.com/super2/archive/2009/03/04/257817.html#Feedback0http://www.tkk7.com/super2/comments/commentRss/257817.htmlhttp://www.tkk7.com/super2/services/trackbacks/257817.htmlҎ重蝲 overloading 的要求:

 

一、方法必d?br />
二、参数必M同?参数不同包括参数cd不同Q参CC同,只要有一U不同就可以?br />
三、返回值可以相同或不同。在有多个同名方法的情况下,是根据参C同,选择那个Ҏ调用Q而不是返回?/p>

 

Ҏ覆盖 overridden 的要求:

 

1Q发生在父子cMQ?br />
2Q同名、同参、同q回?br />
3Q访问权限跟父类相同或更宽;不能比父cL闭Q?span style="color: #ff0000;">例如父类中有一?public void show(); 在子cM有一个方法覆盖:private void show(); ׃出错

4Q子cL法抛出异常的cd不能比父cL法更宽泛Q?span style="color: #ff0000;">例如父类中有一?public void show() throws IOException; 在子cM有一个方法覆盖:private void show() throws Exception; ׃出错

 

方法覆盖的W?Q条可以理解为儿子必L老子更开?/p>

 

W?Q条可以理解为儿子必L老子范的错误更小

 

q就叫进步啊



淘声依旧 2009-03-04 16:10 发表评论
]]>
自动讄JAVA环境变量的脚本{?JAVA中文世界---紫叶)http://www.tkk7.com/super2/archive/2009/03/04/257815.html淘声依旧淘声依旧Wed, 04 Mar 2009 08:06:00 GMThttp://www.tkk7.com/super2/archive/2009/03/04/257815.htmlhttp://www.tkk7.com/super2/comments/257815.htmlhttp://www.tkk7.com/super2/archive/2009/03/04/257815.html#Feedback0http://www.tkk7.com/super2/comments/commentRss/257815.htmlhttp://www.tkk7.com/super2/services/trackbacks/257815.html看到很多初学者反复问q个问题Q写了一个很单的一个脚本,用于自动讄环境变量。把代码拯Q另存ؓjavaEnv.bat。安装完Java 2 SDK之后Q开一个命令行H口,输入javaEnv java2SDKDir(java2SDKDir是你的java的安装目录,不带路径最后的\。如果安装\径中有空|LjavaEnv "java2SDKDir"格式)q运行?/span>(注:一定要在javaEnv后边加上你的sdk的目录,setx的问题可以看q里)

@echo 你提供的jdk安装目录为:%1

@echo off

IF EXIST %1\bin\java.exe (

rem 如输入正的 Java2SDK 安装目录Q开始设|环境变?br />
@setx JAVA_HOME %1

@setx path %JAVA_HOME%\bin;%path%

@setx classpath %classpath%;.

@setx classpath %classpath%;%JAVA_HOME%\lib\tools.jar

@setx classpath %classpath%;%JAVA_HOME%\lib\dt.jar

@setx classpath %classpath%;%JAVA_HOME%\jre\lib\rt.jar

@echo on

@echo Java 2 SDK 环境参数讄完毕Q正帔R出?br />
) ELSE (

IF %1==
"" (

rem 如没有提供安装目录,提示之后退?br />
@echo on

@echo 没有提供 Java2SDK 的安装目?不做M讄Q现在退出环境变量设|?br />
) ELSE (

rem 如果提供非空的安装目录但没有bin\java.exeQ则指定的目录ؓ错误的目?br />
@echo on

@echo 非法?Java2SDK 的安装目?不做M讄Q现在退出环境变量设|?br />
)

)

 



淘声依旧 2009-03-04 16:06 发表评论
]]>
վ֩ģ壺 ޾Ʒ벻| һëƬȫѲ| ɬɬɬƵ߹ۿ| AVպAVһ | B18Ƶ| ػaaëƬƵ| ޳xxxxxӰ| ѹۿͰŮƵ| ŮһһˬƵ| ޶Ƶ߹ۿ| ŷ޾Ʒ˾þ | ѸƵ| պٸѲ| ɫվwww| Ұһ| 2018ĻƵ| ؼëƬAëƬ100Ѳ| Ƶһվ| ˳˳ۺþþ | 69ʽƵ| hƵѹۿ| һþþþþþþ| ޾Ʒþ| ղϵ| ŮvƬ| ˳ɾƷƵ| 㻨߹ۿѹۿͼƬ| ޹Һ2020| ɫ͵͵av˵| þþþþaŷa| ޾Ʒھþ| ɫƵɫ¶¶ѹۿ| йxxxxxѿƵ| Ѿþˬˬav| ˾ҹƵ| ˳˳ۺ| þþŷղ| ߾Ʒһ | 츾һ| ۺۺͼ| þþþAVվ|