<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    yangxiang

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      8 隨筆 :: 0 文章 :: 73 評論 :: 0 Trackbacks

    2009年8月11日 #

    [英文出處]:21 Laws of Computer Programming
    [譯文出處]:外刊IT評論


    任何一個有經驗的程序員都知道,軟件開發遵循著一些不成文的法則。然而,如果你不遵循這些法則也并不意味著會受到懲罰;相反,有時你還會獲得意外的好處。下面的就是軟件編程中的21條法則:

    1. 任何程序一旦部署即顯陳舊。
    2. 修改需求規范來適應程序比反過來做更容易。
    3. 一個程序如果很有用,那它注定要被改掉。
    4. 一個程序如果沒用,那它一定會有很好的文檔。
    5. 任何程序里都僅僅只有10%的代碼會被執行到。
    6. 軟件會一直膨脹到耗盡所有資源為止。
    7. 任何一個有點價值的程序里都會有至少一個bug。
    8. 原型完美的程度跟審視的人數成反比,反比值會隨著涉及的資金數增大。
    9. 軟件直到被變成產品運行至少6個月后,它最嚴重的問題才會被發現。
    10. 無法檢測到的錯誤的形式無限多樣,而能被檢測到的正好相反,被定義了的十分有限。
    11. 修復一個錯誤所需要投入的努力會隨著時間成指數級增加。
    12. 軟件的復雜度會一直增加,直到超出維護這個程序的人的承受能力。
    13. 任何自己的程序,幾個月不看,形同其他人寫的。
    14. 任何一個小程序里面都有一個巨大的程序蠢蠢欲出。
    15. 編碼開始的越早,花費的時間越長。
    16. 一個粗心的項目計劃會讓你多花3倍的時間去完成;一個細心的項目計劃只會讓你多花2倍的時間。
    17. 往大型項目里添加人手會使項目更延遲。
    18. 一個程序至少會完成90%,但永遠完成不了超過95%。
    19. 如果你想麻煩被自動處理掉,你得到的是自動產生的麻煩。
    20. 開發一個傻瓜都會使用的軟件,只有傻瓜愿意使用它。
    21. 用戶不會真正的知道要在軟件里做些什么,除非使用過。
    posted @ 2010-09-30 09:50 『 Y X 』 閱讀(268) | 評論 (0)編輯 收藏

    Eclipse快捷鍵按了沒有反應可能是和其他程序設置的快捷鍵沖突了,如果確認沒有沖突,可以看看是不是如下問題。

    在工具欄(Toolbars)上面點擊右鍵,選擇“Customize Perspective...”

    看看Command Group Availability 里面有沒有勾選你所設置的快捷鍵的分組,如果沒有就勾上,再試試快捷鍵能否使用。


    posted @ 2010-08-24 09:55 『 Y X 』 閱讀(3441) | 評論 (0)編輯 收藏

        當為遺留系統加入spring時,經典問題就是遺留系統需要引用spring管理的bean。幸好spring有機制可以處理這些。

        建一個類實現ApplicationContextAware接口,有一個引用ApplicationContext的靜態成員,然后,遺留系統需要引用spring管理的bean的地方,使用這個類。

    1.比如:我這里建一個SpringContext類

    package net.blogjava.chenlb;

    import org.springframework.beans.BeansException;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.ApplicationContextAware;

    /**
     * 此類可以取得Spring的上下文.
     * Spring 使new方法創建的對象可以引用spring管理的 bean.
     * 2007-10-18 上午11:12:33
     * 
    @author chenlb
     
    */
    public class SpringContext implements ApplicationContextAware {

        
    protected static ApplicationContext context;
        
        
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
            context 
    = applicationContext;
        }

        
    public static ApplicationContext getContext() {
            
    return context;
        }
    }


    2.然后在spring配置文件里加

    <bean id="springContext" class="net.blogjava.chenlb.SpringContext"></bean>


    3.其它類中引用

    MyBean myBean = (MyBean) SpringContext.getContext().getBean("myBean");


    4.如果老是寫SpringContext.getContext().getBean("...");麻煩,可以建一個工廠類來返回你要 的bean

    package net.blogjava.chenlb;

    public class MyServerFactory {

        
    public static MyBean1 getMyBean1() {
            
    return (MyBean1) SpringContext.getContext().getBean("myBean1");
        }
    }



    原文:http://chenlb.javaeye.com/blog/135897

    posted @ 2010-06-15 19:22 『 Y X 』 閱讀(317) | 評論 (0)編輯 收藏

    <%@ page import="org.springframework.web.context.support.WebApplicationContextUtils" %>
    <%@ page import="org.springframework.web.context.WebApplicationContext" %>
    <%
        WebApplicationContext context =    WebApplicationContextUtils.getRequiredWebApplicationContext(this.getServletContext());
        SomeBean bean=(SomeBean)context.getBean(SomeBean.class);
    %>

    posted @ 2010-06-15 19:18 『 Y X 』 閱讀(428) | 評論 (0)編輯 收藏

    1、xml.xml
    <?xml version="1.0" encoding="utf-8"?>
    <?xml-stylesheet type="text/xsl" href="xsl.xsl"?>
    <book>
        
    <title>XML與JSP</title>
        
    <chapter>
            
    <title>第1章 認識XML與DTD</title>
            
    <section>
                
    <title>XML的產生</title>
                
    <example>HelloWorld.html</example>
            
    </section>
        
    </chapter>
        
    <chapter>
            
    <title>第2章 XML名稱空間</title>
            
    <section>
                
    <title>名稱空間在元素和屬性中的應用</title>
                
    <section>
                    
    <title>名稱空間在元素中的應用</title>
                    
    <example>people.xml</example>
                
    </section>
                
    <section>
                    
    <title>缺省名稱空間</title>
                    
    <example>book.xml</example>
                
    </section>
                
    <section>
                    
    <title>名稱空間在屬性中的應用</title>
                    
    <example>book2.xml</example>
                
    </section>
            
    </section>
            
    <section>
                
    <title>名稱空間和DTD</title>
            
    </section>
        
    </chapter>
    </book>

    2、xsl.xsl
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        
    <xsl:output method="html" version="1.0" encoding="utf-8" standalone="yes"/>
        
    <xsl:template match="/">
            
    <html>
                
    <head>
                    
    <title>使用XML+XSLT生成的HTML文件</title>
                
    </head>
                
    <body>
                    
    <xsl:apply-templates select="book"/>
                
    </body>
            
    </html>
        
    </xsl:template>
        
    <xsl:template match="chapter">
            
    <br/>
            
    <br/>
            
    <xsl:value-of select="./title"/>
            
    <xsl:apply-templates select="./section"/>
        
    </xsl:template>
        
    <xsl:template match="chapter/section">
            
    <br/>
            
    <br/>
            
    <xsl:text>    </xsl:text>
            
    <!--<xsl:number format="1. " level="multiple"/>-->
            
    <xsl:number format="1. " level="multiple" count="chapter | section" from="book"/>
            
    <xsl:value-of select="./title"/>
            
    <xsl:apply-templates select="./section"/>
        
    </xsl:template>
        
    <xsl:template match="chapter/section/section">
            
    <br/>
            
    <br/>
            
    <xsl:text>        </xsl:text>
            
    <!--<xsl:number format="1. " level="multiple"/>-->
            
    <xsl:number format="1. " level="multiple" count="chapter | section" from="book"/>
            
    <xsl:value-of select="./title"/>
            
    <xsl:number value="123456789" grouping-separator="," grouping-size="3"/>
        
    </xsl:template>
    </xsl:stylesheet>

    3、java.java
    package test;

    import java.io.File;
    import java.io.IOException;

    import javax.xml.transform.Result;
    import javax.xml.transform.Source;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerConfigurationException;
    import javax.xml.transform.TransformerException;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.stream.StreamResult;
    import javax.xml.transform.stream.StreamSource;

    import org.junit.Test;

    public class Train {
        @Test
        
    public void test() throws IOException {
            String xmlFileName 
    = "d:/test/xml.xml";
            String xslFileName 
    = "d:/test/xsl.xsl";
            String htmlFileName 
    = "d:/test/html.html";
            Train.Transform(xmlFileName, xslFileName, htmlFileName);
        }

        
    public static void Transform(String xmlFileName, String xslFileName,
                String htmlFileName) {
            
    try {
                TransformerFactory tFac 
    = TransformerFactory.newInstance();
                Source xslSource 
    = new StreamSource(xslFileName);
                Transformer t 
    = tFac.newTransformer(xslSource);
                File xmlFile 
    = new File(xmlFileName);
                File htmlFile 
    = new File(htmlFileName);
                Source source 
    = new StreamSource(xmlFile);
                Result result 
    = new StreamResult(htmlFile);
                System.out.println(result.toString());
                t.transform(source, result);
            } 
    catch (TransformerConfigurationException e) {
                e.printStackTrace();
            } 
    catch (TransformerException e) {
                e.printStackTrace();
            }
        }
    }

    4、html.html
    <html>
    <head>
    <META http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>使用XML+XSLT生成的HTML文件</title>
    </head>
    <body>
        XML與JSP
        
    <br>
    <br>第1章 認識XML與DTD<br>
    <br>&nbsp;&nbsp;&nbsp;&nbsp;1.1. XML的產生
        
    <br>
    <br>第2章 XML名稱空間<br>
    <br>&nbsp;&nbsp;&nbsp;&nbsp;2.1. 名稱空間在元素和屬性中的應用<br>
    <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.1. 名稱空間在元素中的應用123,456,789<br>
    <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.2. 缺省名稱空間123,456,789<br>
    <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.3. 名稱空間在屬性中的應用123,456,789<br>
    <br>&nbsp;&nbsp;&nbsp;&nbsp;2.2. 名稱空間和DTD
    </body>
    </html>

    5、效果
    XML與JSP

    第1章 認識XML與DTD

        1.1. XML的產生

    第2章 XML名稱空間

        2.1. 名稱空間在元素和屬性中的應用

            2.1.1. 名稱空間在元素中的應用123,456,789

            2.1.2. 缺省名稱空間123,456,789

            2.1.3. 名稱空間在屬性中的應用123,456,789

        2.2. 名稱空間和DTD

    posted @ 2009-08-11 17:05 『 Y X 』 閱讀(5069) | 評論 (1)編輯 收藏

    主站蜘蛛池模板: 91天堂素人精品系列全集亚洲| 国产成人涩涩涩视频在线观看免费| 国产成人精品日本亚洲专区| 亚洲av永久无码天堂网| 免费看国产成年无码AV片| 亚洲国产综合在线| aa级一级天堂片免费观看| 亚洲伦理中文字幕| 永久免费视频v片www| 久久久久亚洲精品无码网址色欲| 国产在线98福利播放视频免费| 国产精品亚洲色婷婷99久久精品| 婷婷亚洲天堂影院| www成人免费观看网站| 亚洲国产精品久久久久婷婷软件| 99免费视频观看| 亚洲资源最新版在线观看| 麻豆成人精品国产免费| 日韩成人毛片高清视频免费看| 亚洲人成无码久久电影网站| 最新久久免费视频| 亚洲视频一区在线观看| 色老头永久免费网站| 亚洲日韩AV无码一区二区三区人| 在线免费一区二区| 毛片基地看看成人免费| 亚洲福利视频网站| 日本高清免费不卡在线| 一级毛片在线免费播放| 亚洲尹人九九大色香蕉网站| AA免费观看的1000部电影| 全部在线播放免费毛片| 亚洲色成人网站WWW永久| 午夜免费1000部| 美女一级毛片免费观看| 亚洲成av人影院| 韩国日本好看电影免费看| 国产一级黄片儿免费看| 中文字幕无码精品亚洲资源网久久| 亚洲AV无码乱码在线观看性色扶| 精品无码AV无码免费专区|