大家都知道接口测试框架有很多,到底哪个最好用呢?他们都有哪些优缺点?今天我们就来评测一下这些框架。
Java Rest-assured:是使用代码来实现接口的请求,封装业务流程,对于公司的业务支持比较高,灵活度很强,可以通过代码的方式打造自己公司的接口自动化框架,上手有点难度,需要有Java 编程基础,才可以使用。
Python + Request 框架:是使用代码来实现接口的请求,封装业务流程,对于公司的业务支持比较高,可以根据业务的灵活度来定制化开发接口框架,再加上Jenkins 就可以持续化集成。上手有点难度,需要有Python 编码的基础,才可以使用。
Robot Framework
机器人框架是一个通用的开放源码自动化框架,用于验收测试、验收测试驱动开发(ATDD)和机器人过程自动化(RPA)。它具有易于使用的表格测试数据语法,并利用关键字驱动的测试方法.它的测试功能可以通过用Python或Java实现的测试库来扩展,用户可以使用与创建测试用例相同的语法从现有的测试库中创建新的更高级别的关键字 。
HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求,中文地址 https://cn.httprunner.org/ 官网已经有很详细的介绍。
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}
结果:不考虑,没人愿意这么写接口用例。
postman + Newman + Jenkins
postman + Newman + Jenkins 实现接口自动化框架,postman 方便日常的调试,非常的方便,测试的断言,设置前置条件,环境变量,response 参数提取 非常方便,我在日常工作中经常使用 postman进行接口的调试。postman高级的功能可以付费进行定制化(我还没有试验过付费的功能,在日常工作中 免费版本就已经够使用的了)。官网文档 https://learning.getpostman.com/docs/
JMeter
Jmeter 可以做于接口自动化工具,也可以用于性能测试,在性能测方面很强大,我在工作中用的不多,Vue+Flask 搭建自己公司的接口测试平台,可以自由定制化自己公司的业务,实现公司特殊的需求,接口测试平台,对于测试的开发能力有要求,前端 Vue ,后端 Flask & Django 框架,代码能力要求高,前后端的技术都需要懂。
JMeter
优点
支持参数化
不需要写代码
缺点
创建接口用例效率不高。
不能生成查看每一个接口执行情况的测试报告。
总结:不考虑,接口编写不方便,最主要是不能生成测试报告,如果做接口性能的话可以考虑。
HttpRunner
优点:
基于YAML/JSON格式,专注于接口本身的编写。
接口编写简单
生成测试报告
接口录制功能。
缺点:
没有编辑器插件对语法校验,容易出错。
官方文档没有详细的说明。
扩展不方便。
[
{
"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行为驱动测试框架——gauge
优点:
行为文件与脚本文件分离,本质上实现了数据驱动。
功能强大灵活,本质上还用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
利用现有的框架和库自己定制: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 。
HttpRunner 没有编辑器插件,本身就是一个YAML/JSON配置文件,所以配置写错了,但只要是合法的YAML/JSON格式,也看不出来,只有运行的过后才知道。就像你用记事本写代码一样,只有运行了才知道代码有没有写错。
另外,扩展起来也不是特别方便,单独用python实现一些函数:在json文件中
{"device_sn": "${gen_random_string(15)}"}
以这样的方式引用gen_random_string() 函数。
gauge我已经分享过两篇基础文章了,虽然用BDD拿来做接口理念不搭,但并不是不可以,唯一的缺点是用BDD来描述接口行为不合适,其他的都没毛病,可以参数化,断言写起来也简单,测试报告也漂亮,本质上还是用Python实现一些功能,所以非常灵活。
unittest + requests + HTMLTestRunner是我最熟悉的方案,几乎没什么短板。以前通过这种方案写过很多测试用例,这次把ddt加上似乎更完美了。
总结
对于单接口,变化不多的可以使用 Postman、 Jmeter、HttpRunner框架就可以满足了,需要多个接口组合满足于一些场景的,需要自己编写代码来实现了 比如:
登录,提取token,查询商品ID 订单ID 进行购买商品,支付,以及查询用户购买订单状态
对于一些业务场景涉及多个接口的,需要使用代码的方式来查询接口需要的前置信息,如 token, 商品ID,订单ID,订单状态,以实现业务场景的接口功能测试。
你可能感兴趣的:(全面评测哪个接口自动化测试框架最好用?)
- 交通部标JT808及JT1078车辆定位与视频监控平台开源对比
lingx_gps
车联网jt808部标808JT808协议车载监控平台
1、GPS部标软件平台和视频软件平台技术支持:个人或不详联系QQ:2379423771演示地址:没有演示地址,只有博客网址:http://www.jt808.com/最早的GPS定位平台商业开源先驱,应该是经验最丰富。但没有演示平台比较可惜2、车辆动态监控系统技术支持:泉州市领新信息科技有限公司联系QQ:283853318演示地址:http://gps.lingx.com,登陆用户:admin,密
- 追记中国近代天文事业的奠基人之一高鲁先生!
天马行文
1877年5月16日,中国天文学家高鲁(1877年5月16日-1947年6月26日)诞生。他是中国近代天文事业的奠基人之一。图:中国近代天文事业的奠基人之—---高鲁自1840年鸦片战争以来,中国逐渐沦为半殖民地半封建社会,内忧外患、战乱动荡,人民生活困苦,科技水平更是处于全面落后的状态,当时的天文学发展也不例外。官方的机构钦天监只有编撰历书这项职能,而在引进先进技术、组织观测研究、发展近代天文学
- 公共部门薪酬制度的完善
w_afbf
薪酬管理是公共部门管理工作中的重点内容,传统的薪酬管理制度对于公平与效率两者的考虑不够全面,因此在个人、内部以及外部薪酬管理中均存在一定的问题,为使薪酬制度更加公平,使员工工作效率更高,可以采取以下措施:1.提高个人薪酬的多样性提高个人薪酬的多样性是解决个人薪酬以及内部薪酬中存在的问题的策略。公共部门员工的生活背景以及当前各方面的状况会存在一定的差别,提高个人薪酬多样性的意义在于在尊重上述差别的基
- 如何买到网上最便宜又质量好的商品?如何在网上购物中找到性价比最高的商品?
浮沉导师
如今,越来越多的人选择在网上购物,享受便利的同时也追求购买便宜而又质量好的商品。那么,在众多的在线商城中,如何才能买到最便宜的商品呢?本文将为您分享一些实用的网购技巧,助您轻松买到性价比高的商品。一、对比价格,选择可靠的平台在进行网购时,第一步要做的是对比不同平台上的商品价格。同一款商品在不同的平台上价格往往会有所差异。可以通过比较多个平台的价格,选择最优惠的那个。但也要确保选择的平台是可靠和信誉
- 传统中式糕点,现在有了更健康的做法,口感香脆解馋,更好吃
美食达人计划
说到桃酥,我们都知道这是一款非常传统的中式点心。很多人都特别喜欢吃那香脆的口感,传说桃酥可是宫廷的名点哦,其制作流程非常复杂,而且用料非常考究。我奶奶就特别喜欢吃桃酥,以前隔三差五总叫我爸给她买一点桃酥。奶奶总喜欢把桃酥装在罐子里,馋的时候就拿两块吃吃,能解馋又能管饱。但是,现在的桃酥虽然口感上有点那个感觉,但是并不能说是最正宗的。如果想追求最传统的桃酥做法,其制作手法和材料也不是非常的健康。比如
- 淘宝返利app叫什么?淘宝返利软件哪个最好用?
氧惠好项目
很多剁手党可能都很好奇,淘宝买东西返利的app有哪些?淘宝返利app哪个佣金高小编用过很过款返利软件:氧惠,花生,粉象,高佣,芝麻,好省,果冻,吉想优选等,最后感觉还是氧惠的佣金更高,大家可以尝试一下氧惠是目前返利最高的电商导购平台,他集成了淘宝、天猫、京东、拼多多、唯品会、苏宁易购、考拉海购、美团、饿了么、话费、电费、中石油、中石化加油卡充值等主流消费购物平台,满足用户日常吃喝玩乐衣食住行。氧惠
- flask和fastapi和streamlit有什么区别
小霖同学onism
小白的摸爬滚打flaskfastapipython
Flask、FastAPI和Streamlit都是用于构建Web应用程序的Python框架或工具,但它们的用途和特点各不相同。以下是它们之间的主要区别:1.Flask简介:Flask是一个轻量级的、易于使用的PythonWeb框架,非常适合构建简单的Web应用和API。特点:灵活性高:Flask仅提供最基础的功能,允许开发者根据需要引入第三方扩展和库。社区支持:拥有庞大的社区和丰富的第三方扩展,易
- 山沟沟里的人
最后三年
我是山沟沟里走出来的人,相信每个人都不会爱那样的家乡。土地贫瘠,落后,人们素质差,最关键的是贫穷,因为穷限制了所有的一切一切。而导致贫穷的原因数不胜数。最关键的是那里的每个人都“心穷”。或许我就不应该来到这个世界,这么多年了我一直都是这样认为的。1995年的时候,我母亲和我父亲认识了。96年的时候我出生了。父亲小母亲3岁,父亲家里很穷,父亲有一个80多岁的奶奶,聋哑的母亲和痴傻的父亲,其次就是一间
- 第11届易趣玩国学思维打卡挑战赛结营仪式。(2)
雪霁晴空喜迎春
高清秀老师:全场最爱学习最尊敬的大朋友小朋友们大家晚上好,非常感谢主持人的介绍,我是来自广州从化的高清秀,很荣幸在这个平台与大家一起学习成长,非常感谢毛老师,感谢德学书苑,也感谢统筹打卡活动,所有的义工老师们的付出,谢谢你们的大爱,你们辛苦了。本人呢,非常荣幸参加第11届一区玩国学思维打卡挑战赛,这也是我参加的第二届打卡活动,在这一届打卡学习当中,我还担任担任了讲师,那现在呢,就代表我们讲师组做一
- 最近的一些感悟 01
qiqiEmily
最近看了些文章,听了些演讲,清晰意识到了很多平常模模糊糊触碰到的概念。~之前有想过自己为什么有的时候做好事总是希望得到对方的谢谢。最微不足道的一个例子:前几年因为自己在国外读书,人们开门时的惯例就是给身后的人撑门。自己也学会并习惯这样做了。被撑门时也会习惯性地说谢谢。回国后第一次注意到好多人真的开门松手的速度是真的像怕后面的人跟着他进来似的,门总是被迎面关上,不过现在似乎留门的人多了。那时我一般也
- “内卷”现象无孔不入,你该如何自处?
三姐爱读书
现下,最火的两个词恐怕要数“内卷”和“躺平”了。生活的方方面面都充斥着严重的内卷现象,搞得大家身心俱疲,疲于应付。然而,如果你真的就此“躺平”,那么,吃亏的还不是自己?你会甘心吗?答案当然是否定的。就这样,你陷入了胶着的状态,焦虑、压力、抱怨随之产生,简直让你透不了气。这时候,你该如何自处?01在《焦虑是头大象:如何一口一口吃掉它》这本书中,心理学治疗师张心悦说道:“我们为了目标,失去了过程中最宝
- 炎帝神农塑像面部各异,山西此地却最特别:黑脸为尝百草中毒面相
中山人读文史
炎帝神农塑像面部各异,山西此地却最特别:黑脸为尝百草中毒面相女娲娘娘生日当天,去了个地方,见了三位圣人——火云宫中的天皇伏羲、地皇炎帝神农、人皇轩辕。《封神演义》原著中,称女娲娘娘是前往朝贺“三皇圣人”的。商纣大战开启后,九龙岛名士——瘟神吕岳散下瘟疫,使西岐军民,都染上了瘟灾。情急之下,西周名将杨戬遵奉玉鼎真人之命,初上火云洞,拜见三皇老爷,求丹取药。伏羲对左边的炎帝说,申公豹违逆天意,扭转天心
- 读《大冈忠相断案故事》:这是一个怎样的案件,大法官居然判了自己死刑?
若水君之
作者,摘录者:若水君之图片发自App作者开篇语:近期一直在看《大冈忠相断案故事》。大冈忠相缜密的思维,破解的奇案令我深深折服。今天要讲的故事,与大冈和他的直系领导——德川吉宗有关。德川吉宗是德川家康的嫡孙,也是一位德高望重的幕府将军。那么,究竟是什么事情让大冈决定要在幕府将军面前自己判自己死刑呢?我们来欣赏今天的故事:法官判自己死刑在江户,人人都确信大冈是最仁慈、正直、秉公办案的法官。无论大街小巷
- 教育智慧从哪里来
刘惠敏
教育智慧从哪里来——读《教育智慧从哪里来》有感“读一本好书,就是和许多高尚的人谈话。”确乎如此。近期,阅读了教育专家王晓春老师所著的《教育智慧从哪里来》颇有感触。书中汇集了100个小学教师及班主任常常碰到的棘手问题,涉及了“教师问题、学生问题、师生关系、教师与家长关系、管理问题”五个方面的常见问题,王晓春老师根据自己多年的教育经验给予每个案例或精彩点评,或细致剖析,或解疑答惑,给予了老师们最直接的
- 90后二孩妈妈带娃长途旅行全攻略(饮食篇)
夏日默茶
“当你背单词的时候,阿拉斯加的鳕鱼正跃出水面;当你算数学的时候,南太平洋的海鸥正掠过海岸;当你晚自习的时候,地球的极圈正五彩斑斓;但少年,梦要你亲自实现,世界你要亲自去看;未来可及拼尽全力。当你为未来付出踏踏实实努力的时候,那些你觉得看不到的人和遇不到的风景都终将在你生命里出现。”这段话我相信很多朋友都很熟悉,引燃了整个夏天。在我的两个宝贝还没有开启背单词、算数学、上晚自习的日子,带着他们尽自己最
- 京东返利是真的吗?京东返利是哪个app?
高省APP珊珊
是的,京东返利是真实存在的。京东返利通常是指通过一些购物返利平台或者特定的推广活动,用户在京东购物后可以获得一定比例的返利。这个返利通常以现金或京东购物卡的形式发放。【高省APP】(高佣金领导者)是一个自用省钱佣金高,分享推广赚钱多的平台,百度有几百万篇报道,运行三年,稳定可靠。高省APP,是2021年推出的平台,0投资,0风险、高省APP佣金更高,模式更好,终端用户不流失。高省是公认的返利最高的
- 2023-09-06
万小平惟道是从_0e6f
时间:2023年09月05-06日姓名:万小平诵读道德经:今日诵读08遍,本月累计22遍!徒步20000步今日感悟:《工作生活就是我们修行的道场》昨天聊吧有老师分享说:在亲子教育存在一些问题,不知道该如何是好!?针对这个问题我们在亲子教育颇有建树的老师做了很全面的,很深入的分享,而且针对性地给了一些解决方法!…大家听后很受启发!非常感恩大家愿意来聊吧把自己的故事分享出来,您的这份真诚值得我们学习!
- 剧本杀谁是凶手《廷达罗斯》凶手是谁剧透+真相答案复盘解析攻略
VX搜_奶茶剧本杀
本文为谁是凶手《廷达罗斯》剧本杀测评+部分真相复盘,获取完整真相复盘只需两步:①、关注微信公众号【奶茶剧本杀】→②、回复谁是凶手《廷达罗斯》即可获取查看谁是凶手《廷达罗斯》剧本杀真相答案复盘+凶手剧透:以下是玩家评测+部分关键证据,凶手,时间线,复盘解析,推理逻辑--------------------------------------------------------------------
- 微信公众号估值神器哪个好?公众号估值依据是什么?
氧惠_飞智666999
在移动互联网时代,微信公众号已成为企业和个人传播信息、建立品牌形象、实现商业价值的重要平台。随着微信生态的日益完善,公众号的商业价值也日益凸显,而公众号的估值则成为衡量其商业价值的重要指标。那么,微信公众号估值究竟有什么用处呢?本文将就此问题进行探讨。公众号流量主就找善士导师(shanshi2024)公众号:「善士笔记」主理人,《我的亲身经历,四个月公众号流量主从0到日入过万!》公司旗下管理800
- 推客佣金联盟返利APP正规靠谱好用吗?推客佣金联盟app怎么赚钱?它能赚钱吗?
日常购物小技巧
今天我们就来说下:推客佣金联盟返利APP正规靠谱好用吗?推客佣金联盟app怎么赚钱?它能赚钱吗?大家好!我是花桃平台最大团队&联合创始人柚子导师。相较于其它返利app,花桃佣金更高,模式更好,终端用户不流失!“推客佣金联盟是河南葱姜蒜商贸有限公司创立的一款可以领取淘宝天猫优惠券的手机软件!包含服装,数码,鞋包等热门优惠商品与京东,淘宝,天猫,拼多多等商城优惠券。简单说,推客佣金联盟是一个全领域的、
- 妈妈
东北老农
妈妈我想您啦,不孝儿子离开了家,您老又多了一份牵挂。因为在妈妈的眼中,儿女永远是长不大的娃。妈妈我想您啦,在这个日子里,我只有一个电话的问候,因为做为父母的我懂的,在外的儿女啊,父母最需要的是一个平安的问候,听到你平安的消息,妈妈的心才会平静。妈妈我想你啦,妈妈您是最伟大的,十月怀胎到哇哇坠地,牙牙学语到长大成人,我们都在您的呵护中成长。如今您以老了,满脸的皱纹和那粗糙干瘪的手,以失去往昔的容颜,
- 2023-04-25
路小非
砥砺奋进新征程实干担当谱新篇全面推进乡村振兴是新时代建设农业强国的重要任务。要牢记习近平总书记关于“产业、人才、文化、生态、组织‘五个振兴’,统筹部署、协同推进,抓住重点、补齐短板”的总要求,要坚持以习近平总书记视察宁夏重要讲话和指示批示精神为指引,牢固树立大抓发展、抓大发展、抓高质量发展的理念,坚持以党建为统领,制度为保障,作风为抓手,推动民生福祉提品质、产业发展开新局、人居环境显成效、基层治理
- 查找与替换那些你不知道的事
我是荷叶田田
今天学习的内容是查找和替换,又get到不少新知识。接着我先向大家介绍下今天的复盘成果。回顾目标:1、查找和替换的不同玩法2、晚上的分享做两张图3、联系小伙伴做逐字稿评估结果:Excel学习实践完成、图片提前做了出来、跟小伙伴的沟通也很愉快分析过程:1、查找和替换的应用又有新的收获,比如快速制作目录,不用借助超链接哦!比如查找新神器everthing,我用了一下,简直不要太好用。有一点耽误了太多时间
- 监控易监测对象及指标之:全面监控MySQL数据库
MXsoft618
智能运维管理系统智能运维管理平台运维管理软件服务器
随着企业信息化建设的不断深入,数据库作为核心数据资产的管理中心,其性能和稳定性直接关系到业务的连续性和企业的运营效率。MySQL作为广泛使用的开源关系型数据库管理系统,其稳定性和性能对于保障业务连续性至关重要。为了确保MySQL数据库的稳定运行和高效性能,对其进行全面监控显得尤为重要。本文基于监控易工具,对MySQL的监测指标进行解读,并探讨如何通过监控来优化数据库性能。一、连通性与响应时间监测连
- 孩子们,你们军训的样子最好看
华华0241b51def6e
金秋骄阳似烈火,沙场健儿秋点兵。看方阵齐整有序,听号令掷地有声。将简单练到极致,将个人融入团队,一切行动听指挥,步调一致得胜利。孩子们,你们军训的样子最好看!这几天,老师由于工作的原因没在学校,但心里总是记挂着你们这些小树能否经得起风雨。从班级群里看到你们的英姿焕发的照片,老师的心情是何等的激动和骄傲!这次军训,可以看到你们在经受了有史以来最严酷的一种训练,你们以顽强的毅力在迎接烈日对你们的考验。
- 又一国足克星要来中超!曾两度攻破国足大门,在日本联赛证明自己
枫桥落夜
众所周知,中国足球这些年下滑得十分严重,各级国足都出现了成绩危机,国青国少从此前的能够经常进入世青赛,到现在连亚青赛的正赛都无缘。国奥队输给越南,国家队更是赢不了印度、巴勒斯坦,菲律宾,甚至主场还被泰国队战胜。所以每次到了亚洲分组赛事,一看我们的小组十有八九就是死亡之组,而且哪个队里似乎都有中国队的克星,都攻破过中国队的大门,甚至绝杀过中国队。可以说中国队的克星从以前的韩国名宿、日本名宿、伊朗名宿
- 三十年之后,这样生活可好?
带露珠的小姐姐
一个人童年在哪,根就在哪。从小在乡下长大,我一直觉得,最幸福的养老方式,就在乡下。那个父母依旧还在的家。三十年之后,我们都老了,这样生活可好?春天,在春寒料峭中整理冬日没有被冻死的花根。然后播下各色各样的种子:蔬菜的种子、适合春天的花种子、还有心中希望的种子。屋里的猫还偎在火炉边,但鸡鸭鹅狗早就冲出来撒欢了。乡下的早春,早晚会很冷。但中午太阳露脸的时候,整个屋里屋外都会充满明媚阳光。正适合懒洋洋的
- 始终坚持人民至上
几许2810
“国以民为本,社稷亦为民而立。”3月13日,习近平总书记在十四届全国人大一次会议上的重要讲话中强调,“我们要始终坚持人民至上。全面建成社会主义现代化强国,人民是决定性力量。”我们党是马克思主义政党,在成立之初就与其他以往任何党派的区别显著,始终坚持“人民至上”,体现了人民是推动发展的根本力量的唯物史观。在革命、建设、改革的历史进程中,我们党正是坚持人民至上,一切为了人民、一切依靠人民,才由小到大、
- 唯品会返利app叫什么 唯品会返利软件哪个佣金高
测评君高省
一、唯品会返利app介绍唯品会返利app叫什么唯品会返利软件哪个佣金高在唯品会购物时,你是否曾想过通过返利app来省钱呢?如果你还没有尝试过,那么现在正是时候了解一些唯品会返利app了。这些app通过与唯品会合作,为消费者提供额外的折扣或返现。当你通过这些app在唯品会购物时,你的订单将会获得额外的返利。这些返利可以用来抵扣订单金额,从而让你更省钱。大家好,我是高省的波西导师。在开始本文的交流之前
- 真正好的关系 都自带分寸感
小绿逗
有句话说得好:“永远不要把友情放在一个不可思议的高度上,有些朋友就是在一个阶段带给自己美好东西的人,互相享受而不要互相捆绑。”真正好的关系,往往都自带分寸感。娱乐圈里,黄渤、徐峥、宁浩被称为“中国影坛最牛铁三角”,3个人能保持深厚的友谊,就是因为他们都特别懂得分寸感。2011年,宁浩想要拍《黄金大劫案》,徐峥很中意影片中男主角这个角色。但宁浩觉得徐峥不合适,就拒绝了徐峥,然后徐峥就再也没有提过这件
- Java常用排序算法/程序员必须掌握的8大排序算法
cugfy
java
分类:
1)插入排序(直接插入排序、希尔排序)
2)交换排序(冒泡排序、快速排序)
3)选择排序(直接选择排序、堆排序)
4)归并排序
5)分配排序(基数排序)
所需辅助空间最多:归并排序
所需辅助空间最少:堆排序
平均速度最快:快速排序
不稳定:快速排序,希尔排序,堆排序。
先来看看8种排序之间的关系:
1.直接插入排序
(1
- 【Spark102】Spark存储模块BlockManager剖析
bit1129
manager
Spark围绕着BlockManager构建了存储模块,包括RDD,Shuffle,Broadcast的存储都使用了BlockManager。而BlockManager在实现上是一个针对每个应用的Master/Executor结构,即Driver上BlockManager充当了Master角色,而各个Slave上(具体到应用范围,就是Executor)的BlockManager充当了Slave角色
- linux 查看端口被占用情况详解
daizj
linux端口占用netstatlsof
经常在启动一个程序会碰到端口被占用,这里讲一下怎么查看端口是否被占用,及哪个程序占用,怎么Kill掉已占用端口的程序
1、lsof -i:port
port为端口号
[root@slave /data/spark-1.4.0-bin-cdh4]# lsof -i:8080
COMMAND PID USER FD TY
- Hosts文件使用
周凡杨
hostslocahost
一切都要从localhost说起,经常在tomcat容器起动后,访问页面时输入http://localhost:8088/index.jsp,大家都知道localhost代表本机地址,如果本机IP是10.10.134.21,那就相当于http://10.10.134.21:8088/index.jsp,有时候也会看到http: 127.0.0.1:
- java excel工具
g21121
Java excel
直接上代码,一看就懂,利用的是jxl:
import java.io.File;
import java.io.IOException;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import
- web报表工具finereport常用函数的用法总结(数组函数)
老A不折腾
finereportweb报表函数总结
ADD2ARRAY
ADDARRAY(array,insertArray, start):在数组第start个位置插入insertArray中的所有元素,再返回该数组。
示例:
ADDARRAY([3,4, 1, 5, 7], [23, 43, 22], 3)返回[3, 4, 23, 43, 22, 1, 5, 7].
ADDARRAY([3,4, 1, 5, 7], "测试&q
- 游戏服务器网络带宽负载计算
墙头上一根草
服务器
家庭所安装的4M,8M宽带。其中M是指,Mbits/S
其中要提前说明的是:
8bits = 1Byte
即8位等于1字节。我们硬盘大小50G。意思是50*1024M字节,约为 50000多字节。但是网宽是以“位”为单位的,所以,8Mbits就是1M字节。是容积体积的单位。
8Mbits/s后面的S是秒。8Mbits/s意思是 每秒8M位,即每秒1M字节。
我是在计算我们网络流量时想到的
- 我的spring学习笔记2-IoC(反向控制 依赖注入)
aijuans
Spring 3 系列
IoC(反向控制 依赖注入)这是Spring提出来了,这也是Spring一大特色。这里我不用多说,我们看Spring教程就可以了解。当然我们不用Spring也可以用IoC,下面我将介绍不用Spring的IoC。
IoC不是框架,她是java的技术,如今大多数轻量级的容器都会用到IoC技术。这里我就用一个例子来说明:
如:程序中有 Mysql.calss 、Oracle.class 、SqlSe
- 高性能mysql 之 选择存储引擎(一)
annan211
mysqlInnoDBMySQL引擎存储引擎
1 没有特殊情况,应尽可能使用InnoDB存储引擎。 原因:InnoDB 和 MYIsAM 是mysql 最常用、使用最普遍的存储引擎。其中InnoDB是最重要、最广泛的存储引擎。她 被设计用来处理大量的短期事务。短期事务大部分情况下是正常提交的,很少有回滚的情况。InnoDB的性能和自动崩溃 恢复特性使得她在非事务型存储的需求中也非常流行,除非有非常
- UDP网络编程
百合不是茶
UDP编程局域网组播
UDP是基于无连接的,不可靠的传输 与TCP/IP相反
UDP实现私聊,发送方式客户端,接受方式服务器
package netUDP_sc;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.Ine
- JQuery对象的val()方法执行结果分析
bijian1013
JavaScriptjsjquery
JavaScript中,如果id对应的标签不存在(同理JAVA中,如果对象不存在),则调用它的方法会报错或抛异常。在实际开发中,发现JQuery在id对应的标签不存在时,调其val()方法不会报错,结果是undefined。
- http请求测试实例(采用json-lib解析)
bijian1013
jsonhttp
由于fastjson只支持JDK1.5版本,因些对于JDK1.4的项目,可以采用json-lib来解析JSON数据。如下是http请求的另外一种写法,仅供参考。
package com;
import java.util.HashMap;
import java.util.Map;
import
- 【RPC框架Hessian四】Hessian与Spring集成
bit1129
hessian
在【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中介绍了基于Hessian的RPC服务的实现步骤,在那里使用Hessian提供的API完成基于Hessian的RPC服务开发和客户端调用,本文使用Spring对Hessian的集成来实现Hessian的RPC调用。
定义模型、接口和服务器端代码
|---Model
&nb
- 【Mahout三】基于Mahout CBayes算法的20newsgroup流程分析
bit1129
Mahout
1.Mahout环境搭建
1.下载Mahout
http://mirror.bit.edu.cn/apache/mahout/0.10.0/mahout-distribution-0.10.0.tar.gz
2.解压Mahout
3. 配置环境变量
vim /etc/profile
export HADOOP_HOME=/home
- nginx负载tomcat遇非80时的转发问题
ronin47
nginx负载后端容器是tomcat(其它容器如WAS,JBOSS暂没发现这个问题)非80端口,遇到跳转异常问题。解决的思路是:$host:port
详细如下:
该问题是最先发现的,由于之前对nginx不是特别的熟悉所以该问题是个入门级别的:
? 1 2 3 4 5
- java-17-在一个字符串中找到第一个只出现一次的字符
bylijinnan
java
public class FirstShowOnlyOnceElement {
/**Q17.在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
* 1.int[] count:count[i]表示i对应字符出现的次数
* 2.将26个英文字母映射:a-z <--> 0-25
* 3.假设全部字母都是小写
*/
pu
- mongoDB 复制集
开窍的石头
mongodb
mongo的复制集就像mysql的主从数据库,当你往其中的主复制集(primary)写数据的时候,副复制集(secondary)会自动同步主复制集(Primary)的数据,当主复制集挂掉以后其中的一个副复制集会自动成为主复制集。提供服务器的可用性。和防止当机问题
mo
- [宇宙与天文]宇宙时代的经济学
comsci
经济
宇宙尺度的交通工具一般都体型巨大,造价高昂。。。。。
在宇宙中进行航行,近程采用反作用力类型的发动机,需要消耗少量矿石燃料,中远程航行要采用量子或者聚变反应堆发动机,进行超空间跳跃,要消耗大量高纯度水晶体能源
以目前地球上国家的经济发展水平来讲,
- Git忽略文件
Cwind
git
有很多文件不必使用git管理。例如Eclipse或其他IDE生成的项目文件,编译生成的各种目标或临时文件等。使用git status时,会在Untracked files里面看到这些文件列表,在一次需要添加的文件比较多时(使用git add . / git add -u),会把这些所有的未跟踪文件添加进索引。
==== ==== ==== 一些牢骚
- MySQL连接数据库的必须配置
dashuaifu
mysql连接数据库配置
MySQL连接数据库的必须配置
1.driverClass:com.mysql.jdbc.Driver
2.jdbcUrl:jdbc:mysql://localhost:3306/dbname
3.user:username
4.password:password
其中1是驱动名;2是url,这里的‘dbna
- 一生要养成的60个习惯
dcj3sjt126com
习惯
一生要养成的60个习惯
第1篇 让你更受大家欢迎的习惯
1 守时,不准时赴约,让别人等,会失去很多机会。
如何做到:
①该起床时就起床,
②养成任何事情都提前15分钟的习惯。
③带本可以随时阅读的书,如果早了就拿出来读读。
④有条理,生活没条理最容易耽误时间。
⑤提前计划:将重要和不重要的事情岔开。
⑥今天就准备好明天要穿的衣服。
⑦按时睡觉,这会让按时起床更容易。
2 注重
- [介绍]Yii 是什么
dcj3sjt126com
PHPyii2
Yii 是一个高性能,基于组件的 PHP 框架,用于快速开发现代 Web 应用程序。名字 Yii (读作 易)在中文里有“极致简单与不断演变”两重含义,也可看作 Yes It Is! 的缩写。
Yii 最适合做什么?
Yii 是一个通用的 Web 编程框架,即可以用于开发各种用 PHP 构建的 Web 应用。因为基于组件的框架结构和设计精巧的缓存支持,它特别适合开发大型应
- Linux SSH常用总结
eksliang
linux sshSSHD
转载请出自出处:http://eksliang.iteye.com/blog/2186931 一、连接到远程主机
格式:
ssh name@remoteserver
例如:
ssh
[email protected]
二、连接到远程主机指定的端口
格式:
ssh name@remoteserver -p 22
例如:
ssh i
- 快速上传头像到服务端工具类FaceUtil
gundumw100
android
快速迭代用
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOExceptio
- jQuery入门之怎么使用
ini
JavaScripthtmljqueryWebcss
jQuery的强大我何问起(个人主页:hovertree.com)就不用多说了,那么怎么使用jQuery呢?
首先,下载jquery。下载地址:http://hovertree.com/hvtart/bjae/b8627323101a4994.htm,一个是压缩版本,一个是未压缩版本,如果在开发测试阶段,可以使用未压缩版本,实际应用一般使用压缩版本(min)。然后就在页面上引用。
- 带filter的hbase查询优化
kane_xie
查询优化hbaseRandomRowFilter
问题描述
hbase scan数据缓慢,server端出现LeaseException。hbase写入缓慢。
问题原因
直接原因是: hbase client端每次和regionserver交互的时候,都会在服务器端生成一个Lease,Lease的有效期由参数hbase.regionserver.lease.period确定。如果hbase scan需
- java设计模式-单例模式
men4661273
java单例枚举反射IOC
单例模式1,饿汉模式
//饿汉式单例类.在类初始化时,已经自行实例化
public class Singleton1 {
//私有的默认构造函数
private Singleton1() {}
//已经自行实例化
private static final Singleton1 singl
- mongodb 查询某一天所有信息的3种方法,根据日期查询
qiaolevip
每天进步一点点学习永无止境mongodb纵观千象
// mongodb的查询真让人难以琢磨,就查询单天信息,都需要花费一番功夫才行。
// 第一种方式:
coll.aggregate([
{$project:{sendDate: {$substr: ['$sendTime', 0, 10]}, sendTime: 1, content:1}},
{$match:{sendDate: '2015-
- 二维数组转换成JSON
tangqi609567707
java二维数组json
原文出处:http://blog.csdn.net/springsen/article/details/7833596
public class Demo {
public static void main(String[] args) { String[][] blogL
- erlang supervisor
wudixiaotie
erlang
定义supervisor时,如果是监控celuesimple_one_for_one则删除children的时候就用supervisor:terminate_child (SupModuleName, ChildPid),如果shutdown策略选择的是brutal_kill,那么supervisor会调用exit(ChildPid, kill),这样的话如果Child的behavior是gen_