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

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

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

    Oracle神諭

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      284 隨筆 :: 9 文章 :: 106 評論 :: 0 Trackbacks

    #

    The JBoss server configuration directory structure
    conf?? The conf dirctory contains the jboss-service.xml bootstrap descriptor file for a given server configuration. This defines the core services that fixed for the lifetime of the server.
    data?? The data directory is avaliable for use by services that want to store cotent in the file system.
    deploy? The delploy dirctory is the default location the hot deployment service looks to for dynamic deployment content. This may be overridden through the URLDeployScanner URLs attribute.
    log???? The log directory is the directory log files are wrriten to. Thie may be overridden through the conf/log4j.xml configuration file.
    tmp???? The tmp directory is used by JBoss to store temporarily files such as unpacked deployments.
    posted @ 2006-03-23 13:36 java世界暢談 閱讀(528) | 評論 (0)編輯 收藏

    A  web browser provides two input mechanisms out of the box:hyperlinks and

    HTML forms.

    Second, the requests themselves are asynchronous,meaning that the

    contextual links, zoom control , and the other page features remain

    accessible while the map is gathering new data.

    The four main components of Ajax:Javascript defines business rules and

    program flow. The Document Object Model and Cascading Style Sheets allow

    the application to reorgnize its appearance in response to data feteched in

    the background from the server by the XMLHttpRequest object or its close

    cousins.

    We've hightlighted a few more here , to demonstrate the breadth of concerns

    to which CSS can be applied:
    (1)on-screen placement
    (2)texturing elements
    (3)assisting in layout of elements
    (4)placing text relative to accompanying graphics

    The DOM presents an HTML document as a tree structure , with each element

    representing a tag in the HTML markup.


    Working with the DOM using Javascript

    An Example:
    window.onload=function(){
       var hello=document.getElementById('hello');
       hello.className='declared';

       var empty = document.getElementById('empty');
       addNode(empty,"reader of");
       addNode(empty,"Ajax in action");

       var children = empty.childNodes;
       for (var i=0;i<children.length;i++){
          children[i].className='programmed';
       }
      
       empty.style.border='solid green 2px';
       empty.style.width='200px';
    }

    function addNode(el,text){
       var childEl = document.createElement('div'); --create new element
       el.appendChild(childEl);
       var txtNode=document.createTextNode(txt); --create text element
       childEl.appendChild(txtNode);
    }

    A third method worth mentioning allows us to make a shortcut through

    documets that we haven't tagged with unique IDs. DOM nodes can also be
    searched for based on their HTML tag type,usinf getElementByTagName(). For

    example , document.getElementByTagName('UL') will return an array of all

    <UL> tags in the document.

    FINDING A DOM NODE
    CREATING A DOM NODE

    Adding styles to your document:
    hello.className='declared';
    empty.style.border="solid green 2px";


    innerHTML

    refactoring 重構

    Working with DOM elements
    A web page is exposed to Javascript through the Document Object Model

    (DOM),a tree-like structure whose elements correspond to the tags of an

    HTML document. When manipulating a DOM tree progarmmatically ,it is quite

    common to want to find out an element's position on the page.

    Unfortunately,browser vendors have provided various nonstandard methods for

    doing so over the years,making it diffcult to write fail-safe cross-browser

    code to accommplish the task.

    window.onloadListeners = new Array();
    window.addOnLoadListener(listener){
       window.onloadListener[window.onloadListeners.length]=listener;
    }

    window.onload=function(){
       for(var i=0;i<window.onloadListeners.length;i++){
         var func = window.onloadListeners[i];
      }
    }

    //------------------------------------------
    Reusing user action handlers:命令模式

    function buttonOnClickHandler(event){
      var data = new Array();
      data[0]=6;
      data[1]=data[0]/3;
      data[2]=data[0]*data[1]+7;
      var newRow = createTableRow(dataTable);
      for (var i=0;i<data.length;i++){
         createTableCell(newRow,data[i]);
      }
    }
    buttonDiv.onclick=buttonOnClickHandler;

    //------------------------------------
    Keeping only one reference to a resource:Singleton pattern

    function TradingMode(){
      this.mode=MODE_RED;
    }

    TradingMode.prototype.setMode=function(){

    }

    TradingMode.instance = new TradingMode();

    var TradingMode={
       mode:MODE_RED,
       setMode:function(){
        ...
       }
    };

    基于模板的系統:


    Prototype:
    Prototype是一個為Javascript編程提供多用途的助手類庫,使用一個導向擴展

    Javascript語言自己支持一個OO編程方式。Prototype有一個有特色的Javascript編碼

    樣式,基于這些已經增加的語言特性。雖然Prototype編碼自身很難閱讀,從Java/C#/

    樣式中被移除存在很久了,使用Prototype,和內建在它上的,是直接的。Prototype

    可以考慮為類開發者提供類。AJax應用程序作者更多希望使用類建立類而不是使用

    Prototype自身。我們將查詢這些類在下面的部分中。在期間,一個主要的關于

    Prototype核心的特性討論將幫助介紹它自身的編碼的樣式和將在我們討論

    Scriptaculous、Rico和Rubt on Rail.
      Prototype允許一個對象擴展通過復制所有的父對象的屬性和方法給子其他。這個

    特性是最好的舉個例子,讓我們看一下定義的Vehicle父類
    function Vehicle(numWheels,maxSpeed){
      this.numWheels = numWheels;
      this.maxSpeed = maxSpeed;
    }

    對此我們想要定義一個精確的實例來表現一個乘客列車。在我們的子類中我們也想表

    現客車的數量并支持增加或減少的機制。在常用的Javascript中,我們可能這樣寫:

    var passTrain = new Vehicle(24,100);
    passTrain.carriageCount = 12;
    passTrain.addCarriage = function(){
      this.carriageCount++;
    }
    passTrain.removeCarriage=function(){
      this.carriageCount--;
    }

    這為我們的PassTrain對象提供需要的功能性。從設計的視圖的查看這些代碼,雖然它

    有點掩飾了擴展擴展性功能性到一個連貫的單元。Prototyp可以在這里幫助我們,通

    過允許我們定義擴展行為作為一個對象并且接著使用它擴展基礎對象。首先,我們作

    為一個對象定義擴展的功能性:

    function CarriagePuller(carriageCount){
      this.carriageCount = carriageCount;
      this.addCarriage=function(){
        this.carriageCount++;
      }
      this.removeCarriage=function(){
       this.carriageCount--;
     }
    }

    接著我們合并這兩個來支持一個對象包含所有的需要的行為:
    var parent = new Vehicle(24,100);
    var extension = new CarriagePuller(12);
    var passTrain = Object.extend(parent,extension);

    注意我們分別在開始后來定義父和擴展對象,接著將他們進行混合。這父子關系存在

    這些例中,不在Vehicle和CarriagePuller類中。當它不是正確的經典的面向對象,它

    允許我們保持我們代碼與系統功能進行關聯,在這個拉車按例中,在一個地方,通過

    在我們更容易進行復用。我們做這個例子看起來似乎沒有什么用處,在大的項目中,

    用這種方法封裝功能性是非常有用的。

    Prototype也以AJax對象的方式提供對Ajax支持,這可以解決超平臺XMLHttpRequest對

    象。Ajax是被Ajax.Request類型擴展,它可以使用XMLHttpRequest向服務器發送請求

    ,例如: var req = new Ajax.Request('myData.xml');

    這個構造子使用一個我們也將要看到的在很多Prototype-based類庫中的樣式。它使用

    結合的數組來作為一個可選的參數,允許一個寬范圍的按照需要進行配置。

    Ajax.Updater


    The View in an Ajax application
    Keepling the logic out of the View 將View分離出logic
    間接使用CSS增加事件
    綁定事件控制代碼


    The Rico framework has a concept of Behavior objects that target specific

    sections of a DOM tree and add interactivity to them.

    Keeping the view out of logic

     

    posted @ 2006-02-22 18:55 java世界暢談 閱讀(614) | 評論 (0)編輯 收藏

    10條通向快速Web 站點現實的步驟
    1.確定瓶頸
     1.1文件大小
       在需要使用這個頁面時用戶需要加載多少數據。、
       60-100K 頁面大小 保持教小的文件
     1.2反應時間
       你向服務器發送請求和數據到達PC的時間間隔
       網絡反應時間
    2.減少文件大小
      100K以上
      大量的文件當前主要是由巨大的Javascript類庫。
      巨大的圖片
      老的HTML樣式也會產生大文件,盡可能地使用XHTML和CSS
      壓縮
    3.查找什么導致了很高的反應
      如上我們所提到的,反應時間主要由兩個主要的元素
      3.1網絡反應時間
      3.2是否花費了太長的時間來產生頁面
      3.3性能
    4.確定絕緣組件
    5.編譯緩存
    6.查看DB查詢
      避免join. 查詢緩存
    7.發送正確的已修改數據
    8.考慮組件緩存
    9.減少服務加載
      9.1使用相反的代理
      9.2采用輕量級的HTTP服務器
    10. 增加服務器
    posted @ 2006-02-11 13:48 java世界暢談 閱讀(415) | 評論 (0)編輯 收藏

    原文地址:http://www.bobbyvandersluis.com/articles/goodpractices.php

    Ten good practices for writing JavaScript in 2005

    1. Make sure your JavaScript code is in balance with its environment

    Web Standards are a three-legged stool, or without metaphors(暗喻), a threesome(三人一組) of technologies that should live together in harmony(和睦相處). (X)HTML adds structure and semantics to your content, CSS is responsible for (為...負責)its presentation, and the DOM provides an interface to add behavior. You keep your Web pages flexible (or: easier to understand, maintain, restyle<改變樣式> and update behavior) by separating all three layers; structure and content from presentation, structure and content from behavior and presentation from behavior. To accomplish this, try to avoid inline behavior and use unobtrusive techniques instead.

    主要表述了三種技術的綜合使用,html為細節結構和語法 css為表現負責  dom支持增加事件行為的接口。

    When you attach behavior on page load, you may have to work around some known issues. First, you may encounter differences in cross-browser event handling. Second, make sure you don't overwrite existing onload handlers. Last, but not least, you may encounter a delay in the attachment of your behavior. The underlying (潛在的)problem is that a window onload event will only execute after the whole document, including all page assets like images and objects, is loaded. If your script needs to respond immediately after an element has loaded or if you work with a lot of content, a series of images or a slow server, you may be forced to look for a solution. You can either hide your content until the behavior is attached or attach the behavior via a script call after your elements are loaded, like at the end of the body element.
    介紹在頁面開發中主要遇到的問題!

    Choose your markup wisely, so you can take full advantage of the power of the DOM.<充分利用dom的力量> For example, when you use nested lists to build a navigation bar, you can use the structure of the DOM tree instead of a replicated(復制) structure in arrays.<list dom tree> Scripting should be avoided in some cases where you can use markup or CSS to create behavior. This may sound a bit contradictory(反對), however built-in behavior enabled by (X)HTML attributes (e.g. disabling a form field or setting a max length on an input field) and CSS pseudo-classes (e.g. when building rollovers or drop downs) are regarded to be wider supported and easier to implement than using JavaScript. ToughQuiz on Quirksmode illustrates the discussion and the fine line between the uses of CSS generated content and regular markup and behavior.

    In those cases where CSS currently lacks<缺乏> cross-browser support or is missing features for adding presentation, DOM based scripting can supplement<補充> CSS. Presentational scripting will probably be replaced in a few years, when browsers have better CSS2.1 compliance<順從> and with the support of CSS3. Please realize that, because of the interrelationship<相互影響> of the different Web Standards and because both Web Standards and Web clients are constantly evolving<進化>, some good practices for using the DOM and JavaScript will change over time<隨著時間的過去>.

    2. Create accessible<可理解的、易受影響的> JavaScript

    JavaScript is accessible when a page's navigation, content and main functionality (e.g. submitting a form) is available to your whole target audience, independent of their Web client or input device. This includes:

    • People who use assistive<幫助> technologies, like screen readers
    • People who don't use a mouse for navigation
    • People who have no JavaScript support (e.g. some mobile clients), have JavaScript disabled, or have partial<部分的> DOM or JavaScript support
    • Machines, like search engines

    The most common way to create accessible JavaScript is to use unobtrusive techniques that are mouse independent and enhance your already accessible markup with behavior. Progressive enhancement and its predecessor graceful degradation are good strategies to create Web pages that are accessible to the most common denominator, while providing a better user experience for a smaller group of people with more advanced devices or Web clients. No matter what strategy you use, make sure that you always design for multiple scenarios.

    3. Create usable(便于使用的) JavaScript

    The usability of a Web page is often determined by a good information architecture, clear and intuitive(直覺的) visual design and well designed functionality. One of the main arguments to enhance your markup using unobtrusive JavaScript is to improve the usability of a Web page by supporting these usability attributes. If you add JavaScript and don't enhance the usability of a Web page, you should rethink if you should apply it at all.

    4. Create easy applicable(可適用的) JavaScript

    Unobtrusive scripting bridges the gap between 'designers' and 'coders'. There is a big group of people in today's industry that does know how to write (X)HTML and CSS but doesn't feel very comfortable with the DOM and JavaScript. Unobtrusive behavior introduced a mechanism to easily apply small portable scripts to a Web page: "Just make sure your markup looks like A, include this script B, and as a result you have a page that can do C".

    Try to create small pieces of independent code. The disadvantages of a lot of existing JavaScript code libraries are that you often have to include a lot more code than you really need and that they are harder to understand and maintain if you didn't create them yourself. Because the functions in these libraries are often grouped and reused by other scripts, it often feels like they are spaghetti-coded. A library with small unobtrusive scripts has the advantage of being light-weight, easy to be understood and easy to be adjusted for more specific implementations.

    Create reusable code. If you find yourself duplicating code snippets(片段), create functions. If you find yourself duplicating(復制) similar code snippets, try to abstract your code to the level that you can reuse it for multiple purposes.

    Document your code well. If you work together with other people, like to share your code with others, or still want to know why you did certain things one year from now, good documentation is key.

    5. Create future-proof JavaScript

    Avoid browser detection, because it is almost impossible to maintain in the future. Feature testing or object detection offers a browser independent and future-proof technique to test to what extent your Web client supports JavaScript.

    XHTML (if not used in backwards-compatible mode) introduces media type application/xhtml+xml (currently unsupported by Internet Explorer), which has a huge impact on how we write JavaScript code:

    • The HTML DOM is case-insensitive, the XML DOM is case-sensitive (區分大小寫)
    • Elements need to be referenced in lowercase, e.g. document.getElementsByTagName("p")
    • document.body is deprecated, instead reference it by id or use document.getElementsByTagName("body").item(0)
    • Collections like document.images, document.applets, document.links, document.forms and document.anchors do not exist when serving XHTML as XML, instead use document.getElementsByTagName()
    • innerHTML and document.write cannot be used anymore, instead use DOM methods, e.g. document.createElementNS("http://www.w3.org/1999/xhtml", "div")

    If you want to keep yourself up-to-date with the latest developments, there are a lot of initiatives from different organisations that will impact the ways we use JavaScript and the DOM in the near future:

    • W3C
      • DOM 3 provides further XML and XPath integration
      • XHTML 2 includes XML Events, which introduces a declarative way to hook up event observers via markup, and XForms, which will change the way how we add behavior to forms
      • CSS3 introduces new pseudo-elements
    • ECMA
    • Browser vendors
      • Standards support, e.g. at the moment it is still a big question if Microsoft will ever fully support existing Web Standards and is going to support future standards
      • The addition of proprietary methods and attributes, e.g. innerHTML, Microsoft.XMLHTTP and XMLHttpRequest
      • Collaborations like the WHAT WG aimed to create new standards in shorter timeframes, e.g. the submission of Web Forms 2 to become a W3C recommendation and Web Applications, which in the future may standardise XMLHttpRequest

    6. Know JavaScript's weaknesses(弱點), limitations(限制) and bugs

    Although JavaScript is generally well supported by most modern Web clients, support still remains its biggest weakness. Because from the first days of the Web users were often harassed(疲倦的) by all kinds of annoying(討厭的) behavior, browser makers decided to make it easy to switch JavaScript off (Windows XP Service Pack 2 even disables some JavaScript by default, because it regards it as active scripting). If you compare JavaScript with its little stepbrother ActionScript (which is supported when the Flash plug-in is installed and cannot be switched off), you will find that the main difference is that you can rely on its behavior to accomplish certain tasks. Because it is just too easy to switch JavaScript off, simple tasks like form validation always need to be duplicated at the server side. It will be for this reason that in the future most client-side form validation will be replaced by markup and 'built-in behavior'.

    As mentioned earlier, the onload event handler is insufficient to get the best out of unobtrusive techniques. I hope that the people of the W3C will respond to this feedback from the JavaScript community and add new handlers like onElementLoad and onDOMLoad to future DOM specifications.

    The JavaScript implementations of Internet Explorer and Safari suffer from memory leaks when using circular references like closures. When using circular references, make sure you remove event handlers when a page is unloaded.

    7. Often there is more than one good solution

    JavaScript is a very flexible language and as a result you often have multiple ways of doing things. You could choose for either a procedural(程序上) or an object oriented way of coding. For your unobtrusive behavior you can either use custom attributes or use class attributes as triggers to fully control the behavior of your site. Flexibility implies that you have to make certain choices, however often one solution is not necessarily better or worse than another. Base your decisions on the context in which you have to use your scripts and your own philosophy or taste and try to use a consistent coding style.

    8. Write your own scripts or reuse code from trusted places

    Currently a lot of outdated(過期的) and badly written code is available on the Internet. Many scripts are plagued by browser detection, are using proprietary features that don't work cross-browser, are inaccessible or are not separating behavior from structure, because they rely on inline event handlers and scripts. It seems that Web Standards, Web clients and the practice of writing good JavaScript have evolved so quickly in the past two years, that it is hard to keep up with the latest good practices. This on its turn makes it hard to reuse code from others or reuse code you wrote yourself a year ago. Because some parts of older scripts may still contain valid code constructs, it is best to review them and rewrite the parts that don't suffice anymore. You will probably often find that a complete rewrite will do best.

    So how do less experienced DOM and JavaScript users tell the difference between good and bad code on the Internet? There are some experts on the Internet that advocate modern ways of scripting and there are communities that discuss and rate new scripts and techniques. Some examples are:

    DHTML Utopia: Modern Web Design Using JavaScript & DOM is the first title of a new range of books focusing on the application of modern JavaScript and unobtrusive scripting techniques.

    9. Optimize your JavaScript code for performance

    Optimize your scripts for both download speed and execution speed. <下載速度和執行速度>Some tips:

    • Avoid fat code libraries and make sure your scripts stay lean and mean (or: small, independent and straightforward)
    • Write efficient code and avoid constructs that execute slow
    • Keep developer versions of your scripts that include full comments and use a compression<壓縮> tool (like JavaScript cruncher or JavaScript Crunchinator) to strip out all comments and white-spaces to create a version for deployment.

    10. Use tools to optimize your work process

    A selection of tools that make life much easier:

    • Mozilla or Firefox browser
      • Includes the good old Netscape JavaScript console by default (Tools > Web Development > JavaScript Console for Mozilla and Tools > JavaScript Console for Firefox), e.g. to view errors and warnings that make sense
      • The Web Developer Toolbar extension, e.g. to quickly enable or disable your scripts
      • The Mozilla DOM Inspector and the Firefox DOM Inspector extension, to inspect and edit the live DOM of any Web document
      • Venkman, the JavaScript debugger (the Venkman extension for Firefox)
    • JSDoc, a tool that parses inline documentation in JavaScript source files, and produces an HTML summary
    • JSLint, a JavaScript verifier to check for syntax and programming errors.

    Back

    posted @ 2006-02-08 23:06 java世界暢談 閱讀(533) | 評論 (0)編輯 收藏

    產品經理的角色是這樣的:
    to help software teams build products that customers want to buy.

    Take:
    2 parts requirements management
    1 part development expricence
    1 part commerical practices
    1 part marketing(measure close carefully)

    從上面可以看出,需求管理、開發經驗、商業經驗、市場經驗,作為一個產品經理是必須的。
      如果不能把握客戶的需求,開發出來的東西肯定不能為客戶所接受的。把握需求是非常重要的。
      開發經驗,如果把握了客戶的需求,將其所需要的東西也理解了,但是沒有系統開發經驗肯定也是不行的,系統設計開發經驗是非常重要的。
      然后是商業經驗,如果沒有商業經驗,一味的從技術的角度看問題,這個產品肯定也很難達到理想的結果。
      最后是市場經驗。

    posted @ 2006-01-25 16:01 java世界暢談 閱讀(336) | 評論 (1)編輯 收藏

    The Navigator object (named after the Netscape web browser, of course) has variables that specify the name and version of the browser that is running, as well as variables that identify the platform on which it is running. These variables allow scripts to customize their behavior based on browser or platform, so that they can take advantage of extra capabilities supported by some versions or work around bugs that exist on some platforms.

    userAgent
       The string that the browser sends in its USER-AGENT HTTP header.This property typically contains all the information in both appName and appVersion.

    eg.
     this.isIE = navigator.userAgent.toLowerCase().indexOf("msie") >= 0;

    posted @ 2006-01-14 09:55 java世界暢談 閱讀(370) | 評論 (0)編輯 收藏

    name: Function.bindAsEventListener

    This provides a new method to the core class Function. The method,called bindAsEventListener(),is used to do bind methods to event handlers.

    這為核心class 函數支持了一個新的方法。這個方法叫bindAsEventListener(),是用來綁定方法給事件處理器的。
    var obj = new SomeClass();
    var closure = obj.someMethod.bindAsEventListener(this);
    element.onclick = closure;

    posted @ 2006-01-14 09:35 java世界暢談 閱讀(734) | 評論 (0)編輯 收藏

    在server.xml配置文件中:
    <Connector port="8080"
                   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                   enableLookups="false" redirectPort="8443" acceptCount="100"
                   connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="utf-8"/>
        <!-- Note : To disable connection timeouts, set connectionTimeout value
         to 0 -->
        
        
         其中關鍵是增加:URIEncoding="utf-8" 這樣中文名也就支持了
    posted @ 2005-12-30 18:57 java世界暢談 閱讀(303) | 評論 (0)編輯 收藏

      這些天在細看《J2EE Development without EJB》書,感受頗多。說起來做J2EE方面開發也有幾年,自己認為自己還是有一定實力的。但是看完以后,再針對我們項目的開發感覺很多地方做的確實有很多問題。因為一直都這樣做,沒有人提出異議。悶著頭做事情,有時候確實不好,要交流,特別是要傾聽那些經驗豐富的前輩的教誨。
      OO,接觸開發也這么多年了,確實很少有項目,真正做到OO的。看看我們的項目,POJO做成偽對象,只是負責了值的傳遞,只有可憐的setter和getter,其中沒有任何業務邏輯操作的代碼(沒有任何行為)。我們所謂的業務邏輯是引入一個Manager進行綜合處理。
      1年前,也是看了jPetStore收益很多。今天再次看這個代碼。又引發了更多的思考。
      先看jPetstore的處理:
      在org.springframework.sample.jpetstore包中:
      Account類:比較簡單,普通的JavaBean。
      Cart類和CarItem類:從關系模型中,可以看到這是一個主從關系的對象。其中Cart(購物車)中有不少行為。例如:新增、刪除購物車項目;計算總金額。一般來說,我們項目中一般這樣的邏輯是寫在Manager類中的。
      在Order類中,也采用一些業務行為,例如初始化訂單等等。
      

    posted @ 2005-10-19 23:47 java世界暢談 閱讀(962) | 評論 (2)編輯 收藏

      已經很晚了,剛剛玩了一把魔獸。我不是一個職業玩家,也很少找人拼殺。不過今天晚上的玩的過程中,有一些小小的體會。
      玩魔獸,要積極主動。剛開始的時候,要派一個農民去找一下敵人在什么位置,這是你進攻的目標,如果一開始僅僅是不斷升級,和我做開發一樣,不知道做一個東西的目標的是什么,只是在一味的追求技術的先進性。結果到最后,敵人(對我來說主要是瘋狂的電腦)已經升級到終極的裝備,等它打到我的老家的時候,我已經無力抵抗了。
      還有,在進行過程中,要隨時關注你的敵人發展到什么程度了。今天晚上之所以能夠贏就是因為,我觀察到敵人在進行升級時候,喪失了很多血,給我一個很好的機會。
      還有,我及時進行補充血,當然微操也是很重要的,我在即將失去英雄的時候,及時進行了回城。做人何嘗不是這樣,有時候力量對比相差太遠的時候,要學會退讓。
      不過最終的勝利還是在于積極主動的心態。玩游戲如此,做人也是如此的。
    posted @ 2005-10-16 23:49 java世界暢談 閱讀(870) | 評論 (5)編輯 收藏

    僅列出標題
    共29頁: First 上一頁 19 20 21 22 23 24 25 26 27 下一頁 Last 
    主站蜘蛛池模板: 三年片在线观看免费观看大全中国| jlzzjlzz亚洲乱熟在线播放| 日本最新免费网站| 久久99精品视免费看| 今天免费中文字幕视频| 免费国产叼嘿视频大全网站| 久久免费精品视频| 91老湿机福利免费体验| 1000部啪啪毛片免费看| 真人做A免费观看| 97国产免费全部免费观看| 成人免费视频77777| 成人毛片18女人毛片免费视频未| 四色在线精品免费观看| 国产真实伦在线视频免费观看| 国产免费一区二区三区VR| 亚洲国产高清精品线久久| 精品国产香蕉伊思人在线在线亚洲一区二区 | 亚洲综合伊人制服丝袜美腿| 亚洲成综合人影院在院播放| 亚洲国产成人久久| 亚洲国产精品ⅴa在线观看| 免费高清A级毛片在线播放| 国产在线观看xxxx免费| 99re这里有免费视频精品| 无人在线观看免费高清视频| 日本xxwwxxww在线视频免费| 亚洲精品乱码久久久久久蜜桃| 久久精品国产亚洲AV网站| 亚洲午夜一区二区电影院| 亚洲爆乳大丰满无码专区| 一个人看的hd免费视频| 性xxxx视频免费播放直播 | 成在人线av无码免费高潮水| 一级特黄aa毛片免费观看| 日本精品人妻无码免费大全| 免费一级特黄特色大片在线观看| 亚洲精品~无码抽插| 激情综合亚洲色婷婷五月| 成人精品综合免费视频| 91人人区免费区人人|