敏捷开发之热门已达到任何一个开发人员都至少听过,并觉得敏捷方法很好,然而并不是所有的人都学习和实践过,以致于大家谈敏捷的时候其实理解的基准是不一样的,也导致“敏捷”泛滥成灾“,有些看似很敏捷的开发其实并不敏捷。最近在一个项目中准备采用Scrum开发方法来解决以往开发方法中遇到的一些问题,所以近期将发表一些个人对敏捷的一些看法,欢迎和大家交流。过程与工具、面面俱到的文档、合同谈判、遵循计划个体与交互胜过过程与工具可以工作的软件胜过面面俱到的文档客户协作胜过合
系统 2019-08-29 23:06:26 1506
图6.1.不同形态的转换流程定义可以用三种不同的形式表现ml,javaobjects或jBPM数据库记录.执行信息(=运行时间)和日志信息可表现为2种形式:javaobjects和jBPM数据库记录.有关XML表示流程定义和流程档案可以参看第13章,jBPM流程定义语言(JPDL).本章讨论javaObject和jBPM数据库之间的转换.jBPM内部hibernate保存javaobjects到数据库并且重现他们.当然不是严格限定使用jBPM必须有hibe
系统 2019-08-29 23:06:09 1506
你时常被客户抱怨JSP页面响应速度很慢吗?你想过当客户访问次数剧增时,你的WEB应用能承受日益增加的访问量吗?本文讲述了调整JSP和servlet的一些非常实用的方法,它可使你的servlet和JSP页面响应更快,扩展性更强。而且在用户数增加的情况下,系统负载会呈现出平滑上长的趋势。在本文中,我将通过一些实际例子和配置方法使得你的应用程序的性能有出人意料的提升。其中,某些调优技术是在你的编程工作中实现的。而另一些技术是与应用服务器的配置相关的。在本文中,我
系统 2019-08-29 22:52:09 1506
从熟悉高德地图的朋友处获悉,新科高德2008Q4地图可以直接在2.3-17版本上使用,方法很简单。把2008Q4地图包按以下方式改名为2.3-17的格式,直接覆盖原地图即可完成升级。旧地图名新地图名AllData.map=map.datdes.Data=Safety.datSearchData.dat=poi.datTXMS.dat=Cate.dat上一张升级完后的版本号图:纯粹技术研究,本人不提供地图包!新科高德2008Q4地图升级方法
系统 2019-08-29 22:39:34 1506
5.LDAP服务的安全当你和一个目录服务通许的时候,除非你采取额外步骤加密通讯那么用户信息时以明码方式传输的.在一些机构中,例如医院和研究机构,这个不仅仅是不可接受的,而且是违法的.任何个人信息通过公共网络传输时,都需要注意保护密码数据.在实际中,在LDAP传输中要处理两种细心:密码数据和记录数据.这些数据一般地被分别存储在服务器上,并使用不同的协议来传输(理想地),因为LDAP来源于固有的不安全.在OD和AD中,密码数据是由Kerberos处理的,而记录
系统 2019-08-29 22:26:25 1506
Introduction你在代码中处理字符串的方法可能会对性能产生令人吃惊的影响。在本文中,我需要考虑两个由于使用字符串而产生的问题:临时字符串变量的使用和字符串连接。Background每个项目都有需要你为其考虑编码标准的时候。使用FxCop是一个好的开始。我最喜爱的一组FxCop规则是“性能”那组。于是,我就用FxCop来检查我的项目并发现一系列的字符串问题。我必须承认一件事:我经常遇到与C#的不可变(immutable)的字符串有关的问题。当我看到m
系统 2019-08-29 22:21:24 1506
上接《索引创建(2):DocumentWriter处理流程一》1.3.2第二车间——DocInverterPerFieldDocInverterPerField负责对DocFieldProcessorPerThread对象的Fieldable[]数组的内容建立倒排索引,也就是处理同名字的所有Field。但实际上这个类主要解决的是前期工作,比如分词,统计位置信息等。倒排索引结构的核心的工作由TermsHashPerField和FreqProxTermsWri
系统 2019-08-29 21:59:47 1506
献给初学者,老鸟别扔砖头编写SQL语句一直都是比较纳闷的事,编写时没有一个良好的检错机制,只能运行时才能发现错误,特别是关联的表一多起来,思绪不免会被搞得晕头转向最后不知迷失在什么地方了。近日偶然发现并不是M$没有提供一个良好的傻瓜化界面给我们这帮懒兄懒弟们使用,而是我们自己视而不见,那就是SQLServer中的视图管理器,它不仅可以让我们方便地在多个表中进行查询而不去理会他们之间的关系(当然多个表之间必须存在必要的关系),还可以用它进行别名、排序、条件等
系统 2019-08-29 21:55:37 1506
如下所示:#返回一个列表中第二大的数defsecond(ln):max=0s={}foriinrange(len(ln)):flag=0forjinrange(len(ln)):ifln[i]>=ln[j]andi!=j:flag=flag+1s[i]=flagifflag>max:max=flagprint(s)foriins:ifs[i]==max-1:breakprint(ln[i])second([1,2,7,4,5,6,8,5,3,3,9,9,1
系统 2019-09-27 17:56:57 1505
有些时候,我们需要将某些程序放到子进程中去运行,以达到整合系统的目的。在Python中,一个非常好的选择就是使用subprocess模块,本模块为开辟子进程去执行子程序提供了统一的接口,更加便于学习和使用。同时,对于在子进程里的程序,我们希望能够实时获取其输出,以在主进程中打印相关信息,使我们能够了解当前子程序的执行进度。对此,subprocess模块也提供了相应的参数,能够将子程序的标准输出和标准错误输出返回给主程序。下面,我们就通过一个例子来说明这个功
系统 2019-09-27 17:56:49 1505
Python详解基本语法概要:函数的返回值是函数重要的组成部分。函数的根本在于实现程序的部分功能,所以很多时候我们需要将函数执行后的结果返回给程序再由程序作出进一步的操作。可以说是函数的返回值令函数与函数之间,函数与主程序之间更加紧密的联系起来。函数的返回值在Python的函数中都有一个返回值,默认为None。也可以使用returnvalue语句来定义一个且只能定义一个可为任意类型的返回值。但是我们能够返回一个序列类型的对象,来实现返回多个值的效果。Exa
系统 2019-09-27 17:56:49 1505
WMI是Windows系统的一大利器,Python的win32api库提供了对WMI的支持,安装win32api即可使用WMI。本例通过WMI的WQL实现ping命令。importwmic=wmi.WMI()wql="SELECTStatusCodeFROMWin32_PingStatusWHEREAddress='127.0.0.1'"foriinc.query(wql):ifi.StatusCode:print'offline'else:print'o
系统 2019-09-27 17:56:28 1505
Python爬虫要经历爬虫、爬虫被限制、爬虫反限制的过程。当然后续还要网页爬虫限制优化,爬虫再反限制的一系列道高一尺魔高一丈的过程。爬虫的初级阶段,添加headers和ip代理可以解决很多问题。本人自己在爬取豆瓣读书的时候,就以为爬取次数过多,直接被封了IP.后来就研究了代理IP的问题.(当时不知道什么情况,差点心态就崩了…),下面给大家介绍一下我自己代理IP爬取数据的问题,请大家指出不足之处.问题这是我的IP被封了,一开始好好的,我还以为是我的代码问题了
系统 2019-09-27 17:56:11 1505
文本库string:通用字符串操作re:正则表达式操作difflib:差异计算工具textwrap:文本填充unicodedata:Unicode字符数据库stringprep:互联网字符串准备工具readline:GNU按行读取接口rlcompleter:GNU按行读取的实现函数二进制数据库struct:将字节解析为打包的二进制数据codecs:注册表与基类的编×××数据类型库datetime:基于日期与时间工具calendar:通用月份函数collec
系统 2019-09-27 17:56:06 1505
模块内部封装了很多实用的功能,有时在模块外部调用就需要将其导入。常见的方式有如下几种:1.import>>>importsys>>>sys.path['','C:\\Python34\\Lib\\idlelib','C:\\Windows\\system32\\python34.zip','C:\\Python34\\DLLs','C:\\Python34\\lib','C:\\Python34','C:\\Python34\\lib\\site-pack
系统 2019-09-27 17:55:57 1505