公司计划系统的开展接口自动化测试,需要我这边调研一下主流的接口测试框架给后端测试(主要测试接口)的同事介绍一下每个框架的特定和使用方式。后端同事根据他们接口的特点提出一下需求,看哪个框架更适合我们。
需求
1、接口编写方便。 2、方便调试接口。 3、支持数据初始化。 4、生成测试报告。 5、支持参数化。
### robot framework
优点
关键字驱动,自定义用户关键字。
支持测试日志和报告生成。
支持系统关键字开发,可扩展性好。
支持数据库操作。
缺点
*** Settings ***
Library RequestsLibrary
Library Collections
*** Test Cases ***
test_get_event_list # 查询发布会(GET请求)
${payload}= Create Dictionary eid=1
Create Session event http://127.0.0.1:8000/api
${r}= Get Request event /get_event_list/ params=${payload}
Should Be Equal As Strings ${r.status_code} 200
log ${r.json()}
${dict} Set variable ${r.json()}
#断言结果
${msg} Get From Dictionary ${dict} message
Should Be Equal ${msg} success
${sta} Get From Dictionary ${dict} status
${status} Evaluate int(200)
Should Be Equal ${sta} ${status}
结果:不考虑,没人愿意这么写接口用例。
###JMeter
优点
缺点
创建接口用例效率不高。
不能生成查看每一个接口执行情况的测试报告。
总结:不考虑,接口编写不方便,最主要是不能生成测试报告,如果做接口性能的话可以考虑。
###HttpRunner
优点:
缺点:
没有编辑器插件对语法校验,容易出错。
官方文档没有详细的说明。
扩展不方便。
[
{
"config": {
"name": "testcase description",
"variables": [],
"request": {
"base_url": "http://127.0.0.1:5000",
"headers": {
"User-Agent": "python-requests/2.18.4"
}
}
}
},
{
"test": {
"name": "test case name",
"request": {
"url": "/api/get-token",
"headers": {
"device_sn": "FwgRiO7CNA50DSU",
"user_agent": "iOS/10.3",
"os_platform": "ios",
"app_version": "2.8.6",
"Content-Type": "application/json"
},
"method": "POST",
"date": {"sign": "958a05393efef0ac7c0fb80a7eac45e24fd40c27"}
},
"validate": [
{"eq": ["status_code", 200]},
{"eq": ["headers.Content-Type", "application/json"]},
{"eq": ["content.success", true]},
{"eq": ["content.token", "baNLX1zhFYP11Seb"]}
]
}
}]
总结:可以考虑,至于接口数据的初始化可能需要单独处理。
###gauge
BDD行为驱动测试框架。
优点:
行为文件与脚本文件分离,本质上实现了数据驱动。
功能强大灵活,本质上还用Python写接口用例。
自动生成测试报告。
VS Code有支持插件
缺点:
门槛略高,需要了解BDD的用法。
需要会markdworn语法
行为描述文件:
## test post request
* post "http://httpbin.org/post" interface
|key | status_code|
|------|-----------|
|value1|200 |
|value2|200 |
|value3|200 |
测试脚本:
……
@step("post interface ")
def test_get_request(url, table):
values = []
status_codes = []
for word in table.get_column_values_with_name("key"):
values.append(word)
for word in table.get_column_values_with_name("status_code"):
status_codes.append(word)
for i in range(len(values)):
r = requests.post(url, data={"key": values[i]})
result = r.json()
assert r.status_code == int(status_codes[i])
总结:推荐使用,BDD有一定门槛,看测试人员的学些能力和接受速度。
###Unittest+Request+HTMLRunner
利用现有的框架和库自己定制。
优点:
足够灵活强大: 分层测试、数据驱动、测试报告,集成CI...
缺点:
数据文件:
{
"test_case1": {
"key": "value1",
"status_code": 200
},
"test_case2": {
"key": "value2",
"status_code": 200
},
"test_case3": {
"key": "value3",
"status_code": 200
},
"test_case4": {
"key": "value4",
"status_code": 200
}}
测试用例:
import requests
import unittest
from ddt import ddt, file_data
@ddtclass InterfaceTest(unittest.TestCase):
def setUp(self):
self.url = "http://httpbin.org/post"
def tearDown(self):
print(self.result)
@file_data("./data/test_data_dict.json")
def test_post_request(self, key, status_code):
r = requests.post(self.url, data={"key": key})
self.result = r.json()
self.assertEqual(r.status_code, status_code)
总结:推荐使用,代码相对简单,功能足够灵活。
我花了两天时间整理这些框架,其实重点就是了解HttpRunner 和 gauge 。
yg
HttpRunner 没有编辑器插件,本身就是一个YAML/JSON配置文件,所以配置写错了,但只要是合法的YAML/JSON格式,也看不出来,只有运行的过后才知道。就像你用记事本写代码一样,只有运行了才知道代码有没有写错。
另外,扩展起来也不是特别方便,单独用python实现一些函数:在json文件中
```{"device_sn": "${gen_random_string(15)}"}```
以这样的方式引用```gen_random_string()``` 函数。
gauge我已经分享过两篇基础文章了,虽然用BDD拿来做接口理念不搭,但并不是不可以,唯一的缺点是用BDD来描述接口行为不合适,其他的都没毛病,可以参数化,断言写起来也简单,测试报告也漂亮,本质上还是用Python实现一些功能,所以非常灵活。
unittest + requests + HTMLTestRunner是我最熟悉的方案,几乎没什么短板。以前通过这种方案写过很多测试用例,这次把ddt加上似乎更完美了。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
你可能感兴趣的:(软件测试,功能测试,软件测试,自动化测试,程序人生,职场和发展)
多元随机分布的协方差矩阵的计算(python示例)
读思辨
Python 数学 矩阵 python 线性代数
协方差矩阵是统计学中描述两个或多个随机变量之间线性相关程度的一个重要工具。对于一个kkk维随机向量X=(X1,X2,...,Xk)X=(X_1,X_2,...,X_k)X=(X1,X2,...,Xk),其协方差矩阵是一个k×kk\timeskk×k的矩阵,其中每个元素σij\sigma_{ij}σij是随机变量XiX_iXi和XjX_jXj的协方差。协方差的计算公式为:σij=Cov(Xi,Xj)
Android 弹窗毛玻璃背景实践
苦逼程序员_
android android 毛玻璃 弹窗 模糊 背景
Android弹窗毛玻璃背景实践需求:点击FloatingActionButton弹出弹层,弹层底部有多个图标可选,每一个图标都是一个功能入口,背景采用毛玻璃模糊效果。记录一下这个需求的思考和实现过程。查找Android原生API做法在AndroidAPI里面,有个FLAG_BLUR_BEHIND用于模糊背景的FLAG,尝试一下使用它来做Dialog的背景模糊。代码如下:finalDialogdi
蓝桥杯单片机快速开发笔记——超声波测距
木木不迷茫(˵¯͒¯͒˵)
蓝桥杯单片机快速开发笔记 蓝桥杯 单片机 笔记
一、原理分析超声波测距是一种常见的测距方法,其原理是利用超声波在空气中传播的速度恒定且较快的特性,通过发送超声波信号并接收回波,计算出物体与传感器之间的距离。以下是超声波测距的原理和应用:原理:发送超声波信号:超声波传感器发送一个短脉冲的超声波信号。接收回波:超声波信号遇到物体后会被反射回来,传感器接收到回波信号。计算时间差:通过测量发送超声波和接收回波之间的时间差,可以计算出超声波在空气中传播的
通过调整尺寸压缩 PNG 图片并转换为 PDF (Python)
Persus
python pdf png 图像处理 图片压缩
通过调整尺寸压缩PNG图片并转换为PDF1.环境准备确保已经安装了Python和所需的库。如果尚未安装,可以使用以下命令:pipinstallPillowreportlab2.代码实现以下是完整的Python程序,用于通过缩小图片尺寸来压缩PNG图片并将其保存为PDF格式:fromPILimportImagefromreportlab.pdfgenimportcanvasdefcompress_a
PostgreSQL 插入、选择、更新、删除数据
地信小学生
数据库 postgresql 数据库 GIS
(1)插入与选择操作向表中插入数据主要是使用insert语句,结构如下所示:INSERTINTO表名(列名)VALUES('具体值');这里需要注意的是:要使用单引号,单引号在SQL中用于定义字符串字面量;而双引号通常用于标识符,如表名、列名等,尤其是在标识符与SQL关键字冲突或包含特殊字符时。此外,如果我们向之前创建的people表添加数据,需要满足主键约束和外键约束。尝试向people表添加如
《STL基础之hashtable》
边城梦溪
c++ 开发语言 stl hash table 面试
【hashtable导读】STL为大家提供了丰富的容器,hashtable也是值得大家学习和掌握的基础容器,而且面试官经常会把它和hashmap混在一起,让同学们做下区分。因此关于hashtable的一些特性,比如:底层的数据结构、插入、查找元素的时间复杂度,这些很有必要和大家一起分享下。开门见山,hashtable设计的初衷就是为了方便元素的快速插入、查找,到底有多快速呢?查找、删除元素的时间复
【C语言】常用字符串函数大盘点
橘猫.exe
C语言 c语言 算法 开发语言
【C语言】常用字符串函数大盘点文章目录【C语言】常用字符串函数大盘点1.字符串的基本概念2.常用字符串函数2.1字符串长度和复制2.2字符串连接2.3字符串比较2.4字符串搜索2.5字符串修改2.6字符串到数字的转换-atoi,atol,strtol2.7数字到字符串的转换-`itoa`(非标准,需要自定义实现)3.使用字符串函数的注意事项C语言提供了一组标准库函数,用于处理字符串,这些函数定义在
SQLAlchemy:Python SQL工具包和对象关系映射器
零 度°
python python
SQLAlchemy是一个PythonSQL工具包和对象关系映射器(ORM),它提供了一个高层的ORM以及底层的SQL表达式语言。SQLAlchemy是数据驱动的应用程序的常用工具,它能够与多种数据库后端进行交互,包括但不限于SQLite、MySQL、PostgreSQL和MicrosoftSQLServer。SQLAlchemy的主要特点ORM:将Python类映射到数据库表。SQL表达式语言:
模块学习(四)——超声波测距
小树苗要冲冲冲
笔记 学习 单片机 嵌入式硬件
今天想着把测距模块全部一网打尽了,把点对点和点对面两种测距全部搞定,于是有了这篇关于超声波模块的博客分享,主要还是分享代码,原理啥的网上都有,这次是基于MSP430F5529的driverlib库,没有找到开源的代码就自己分享一下了!1.基本原理还是稍稍讲一下原理,不然等下可能代码看不懂。两个引脚,一个TRIG,一个ECHO,就是触发和回响,顾名思义,trig是用来触发启动超声波模块的,echo模
Android Bitmap高斯模糊
不会写代码的猴子
Android Java android java Bitmap
加载和使用缩小的位图(对于非常模糊的图像)永远不要使用完整大小的位图。图像越大,需要模糊的越多,模糊半径也需要越高,通常,模糊半径越高,算法所需的时间就越长。缩小位图的两种方式1.位图options缩小BitmapFactory.Optionsoptions=newBitmapFactory.Options();options.inSampleSize=8;BitmapblurTemplate=B
PostgreSQL 数据库的备份和恢复
盖盖衍上_染染熊
中间件 数据库 postgresql oracle
1.备份数据库:a.备份格式选择*.bak:压缩二进制格式*.sql:明文转储*.tar:tarballb.使用pg_dump命令备份数据库使用pg_dump备份整个数据库:pg_dump-U数据库角色dbname>backup.sqlpg_dump-Upostgresmydata>mydata.sql这将备份整个数据库,并将备份数据保存到backup.sql文件中。注:查询数据库角色语句:SEL
前端主流的项目开发过程详解
GISer_Jinger
Javascript 项目 Vue 前端 javascript
前端主流的项目开发涉及多个方面,包括使用的技术栈、框架、工具以及开发流程等。以下是对前端主流项目开发的详细分析:一、技术栈前端主流项目开发的技术栈通常包括HTML、CSS、JavaScript以及相关的库和框架。其中,JavaScript是核心,它使得网页更加动态和交互。而HTML和CSS则分别负责网页的结构和样式。HTML:用于构建网页的基本结构,如标题、段落、链接、图像等。CSS:用于控制网页
C++ STL中vector、list、deque顺序容器使用介绍
夜雨听萧瑟
C/C++语言 c++ 开发语言
1、简介容器分为顺序容器和关联容器,顺序容器提供了控制元素存储和访问顺序的能力,这种顺序不依赖于元素的值,而是与元素加入时的位置相对应。2、顺序容器类型顺序容器有以下几种vectorvector是可变大小数组,每个元素在内存上是连续的。支持快速随机访问,在尾部插入或者删除可能很慢。连续存储结构deque双端队列,支持快速随机访问。在尾部插队/删除都很快。deque双端数组结构,容器内部有一个中控器
40_Python-对象关系映射SQLALchemy
SeanYBLL
Python
SQLALchemy一、ORM二、SQLAlchemy简介三、基本操作四、总结【2】优缺点一、ORMORM,即Object-RelationalMapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法。本质上就是将数据从一种形式转换到另外一种形式。这也同时暗示着额
Python中的对象关系映射SQLAlchemy使用
Mr_fengzi
数据库 ORM SQLAlchemy使用 模拟用户登录系统
简介什么是ORM?ORM,即Object-RelationalMapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法。SQLAlchemy:SQLAlchemy是Python编程语言下的一款开源软件。提供了SQL工具包及对象关系映射(ORM)工具,为高效和高性能
easyx入门(一)窗口、图形和文字
橙意满满的西瓜大侠
easyx学习 学习 前端 c++
一、绘制绘图窗口1.初始化窗口(大小和样式)initgraph(intwidth,intheight,intflag=NULL);//用于初始化绘图窗口三个参数分别为窗口的宽度、高度和样式(向右为x轴正向,对应width;向下为y轴正向,对应height)其中样式flag默认为NULL,还有其他的形式:SHOWCONSOLE(显示控制台,showconsole)NOCLOSE(没有关闭功能,noc
级数的敛散性
2302_79698474
抽象代数
级数的敛散性级数、部分和、收敛级数和发散级数的定义:对于一个数列Un{U_n}Un,对它的各项通过相加连接起来的表达式U1+U2+U3+...+UnU_1+U_2+U_3+...+U_nU1+U2+U3+...+Un称为常数项无穷级数或数项级数(简称级数)[常数项无穷级数中的常数项表示每一项都是固定的数字]这个表达式也可以写作∑n=1nun\sum_{n=1}^n{u_n}∑n=1nun或简单写作
设计模式Python版 适配器模式
小王子1024
设计模式Python版 设计模式 python 适配器模式
文章目录前言一、适配器模式二、适配器模式实现三、适配器模式在Django中的应用前言GOF设计模式分三大类:创建型模式:关注对象的创建过程,包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式。结构型模式:关注类和对象之间的组合,包括适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式和代理模式。行为型模式:关注对象之间的交互,包括职责链模式、命令模式、解释器模式、
使用 Pandas 处理 .xlsx 文件的教程(Python)
Persus
pandas python 开发语言 表格 xlsx 数据分析
使用Pandas处理.xlsx文件的教程Pandas是Python数据分析的核心库之一,它提供了丰富的数据处理功能,尤其在处理表格数据(如.xlsx文件)时非常强大。Pandas结合了Python的灵活性和简洁性,让用户能够轻松地进行数据的读写、清洗、操作和分析。本文将介绍如何使用Pandas处理.xlsx文件的常见操作,包括读取、写入、筛选、合并和统计等操作。一、环境配置1.安装Pandas首先
智能安全策略-DPL
人生的方向随自己而走
2025随笔 服务器 运维
一、华三防火墙-接口的概念。1、接口。1.什么是接口?接口就像是防火墙的“门”,用来连接不同的网络设备,比如电脑、路由器、服务器等。通过这些“门”,数据(比如网页、视频、文件)才能进出防火墙。2.接口的类型华三防火墙有几种常见的接口类型:(1)物理接口这些是防火墙设备上实实在在的插孔,比如网线插口(以太网接口)。就像插座一样,网线插进去后,防火墙就能和其他设备连接。以太网接口(Ethernet):
windows上使用wsl安装ubuntu16.04
b2Superman
windows
1.设置->系统->开发者选项->开发人员模式2.控制面板->程序与功能->启动或关闭windows功能->勾选虚拟机平台和使用与Linux的windows子系统->重启3.win+x终端管理员启用wsl功能dism.exe/online/enable-feature/featurename:Microsoft-Windows-Subsystem-Linux/all/norestart安装WSL2
python读写大文件excel_基于Python的接口自动化-读写excel文件
weixin_39669982
引言使用python进行接口测试时常常需要接口用例测试数据、断言接口功能、验证接口响应状态等,如果大量的接口测试用例脚本都将接口测试用例数据写在脚本文件中,这样写出来整个接口测试用例脚本代码将看起来很冗余和难以清晰的阅读以及维护,试想如果所有的接口测试数据都写在代码中,接口参数或者测试数据需要修改,那不得每个代码文件都要一一改动?。因此,这种不高效的模式不是我们想要的。所以,在自动化测试中就有个重
python pandas和numpy_python pandas Series.to_numpy用法及代码示例
weixin_39636898
python pandas和numpy
表示此Series或Index中的值的NumPyndarray。0.24.0版中的新功能。参数:dtype:str或numpy.dtype,可选参数传递给的dtypenumpy.asarray()。copy:bool,默认为False是否确保返回的值不是另一个数组上的视图。注意copy=False不保证to_numpy()是no-copy。而是copy=True即使不是绝对必要,也请确保已制作副本
python依赖库版本问题_ubuntu下python安装pandas和numpy等依赖库版本不兼容的问题RuntimeWarning: numpy.dtype size changed...
黄海均
python依赖库版本问题
习惯了linux下用pipinstallnumpy及pipinstallpandas命令了。折腾了好久了。上来先在python3中pip3installnumpy装了numpy,然后再pip3installpandas就卡住不动了,或者报什么错,然后把numpy卸载了,继续装pandas还是卡住了,好像是找不到相应版本的依赖库。那就转装python2.7吧,继续pipinstallpandas,装
云服务器wsl2,在Windows 10中启动WSL2 并安装Linux( Ubuntu 为例)并运行docker
FromNowToNow
云服务器wsl2
本文内容:了解WSL和WSL2;案例:在Windows10上开启WSL2并安装Ubuntu;案例:体验在WSL2中的Ubuntu安装Docker并运行nginx;视频讲解:图文讲解:什么是WSL?WindowsSubsystemforLinux,适用于Linux的Windows子系统可让开发人员按原样运行GNU/Linux环境-包括大多数命令行工具、实用工具和应用程序-且不会产生虚拟机开销。在WS
Windows上安装与使用 Jupyter Notebook
梓仁沐白
python windows jupyter ide
1.了解JupyterNotebookJupyterNotebook是一个交互式计算环境,非常适合进行数据科学和机器学习的研究和实验。可以在Notebook中直接编写代码、运行代码块、保存结果,非常直观。在安装JupyterNotebook时,可以选择全局环境(base环境)或虚拟环境。全局环境指的是安装在Miniconda或Anaconda根目录的Python环境,而虚拟环境是用于隔离不同项目和
Node.js 中文编码问题全解析
skinGap
node.js Jenkins android-studio
Node.js中文编码问题全解析问题背景在Node.js中执行Gradle命令时遇到中文输出乱码问题。这个问题涉及Windows系统、Java进程和Node.js三个层面的编码处理。问题分析最初的错误代码gradleProcess.stdout.setEncoding('utf-8');//错误:假设输出是UTF-8编码gradleProcess.stdout.on('data',(data)=>
讯飞绘镜(ai生成视频)技术浅析(三):自然语言处理(NLP)
爱研究的小牛
AIGC—视频 AIGC—自然语言处理 自然语言处理 人工智能 自然语言处理 AIGC 深度学习
1.技术架构概述讯飞绘镜的NLP技术架构可以分为以下几个核心模块:语义分析:理解用户输入的文本,提取关键信息(如实体、事件、情感等)。情节理解:分析文本中的故事情节,识别事件序列和逻辑关系。人物关系建模:识别文本中的人物及其关系,构建人物关系图。场景生成:根据情节和人物关系生成场景描述。每个模块都依赖于先进的深度学习模型和算法,以下将逐一详细讲解。2.语义分析语义分析的目标是从用户输入的文本中提取
【加密算法】简单区分HS、RSA、ES 和 ED,与对应go实现案例
{⌐■_■}
golang java 前端 后端 开发语言 服务器
HS、RSA、ES、ED四种签名算法:一、算法对比属性HSRSAESED加密类型对称加密非对称加密非对称加密非对称加密密钥长度任意长度私钥:2048+位私钥:256+位私钥:256位(Ed25519)签名效率高较低高高验证效率高较低高高安全性中高高高密钥分离不支持支持支持支持典型场景内部系统通信安全性要求高的场景移动设备和IoT场景安全敏感的高效场景二、构建过程1.HS(HMAC-SHA)密钥生成
日志采集框架filebeat
躲在没风的地方
linux 日志采集框架 服务器 linux elasticsearch filebeat logstash
日志采集框架1filebeat和logstash比较filebeat比logstash更小巧,更简洁一些,但是功能上logstash更强大logstash(用java编写的)用于ELK中,也是用来采集传输数据的,比较浪费资源。完全可以将logstash替换为filebeat,形式EFK体系。filebeat(elastic公司)特点(1)异常中断重启后会继续上次停止的位置(通过${filebeat
Enum用法
不懂事的小屁孩
enum
以前的时候知道enum,但是真心不怎么用,在实际开发中,经常会用到以下代码:
protected final static String XJ = "XJ";
protected final static String YHK = "YHK";
protected final static String PQ = "PQ";
【Spark九十七】RDD API之aggregateByKey
bit1129
spark
1. aggregateByKey的运行机制
/**
* Aggregate the values of each key, using given combine functions and a neutral "zero value".
* This function can return a different result type
hive创建表是报错: Specified key was too long; max key length is 767 bytes
daizj
hive
今天在hive客户端创建表时报错,具体操作如下
hive> create table test2(id string);
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:javax.jdo.JDODataSto
Map 与 JavaBean之间的转换
周凡杨
java 自省 转换 反射
最近项目里需要一个工具类,它的功能是传入一个Map后可以返回一个JavaBean对象。很喜欢写这样的Java服务,首先我想到的是要通过Java 的反射去实现匿名类的方法调用,这样才可以把Map里的值set 到JavaBean里。其实这里用Java的自省会更方便,下面两个方法就是一个通过反射,一个通过自省来实现本功能。
1:JavaBean类
1 &nb
java连接ftp下载
g21121
java
有的时候需要用到java连接ftp服务器下载,上传一些操作,下面写了一个小例子。
/** ftp服务器地址 */
private String ftpHost;
/** ftp服务器用户名 */
private String ftpName;
/** ftp服务器密码 */
private String ftpPass;
/** ftp根目录 */
private String f
web报表工具FineReport使用中遇到的常见报错及解决办法(二)
老A不折腾
finereport web报表 java报表 总结
抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己。
出现问题先搜一下文档上有没有,再看看度娘有没有,再看看论坛有没有。有报错要看日志。下面简单罗列下常见的问题,大多文档上都有提到的。
1、没有返回数据集:
在存储过程中的操作语句之前加上set nocount on 或者在数据集exec调用存储过程的前面加上这句。当S
linux 系统cpu 内存等信息查看
墙头上一根草
cpu 内存 liunx
1 查看CPU
1.1 查看CPU个数
# cat /proc/cpuinfo | grep "physical id" | uniq | wc -l
2
**uniq命令:删除重复行;wc –l命令:统计行数**
1.2 查看CPU核数
# cat /proc/cpuinfo | grep "cpu cores" | u
Spring中的AOP
aijuans
spring AOP
Spring中的AOP
Written by Tony Jiang @ 2012-1-18 (转)何为AOP
AOP,面向切面编程。
在不改动代码的前提下,灵活的在现有代码的执行顺序前后,添加进新规机能。
来一个简单的Sample:
目标类:
[java]
view plain
copy
print
?
package&nb
placeholder(HTML 5) IE 兼容插件
alxw4616
JavaScript jquery jQuery插件
placeholder 这个属性被越来越频繁的使用.
但为做HTML 5 特性IE没能实现这东西.
以下的jQuery插件就是用来在IE上实现该属性的.
/**
* [placeholder(HTML 5) IE 实现.IE9以下通过测试.]
* v 1.0 by oTwo 2014年7月31日 11:45:29
*/
$.fn.placeholder = function
Object类,值域,泛型等总结(适合有基础的人看)
百合不是茶
泛型的继承和通配符 变量的值域 Object类转换
java的作用域在编程的时候经常会遇到,而我经常会搞不清楚这个
问题,所以在家的这几天回忆一下过去不知道的每个小知识点
变量的值域;
package 基础;
/**
* 作用域的范围
*
* @author Administrator
*
*/
public class zuoyongyu {
public static vo
JDK1.5 Condition接口
bijian1013
java thread Condition java多线程
Condition 将 Object 监视器方法(wait、notify和 notifyAll)分解成截然不同的对象,以便通过将这些对象与任意 Lock 实现组合使用,为每个对象提供多个等待 set (wait-set)。其中,Lock 替代了 synchronized 方法和语句的使用,Condition 替代了 Object 监视器方法的使用。
条件(也称为条件队列或条件变量)为线程提供了一
开源中国OSC源创会记录
bijian1013
hadoop spark MemSQL
一.Strata+Hadoop World(SHW)大会
是全世界最大的大数据大会之一。SHW大会为各种技术提供了深度交流的机会,还会看到最领先的大数据技术、最广泛的应用场景、最有趣的用例教学以及最全面的大数据行业和趋势探讨。
二.Hadoop
&nbs
【Java范型七】范型消除
bit1129
java
范型是Java1.5引入的语言特性,它是编译时的一个语法现象,也就是说,对于一个类,不管是范型类还是非范型类,编译得到的字节码是一样的,差别仅在于通过范型这种语法来进行编译时的类型检查,在运行时是没有范型或者类型参数这个说法的。
范型跟反射刚好相反,反射是一种运行时行为,所以编译时不能访问的变量或者方法(比如private),在运行时通过反射是可以访问的,也就是说,可见性也是一种编译时的行为,在
【Spark九十四】spark-sql工具的使用
bit1129
spark
spark-sql是Spark bin目录下的一个可执行脚本,它的目的是通过这个脚本执行Hive的命令,即原来通过
hive>输入的指令可以通过spark-sql>输入的指令来完成。
spark-sql可以使用内置的Hive metadata-store,也可以使用已经独立安装的Hive的metadata store
关于Hive build into Spark
js做的各种倒计时
ronin47
js 倒计时
第一种:精确到秒的javascript倒计时代码
HTML代码:
<form name="form1">
<div align="center" align="middle"
java-37.有n 个长为m+1 的字符串,如果某个字符串的最后m 个字符与某个字符串的前m 个字符匹配,则两个字符串可以联接
bylijinnan
java
public class MaxCatenate {
/*
* Q.37 有n 个长为m+1 的字符串,如果某个字符串的最后m 个字符与某个字符串的前m 个字符匹配,则两个字符串可以联接,
* 问这n 个字符串最多可以连成一个多长的字符串,如果出现循环,则返回错误。
*/
public static void main(String[] args){
mongoDB安装
开窍的石头
mongodb安装 基本操作
mongoDB的安装
1:mongoDB下载 https://www.mongodb.org/downloads
2:下载mongoDB下载后解压
 
[开源项目]引擎的关键意义
comsci
开源项目
一个系统,最核心的东西就是引擎。。。。。
而要设计和制造出引擎,最关键的是要坚持。。。。。。
现在最先进的引擎技术,也是从莱特兄弟那里出现的,但是中间一直没有断过研发的
 
软件度量的一些方法
cuiyadll
方法
软件度量的一些方法http://cuiyingfeng.blog.51cto.com/43841/6775/在前面我们已介绍了组成软件度量的几个方面。在这里我们将先给出关于这几个方面的一个纲要介绍。在后面我们还会作进一步具体的阐述。当我们不从高层次的概念级来看软件度量及其目标的时候,我们很容易把这些活动看成是不同而且毫不相干的。我们现在希望表明他们是怎样恰如其分地嵌入我们的框架的。也就是我们度量的
XSD中的targetNameSpace解释
darrenzhu
xml namespace xsd targetnamespace
参考链接:
http://blog.csdn.net/colin1014/article/details/357694
xsd文件中定义了一个targetNameSpace后,其内部定义的元素,属性,类型等都属于该targetNameSpace,其自身或外部xsd文件使用这些元素,属性等都必须从定义的targetNameSpace中找:
例如:以下xsd文件,就出现了该错误,即便是在一
什么是RAID0、RAID1、RAID0+1、RAID5,等磁盘阵列模式?
dcj3sjt126com
raid
RAID 1又称为Mirror或Mirroring,它的宗旨是最大限度的保证用户数据的可用性和可修复性。 RAID 1的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。由于对存储的数据进行百分之百的备份,在所有RAID级别中,RAID 1提供最高的数据安全保障。同样,由于数据的百分之百备份,备份数据占了总存储空间的一半,因而,Mirror的磁盘空间利用率低,存储成本高。
Mir
yii2 restful web服务快速入门
dcj3sjt126com
PHP yii2
快速入门
Yii 提供了一整套用来简化实现 RESTful 风格的 Web Service 服务的 API。 特别是,Yii 支持以下关于 RESTful 风格的 API:
支持 Active Record 类的通用API的快速原型
涉及的响应格式(在默认情况下支持 JSON 和 XML)
支持可选输出字段的定制对象序列化
适当的格式的数据采集和验证错误
MongoDB查询(3)——内嵌文档查询(七)
eksliang
MongoDB查询内嵌文档 MongoDB查询内嵌数组
MongoDB查询内嵌文档
转载请出自出处:http://eksliang.iteye.com/blog/2177301 一、概述
有两种方法可以查询内嵌文档:查询整个文档;针对键值对进行查询。这两种方式是不同的,下面我通过例子进行分别说明。
二、查询整个文档
例如:有如下文档
db.emp.insert({
&qu
android4.4从系统图库无法加载图片的问题
gundumw100
android
典型的使用场景就是要设置一个头像,头像需要从系统图库或者拍照获得,在android4.4之前,我用的代码没问题,但是今天使用android4.4的时候突然发现不灵了。baidu了一圈,终于解决了。
下面是解决方案:
private String[] items = new String[] { "图库","拍照" };
/* 头像名称 */
网页特效大全 jQuery等
ini
JavaScript jquery css html5 ini
HTML5和CSS3知识和特效
asp.net ajax jquery实例
分享一个下雪的特效
jQuery倾斜的动画导航菜单
选美大赛示例 你会选谁
jQuery实现HTML5时钟
功能强大的滚动播放插件JQ-Slide
万圣节快乐!!!
向上弹出菜单jQuery插件
htm5视差动画
jquery将列表倒转顺序
推荐一个jQuery分页插件
jquery animate
swift objc_setAssociatedObject block(version1.2 xcode6.4)
啸笑天
version
import UIKit
class LSObjectWrapper: NSObject {
let value: ((barButton: UIButton?) -> Void)?
init(value: (barButton: UIButton?) -> Void) {
self.value = value
Aegis 默认的 Xfire 绑定方式,将 XML 映射为 POJO
MagicMa_007
java POJO xml Aegis xfire
Aegis 是一个默认的 Xfire 绑定方式,它将 XML 映射为 POJO, 支持代码先行的开发.你开发服 务类与 POJO,它为你生成 XML schema/wsdl
XML 和 注解映射概览
默认情况下,你的 POJO 类被是基于他们的名字与命名空间被序列化。如果
js get max value in (json) Array
qiaolevip
每天进步一点点 学习永无止境 max 纵观千象
// Max value in Array
var arr = [1,2,3,5,3,2];Math.max.apply(null, arr); // 5
// Max value in Jaon Array
var arr = [{"x":"8/11/2009","y":0.026572007},{"x"
XMLhttpRequest 请求 XML,JSON ,POJO 数据
Luob.
POJO json Ajax xml XMLhttpREquest
在使用XMlhttpRequest对象发送请求和响应之前,必须首先使用javaScript对象创建一个XMLHttpRquest对象。
var xmlhttp;
function getXMLHttpRequest(){
if(window.ActiveXObject){
xmlhttp:new ActiveXObject("Microsoft.XMLHTTP
jquery
wuai
jquery
以下防止文档在完全加载之前运行Jquery代码,否则会出现试图隐藏一个不存在的元素、获得未完全加载的图像的大小 等等
$(document).ready(function(){
jquery代码;
});
<script type="text/javascript" src="c:/scripts/jquery-1.4.2.min.js&quo