从一个项目谈XP在国内的应用
曲俊生(来自IBM DW中国)
  目前国内对于XP方面的研究和应用此起彼伏,各种关于XP的书籍争相出版,对于以XP为代表的"敏捷软件工程"方法的争论也在网络上随处可见。之所以出现这样的情况,是因为国内的用户在软件项目的实施过程中遇到了很多问题,例如项目的交付时间推迟、用户需求变更频繁等,我们的软件工程师迫切的希望能够找到解决问题的"银弹"。对于高度动态、通过非常短的迭代周期来应对需求变化的极限编程方法论来讲,确实能够从一定程度上解决问题。但是,对于国内的软件开发项目来说,XP并非"银弹",它的一些最佳实践不是都适合国内的情况。本文结合一个具体的软件开发项目,讨论一下XP 在国内的应用情况。
XP简介
传统软件开发方法
  在最近的数十年中,很多企业的CEO们都面临着增加盈利的压力,因此,他们采用各种方法,例如裁员、业务外包、BPR、ERP、CRM等等。以上种种,使得世界500强的大部分企业在20世纪90年代的后期一直保持者二位数的利润增长。但是很多迹象表明,在传统的企业业务模型中已经没有多少可供削减开支的地方,因此,需要进行彻底的改革。在软件开发领域,情况更是如此。
  自上个世纪60年代以来,软件工程思想逐渐形成与发展,也出现了很多软件开发模型与方法,例如瀑布模型、快速原型、增量模型和螺旋模型等[1]。而在90年代以后,卡耐基梅隆软件学院推出的CMM,更是对于软件开发的过程管理,提出了确切的衡量指标。但是,最近的研究表明,有50%的项目会拖延交付,有30%以上的项目会超出预算,软件开发领域的项目情况比软件工程刚刚提出的时候相比,只是有很小的提高。详细的数据[4](数据来自美国GSM研究机构, Michael Mah)如下表所示:

  传统的软件开发过程,以RUP为代表,强调项目的可控性,是一个用例驱动的基于UML和构件式架构的迭代增量式开发过程。RUP定义了初始、细化、实现和部署4个阶段,分别对应着关键里程碑的划分。RUP对于角色、流程、工件和活动的要求是灵活、可配置的,所以它广泛的适用于各种类型的项目。但是,在RUP的各个流程碑,都规定了要交付的成果,尤其是对于需求的变更以及文档,它强调及时的更新与同步。以上这些都决定了RUP是一种重量级的软件开发方法,比较适合大中型的项目和产品开发。
XP以及其核心价值
  最近,出现了很多轻量型的软件开发方法,例如水晶模型、适应模型以及极限编程等。它们都强调,软件开发是人与人合作进行的过程,因此成功的软件开发过程应该充分利用人的优势,而弱化人的缺点,突出了人在软件开发过程中的作用[2]。
  Kent Beck在XP的开篇之作《Extreme Programming Explained - Embrace Change》中提出了极限编程这一创新的软件过程方法论。极限编程是一种高度动态的过程,它通过非常短的迭代周期来应对需求的变化。在极限编程中,包括四个基本活动:编码、测试、聆听与反馈,XP项目的状态变迁如下图所示[3][4]:

  Kent Beck指出,XP有四个核心价值是我们应该注意的[3][4]:
  · 沟通:项目中发现的问题往往是由于开发人员与设计人员、设计人员与客户之间的沟通不畅造成的,因此,在XP项目中没有沟通是不可能的。
  · 简单:XP认为应该尽量保持代码的简单,只要它能工作就可以。Kent Beck指出与其实现一个复杂的的系统,不如设计一个能够满足目前需要的、简单的系统,因为你所考虑的情况可能永远都不会发生。
  · 反馈:尽快获得用户的反馈,并且越详细越好,使得开发人员能够保证自己的成果符合用户的需要。
  · 勇气:这是最重要的核心价值。因为XP强调要"拥抱变化",因此对于用户的反馈,要勇于对自己的代码进行修改,丢掉坏的代码。
  下面我们将要谈到的XP的最佳实践就体现了上述四个核心价值。实际上,XP中并没有多少新的观点,它的一些最佳实践也都是长久以来都在使用中的。
