编程技术

EasyMock 使用方法与原理剖析

Mock方法是单元测试中常见的一种技术,它的主要作用是模拟一些在应用中不容易构造或者比较复杂的对象,从而把测试与测试边界以外的对象隔离开。编写自定义的Mock对象需要额外的编码工作,同时也可能引入错误。EasyMock提供了根据指定接口动态构建Mock对象的方法,避免了手工编写Mock对象。本文将向您展示如何使用EasyMock进行单元测试,并对EasyMock的原理进行分析。1.Mock对象与EasyMock简介单元测试与Mock方法单元测试是对应用中的

系统 2019-08-29 22:42:49 2183

编程技术

人物绘画教程 flash画人像

1.打开FlashMX软件,在工具栏中使用线条工具,绘制三个线段,呈倒三角状,然后使用箭头工具将线条拖出一定的弧度,再使用第二箭头工具,也就是贝塞尔工具拖动弧线的顶点。完成后如图1所示,这就是人物脸部的简单轮廓。2.绘制更多的线条,使用线条的宽度为2,在绘制中注意,多使用贝塞尔工具。我们在绘制整个人物的外形部分时,特别要注意在一些小细节方面,比如线条的弧度,它关系到人物造型,几乎没有任何一段线条是直线(图2)。3.使用油漆桶工具在头发中填充棕色#4E161

系统 2019-08-29 22:24:03 2183

编程技术

flex入门 创建适应浏览器的布局

初学者一定想知道如何让组件能自适应浏览器的大小。主要是通过选择组件后,在右侧的FlexProperties中设置Constraints的值。主要是设置好各元素与边框之间的距离。也就是right,left,top,bottom。如下图:flex入门创建适应浏览器的布局

系统 2019-08-29 22:14:12 2183

编程技术

Ibatis 的简单应用

可能有些人都用上了Mybatis,但是有的公司可能还在用ibatis.Ibatis-Home(官网)想了解更多的就看看.myeclipse插件地址http://ibatis.apache.org/tools/abatorIbatis的优点(与JDBC相比)1.减少了约61%代码量2.配置使用简单3.架构性能增强4.SQL语句和程序代码分离5.简化项目中的分工6.增强移植性下面开始简单应用(CRUD)1.使用的jaribatis-2.3.4.726.jar(

系统 2019-08-29 22:08:49 2183

编程技术

ESBasic 可复用的.NET类库(11) -- 双向映射

1.缘起:假设我们的用户管理系统要求用户的ID和Name都必须是唯一的,并且用户的ID和Name一经确定就不能被修改。而且管理系统经常需要根据ID来查找Name,也经常需要根据Name来查找ID。根据这样的需求,我们可以考虑使用一个Dictionary来将ID和Name缓存起来,通常ID作为Key,Name作为Value。这样便可实现通过ID查询Name的快速查找,但是,通过Name查找ID就不是那么快了,因为涉及到对Dictionary的Values做遍

系统 2019-08-29 22:05:24 2183

编程技术

简明 Vim 练级攻略 http://coolshell.cn/articl

简明Vim练级攻略2011年9月7日陈皓发表评论阅读评论26,625次点击vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《LearnVimProgressively》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。——————————正文开始——————————你想以最快的速度学习人类史上最好的

系统 2019-08-12 09:30:34 2183

编程技术

[转]comet4j的简单应用

Comet4J(CometforJava)是一个纯粹基于AJAX(XMLHTTPRequest)的服务器推送框架,消息以JSON方式传递,具备长轮询、长连接、自动选择三种工作模式。在线Demo体验http://www.comet4j.org:8080/comet4j/功能特性推送消息广播。推送定向消息。提供连接上线前、上线、下线前、下线、发送消息等多种可处理事件。消息缓存机制,确保长轮询工作模式下不丢失消息。客户端正常下线,服务端可立即感知。客户端异常停止

系统 2019-08-12 09:30:06 2183

Python

python 根据pid杀死相应进程的方法

用python语言实现根据pid杀死相应进程kill_process.py代码如下#!/usr/bin/python#-*-coding:utf-8-*-importosimportsysimportsignaldefkill(pid):try:a=os.kill(pid,signal.SIGKILL)#a=os.kill(pid,signal.9)#与上等效print'已杀死pid为%s的进程,返回值是:%s'%(pid,a)exceptOSError,

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

Python

Python 正则表达式

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。Python自1.5版本起增加了re模块,它提供Perl风格的正则表达式模式。re模块使Python语言拥有全部的正则表达式功能。compile函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。re模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。本章节主要介绍Python中常用

系统 2019-09-27 17:54:25 2182

Python

python操作cookie

(一)方法方法简单说明add_cookie(cookie_dict)在当前会话中添加cookie信息cookie_dict:字典,name和value是必须的delete_all_cookies()在当前会话中删除所有cookie信息delete_cookie(name)删除单个名为name的cookie信息get_cookie(name)返回单个名为name的cookie信息,如果没有找到,返回noneget_cookies()返回当前会话所有的cook

系统 2019-09-27 17:54:00 2182

Python

Python中的匿名函数lambda

一、什么是匿名函数关键字lambda表示匿名函数。冒号前面的x表示形参,冒号后面是返回值。例:计算1~10对应数字的平方,以列表形式输出。定义法函数:deffun(x):returnx**2print(list(map(fun,range(1,11))))匿名函数法:print(list(map(lambdax:x**2,range(1,11))))二、匿名函数的特点当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便。匿名函数有个限

系统 2019-09-27 17:53:21 2182

Python

python爬虫学习教程,爬取网易云音乐!

运行环境我的运行环境如下:系统版本Windows10。Python版本Python3.5,推荐使用Anaconda这个科学计算版本,主要是因为它自带一个包管理工具,可以解决有些包安装错误的问题。去Anaconda官网,选择Python3.5版本,然后下载安装。IDE我使用的是PyCharm,是专门为Python开发的IDE。这是JetBrians的产品实战上面提到过,网易云音乐的网页跟普通的网页相比主要有两点不同:网页是js动态加载的使用了iframe框架

系统 2019-09-27 17:52:52 2182

Python

python基础面试题整理---从零开始 每天十题(04)

一、Q:如何用Python来进行查询和替换一个文本字符串?A:可以使用sub()方法来进行查询和替换,sub方法的格式为:sub(replacement,string[,count=0])replacement是被替换成的文本string是需要被替换的文本count是一个可选参数,指最大被替换的数量,示例:#!/usr/bin/envpython#-*-coding:utf-8-*-importrep=re.compile('(blue|white|red

系统 2019-09-27 17:49:14 2182

Python

Python批量按比例缩小图片脚本分享

图片太大了,上百张图用photoshop改太慢,就想到用python写个简单的批处理。功能简单就是把原图按比例缩小复制代码代码如下:#-*-coding:cp936-*-importImageimportglob,os#图片批处理deftimage():forfilesinglob.glob('D:\\\\1\\\\*.JPG'):filepath,filename=os.path.split(files)filterame,exts=os.path.sp

系统 2019-09-27 17:46:52 2182