??xml version="1.0" encoding="utf-8" standalone="yes"?>67194在线午夜亚洲,国产亚洲精品岁国产微拍精品,亚洲第一区视频在线观看http://www.tkk7.com/justuszhang2009/category/48842.htmlzh-cnFri, 24 Jun 2011 22:00:01 GMTFri, 24 Jun 2011 22:00:01 GMT60【{】持l集成工?/title><link>http://www.tkk7.com/justuszhang2009/archive/2011/06/24/352182.html</link><dc:creator>张益?/dc:creator><author>张益?/author><pubDate>Fri, 24 Jun 2011 05:06:00 GMT</pubDate><guid>http://www.tkk7.com/justuszhang2009/archive/2011/06/24/352182.html</guid><wfw:comment>http://www.tkk7.com/justuszhang2009/comments/352182.html</wfw:comment><comments>http://www.tkk7.com/justuszhang2009/archive/2011/06/24/352182.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/justuszhang2009/comments/commentRss/352182.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/justuszhang2009/services/trackbacks/352182.html</trackback:ping><description><![CDATA[<table class="seyle4" border="0" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <td class="content9" valign="middle"><strong></strong></td></tr> <tr> <td> <div align="right"><span id="eieguyg" class="textbox-label">[ 2009-12-23 9:25:00 | By: <span id="uyowaqa" class="style3">王v?/span> ]</span></div></td></tr></tbody></table> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <td height="3"> </td></tr></tbody></table> <table style="table-layout: fixed" border="0" cellspacing="0" cellpadding="0" width="100%" align="center"> <tbody> <tr> <td><span id="kcsuwuk" class="oblog_text"><span id="ob_logd41613"> <div style="text-align: center; margin: 0px 10px 5px 0px; width: 45px; display: inline;background: url(http://www.tkk7.com/Images/digg.gif) no-repeat left top; float: right; height: 55px" class="digg_list"> <div style="padding-bottom: 11px; line-height: 1; padding-left: 0px; width: 45px; padding-right: 0px; font-family: tahoma,Arial,Helvetica,sans-serif; color: #333; font-size: 18px; font-weight: 600; padding-top: 10px" class="digg_number">0</div> <div style="padding-bottom: 0px; line-height: 1; padding-left: 6px; padding-right: 0px; letter-spacing: 6px; padding-top: 3px" class="digg_submit"><a style="line-height: 1; font-size: 12px" href="javascript:void(null)">推荐</a></div></div></span> <p>引言</p> <p>Thomas Carlyle_“人类是用工L动物。没有工PZ么都不是Q有了工P人无所不能?#8221;金融家们创造了复杂的金融工Pq利用这些工具制造了财富话Q制造了著名的跨国公司,也制造了世界范围的危机。Y件精׃Z让自q工作效率更高Q有更多旉d惛_的事Q也创造了各式各样的工兗持l集成已l不是一个新概念Q在q个概念发展的十多年_出现了支持这一概念的众多工兗这些工Ll合使用Qؓ软g开发提供了强大的支持?/p> <p>持箋集成工具的分cd功能</p> <p>一般来_持箋集成工具可以分成两大c:自动化构建工具和构徏计划安排工具?/p> <p>自动化构建工hq样一些基本功能:代码~译、组件打包、程序执行和文g操作。编译源代码是构建的主要工作之一Qؓ了提高效率,~译应该Ҏ相应的源代码是否发生改变而有条g地执行。组件打包是编译的l果和其他需要包含的文gl织在一P形成可以部v的组件。构建工具应该知道何旉要重新打包。程序执行是指构建工兯够在它支持的q_上,调用所有提供命令行接口的程序。构建工具应该支持创建、拷贝、删除文件和目录{操作?/p> <p>某些自动化构建工兯有一些扩展功能:执行开发者测试、版本控制工具集成、文集成、部|功能、代码品质分析、支持扩展、多q_构徏、加速构建。虽然构建工具可以通过命o行执行的方式来集成构建工具和试工具Q但如果它提供更直接的集成方式,开发者就更省力。同P如果构徏工具能够直接与版本控制工具集成,开发者也会觉得更方便。文档集成是指构建工兯够自动从源代码中抽取q生成API文。构建工兯可以打包好的组件自动部|到目标试环境中去。构建工具一般通过一些第三方插gQ支持对代码品质q行分析。而提供插件接口,是构建工具实现可扩展性的通用方式。如果您开发的软g需要在多个q_上构建ƈ试Q那么构建工具对多^台的支持׃带来极大的方ѝ对于较大的代码集,一ơ构建可能需要好几个时Q这为持l集成带来了一些挑战。有的构建工h持加速构建,卛_多个构徏服务器的多个处理器上q行分布式构建?/p> <p>常见的自动化构徏工具包括Ant、NAnt、MSBuild、make、Maven、Rake{?/p> <p>构徏计划安排工具有这样一些基本功能:构徏执行、版本控刉成、构建工具集成、提供反馈、ؓ构徏打上标签。构划安排工L核心功能是在特定时间执行自动化的构建,q可以通过轮询版本控制库、计划驱动或事g通知{方式来实现。大部分构徏计划安排工具都支持大多数行的版本控制系l,也支持大多数行的构建工兗构划安排工兯支持通过电子邮g提供反馈信息Q有一些工具可以通过x消息、手机短信或其他讑֤来提供反馈。大多数构徏计划安排工具会提供某U类型的升序计数Q作为构建版本的标签?/p> <p>某些构徏计划安排工具q有一些扩展功能:支持目间依赖关pR提供用L面、制品发布、安全。如果项目间存在依赖关系Q您可能希望在被依赖的项目重新构建时Q重新构Z赖于它的目。设计良好的用户界面会在工作时ؓ您节U时间。制品发布是指除了得到可部v的组件之外,一些成熟的某些构徏计划安排工具可以文档、测试结果、品质分析结构和其他量指标数据格式化,便于查看。有一些工h供了w䆾认证和授权等安全斚w的功能,允许您指定谁能查看结果和修改配置?/p> <p>常见的构划安排工具包括AnthillPro、Continuum、CruiseControl、CruiseControl.NET、Draco.NET、Luntbuild、Hudson{?/p> <p>下面介绍两个颇具代表性的工具QAnt和Hudson?/p> <p>Ant</p> <p>Ant是Java构徏工具的事实标准,一般徏议,不论目团队成员使用哪种集成开发环境,目都要有一个可以脱IDE执行的Ant脚本。Ant采用插g式的设计l构Q通过不同的插件来实现各种dQ其d分类如表1所C?/p> <p>Archive Tasks<br /> 打包解包dQ支持的格式包括QBZip2、Cab、Ear、GZip、Jar、Rpm、Tar、War、Zip?br /> <br />Audit/Coverage Tasks<br /> JDependdQ调用JDepend实现代码静态分析,针对每个Java包生成设计品质指标数据?br /> <br />Compile Tasks<br /> ~译dQ实现对Java、JSP、NetRexx{源文g的编译?br /> <br />Deployment Tasks<br /> 部vdQ实现在JavaEE服务器上热部|Ӏ?br /> <br />Documentation Tasks<br /> 文生成dQ生成javadoc文、Apache Stylebook文?br /> <br />EJB Tasks<br /> EJBdQ提供对1.x?.x的EJB的支持,q支持不同供应商的应用服务器?br /> <br />Execution Tasks<br /> 执行dQ包括对子项目调用Ant、调用同一脚本中的另一个target、执行系l提供的命o行程序、执行JavaE序、暂停和q行同步执行{功能?br /> <br />File Tasks<br /> 文gdQ实现对文g和目录的操作?br /> <br />Java2 Extensions Tasks<br /> Java2 扩展信息dQ对jar包中的版本、供应商{扩展信息进行检查和操作?br /> <br />Logging Tasks<br /> 日志dQ将构徏q程事g记录到文件中?br /> <br />Mail Tasks<br /> 邮gdQ发送SMTP邮g?br /> <br />Miscellaneous Tasks<br /> 其他dQ各U或怼用到的小dQ例如播放wav文g?br /> <br />.NET Tasks<br /> .NETdQ支持执?NETE序、执行NUnit试、调用NAnt、调用MSBuild、调用WiX工具?br /> <br />Pre-process Tasks<br /> 预处理Q务,实现~译之前的一些预处理。例如调用ANTLR、JavaCC、Native2Ascii{程序?br /> <br />Property Tasks<br /> 属性Q务,对脚本中的属性变量进行判断和操作?br /> <br />Remote Tasks<br /> q程dQ支持FTP、Rexec、Scp、SSH和Telnet?br /> <br />SCM Tasks<br /> SCMdQ支持各U配|管理(版本控制QYӞ包括CVS、ClearCase、Continuus、Visual SourceSafe、Perforce、PVCS、SourceOffSite和StarTeam?br /> <br />Testing Tasks<br /> 试dQ支持执行JUnit试?br /> <br />?. Antd分类</p> <p>以上介绍的只是Ant发行版所带的一些Q务。由于Ant采用的是插gl构Q所以开发者可以开发自己需要的AntdQ支持各U工P如FindBugs、TestNG{其他代码检查工具和试工具。早期的Ant没有很好的依赖关pL持,后来则通过Ivy弥补了这一~点?/p> <p>关键是Ant为我们提供了一个跨q_的Java构徏工具Qؓ持箋集成提供了根本的支持。对于Java开发者来_如果不想采用AntQ也可以考虑采用Maven?/p> <p>Hudson</p> <p>Hudson是一个开放源代码的CI服务器,受到世界各地各种规模和类型的开发团队的Ƣ迎。关键是因ؓ它非常易于安装和使用Q提供了灉|的配|方式和复杂的功能,同时支持Java目和非Java目Q由强大的HudsonC֌提供技术支持?/p> <p>而言之,Hudson不仅仅是一个CI服务器,它的可扩展架构它不仅是一个构建管理系l,也成Z个通用的开发生命周期管理系l,让开发者能够完成提升基Uѝ打标签、执行工作流、根据依赖关p追t变更、监视ƈ囄试l果、查看代码覆盖率和违反编码标准的情况{Q务?/p> <p>Hudson是最z跃Q成长最快的开源社Z一Q目前每周下载达4000ơ,有超q?万个在工作的安装实例。它的开发者超q?60人,贡献的工作量过137人年Q目前已发布了超q?00个发行版本。Hudson实际上是现在世界上最受欢q的开源CI服务器?/p> <p>?是Apache软g基金会运行Hudson的屏q截图,您可以在<a >http://wiki.hudson-ci.org/display/HUDSON/Meet+Hudson</a> 看到更多Hudson的用案例?/p> <p>?. Apacheq行的Hudson</p> <p>Huddon的主要优点包括:</p> <p>易于安装。只要执?#8220;java –jar hudson.war”Q或者将hudson.war部v到应用服务器上就可以了,不需要其他的安装工作Q也不需要徏立数据库?<br />易于配置。所有东襉K通过Web GUI界面来配|,不需要手工修改XML文g?<br />支持分布式构建。Hudson支持构建和试负蝲分布到多台机器上Q图2是Apache采用Hudson的分布式构徏功能?<br />支持环境配置矩阵。Hudson支持在不同的环境配置下执行相同的dQ例如不同的JDK版本、不同的操作pȝ、不同的数据库。执行的l果可以汇d一赗?<br />支持JUnit/TestNG试报告。测试的l果可以分标{ֈ出、汇总,q与历史信息一同显C。历史趋势可以显C在图中?<br />q踪依赖关系。Hudsonq踪记录哪次构徏生成了哪些jarQ某ơ构Z用了哪些版本的jarQ即使这些jar包来自于外部也可以?</p> <p>?. Hudson支持的分布式构徏</p> <p>Hudson通过大量的插件来实现其丰富的功能Q这些插件大致可以分Z下几c:</p> <p>SCM。Hudson~省支持CVS和SubversionQ通过安装插g支持Accurev、Bitkeeper、ClearCase、Git、Mercurial、Perforce、StarTeam、Synergy{?<br />构徏触发器。可以通过IRC、Ivy、Jabber、Join、Locks and Latches、Navigator来触发执行构建?<br />构徏工具。缺省支持Ant、Maven、shell s和Windows 批处理命令,通过安装插g支持batch tasks、Gant、Gradle、Grails、Groovy、Jython、Kundo、MSBuild、Phing、Powershell、Python、Rake、Ruby、SCons、SCTMExecutor,Selenium{?<br />构徏包装。对构徏的方式进行一些控Ӟ如ƈ发同步、启停虚拟机{。包括Hudson Centralized Job Action、Hudson Distributed Workspace Clean、Locks and Latches、M2 Extra Steps、M2 Release、Release、VMware、Xvnc、Zen Timestamp{?<br />构徏通知。缺省支持电子邮仉知Q通过插g支持Campfire、Google Calendar、HudsonTracker (RSS feeds)、IRC、Jabber、Nabaztag、SameTime、Status Monitor、The new Emailer、TuxDroid、Twitter{?<br />Slave启动和控制。缺省支持JNLP和命令行Q通过插g支持SSH?<br />构徏报告。缺省支持JUnit、javadoc和FindBugsQ通过插g支持CCCC、Checkstyle、Clover、DRY、Emma、Gallio、Gnat、Grinder、Japaex、JavaNCS、JavaTest Report、MSTest、N Cover、NUint、Plot、PMD、PureCoverage、Ruby metrics、Selenium AES、Selenium hq、Serenitec、SLOCCount、Task Scanner、Testability Explorer、Violations、Warnings、WebTest Presenter{。图3是Sonar生成的项目报告的样例?<br />集群理/分布式构建。支持DistFork、Hadoop、PXE、Selenium、Swarm{?<br />制品上传。支持FTP-Publisher、java.net uploader、SCP,SFEE、SVN{?<br />w䆾认证和用L理。支持操作审计追t、LDAP、MySQL认证{?</p> <p>?. Sonar Dashboard</p> <p>l束?/p> <p>工欲善其事,必先利其器。h是工Ld。A fool with a tool is still a foolQ傻子拿着工具q是dQ。h们L在学习工兗用工兗创造更好的工具Q以期提高工作的效率和品质。h要有智慧Q工兯先进?br /></p></span></td></tr></tbody></table> <img src ="http://www.tkk7.com/justuszhang2009/aggbug/352182.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/justuszhang2009/" target="_blank">张益?/a> 2011-06-24 13:06 <a href="http://www.tkk7.com/justuszhang2009/archive/2011/06/24/352182.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>持箋集成工具Sonar的用(二)http://www.tkk7.com/justuszhang2009/archive/2011/06/14/352280.html张益?/dc:creator>张益?/author>Tue, 14 Jun 2011 09:02:00 GMThttp://www.tkk7.com/justuszhang2009/archive/2011/06/14/352280.htmlhttp://www.tkk7.com/justuszhang2009/comments/352280.htmlhttp://www.tkk7.com/justuszhang2009/archive/2011/06/14/352280.html#Feedback0http://www.tkk7.com/justuszhang2009/comments/commentRss/352280.htmlhttp://www.tkk7.com/justuszhang2009/services/trackbacks/352280.html 
目前来说QSonar和Ant的集成没有做到Sonar和Maven的集成这么好Q因此在使用q程中需要多写一些脚本。我们下面来介绍一下用步骤吧Q?br />  1、下载Sonarq解压到M目录Q注意目录中不允许有中文Q?br />  2、点击bin\windows-x86-32\StartSonar.bat启动SonarQ?br />  3、下载一个ant插gQsonar-ant-task-1.1.jarQƈ存放到某个\径,ant脚本需要访问这个文件?br />  4、编写一个ant脚本Q如下:

<?xml version="1.0" encoding="UTF-8" ?>

<project name="framework-client" default="sonar" basedir=".">
  
 <property name="project.name" value="framework-client"/>
 <property name="src.dir" value="${basedir}/src/main/java" />
 <property name="lib.dir" value="${basedir}/lib"/>
 
   <!-- Out-of-the-box those parameters are optional -->
   <!-- EXAMPLE FOR MYSQL    
   <property name="sonar.jdbc.url"
        value="jdbc:mysql://localhost:3306/sonar?useUnicode=true&amp;characterEncoding=utf8" />
   <property name="sonar.jdbc.driverClassName" value="com.mysql.jdbc.Driver" />
   <property name="sonar.jdbc.username" value="sonar" />
   <property name="sonar.jdbc.password" value="sonar" />
   -->

   <!-- SERVER ON A REMOTE HOST -->
   <!--
   <property key="sonar.host.url" value="http://myserver:1234" />
   -->
 
   <!-- Define the Sonar task if this hasn't been done in a common script -->
   <taskdef uri="antlib:org.sonar.ant" resource="org/sonar/ant/antlib.xml">
     <classpath>
       <pathelement location="${lib.dir}/sonar-ant-task-1.1.jar"/>
     </classpath>
   </taskdef>
  
   <!-- Add the target -->
   <target name="sonar">
     <!-- list of mandatories Sonar properties -->
     <property name="sonar.sources" value="${src.dir}" />
    <property name="sonar.projectKey" value="org.example:${project.name}" />

     <!-- list of optional Sonar properties -->
    <!--
     <property key="sonar.projectName" value="this value overrides the name defined in Ant root node" />
     <property key="sonar.binaries" value="list of directories which contain for example the Java bytecode" />
     <property key="sonar.tests" value="list of test source directories separated by a comma" />
     <property key="sonar.libraries" value="list of paths to libraries separated by a comma (These libraries are for example used by the Sonar Findbugs plugin)" />
    -->
    
     <sonar:sonar key="${sonar.projectKey}" version="0.9" xmlns:sonar="antlib:org.sonar.ant"/>

    </target>