XP的适用环境
  从XP项目状态图以及它的核心价值中我们可以看到,XP弱化针对未来需求的设计,非常注重当前的简化。它的实践,有一个非常关键的假设就是开发人员只注重眼前需求而依赖重构来适应需求的变动所带来的风险与开销要小于需求变化使得事先充分设计失效的代价;反之,实施XP就是不明智的[5]。
  因此,XP适合规模小、进度紧、需求变化大、质量要求严的项目。它希望以最高的效率和质量来解决用户目前的问题,以最大的灵活性和最小的代价来满足用户未来的需求,XP在平衡短期和长期利益之间做了巧妙的选择。
  我们可以看到,XP并不是解决问题的"银弹",它也有不适合的情况。Beck曾经建议在以下情况下不宜采用XP:
  · 中大型的项目(项目团队超过10人);
  · 重构会导致大量开销的应用;
  · 需要很长的编译或者测试周期的系统;
  · 不容易进行测试的应用;
  · 团队人员异地分布的项目;
  · 不能接收XP文化的组织和团队;
项目概况及背景
  我们公司是亚洲领先的电子商务解决方案供应商,在J2EE架构的项目执行方面有丰富的经验,结合RUP形成了自己的一套电子商务项目实施方法论,并在多个项目中成功进行实施。同时,由于具体项目时间和成本的限制,也出现了许多问题,主要有以下两点:
  项目交付后,用户提出很多的修改意见,有些甚至涉及系统架构的修改:出现这种情况的主要原因是很多项目虽然是采用增量迭代式的开发周期,但是在部署前才发布版本,用户只是在项目部署后才看到真正的系统,因此会发现很多界面、流程等方面的问题;
  对于用户提交BUG的修改周期过长:开发人员在作开发的时候,对于单元测试的重视程度不够,模块开发结束后就提交给测试人员进行测试,而测试人员由于时间的关系,并不能发现所有的问题;在用户提交BUG后,开发人员由于项目接近尾声,对于代码的修改产生惰性,同时又没有形成有效的回归测试方法,因此,修改的周期比较长。
  针对XP的核心价值,可以看到,如果我们能够加强与用户的沟通、增加项目中测试实施的力度、提高开发人员的勇气,就可以从一定程度上解决上述问题。
  从2001年开始,公司内部展开对于XP等敏捷方法的研究,希望能够借鉴一些做法,来完善项目方法论。
  2002年5月,我们决定在公司的一个新的项目中启用XP的一些最佳实践,来检验其效果。该项目是为一家国际知名手机生产厂商的合作伙伴提供手机配件定购、申请、回收等服务,项目的情况如下表所示:

  从上表中可以看出,该项目是一个小型项目,而且项目小组成员对于XP在项目开始之前都有一定的了解,另一方面,客户要求的项目周期比我们预期估计的时间有一定的余地,因此我们决定利用这个项目进行XP的试验性实践。
XP的最佳实践以及在项目中的应用
  在项目执行过程中,我们基本上还是采用RUP的软件过程,而没有死板的套用XP 的做法,例如:在需求分析阶段,我们还是采用Use Case来对需求进行描述,而不是XP规定的CRC卡片;在系统分析与设计阶段,首先进行系统的架构设计,而不是简单的套用XP的"简单设计"实践。
  下面我们结合项目的具体情况,讨论一下XP的12个最佳实践。
现场客户 ( On-site Customer )
  · XP: 要求至少有一名实际的客户代表在整个项目开发周期在现场负责确定需求、回答团队问题以及编写功能验收测试。
  · 评述:现场用户可以从一定程度上解决项目团队与客户沟通不畅的问题,但是对于国内用户来讲,目前阶段还不能保证有一定技术层次的客户常驻开发现场。解决问题的方法有两种:一是可以采用在客户那里现场开发的方式;二是采用有效的沟通方式。
  · 项目:首先,我们在项目合同签署前,向客户进行项目开发方法论的介绍,使得客户清楚项目开发的阶段、各个阶段要发布的成果以及需要客户提供的支持等;其次,由项目经理每周向客户汇报项目的进展情况,提供目前发布版本的位置,并提示客户系统相应的反馈与支持。
