转自:http://blog.csdn.net/a906998248/article/details/7514969一、什么是AOP。AOP(AspectOrientProgramming),也就是面向切面编程。可以这样理解,面向对象编程(OOP)是从静态角度考虑程序结构,面向切面编程(AOP)是从动态角度考虑程序运行过程。二、AOP的作用。常常通过AOP来处理一些具有横切性质的系统性服务,如事物管理、安全检查、缓存、对象池管理等,AOP已经成为一种非常常
系统 2019-08-29 22:16:31 1978
1.1JMS简介JMS的全称是JavaMessageService,即Java消息服务。它主要用于在生产者和消费者之间进行消息传递,生产者负责产生消息,而消费者负责接收消息。把它应用到实际的业务需求中的话我们可以在特定的时候利用生产者生成一消息,并进行发送,对应的消费者在接收到对应的消息后去完成对应的业务逻辑。对于消息的传递有两种类型,一种是点对点的,即一个生产者和一个消费者一一对应;另一种是发布/订阅模式,即一个生产者产生消息并进行发送后,可以由多个消费
系统 2019-08-29 22:12:09 1978
Servlet3.0模块化支持Servlet3.0现在已经支持各Web组件的模块化了。也就是说现在我们可以把各Web组件单独拿出来进行开发,之后把它们打成对应的jar包放到主项目中就可以了,而不必像之前那样——所有的内容都必须在web.xml文件中进行定义。有了对模块化的支持后我们在实际应用中就可以把某些通用功能的Filter、Listener、Servlet作为一个单独的Web模块进行定义,在需要使用它们的项目中就把对应Web模块对应的jar包加进去就可
系统 2019-08-29 22:12:06 1978
说了那么多理论,我们来看看怎样使用抽取方法来重构遗留系统。如前所述,重构的过程首先是阅读程序代码,边阅读边整理程序。将功能相对独立的代码段放在一起,在前面加上注释。调整一些程序的顺序,将相关的代码尽量放在一起,但要保证程序执行的结果不会发生改变。比较典型的,将变量的定义与使用变量的代码放在一起。这个步骤比较实用,因为许多的遗留系统,其代码都有一个坏毛病,就是在程序开始时定义一大堆变量,但要弄清这些变量都用来做什么,却十分困难。边读边调整,将变量的定义逐渐迁
系统 2019-08-29 21:59:02 1978
终于到了该说说领域驱动设计的时候了。我们在这场关于代码质量的讨论中,从代码可读性开始,讨论了代码复用性、设计模式,然后探讨了职责驱动设计。代码可读性是对代码质量最基本的要求,可惜我们仍有做得不够的(即使那些开发程序很多年的老程序员)。代码复用是提高代码质量的最初级阶段,但是在一个多人开发的项目团队中,围绕代码复用值得讨论的问题依然非常多,它依然是一个非常复杂的问题,甚至有时它不再仅仅是一个技术问题,而是一个管理问题。唉,提高代码质量的道理漫漫兮同志们要上下
系统 2019-08-29 21:58:55 1978
背景由于工作性质,经常面对不同的问题,某些场景下SQL+Excel、常用办公软件不能处理,这时到网上找一些案例,自己动手用python处理。后续,借此博客记录比较典型的处理过程。后续,陆续实际处理的问题,如1.合并PDF2.拆分PDF3.敏感字段MD5脱敏4.从非架构化的大文本文件中提取指定条件的记录需求工作和生活中有时会遇到将多个pdf文件,合并成一个大文件的情况。例如,扫描时,普通扫描仪或打印机一页生成一个PDF,而一份资料实际多页。Adobe的收费版
系统 2019-09-27 17:57:30 1977
一、listPython内置的一种数据类型是列表:listlist是一种有序的、可变的集合,可以随时添加和删除其中的元素。实例:列表:classmates>>>classmates=['Michael','Bob','Tracy']>>>classmates['Michael','Bob','Tracy']len()函数获取list元素的个数>>>len(classmates)3用索引来访问list中每一个位置的元素:索引从0开始,最后一个元素的索引是le
系统 2019-09-27 17:57:17 1977
大概在Python2.7.xx以前,安装Python时环境变量是需要自己设的,所以自己做了一个批处理文件.bat来设置环境变量Path,通过WMI命令wmic来实现。::检查path中有没有相关路径echo%path%|findstr/i"c:\python27\scripts"&&(gotorun)::先添加,防止没有时修改出错wmicENVIRONMENTcreatename="path",VariableValue="c:\python27\scri
系统 2019-09-27 17:56:30 1977
本文实例讲述了python网络编程,分享给大家供大家参考。具体方法如下:服务端代码如下:fromSocketServerimport(TCPServerasTCP,StreamRequestHandlerasSRH)fromtimeimportctimeHOST=''PORT=21567ADDR=(HOST,PORT)classMyRequestHandle(SRH):defhandle(self):print'connectingfrom..',self
系统 2019-09-27 17:56:18 1977
这篇文章主要介绍了Python进度条的制作代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下importsys,time#导入模块foriinrange(50):#进度条的长度sys.stdout.write("#")#进度条的内容,这里要注意了,pycharm有可能不显示write的方法sys.stdout.flush()#刷新缓存time.sleep(0.5)#间隔时间,和shell的sleep差
系统 2019-09-27 17:55:39 1977