<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 』 閱讀(272) | 評論 (0)編輯 收藏

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

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

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


    posted @ 2010-08-24 09:55 『 Y X 』 閱讀(3444) | 評論 (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 』 閱讀(321) | 評論 (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 』 閱讀(432) | 評論 (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 』 閱讀(5073) | 評論 (1)編輯 收藏

    主站蜘蛛池模板: 看一级毛片免费观看视频| 亚洲国产av美女网站| 亚洲精品av无码喷奶水糖心| 久久久久久久久亚洲| 日韩精品无码免费专区午夜| 国产成人精品日本亚洲专区61| 丰满妇女做a级毛片免费观看| 亚洲国产精品一区二区九九| 成人福利在线观看免费视频| 亚洲午夜福利精品久久| 国产精品黄页免费高清在线观看| 亚洲无码精品浪潮| 免费人成在线观看视频高潮| 亚洲高清无在码在线无弹窗| 成人浮力影院免费看| 亚洲人成网站在线在线观看| 免费国产精品视频| 中文字幕成人免费高清在线视频| 亚洲va久久久噜噜噜久久狠狠| 四虎国产精品永久免费网址| 波多野结衣亚洲一级| 日本牲交大片免费观看| 一级毛片成人免费看a| 亚洲精品亚洲人成在线观看| 95老司机免费福利| 亚洲精品国产av成拍色拍| 亚洲精品麻豆av| 色欲国产麻豆一精品一AV一免费| 国产成人精品日本亚洲网址| 国产精品免费看香蕉| 中文字幕的电影免费网站| 亚洲成人动漫在线观看| 又黄又爽一线毛片免费观看| 国产在线一区二区综合免费视频| 亚洲成人黄色在线观看| 日产国产精品亚洲系列| 国产精品免费观看调教网| 亚洲成av人在线观看网站| 99在线视频免费观看| 亚洲精品午夜国产va久久| 久久亚洲精品无码观看不卡|