代码规范 ( Code Standards )
  · XP: 强调通过指定严格的代码规范来进行沟通,尽可能减少不必要的文档。
  · 评述: XP对于代码规范的实践,具有双重含义:一是希望通过建立统一的代码规范,来加强开发人员之间的沟通,同时为代码走查提供了一定的标准;二是希望减少项目开发过程中的文档,XP认为代码是最好的文档。
  对于目前国内的大多数项目团队来说,建立有效的代码规范,加强团队内代码的统一性,是理所当然的;但是,认为代码可以代替文档却是不可取的,因为代码的可读性与规范的文档相比合适由一定的差距。
  同时,如果没有统一的代码规范,代码全体拥有就无从谈起。
  · 项目: 在项目实施初期,就由项目的技术经理建立代码规范,并将其作为代码审查的标准。
每周40小时工作制 ( 40-hour Week )
  · XP: 要求项目团队人员每周工作时间不能超过40小时,加班不得连续超过两周,否则反而会影响生产率。
  · 评述: 该实践充分体现了XP的"以人为本"的原则。但是,如果要真正的实施下去,对于项目进度和工作量合理安排的要求就比较高。
  · 项目: 由于项目的工期比较充裕,因此,很幸运的是我们并没有违反该实践。
计划博弈 ( Planning Game )
  XP: 要求结合项目进展和技术情况,确定下一阶段要开发与发布的系统范围。
  · 评述: 项目的计划在建立起来以后,需要根据项目的进展来进行调整,一成不变的计划是不存在。因此,项目团队需要控制风险、预见变化,从而制定有效、可行的项目计划。
  · 项目: 在系统实现前,我们首先按照需求的优先级做了迭代周期的划分,将高风险的需求优先实现;同时,项目团队每天早晨参加一个15分钟的项目会议,确定当天以及目前迭代周期中每个成员要完成的任务。
系统隐喻 ( System Metaphor )
  · XP: 通过隐喻来描述系统如何运作、新的功能以何种方式加入到系统。它通常包含了一些可以参照和比较的类和设计模式。XP不需要事先进行详细的架构设计。
  · 评述: XP在系统实现初期不需要进行详细的架构设计,而是在迭代周期中不断的细化架构。对于小型的系统或者架构设计的分析会推迟整个项目的计划的情况下,逐步细化系统架构倒是可以的;但是,对于大型系统或者是希望采用新架构的系统,就需要在项目初期进行相信的系统架构设计,并在第一个迭代周期中进行验证,同时在后续迭代周期中逐步进行细化。
  · 项目: 开发团队在设计初期,决定参照STRUTS框架,结合项目的情况,构建了针对工作流程处理的项目框架。首先,团队决定在第一个迭代周期实现配件申请的工作流程,在实际项目开发中验证了基本的程序框架;而后,又在其它迭代周期中,对框架逐渐精化。
简单设计 ( Simple Design )
  · XP: 认为代码的设计应该尽可能的简单,只要满足当前功能的要求,不多也不少。
  · 评述: 传统的软件开发过程,对于设计是自顶而下的,强调设计先行,在代码开始编写之前,要有一个完美的设计模型。它的前提是需求不变化,或者很少变化;而XP认为需求是会经常变化的,因此设计不能一蹴而就,而应该是一项持续进行的过程。
  Kent Beck认为对于XP来说,简单设计应该满足以下几个原则:
  1.成功执行所有的测试;
  2.不包含重复的代码;
  3.向所有的开发人员清晰地描述编码以及其内在关系;
  4.尽可能包含最少的类与方法。
  对于国内大部分的软件开发组织来说,应该首先确定一个灵活的系统架构,而后在每个迭代周期的设计阶段可以采用XP的简单设计原则,将设计进行到底。
  · 项目: 在项目的系统架构经过验证后的迭代周期内,我们始终坚持简单设计的原则,并按照Kent Beck的四项原则来进行有效的验证。对于新的迭代周期中出现需要修改既有设计与代码的情况,首先对原有系统进行"代码重构",而后再增加新的功能。
