51dev.com IT技术开发者社区

51dev.com 技术开发者社区

理解Python中的装饰器

理解Python中的装饰器

文章先由stackoverflow上面的一个问题引起吧,如果使用如下的代码: @makebold@makeitalicdefsay():return"Hello" 打印出如下的输出:<b><i>Hello<i></b> 你...

使用 voluptuous 校验数据

使用 voluptuous 校验数据

在Python中,我们经常需要对参数进行校验,这是我们有好多种方法,例如写很多if啊,或者写正则表达式啊等等,技巧高的人可以写得很巧妙,而技巧一般的人呢,可能会写得很冗长,例如我,经常就不能很好得处理参数校验的代码。所以我就不断得寻找,终于最近发现了一个不错的python参数校验lib,叫做volu...

apache bench(ab)压力测试模拟POSt请求

apache bench(ab)压力测试模拟POSt请求

ab命令格式:-N|--count总请求数,缺省:5w-C|--clients并发数,缺省:100-R|--rounds测试次数,缺省:10次-S|-sleeptime间隔时间,缺省:10秒-I|--min最小并发数, 缺省:0-X|--max最大并发数,缺省:0-J|--step次递增并发数-R|...

使用pabot并发执行robotframework的testSuite

使用pabot并发执行robotframework的testSuite

下载robotremoteserver-1.0.1.tar.gz、robotframework-pabot-0.22.tar.gz 执行以下命令,以安装pabot:pipinstallrobotremoteserver-1.0.1.tar.gzpipinstallrobotframewor...

Mac OS启动服务优化高级篇(launchd tuning)

Mac OS启动服务优化高级篇(launchd tuning)

Mac下的启动服务主要有三个地方可配置:1,系统偏好设置-&gt;帐户-&gt;登陆项2,/System/Library/StartupItems和/Library/StartupItems/3,launchd系统初始化进程配置。前两种优化比较简单,本文主要介绍的是第三种更为复杂的l...

Python实现简单的HTTP服务器(支持文件上传下载)

Python实现简单的HTTP服务器(支持文件上传下载)

1、python内置模块 SimpleHTTPServer (支持下载功能)在对应的工作目录下,运行命令python-m SimpleHTTPServer 即可把当前目录下以共享服务的形式共享出去。外部访问可通过访问:http://ip:端口号来访问 ...

在MacOS下Python安装lxml报错xmlversion.h not found 报错的解决方案

在MacOS下Python安装lxml报错xmlversion.h not found 报错的解决方案

最近在看一个自动化测试框架的问题,需要用到Lxml库,下载lxml总是报错。1,使用pip安装lxmlpipinstalllxml2,然后报错了,报错内容是:Infileincludedfromsrc/lxml/lxml.etree.c:139:src/lxml/etree_defs.h:9:10:...

Web缓存基础:术语、HTTP报头和缓存策略

Web缓存基础:术语、HTTP报头和缓存策略

简介对于您的站点的访问者来说,智能化的内容缓存是提高用户体验最有效的方式之一。缓存,或者对之前的请求的临时存储,是HTTP协议实现中最核心的内容分发策略之一。分发路径中的组件均可以缓存内容来加速后续的请求,这受控于对该内容所声明的缓存策略。在这份指南中,我们将讨论一些Web内容缓存的基本概念。这主要...

模拟恶劣网络环境常用的几种解决方案

模拟恶劣网络环境常用的几种解决方案

  在解决日常的支持需求中,经常会遇到一些用户反馈一些无法简单复现的bug,有很大一部分的bug是由于用户自身的网络环境波动,或者是本身网络环境就较为恶劣,而服务在面对这种恶劣的网络环境的健壮性不够,导致会出现一些意想不到的bug。而在正常的开发自测过程中很难去营造出这种恶劣的网络环境,使...

RTMP直播应用与延时分析

RTMP直播应用与延时分析

直播应用中,RTMP和HLS基本上可以覆盖所有客户端观看,HLS主要是延时比较大,RTMP主要优势在于延时低。低延时应用场景包括: . 互动式直播:譬如2013年大行其道的美女主播,游戏直播等等   各种主播,流媒体分发给用户观看。用户可以文字聊天和...

用Redis作为Mysql数据库的缓存【转】

用Redis作为Mysql数据库的缓存【转】

用Redis作Mysql数据库缓存,必须解决2个问题。首先,应该确定用何种数据结构存储来自Mysql的数据;在确定数据结构之后,还要考虑用什么标识作为该数据结构的键。直观上看,Mysql中的数据都是按表存储的;更微观地看,这些表都是按行存储的。每执行一次select查询,Mysql都会返回一个结果集...

使用curl来调试你的应用

使用curl来调试你的应用

我们在客户端开发过程中总免不了和后端进行api对接,有时候需要对返回的数据格式进行调试,有时候每次运行客户端来发送请求,这个未免效率太低,这里就来介绍一个好用的工具--curl。curl是一个向服务器传输数据的工具,它支持http、https、ftp、ftps、scp、sftp、tftp、telne...

缓存雪崩,缓存穿透解决方案

缓存雪崩,缓存穿透解决方案

1. 缓存穿透:查询一个必然不存在的数据。比如文章表,查询一个不存在的id,每次都会访问DB,如果有人恶意破坏,很可能直接对DB造成影响。解决办法:对所有可能查询的参数以hash形式存储,在控制层先进行校验,不符合则丢弃。2.缓存失效:如果缓存集中在一段时间内失效,DB的压力凸显。这个没有...

Linux Curl常用命令使用【转】

Linux Curl常用命令使用【转】

Curl是Linux下一个很强大的http命令行工具,其功能十分强大。1)读取网页$curllinuxidc.com">http://www.linuxidc.com2)保存网页$curl http://www.linuxidc.com >page.html$curl...

移动平台下的Socket几个问题

移动平台下的Socket几个问题

在页游时代,使用FlashActionScript3.0进行开发,as3提供比较简单和健全的socketAPI。到了手游时代,基于tcp的socket编程遇到了一些棘手的问题。通常情况下手游都要支持至少二大主流平台:Android、IOS,二者共存,暂时没有迹象表现哪一方会没落。 页游跑在...