</project>

  5、运行ant脚本Q看到build successfully的提C后Q就可以讉KQ?a href="http://localhost:9000/">http://localhost:9000/来查看代码质量审查结果了?br />
上述是用Sonar和ant最单的步骤Q用了Sonar自带的嵌入式数据库DerbyQ以及standalone的应用服务器Q当然也支持使用其它数据库,比如QmysqlQ只要修改一下sonar.properties的配|文Ӟ以及在ant脚本中配|一下连接数据库的方式。另外也可以使用tomcat、jboss{应用服务器来发布Sonar应用Q只要运行一下Sonar自带的一个脚本:build-war.bat可以了Q这里不再详q?br />



]]>
持箋集成工具Sonar的用(一Q?/title><link>http://www.tkk7.com/justuszhang2009/archive/2011/06/13/352176.html</link><dc:creator>张益?/dc:creator><author>张益?/author><pubDate>Mon, 13 Jun 2011 03:42:00 GMT</pubDate><guid>http://www.tkk7.com/justuszhang2009/archive/2011/06/13/352176.html</guid><wfw:comment>http://www.tkk7.com/justuszhang2009/comments/352176.html</wfw:comment><comments>http://www.tkk7.com/justuszhang2009/archive/2011/06/13/352176.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/justuszhang2009/comments/commentRss/352176.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/justuszhang2009/services/trackbacks/352176.html</trackback:ping><description><![CDATA[最q由于工作需要,接触CSonarQ用它的出发点是因为它能统计代码注释率Q而且支持drill downQ可以依ơ看到工E、包、类的注释率?br /><br />但Sonar作ؓ一个很不错的持l集成工P它的功能源不止于此,<span lang="EN-US"><strong>sonar</strong></span> 可以持箋Q自动地l计q分析Y仉目的相关质量数据Q例如单元测试的通过率,覆盖率,代码的复杂度Q代码的行数Q代码注释率{等Q用于评估和度量软g目质量?br /><br />我的Sonar的第一个应用,是Sonar和maven的配合用,Sonar对Maven支持的比较好Q网站上对于q两者结合用的文章也非常多Q因此如何用Sonar和maven来分析项目质量,在这边就不细说了Q可以参考官方的|站Q?a >http://docs.codehaus.org/display/SONAR/Use+Sonar</a>。这边主要说一下大致的步骤Q以及在具体使用中碰到的几个问题。Sonar的用真的非常简单,大概包括以下几步,<br /><br /> 1、到官方|站下蝲<span lang="EN-US">Sonar</span> 的压~包Q解压到L目录Q但是一定要注意Q?strong style="color: red">目录中不允许有中?/strong>Q不然启动Sonar后,讉KQ?a href="http://localhost:9000">http://localhost:9000</a>q回的界面会报错?br /> 2、启动Sonar应用Q可以直接点击bin/windows-x86-32目录下的StartSonar.batQ启动过E可能要1分多钟,误心{待Q这里Sonar有一点不好的是,弹出的console中不打印M信息?br /> 3、进入你的工E目录(当前目录下面有pom.xml文gQ,q行Qmvn clean install  sonar:sonarQ看到build successfully之后Q就可以讉KQ?a href="http://localhost:9000/">http://localhost:9000</a>来分析你的工E的代码质量了?br /><br />q里要说明的是,在执行maven命oӞ后台会报一些ؕ码方面的错误Q是׃java代码中出C文字W串的问题造成的。可以通过以下方式解决Q在<properties>中添?strong>Q?lt;project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></strong>Q这是我试过的唯一的解x案,在网上还提到两种解决ҎQ但都不用? <img src ="http://www.tkk7.com/justuszhang2009/aggbug/352176.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/justuszhang2009/" target="_blank">张益?/a> 2011-06-13 11:42 <a href="http://www.tkk7.com/justuszhang2009/archive/2011/06/13/352176.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> վ֩ģ壺 <a href="http://tianmao920.com" target="_blank">޵һAAAAAƬ</a>| <a href="http://yanshimlxg.com" target="_blank">޾Ʒ߲</a>| <a href="http://rseav.com" target="_blank">AV</a>| <a href="http://cswangli.com" target="_blank">69ʽƵ</a>| <a href="http://89895cc.com" target="_blank">ŷ͵ۺ</a>| <a href="http://445645.com" target="_blank">999ھƷѹۿ</a>| <a href="http://sewuji.com" target="_blank">ӰԺ߲</a>| <a href="http://583s.com" target="_blank">97Ƶ</a>| <a href="http://eddiekidd.com" target="_blank">鶹ɫۺվ</a>| <a href="http://777mecom.com" target="_blank">һӰ߿Ƭ</a>| <a href="http://kwknc.com" target="_blank">ձһ߲Ͷ </a>| <a href="http://43caopen.com" target="_blank">ĻmvӰ</a>| <a href="http://kingleadsw.com" target="_blank">þþƷAV鶹վ</a>| <a href="http://wwwyy763.com" target="_blank">1000ҹ</a>| <a href="http://tskes.com" target="_blank">޾Ʒ͵Բ</a>| <a href="http://anyliz.com" target="_blank">ؼëƬ߳˹ۿ </a>| <a href="http://ahzlgj.com" target="_blank">ɫwwwվ</a>| <a href="http://minliusoft.com" target="_blank">ѹۿaëƬ</a>| <a href="http://douhuowang.com" target="_blank">ƷŮһëƬ</a>| <a href="http://an930.com" target="_blank">Ӱ޴ɫ</a>| <a href="http://yakonet.com" target="_blank">67paoǿ</a>| <a href="http://oupur.com" target="_blank">ҹƷһ鶹</a>| <a href="http://28896543.com" target="_blank">ڵֻˬƵ </a>| <a href="http://clzqb2b.com" target="_blank">޾Ʒ91רֻ</a>| <a href="http://fense1.com " target="_blank">߹ۿѹۿ </a>| <a href="http://sdzsx.com" target="_blank">Ʒ888</a>| <a href="http://tom-erc20.com" target="_blank">vavavaþ</a>| <a href="http://km9c.com" target="_blank">99߾Ʒѹۿ</a>| <a href="http://9196528.com" target="_blank">ƷþþþþС˵</a>| <a href="http://kssijia.com" target="_blank">ɫAVɫһ</a>| <a href="http://lyaa17.com" target="_blank">ݲɫAѹۿ</a>| <a href="http://5916733.com" target="_blank">ɫվ߿</a>| <a href="http://adcbgy.com" target="_blank">ۺһƷ</a>| <a href="http://zzhjnmzp.com" target="_blank">߹͵Ʒ</a>| <a href="http://mt569.com" target="_blank">޻Ƭֻѹۿ</a>| <a href="http://my55572.com" target="_blank">޾Ʒ˳߹ۿ鶹 </a>| <a href="http://hhrrrr.com" target="_blank">aѦƬƵվ</a>| <a href="http://wyj4.com" target="_blank">eeussӰԺsscom</a>| <a href="http://thegaybdsm.com" target="_blank">ŮɫŷŮ</a>| <a href="http://519vip.com" target="_blank">Ʒȫѹۿ</a>| <a href="http://mysb123.com" target="_blank">һƵ߹ۿwww</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>