测试驱动 ( Test-driven )
  · XP: 强调"测试先行"。在编码开始之前,首先将测试写好,而后再进行编码,直至所有的测试都得以通过。
  · 评述: RUP与XP对测试都是非常的重视,只是两者对于测试在整个项目开发周期内首先出现的位置处理不同。XP是一项测试驱动的软件开发过程,它认为测试先行使得开发人员对自己的代码有足够的信心,同时也有勇气进行代码重构。测试应该实现一定的自动化,同时能够清晰的给出测试成功或者失败的结果。在这方面,xUnit测试框架做了很多的工作,因此很多实施XP的团队,都采用它们进行测试工作。
  · 项目: 我们在项目初期就对JUNIT进行了一定的研究工作,在项目编码中,采用JBUILDER6提供的测试框架进行测试类的编写。但是,不是对所有的方法与用例都编写,而只是针对关键方法类、重要业务逻辑处理类等进行。
代码重构 ( Refactoring )
  · XP: 强调代码重构在其中的作用,认为开发人员应该经常进行重构,通常有两个关键点应该进行重构:对于一个功能实现和实现后。
  · 评述: 代码重构是指在不改变系统行为的前提下,重新调整、优化系统的内部结构以减少复杂性、消除冗余、增加灵活性和提高性能。重构不是XP所特有的行为,在任何的开发过程中都可能并且应该发生。
  在使用代码重构的时候要注意,不要过分的依赖重构,甚至轻视设计,否则,对于大中型的系统而言,将设计推迟或者干脆不作设计,会造成一场灾难。
  · 项目: 我们在项目中将JREFACTORY工具部署到JBuilder中进行代码的重构,重构的时间是在各个迭代周期的前后。代码重构在项目中的作用是改善既有设计,而不是代替设计。
成对编程 ( Pair Programming )
  · XP: 认为在项目中采用成对编程比独自编程更加有效。成对编程是由两个开发人员在同一台电脑上共同编写解决同一问题的代码,通常一个人负责写编码,而另一个负责保证代码的正确性与可读性。
  · 评述: 其实,成对编程是一种非正式的同级评审 ( Peer Review )。它要求成对编程的两个开发人员在性格和技能上应该相互匹配,目前在国内还不是十分适合推广。成对编程只是加强开发人员沟通与评审的一种方式,而非唯一的方式。具体的方式可以结合项目的情况进行。
  · 项目: 我们在项目中并没有采用成对编程的实践,而是在项目实施的各个阶段,加强了走查以及同级评审的力度。需求获取、设计与分析都有多人参与,在成果提交后,交叉进行走查;而在编码阶段,开发人员之间也要在每个迭代周期后进行同时评审。
  · XP: 认为开发小组的每个成员都有更改代码的权利,所有的人对于全部代码负责。
  · 评论: 代码全体拥有并不意味者开发人员可以互相推委责任,而是强调所有的人都要负责。如果一个开发人员的代码有错误,另外一个开发人员也可以进行BUG的修复。
  在目前,国内的软件开发组织,可以在一定程度上实施该实践,但是同时需要注意一定要有严格的代码控制管理。
  · 项目: 我们在项目开发初期,首先向开发团队进行"代码全体拥有"的教育,同时要求开发人员不仅要了解系统的架构、自己的代码,同时也要了解其它开发人员的工作以及代码情况。这个实践与同级评审有一定的互补作用,从而保证人员的变动不会对项目的进度造成很大的影响。
  在项目执行中,有一个开发人员由于参加培训,缺席项目执行一周,由于实行了"代码全体拥有"的实践,其它的开发人员成功地分担了该成员的测试与开发任务,从而保证项目的如期交付。
持续集成 ( Continuous Integration )
  · XP: 提倡在一天中集成系统多次,而且随着需求的改变,要不断的进行回归测试。因为,这样可以使得团队保持一个较高的开发速度,同时避免了一次系统集成的恶梦。
  · 评述: 持续集成也不是XP专有的最佳实践,著名的微软公司就有每日集成 ( Daily Build ) 的成功实践。但是,要注意的是,持续集成也需要良好的软件配置变更管理系统的有效支持。
  · 项目: 使用VSS作为软件配置管理系统,坚持每天进行一次的系统集成,将已经完成的功能有效地结合起来,进行测试。
