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

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

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

    java技術(shù)研究

    統(tǒng)計(jì)

    留言簿(3)

    閱讀排行榜

    評論排行榜

    2016年4月28日 #

    tomcat增加error打印

    今天啟動Tomcat啟動不了,報(bào)以下錯(cuò): 

    org.apache.catalina.core.StandardContext startInternal 
    SEVERE: Error listenerStart 
    org.apache.catalina.core.StandardContext startInternal 
    SEVERE: Context [/******] startup failed due to previous errors 

    網(wǎng)上找了N多文章,都沒有切中要害。 
    后來在國外網(wǎng)站上搜到一個(gè)方法 
    http://grails.1312388.n4.nabble.com/Deployment-problems-td4628710.html。 
    我試了一下,是可以的。方案如下。 

    Tomcat報(bào)的錯(cuò)太含糊了,什么錯(cuò)都沒報(bào)出來,只提示了Error listenerStart。為了調(diào)試,我們要獲得更詳細(xì)的日志。可以在WEB-INF/classes目錄下新建一個(gè)文件叫l(wèi)ogging.properties,內(nèi)容如下 

    Java代碼  收藏代碼
    1. handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler  
    2.   
    3. ############################################################  
    4. # Handler specific properties.  
    5. # Describes specific configuration info for Handlers.  
    6. ############################################################  
    7.   
    8. org.apache.juli.FileHandler.level = FINE  
    9. org.apache.juli.FileHandler.directory = ${catalina.base}/logs  
    10. org.apache.juli.FileHandler.prefix = error-debug.  
    11.   
    12. java.util.logging.ConsoleHandler.level = FINE  
    13. java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter  


    這樣,我們再啟動tomcat時(shí),就會在logs目錄下生成一個(gè)更詳細(xì)的日志error-debug.2012-05-31.log。 

    我們進(jìn)去看看什么錯(cuò)吧。 
    我碰到的錯(cuò)誤是FileNotFoundException.大家碰到的錯(cuò)應(yīng)該各式各樣都有,所以就要具體問題具體分析了。 
    tomcat的logging文檔具體可參考http://tomcat.apache.org/tomcat-7.0-doc/logging.html 

    posted @ 2018-08-14 12:35 小秦 閱讀(573) | 評論 (0)編輯 收藏

    服務(wù)器一般達(dá)到多少qps比較好

    每秒查詢率QPS是對一個(gè)特定的查詢服務(wù)器在規(guī)定時(shí)間內(nèi)所處理流量多少的衡量標(biāo)準(zhǔn),在因特網(wǎng)上,作為域名系統(tǒng)服務(wù)器的機(jī)器的性能經(jīng)常用每秒查詢率來衡量。

    原理:每天80%的訪問集中在20%的時(shí)間里,這20%時(shí)間叫做峰值時(shí)間
    公式:( 總PV數(shù) * 80% ) / ( 每天秒數(shù) * 20% ) = 峰值時(shí)間每秒請求數(shù)(QPS)
    機(jī)器:峰值時(shí)間每秒QPS / 單臺機(jī)器的QPS = 需要的機(jī)器

    問:每天300w PV 的在單臺機(jī)器上,這臺機(jī)器需要多少Q(mào)PS?
    答:( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS)

    問:如果一臺機(jī)器的QPS是58,需要幾臺機(jī)器來支持?
    答:139 / 58 = 3

    posted @ 2016-06-08 10:23 小秦 閱讀(721) | 評論 (0)編輯 收藏

    敏捷開發(fā)之Scrum掃盲篇(轉(zhuǎn))

    現(xiàn)在敏捷開發(fā)是越來越火了,人人都在談敏捷,人人都在學(xué)習(xí)Scrum和XP...

     

    為了不落后他人,于是我也開始學(xué)習(xí)Scrum,今天主要是對我最近閱讀的相關(guān)資料,根據(jù)自己的理解,用自己的話來講述Scrum中的各個(gè)環(huán)節(jié),主要目的有兩個(gè),一個(gè)是進(jìn)行知識的總結(jié),另外一個(gè)是覺得網(wǎng)上很多學(xué)習(xí)資料的講述方式讓初學(xué)者不太容易理解;所以我決定寫一篇掃盲性的博文,同時(shí)試著也與園內(nèi)的朋友一起分享交流一下,希望對初學(xué)者有幫助。

     

     什么是敏捷開發(fā)?

    敏捷開發(fā)(Agile Development)是一種以人為核心、迭代、循序漸進(jìn)的開發(fā)方法。

    怎么理解呢?首先,我們要理解它不是一門技術(shù),它是一種開發(fā)方法,也就是一種軟件開發(fā)的流程,它會指導(dǎo)我們用規(guī)定的環(huán)節(jié)去一步一步完成項(xiàng)目的開發(fā);而這種開發(fā)方式的主要驅(qū)動核心是人;它采用的是迭代式開發(fā);

     

    為什么說是以人為核心?

    我們大部分人都學(xué)過瀑布開發(fā)模型,它是以文檔為驅(qū)動的,為什么呢?因?yàn)樵谄俨嫉恼麄€(gè)開發(fā)過程中,要寫大量的文檔,把需求文檔寫出來后,開發(fā)人員都是根據(jù)文檔進(jìn)行開發(fā)的,一切以文檔為依據(jù);而敏捷開發(fā)它只寫有必要的文檔,或盡量少寫文檔,敏捷開發(fā)注重的是人與人之間,面對面的交流,所以它強(qiáng)調(diào)以人為核心。

     

    什么是迭代?

    迭代是指把一個(gè)復(fù)雜且開發(fā)周期很長的開發(fā)任務(wù),分解為很多小周期可完成的任務(wù),這樣的一個(gè)周期就是一次迭代的過程;同時(shí)每一次迭代都可以生產(chǎn)或開發(fā)出一個(gè)可以交付的軟件產(chǎn)品。

     

    關(guān)于Scrum和XP

    前面說了敏捷它是一種指導(dǎo)思想或開發(fā)方式,但是它沒有明確告訴我們到底采用什么樣的流程進(jìn)行開發(fā),而Scrum和XP就是敏捷開發(fā)的具體方式了,你可以采用Scrum方式也可以采用XP方式;Scrum和XP的區(qū)別是,Scrum偏重于過程,XP則偏重于實(shí)踐,但是實(shí)際中,兩者是結(jié)合一起應(yīng)用的,這里我主要講Scrum。

     

    什么是Scrum?

    Scrum的英文意思是橄欖球運(yùn)動的一個(gè)專業(yè)術(shù)語,表示“爭球”的動作;把一個(gè)開發(fā)流程的名字取名為Scrum,我想你一定能想象出你的開發(fā)團(tuán)隊(duì)在開發(fā)一個(gè)項(xiàng)目時(shí),大家像打橄欖球一樣迅速、富有戰(zhàn)斗激情、人人你爭我搶地完成它,你一定會感到非常興奮的。

    而Scrum就是這樣的一個(gè)開發(fā)流程,運(yùn)用該流程,你就能看到你團(tuán)隊(duì)高效的工作。

     

    【Scrum開發(fā)流程中的三大角色】

    產(chǎn)品負(fù)責(zé)人(Product Owner)

    主要負(fù)責(zé)確定產(chǎn)品的功能和達(dá)到要求的標(biāo)準(zhǔn),指定軟件的發(fā)布日期和交付的內(nèi)容,同時(shí)有權(quán)力接受或拒絕開發(fā)團(tuán)隊(duì)的工作成果。

     

    流程管理員(Scrum Master)

    主要負(fù)責(zé)整個(gè)Scrum流程在項(xiàng)目中的順利實(shí)施和進(jìn)行,以及清除擋在客戶和開發(fā)工作之間的溝通障礙,使得客戶可以直接驅(qū)動開發(fā)。

     

    開發(fā)團(tuán)隊(duì)(Scrum Team)

    主要負(fù)責(zé)軟件產(chǎn)品在Scrum規(guī)定流程下進(jìn)行開發(fā)工作,人數(shù)控制在5~10人左右,每個(gè)成員可能負(fù)責(zé)不同的技術(shù)方面,但要求每成員必須要有很強(qiáng)的自我管理能力,同時(shí)具有一定的表達(dá)能力;成員可以采用任何工作方式,只要能達(dá)到Sprint的目標(biāo)。

     

     

    Scrum流程圖

     

    //------------------------

    下面,我們開始講具體實(shí)施流程,但是在講之前,我還要對一個(gè)英文單詞進(jìn)行講解。

    什么是Sprint?

    Sprint是短距離賽跑的意思,這里面指的是一次迭代,而一次迭代的周期是1個(gè)月時(shí)間(即4個(gè)星期),也就是我們要把一次迭代的開發(fā)內(nèi)容以最快的速度完成它,這個(gè)過程我們稱它為Sprint。

     

    如何進(jìn)行Scrum開發(fā)?

    1、我們首先需要確定一個(gè)Product Backlog(按優(yōu)先順序排列的一個(gè)產(chǎn)品需求列表),這個(gè)是由Product Owner 負(fù)責(zé)的;

    2、Scrum Team根據(jù)Product Backlog列表,做工作量的預(yù)估和安排;

    3、有了Product Backlog列表,我們需要通過 Sprint Planning Meeting(Sprint計(jì)劃會議) 來從中挑選出一個(gè)Story作為本次迭代完成的目標(biāo),這個(gè)目標(biāo)的時(shí)間周期是1~4個(gè)星期,然后把這個(gè)Story進(jìn)行細(xì)化,形成一個(gè)Sprint Backlog;

    4、Sprint Backlog是由Scrum Team去完成的,每個(gè)成員根據(jù)Sprint Backlog再細(xì)化成更小的任務(wù)(細(xì)到每個(gè)任務(wù)的工作量在2天內(nèi)能完成);

    5、在Scrum Team完成計(jì)劃會議上選出的Sprint Backlog過程中,需要進(jìn)行 Daily Scrum Meeting(每日站立會議),每次會議控制在15分鐘左右,每個(gè)人都必須發(fā)言,并且要向所有成員當(dāng)面匯報(bào)你昨天完成了什么,并且向所有成員承諾你今天要完成什么,同時(shí)遇到不能解決的問題也可以提出,每個(gè)人回答完成后,要走到黑板前更新自己的 Sprint burn down(Sprint燃盡圖);

    6、做到每日集成,也就是每天都要有一個(gè)可以成功編譯、并且可以演示的版本;很多人可能還沒有用過自動化的每日集成,其實(shí)TFS就有這個(gè)功能,它可以支持每次有成員進(jìn)行簽入操作的時(shí)候,在服務(wù)器上自動獲取最新版本,然后在服務(wù)器中編譯,如果通過則馬上再執(zhí)行單元測試代碼,如果也全部通過,則將該版本發(fā)布,這時(shí)一次正式的簽入操作才保存到TFS中,中間有任何失敗,都會用郵件通知項(xiàng)目管理人員;

    7、當(dāng)一個(gè)Story完成,也就是Sprint Backlog被完成,也就表示一次Sprint完成,這時(shí),我們要進(jìn)行 Srpint Review Meeting(演示會議),也稱為評審會議,產(chǎn)品負(fù)責(zé)人和客戶都要參加(最好本公司老板也參加),每一個(gè)Scrum Team的成員都要向他們演示自己完成的軟件產(chǎn)品(這個(gè)會議非常重要,一定不能取消);

    8、最后就是 Sprint Retrospective Meeting(回顧會議),也稱為總結(jié)會議,以輪流發(fā)言方式進(jìn)行,每個(gè)人都要發(fā)言,總結(jié)并討論改進(jìn)的地方,放入下一輪Sprint的產(chǎn)品需求中;

     

     

    下面是運(yùn)用Scrum開發(fā)流程中的一些場景圖:

    上圖是一個(gè) Product Backlog 的示例。

     

    上圖就是每日的站立會議了,參會人員可以隨意姿勢站立,任務(wù)看板要保證讓每個(gè)人看到,當(dāng)每個(gè)人發(fā)言完后,要走到任務(wù)版前更新自己的燃盡圖。



    任務(wù)看版包含 未完成、正在做、已完成 的工作狀態(tài),假設(shè)你今天把一個(gè)未完成的工作已經(jīng)完成,那么你要把小卡片從未完成區(qū)域貼到已完成區(qū)域。


     

    每個(gè)人的工作進(jìn)度和完成情況都是公開的,如果有一個(gè)人的工作任務(wù)在某一個(gè)位置放了好幾天,大家都能發(fā)現(xiàn)他的工作進(jìn)度出現(xiàn)了什么問題(成員人數(shù)最好是5~7個(gè),這樣每人可以使用一種專用顏色的標(biāo)簽紙,一眼就可以從任務(wù)版看出誰的工作進(jìn)度快,誰的工作進(jìn)度慢)

     

     

     上圖可不是撲克牌,它是計(jì)劃紙牌,它的作用是防止項(xiàng)目在開發(fā)過程中,被某些人所領(lǐng)導(dǎo)。

    怎么用的呢?比如A程序員開發(fā)一個(gè)功能,需要5個(gè)小時(shí),B程序員認(rèn)為只需要半小時(shí),那他們各自取相應(yīng)的牌,藏在手中,最后攤牌,如果時(shí)間差距很大,那么A和B就可以討論A為什么要5個(gè)小時(shí)...
    轉(zhuǎn)自:http://www.cnblogs.com/taven/archive/2010/10/17/1853386.html

    posted @ 2016-04-28 11:14 小秦 閱讀(248) | 評論 (1)編輯 收藏

    主站蜘蛛池模板: 一级毛片正片免费视频手机看| 亚洲国产精品成人综合色在线婷婷| 亚洲色大成WWW亚洲女子| 亚洲视频在线观看免费视频| 亚洲第一中文字幕| 日本一道本不卡免费| 亚洲av无码一区二区三区不卡 | 久久精品a一国产成人免费网站| 亚洲黄网站wwwwww| 国产精品久久永久免费| 亚洲特级aaaaaa毛片| 毛片高清视频在线看免费观看| 亚洲人成www在线播放| 女人18毛片a级毛片免费| 小说区亚洲自拍另类| 亚洲日韩国产精品乱| a级毛片高清免费视频| 久久青青草原亚洲AV无码麻豆| 51视频精品全部免费最新| 亚洲粉嫩美白在线| 免费国产美女爽到喷出水来视频| 国产精品亚洲专区无码唯爱网| 亚洲精品黄色视频在线观看免费资源| 国产成人无码精品久久久久免费| 国产亚洲综合一区柠檬导航| 亚洲精品视频免费看| 亚洲AV无码成人精品区日韩| 亚洲人成电影在线播放| 久别的草原电视剧免费观看| 亚洲国产精品免费在线观看| 国产99视频精品免费视频7| www免费插插视频| 亚洲美女免费视频| 免费看a级黄色片| 全黄大全大色全免费大片| 久久精品亚洲一区二区三区浴池 | 亚洲人成色7777在线观看| 久久精品一本到99热免费| 亚洲精华国产精华精华液网站| 亚洲毛片αv无线播放一区| 免费下载成人电影|