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

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

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

    damoco

     

    2009年8月23日

    過度設(shè)計(jì)

    PS:雙人編程的一個好處:可以減少設(shè)計(jì)時間的浪費(fèi)。也就是避免過度設(shè)計(jì)。
    因?yàn)闆]有pair,本來計(jì)劃3個點(diǎn)(1故事點(diǎn)=1人時)的故事,花了20個點(diǎn)。。。拜過度設(shè)計(jì)所賜。
    想到了一個稍差點(diǎn)的替代方式,就是寫blog。像下面這樣:

    問題:多余的繼承體系:view及其子類。本來在Canvas繼承體系就可以搞定的。
    解決方案:合并繼承體系。
    教訓(xùn):不要輕信模式。不要輕信隱喻。重復(fù)代碼是檢驗(yàn)真理的唯一的標(biāo)準(zhǔn)。
    策略:
    1. 平行移動代碼。不花時間保證編譯通過,只要最終跑通單元測試即可。
    2. view順便改為style
    估算:1點(diǎn)。
    實(shí)際:2點(diǎn)。

    posted @ 2009-08-23 17:19 damoco 閱讀(243) | 評論 (0)編輯 收藏

    2009年8月22日

    ViewPort(視口)跟隨光標(biāo)

    ViewPort跟隨光標(biāo)。光標(biāo)大小可變。

    方案

    保存圖形數(shù)據(jù)

    類似游戲地圖,但是游戲地圖是可以保存在磁盤中的,用的時候讀取,但是大部分時間還是保存在內(nèi)存中。

    問題

    • 耗費(fèi)內(nèi)存。暫無解決方案。

    繪圖時更新光標(biāo)位置

    問題

    • ViewPort繪制先于光標(biāo),但更新晚于(依賴于)光標(biāo)。因此繪制會延后一幀。解決方案:
      • repaint一幀。最簡單。問題:如何確定當(dāng)前幀是否需要repaint。解決方案:在cursor中緩存是否移動的狀態(tài);根據(jù)此狀態(tài)判斷是否需要repaint。
      • 暫無其他
    結(jié)論:采用繪圖時更新加repaint方法

    posted @ 2009-08-22 11:23 damoco 閱讀(187) | 評論 (0)編輯 收藏

    2009年5月18日

    如何配置和使用Tomcat訪問日志

    配置位置在log下的server.xml,(tomcat容器)

    <Engine defaultHost="localhost" name="Catalina">
    <Host appBase="webapps" name="localhost">
    <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_log." suffix=".txt" timestamp="true"/>
    <Valve className="org.apache.catalina.valves.AccessLogValve" fileDateFormat="yyyy-MM-dd" pattern="%h %l %u %t %r %s %b %{Referer}i %{User-Agent}i %{x-jphone-uid}i %{x-up-subno}i" prefix="localhost_access_log." suffix=".txt" directory="/var/log/accesslog" condition="drop"/>
    <Context path="" docBase="cn_issue" debug="0"/>
    </Host>
    <Logger className="org.apache.catalina.logger.FileLogger" prefix="catalina_log." suffix=".txt" timestamp="true"/>
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>
    </Engine>

    以下是摘抄正文

    original link:http://forum.ospod.com/post-25088-1.fhtml;jsessionid=3361F472A5E12B9B9BEA1632EC50603A

    Access Log Valve用來創(chuàng)建日志文件,格式與標(biāo)準(zhǔn)的web server日志文件相同??梢允褂糜萌罩痉治龉ぞ邔θ罩具M(jìn)行分析,跟蹤頁面點(diǎn)擊次數(shù)、用戶會話的活動等。Access Log Valve的很多配置和行為特性與File Logger相同,包括每晚午夜自動切換日志文件。Access Log Valve可以和任何Catalina容器關(guān)聯(lián),記錄該容器處理的所有請求。
    例子如下:

    directory="logs" prefix="localhost_access_log." suffix=".txt"
    pattern="%{X-Forwarded-For-Pound}i %l %u %t "%r" %s %b %T "%{HTTP_X_UP_CALLING_LINE_ID}i" "%{x-up-calling-line-id}i" "%{User-Agent}i"" resolveHosts="false"/>


    className 實(shí)現(xiàn)的Java類名。必須被設(shè)置成org.apache.catalina.valves.AccessLogValve。
    directory 存放日志文件的目錄,可以是相對路徑或者絕對路徑。如果使用相對路徑,是指相對于 $CATALINA_HOME的路徑。如果不指定directory屬性,缺省值是"logs"(相對于 $CATALINA_HOME)
    pattern 需要記錄的請求/響應(yīng)不同信息域的格式布局。如果是"common"或者"combine",說明選擇標(biāo)準(zhǔn)格式。下面會有關(guān)于配置這個屬性的更多信息。
    prefix 日志文件名的前綴。如果沒有指定,缺省值是"access_log."。如果不想使用前綴,使用長度為0的字符串。

    resolveHosts 將遠(yuǎn)端主機(jī)的IP地址通過DNS查詢轉(zhuǎn)換成主機(jī)名,設(shè)為true。如果為false,忽略DNS查詢,報(bào)告遠(yuǎn)端的IP地址。

    suffix 日志文件名的后綴。如果沒有指定,缺省值是""。如果不想使用后綴,使用長度為0的字符串。

    rotatable 缺省值為true,用來決定日志是否翻轉(zhuǎn)的標(biāo)志。如果為false,日志文件永遠(yuǎn)不翻轉(zhuǎn),并且忽略fileDataFormat。要謹(jǐn)慎使用。

    condition 打 開條件日志。如果設(shè)置了這個屬性,只有在ServletRequest.getAttribute()是null的時候,才會為請求創(chuàng)建日志。比如,如果 condition設(shè)為junk,則只有在Servlet.getAttribute("junk")==null的時候,才會記錄這個請求。使用過濾 器,可以很容易設(shè)置(或者取消設(shè)置)不同請求的屬性。
    fileDateFormat 允許在日志文件名稱中使用定制的日期格式。日志的格式也決定了日志文件翻轉(zhuǎn)的頻率。如果想每個小時翻轉(zhuǎn)一次,將這個值設(shè)為yyyy-MM-dd.HH


    pattern屬性值由字符串常量和pattern標(biāo)識符加上前綴"%"組合而成。pattern標(biāo)識符加上前綴"%",用來代替當(dāng)前請求/響應(yīng)中的對應(yīng)的變量值。目前支持如下的pattern:

    • %a - 遠(yuǎn)端IP地址
    • %A - 本地IP地址
    • %b - 發(fā)送的字節(jié)數(shù),不包括HTTP頭,如果為0,使用"-"
    • %B - 發(fā)送的字節(jié)數(shù),不包括HTTP頭
    • %h - 遠(yuǎn)端主機(jī)名(如果resolveHost=false,遠(yuǎn)端的IP地址)
    • %H - 請求協(xié)議
    • %l - 從identd返回的遠(yuǎn)端邏輯用戶名(總是返回 '-')
    • %m - 請求的方法(GET,POST,等)
    • %p - 收到請求的本地端口號
    • %q - 查詢字符串(如果存在,以 '?'開始)
    • %r - 請求的第一行,包含了請求的方法和URI
    • %s - 響應(yīng)的狀態(tài)碼
    • %S - 用戶的session ID
    • %t - 日志和時間,使用通常的Log格式
    • %u - 認(rèn)證以后的遠(yuǎn)端用戶(如果存在的話,否則為'-')
    • %U - 請求的URI路徑
    • %v - 本地服務(wù)器的名稱
    • %D - 處理請求的時間,以毫秒為單位
    • %T - 處理請求的時間,以秒為單位

    結(jié)果舉例如下:
    - - - [29/Aug/2005:09:34:48 +0800] "GET /waptest/server?productid=qqportal&actionid=index&user_type=1&station=tencent&mid=12345678908888&mobile_no=13724179457&qazxcdew=1 HTTP/1.1" 404 710 0.015 "-" "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) Opera 7.11 [zh-cn]"

    - - - [29/Aug/2005:10:27:29 +0800] "OPTIONS / HTTP/1.1" 404 668 0.203 "-" "-" "Microsoft-WebDAV-MiniRedir/5.1.2600"

     附錄:server.xml

    <?xml version='1.0' encoding='utf-8'?>
    <Server>
      <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
      <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
      <GlobalNamingResources>
        <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
        <Resource auth="Container" description="User database that can be updated and saved" name="UserDatabase" type="org.apache.catalina.UserDatabase"/>
        <ResourceParams name="UserDatabase">
          <parameter>
            <name>factory</name>
            <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
          </parameter>
          <parameter>
            <name>pathname</name>
            <value>conf/tomcat-users.xml</value>
          </parameter>
        </ResourceParams>
      </GlobalNamingResources>
      <Service name="Catalina">
        <Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" port="80" redirectPort="8443">
        </Connector>
        <Connector port="8009" protocol="AJP/1.3" protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" redirectPort="8443">
        </Connector>
        <Engine defaultHost="localhost" name="Catalina">
          <Host appBase="webapps" name="localhost">
            <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_log." suffix=".txt" timestamp="true"/>
            <Valve className="org.apache.catalina.valves.AccessLogValve" fileDateFormat="yyyy-MM-dd" pattern="%h %l %u %t %r %s %b %{Referer}i %{User-Agent}i %{x-jphone-uid}i %{x-up-subno}i" prefix="localhost_access_log." suffix=".txt" directory="/log/accesslog" condition="drop"/>
        <Context path="" docBase="cn_issue" debug="0"/>
          </Host>
          <Logger className="org.apache.catalina.logger.FileLogger" prefix="catalina_log." suffix=".txt" timestamp="true"/>
          <Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>
        </Engine>
      </Service>
    </Server>

    posted @ 2009-05-18 17:58 damoco 閱讀(3879) | 評論 (0)編輯 收藏

    僅列出標(biāo)題  

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(2)

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 91嫩草亚洲精品| 亚洲AV无码成人网站久久精品大| 亚洲性无码av在线| 久久久99精品免费观看| 精品日韩亚洲AV无码一区二区三区 | 亚洲视频在线免费观看| 亚洲成AV人片在线观看无| 精品国产污污免费网站| 亚洲成色www久久网站夜月| 免费人成在线观看视频高潮| 亚洲情XO亚洲色XO无码| 无码成A毛片免费| 亚洲精品中文字幕乱码影院 | 免费无码A片一区二三区 | 永久免费无码日韩视频| 浮力影院亚洲国产第一页| 中文字幕无线码中文字幕免费| 亚洲色大成网站WWW久久九九| 久久免费视频一区| 亚洲国产精品自在线一区二区| 午夜理伦剧场免费| 亚洲国产成人精品激情| 国产aa免费视频| 国产精品高清免费网站| 亚洲欧洲在线观看| 毛片免费在线观看网站| 边摸边吃奶边做爽免费视频99 | 亚洲国产高清精品线久久| 岛国岛国免费V片在线观看| 亚洲视频在线免费观看| 性色av无码免费一区二区三区| 亚洲综合av一区二区三区不卡| 可以免费观看一级毛片黄a| 久久国产精品国产自线拍免费| 亚洲av永久综合在线观看尤物| 国产免费无遮挡精品视频| 一区二区三区免费看| 亚洲视频日韩视频| 免费国产不卡午夜福在线| 日本不卡免费新一区二区三区| 亚洲色欲色欲www|