小型发布 ( Small Release )
  · XP: 强调在非常短的周期内以递增的方式发布新版本,从而可以很容易地估计每个迭代周期的进度,便于控制工作量和风险;同时,也可以及时处理用户的反馈。
  · 评论: 小型发布突出体现了敏捷方法的优点。RUP强调迭代式的开发,对于系统的发布并没有作出过多的规定。用户在提交需求后,只有在部署时才能看到真正的系统,这样就不利于迅速获得用户的反馈。
  如果能够保证测试先行、代码重构、持续集成等最佳实践,实现小型发布也不是一件困难的事情,在有条件的组织可以考虑使用。
  · 项目: 项目在筹备阶段就配置了一台测试与发布服务器,在项目实施过程中,平均每两周(一个迭代周期结束后)进行一个小型发布;用户在发布后两个工作日内,向项目小组提交"用户接收测试报告",由项目经理评估测试报告,将有效的BUG提交至Rational Clear Case,并分配给相应的开发人员。项目小组应该在下一个迭代周期结束前修复所有用户提交的问题。
  以上是XP的最佳实践在项目中的应用情况,让我们查看以下该项目的详细统计数据:

  其中,项目执行过程中提交了一个"用户需求变更",该变更对于项目周期的影响为6个工作日。
  项目实施后,在用户接收测试中,只提交了2个BUG,而且在提交当天就得到了解决。目前,项目运行平稳,并得到了用户的好评。因此,我们认为,XP在该项目中的实施有效地保证了项目质量和项目周期。
