- 军军小站|张军博客
搜索到与相关的文章
编程技术

大话重构连载15:采用Mock技术完成测试

第五次重构我们引入了数据库的设计,用户信息要从数据库中读取,问候语库存储在数据库中,并支持添加与更新。数据库的引入使自动化测试变得困难了,因为数据状态总是变化着的,而这种变化使得测试过程不能复现,这是我们不愿看到的。因此,我们在设计时将业务与数据库访问分离,形成了UserDao与GreetingRuleDao。此时,我们的设计应当遵从“依赖反转”原则,即将UserDao与GreetingRuleDao设计成接口,并编写它们的实现UserDaoImpl与Gr

系统 2019-08-29 21:59:03 1907

编程技术

(IBM)Struts2、Spring、Hibernate 高效开发的最

引言SSH(Struts2+Spring+Hibernate)是最为Java业界熟知的JavaEEWeb组件层的开发技术。很多人提起JavaEE,甚至都会将其误认为就是SSH。无论是书籍还是电子教程,大部分都已经千篇一律,讲解各种标签、配置的用法。许多人包括笔者在内,第一次使用SSH的时候,按照教程的介绍进行开发。繁琐的配置,重复的修改配置,不断定义的参数转换器,真的让笔者苦不堪言。本文对SSH的开发模式尝试了重新定义,按照规约优于配置的原则,利用Java

系统 2019-08-12 09:30:26 1907

各行各业

微软企业库4.1学习笔记(十二)中间人Providers

一、Provider在.NETframeword中每一个provider都是一段代码的中间人,通过它,你的应用可以连接到一个服务或者是数据源,可以获取或者是修改服务和数据源的数据。在企业库中包含很多的providers。另外,你也可以创建自己的provider,在你的应用中满足特殊的需求。一个providertype定义了和一个模块相关的功能的接口,一个provider是一个providertype的实现。每一个模块中,对于一个providertype,都

系统 2019-08-12 09:27:24 1907

编程技术

工作气氛

从一家公司跳到一家搞外贸的小公司,从头到尾工作的大概有半年的时间,在这半年的时间里,主要的工作是框架开发,从刚开始的豪情万丈,慢慢的被磨灭了。小公司里面各个都是有头衔的,正所谓“麻雀虽小,五脏具全”啊,或许这正是小公司老板的精明之处吧,不过对与我来说,这些对我没有任何的吸引力的,我主要关心的是环境够不够自由,团队气氛够不够好,MONEY够不够多,就这么简单。或许是因为个个都认为自己是有头衔的,然后个个就开始趾高气扬的,今天A跟B抬杠,明天B跟C抬杠,后天C

系统 2019-08-12 01:33:40 1907

Python

Python 分析天气,告诉你中秋应该去哪里

中秋佳节以到,不知道各位小伙伴儿有没有想好去哪里玩呢。不过说实在的,每到节假日,到处都是人山人海,那句“我动也不能动”,还不时的出现在我的耳畔呢。但是又说回来,假期出游,除了人的因素外,天气的因素是不是也要考虑下呢,今天,我们就带大家来看看,中秋小长假,哪些地方适宜出游。获取数据数据的获取,就从中国天气网站上直接抓取,网络上的一些API,有的信息不是很全,只能获取最近3天的数据,有的又需要付费,还不如自己抓来的痛快。http://www.weather.c

系统 2019-09-27 17:57:15 1906

Python

Python学习中遇到的问题

1.None和[]的区别以前以为None就是空,直到看到了下面这段代码list=[]iflistisNone:print"listisNULL"else:print"listis%s"%list发现输出是listis[],而不是listisNULL。这说明None和[]不等同。去翻了几篇博客后,才知道None表示的是这个对象还没创建,而[]表示的是这个对象创建了,但是还没有值。“一个盒子不装东西它还是一个盒子([]),你把盒子拆了它就是none了”2.关于

系统 2019-09-27 17:57:01 1906

Python

Python中函数的基本定义与调用及内置函数详解

前言函数function是python编程核心内容之一,也是比较重要的一块。首先我们要了解Python函数的基本定义:函数是什么?函数是可以实现一些特定功能的小方法或是小程序。在Python中有很多内建函数,当然随着学习的深入,你也可以学会创建对自己有用的函数。简单的理解下函数的概念,就是你编写了一些语句,为了方便使用这些语句,把这些语句组合在一起,给它起一个名字。使用的时候只要调用这个名字,就可以实现语句组的功能了。语法如下:#定义方式:deffunct

系统 2019-09-27 17:57:00 1906

Python

Python的定时器与线程池

定时器执行循环任务:知识储备Timer(interval,function,args=None,kwargs=None)interval===》时间间隔单位为sfunction===》定制执行的函数使用threading的Timer类start()为通用的开始执行方法cancel()为取消执行的方法普通单次定时执行fromthreadingimportTimerimporttime#普通单次定时器defhandle():print("普通单次定时器函数被执

系统 2019-09-27 17:56:59 1906

Python

浅谈python中的数字类型与处理工具

python中的数字类型工具python中为更高级的工作提供很多高级数字编程支持和对象,其中数字类型的完整工具包括:1.整数与浮点型,2.复数,3.固定精度十进制数,4.有理分数,5.集合,6.布尔类型7.无穷的整数精度8.各种数字内置函数及模块。基本数字类型python中提供了两种基本类型:整数(正整数金额负整数)和浮点数(注:带有小数部分的数字),其中python中我们可以使用多种进制的整数。并且整数可以用有无穷精度。整数的表现形式以十进制数字字符串写

系统 2019-09-27 17:54:10 1906

Python

python sort、sorted高级排序技巧

Pythonlist内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列。1)排序基础简单的升序排序是非常容易的。只需要调用sorted()方法。它返回一个新的list,新的list的元素基于小于运算符(__lt__)来排序。复制代码代码如下:>>>sorted([5,2,3,1,4])[1,2,3,4,5]你也可以使用list.sort()方法来排序,此时list本身将被修改。通常此方法不如so

系统 2019-09-27 17:54:09 1906