搜索到与相关的文章
编程技术

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

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

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

编程技术

IP地址规划的重要性

在搭建一个局域网的时候,IP地址规划的意义重大。如果你的网络永远不会被扩展和定制,那么你可以随意的规划IP地址,只要能保证路由是通的就可以了。然而如果将来有一天你需要对已有的网络进行拓展,那么就需要精心安排地址了。原则就是:尽量使逻辑上同类的地址规划成连续的地址,并且起始地址最好是2的次幂。这样做的原因在于可以方便的划分子网。考虑下面的拓扑:有一天,需要在该局域网增加一台加密网关,所有到达外部网络2的流量都要被加密,而且需要把加密流量路由指向加密网关(流量

系统 2019-08-12 09:30:33 2050

编程技术

XSS 前端防火墙 —— 天衣无缝的防护

上一篇讲解了钩子程序的攻防实战,并实现了一套对框架页的监控方案,将防护作用到所有子页面。到目前为止,我们防护的深度已经差不多,但广度还有所欠缺。例如,我们的属性钩子只考虑了setAttribute,却忽视还有类似的setAttributeNode。尽管从来不用这方法,但并不意味人家不能使用。例如,创建元素通常都是createElement,事实上createElementNS同样也可以。甚至还可以利用现成的元素cloneNode,也能达到目的。因此,这些都

系统 2019-08-12 09:30:32 2050

编程技术

23种设计模式(3):抽象工厂模式

文章来源:http://blog.csdn.net/zhengzhb/article/details/7359385定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。类型:创建类模式类图:抽象工厂模式与工厂方法模式的区别抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象。他与工厂方法模式的区别就在于,工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则是针对的多个产品等级结构。在编程中,通常一个产品结构,

系统 2019-08-12 09:30:25 2050

编程技术

TI公司电话面试 ---- 问题回忆录 2012年8月20

C/C++部分:1,C的全局变量和局部变量,用同一个名字C是否允许?多个子函数和全局变量重名,在局部函数里究竟指的是哪个?2,intconst*p和int*constp的区别3,函数指针和指针函数的区别,为什么会用到函数指针?提示---和函数数组有关系。函数数组??4,算法部分,递归排序插入排序5,MFC基本的三种类型,单文档对话框建成之后有多少个类单片机和Arm部分:1,单片机中断的类型2,在初始化配置寄存器时的注意事项3,rs232几根线啥作用4,配置

系统 2019-08-12 09:29:55 2050

编程技术

UNIX环境高级编程 守护进程

相关函数列表//syslog函数#includevoidopenlog(constchar*ident,intoption,intfacility);voidsyslog(intpriority,constchar*format,...);voidcloselog(void);intsetlogmask(intmaskpri);//除syslog,很多平台还提供它的一种变体来处理可变参数列表#include#incl

系统 2019-08-12 09:29:37 2050

Python

Python基础学习—列表和元组

一、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 2049

Python

python基础语法

第一个Python程序交互式编程交互式编程不需要创建脚本文件,是通过Python解释器的交互模式进来编写代码。linux上你只需要在命令行中输入Python命令即可启动交互式编程,提示窗口如下:$pythonPython2.7.6(default,Sep92014,15:04:36)[GCC4.2.1CompatibleAppleLLVM6.0(clang-600.0.39)]ondarwinType“help”,“copyright”,“credits”

系统 2019-09-27 17:56:51 2049

Python

python中bs4.BeautifulSoup的基本用法

导入模块frombs4importBeautifulSoupsoup=BeautifulSoup(html_doc,"html.parser")下面看下常见的用法print(soup.a)#拿到soup中的第一个a标签print(soup.a.name)#获取a标签的名称print(soup.a.string)#获取a标签的文本内容print(soup.a.text)#获取a标签的文本内容print(soup.a["href"])#获取a标签的href属性

系统 2019-09-27 17:55:49 2049

Python

如何使用python操作vmware

importpyspherefrompysphereimportVIServerhost_ip="200.200.173.45"username="administrator@vsphere.local"passwd="admin123."server_obj=VIServer()server_obj.connect(host=host_ip,user=username,password=passwd)#可以连接esxi主机,也可以连接vcenter#获取

系统 2019-09-27 17:55:46 2049