总结
  RUP与XP 都是在总结了很多项目实践的过程中发展起来的软件开发过程, 只是它们在处理需求变更的方法不同。其实它们还是有很多相似之处,例如,它们的基础都是面向对象方法,都重视代码、文档的最小化和设计的简化,采用动态适应变化的演进式迭代周期等等。
  目前,国内执行XP的理想情况应该是:在保持组织既有的开发过程和生命周期模型的情况下,根据应用类型、项目特点和组织文化,借鉴、采取个别对项目有效的XP做法,将RUP进行一定的剪裁,形成自己的软件开发过程。
  在项目的实施过程中,我们感觉到XP对于执行者的要求是比较高的,因为它要求开发团队必须具备熟练的代码设计技能和严格的测试保障技术,了解面向对象和模式,掌握了重构和OO测试技术,习惯了测试先行的开发方式等等。
  因此,对于目前国内的软件开发组织来说,应该首先加强对于软件开发过程化和系统架构设计的掌握,然后,才是利用XP等敏捷方法来完善软件开发过程。
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. Android 7.1.1 下 Busybox 编译过程记录

    Android Busybox 编译参考,引用的博客(如有侵权,本人即刻删除)http://blog.csdn.net/skdev/article/details/45094637 http://blog.csdn.net/zirconsdu/article/details/8275477 http://www.linuxidc.com/Linux/2011-12/49878p2.htm环境x86_x64 ubuntu 12.04 Android 7.1.1 …...

    2024/4/14 21:47:06
  2. 8个月从CS菜鸟到拿到Google Offer的经历

    原帖应该是一亩三分地上的吧,附上转载地址:http://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=77453&page=1&authorid=103773 除了打鸡血的作用,里面很多学习的步骤、资料还是很不错的。 正文:投了肯定有100家以上,一共面了30家,11个onsite,前…...

    2024/4/18 11:47:32
  3. 原创电子书《菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师》

    《菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师》红尘小说网 https://www.zuxs.net/ 国庆节快乐!一年一度长度排第二的假期终于来了。 难得有十一长假,作者也想要休息几天啦。 不管你是选择出门玩,还是在公司加班,在学校复习,都希望你过好这个长假。 没有出去玩的…...

    2024/4/14 23:03:06
  4. 英文感恩短信祝福 Thanksgiving day

    Warm wishes at Thanksgiving.在感恩节,衷心地祝福你们。From all of us to all of you at Thanksgiving.我们全体祝你们感恩节快乐。Thanksgiving wishes for you and your family.给你们全家感恩节的祝福。I wish you could be here on Thanksgiving.但愿你能来过感恩节。Th…...

    2024/4/14 23:03:04
  5. 程序员的5年前与5年后,写在2010年的感恩节

    为什么80%的码农都做不了架构师?>>> 这几天事情比较多,晚上失眠了一大早就起来写写博客。5年是我走上创业的第一年,时间真是过得很快、5年一晃就过去了。 5年前:(27岁) 1:技术水平也不会比现在弱很多,有创业的激情,干劲十足。 2:没一点经商的理念。 3:…...

    2024/4/20 5:40:38
  6. cs231n-(5)神经网络-2:设置数据和Loss

    数据预处理 减去均值 正则化 PCA and Whitening权重初始化 全部初始化为零 小的随机数 校准方差 稀疏初始化 实际应用 批归一化 Batch Normalization正则化 L2 regularization L1 regularization Max norm constraints Dropout Theme of noise in forward pass Bias regulariza…...

    2024/4/14 23:03:03
  7. 手机安装busybox

    Busybox,大家应该有所耳闻,其中集成了众多linux的命令和工具。有时候在手机上想使用 find,grep等命令但是手机不支持。这时可以在手机上安装busybox.使用方法:1.确定手机型号cpu的指令集,cat /proc/cpuinfo 如armv7,armv4,armv6,去网上下载二进制busybox文件。下载地址: …...

    2024/4/14 23:03:01
  8. 颜色渐变、#16进制转RGB颜色(转Int)

    A: 初始颜色 B: 目标颜色获取10个 A到B渐变的颜色值依次展示实现颜色渐变效果思路:通过16进制字符串,对应拆分为RGB色值 举例:“#FB5D22” R: FB; G:5D; B:22;获取到AB的RGB16进制色值后分别转换为10进制,同比例加减数值,实现颜色变化效果。p…...

    2024/4/14 23:03:01
  9. 《Java Web轻量级开发面试教程》pdf版电子书网盘附下载链接+仪式感技术书阅读法

    附Java/C/C++/机器学习/算法与数据结构/前端/安卓/Python/程序员必读书籍书单大全:书单导航页(点击右侧 极客侠栈 即可打开个人博客):极客侠栈 ①【Java】学习之路吐血整理技术书从入门到进阶最全50+本(珍藏版) ②【算法数据结构+acm】从入门到进阶吐血整理书单50+本(珍藏…...

    2024/4/20 6:56:00
  10. 敏捷开发系列之旅 第二站(走近XP极限编程)

    上篇文章,我们探讨了什么是敏捷开发,以及敏捷开发的方法学。在这篇文章中,我们将继续讨论敏捷开发中的问题——XP极限编程。在讨论之前,先让我们来了解一下XP极限编程产生的背景,软件业所具有的共同的问题。背景软件越来越复杂需求越来越多变过程越来越规范了解了背景之后…...

    2024/4/18 16:09:28
  11. Busybox是什么?

    Busybox是什么?1,busybox简介 busybox是一个集成了一百多个最常用linux命令和工具的软件,他甚至还集成了一个http服务器和一个telnet服务器,而所有这一切功能却只有区区1M左右的大小.我们平时用的那些linux命令就好比是分立式的电子元件,而busybox就好比是一个集成电路,把常用…...

    2024/4/14 23:02:57
  12. 将byte[]转为16进制

    /*** 将byte[]转为16进制* @param bytes* @return*/private static String byte2Hex(byte[] bytes){StringBuffer stringBuffer = new StringBuffer();String temp = null;for (int i=0;i<bytes.length;i++){temp = Integer.toHexString(bytes[i] & 0xFF);if (temp.leng…...

    2024/4/16 5:37:50
  13. 史上最完美 Win7 与 XP 双系统安装方法

    史上最完美 Win7 与 XP 双系统安装方法小崔实战~~ 小崔实战 WIN7 使用起来不是怎么的心用手,偶尔还是比较怀旧 XP 的经典,那么怎么安装 XP WIN7 呢? 先分析一下: 1、我硬盘 80-G, 、 我分配 WIN7 30G;XP 10G;还 还 各做两个 的盘。 剩 40G,各做两个 20G 的盘。 各做 例 :…...

    2024/4/19 13:31:51
  14. 达内 Java 全套教材 PDF 格式

    目录达内 AJAX 和 JQuery_扫描版_2.11M.pdf 达内 HTML 和 CSS_扫描版_2.23M.pdf 达内 Hibernate 核心_扫描版_2.46M.pdf 达内 Java 企业及互联网项目 NetCTOSS_扫描版_2.98M.pdf 达内 Java 企业面试题精选_扫描版_3.24M.pdf 达内 Java 数据库编程_扫描版_2.1M.pdf 达内 Java 核…...

    2024/4/14 23:02:54
  15. bootstrap注册界面图形验证码及效果2

    这是效果图这是要导入的架包<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="zc.aspx.cs" Inherits="zc.zc1" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"> <head runa…...

    2024/4/18 11:47:38
  16. HeadFirst系列之五:《深入浅出Java》原版高清PDF电子书分享下载

    此次共享的电子书《Head First Java》应该说是JAVA开发者必备的基础书籍 上图下载链接在下方,全部下载方可解压(要等前三个下载完后再下第四个,你懂得)...

    2024/4/17 9:09:04
  17. 感谢第一个和第二个付费客户对我的信任

    今天,终于有了第2个客户,选择相信我,选择付费。 为什么说是“终于”?第二个客户的潜在人选很多,只不过还在犹豫,或者结合他们自己的情况,来年选择付费。而第1个和第2个客户付费都很果断!心里认准了,就很快做出了决定。 真的很感谢他们的信任,感谢他们的勇气,感…...

    2024/4/20 1:08:10
  18. Xp系统优化 预读文件(8)

    xp预读文件是一个很强大的东西,用好了系统运行速度可以加快,但是如果用不好,这东西会拖慢系统速度 首先给出注册表位置: Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameter…...

    2024/4/17 23:35:07
  19. docker镜像安装java-openjdk以及openjdk-debuginfo

    FROM centos:7 RUN yum install -y java-1.8.0-openjdk-devel && \yum install -y java-1.8.0-openjdk-debuginfo --enablerepo=*debug* RUN useradd jdk-user USER jdk-user WORKDIR /home/jdk-user CMD bash...

    2024/4/14 21:47:17
  20. asp.net 文件上传和下载管理源码

    利用asp.net进行文件上传和下载时非常常用的功能,现做整理,将源码上传,提供给初学者参考,以下代码中的样式文件就不上传了,下载者请将样式去掉。效果图如下:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="FileUploadManager.asp…...

    2024/4/14 21:47:16

最新文章

  1. 提升测试效率,专业方案揭秘

    提升测试效率是软件开发中一个永恒的主题&#xff0c;它不仅关乎项目能否按期完成&#xff0c;更影响着软件产品的质量与用户体验。随着敏捷开发、持续集成等方法论的普及&#xff0c;如何在有限的时间内进行高效、全面的测试成为了开发者和测试人员面临的挑战。 在传统模式中&…...

    2024/4/20 10:46:20
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 蓝桥杯加训

    1.两只塔姆沃斯牛&#xff08;模拟&#xff09; 思路&#xff1a;人和牛都记录三个数据&#xff0c;当前坐标和走的方向&#xff0c;如果人和牛的坐标和方向走重复了&#xff0c;那就说明一直在绕圈圈&#xff0c;无解 #include<iostream> using namespace std; const i…...

    2024/4/19 23:43:17
  4. DM数据库状态

    DM 数据库包含以下几种状态&#xff1a; 配置状态&#xff08;MOUNT&#xff09;&#xff1a; 不允许访问数据库对象&#xff0c;只能进行控制文件维护、归档配置、数据库模式修改等操作&#xff1b;打开状态&#xff08;OPEN&#xff09;&#xff1a; 不能进行控制文件维护、…...

    2024/4/18 15:26:52
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/19 14:24:02
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/19 18:20:22
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/19 11:57:31
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/19 11:57:31
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/19 11:57:52
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/19 11:57:53
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/19 11:58:14
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/19 11:58:20
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/20 7:40:48
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/19 11:58:39
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/19 11:58:51
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/20 3:12:02
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/19 11:59:15
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/19 11:59:23
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/19 11:59:44
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/19 11:59:48
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/19 12:00:06
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/19 16:57:22
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/19 12:00:25
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/19 12:00:40
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57