自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 浏览器的缓存机制

之前面试被问到浏览器的缓存机制,确实了解的不多,现在来记录一下最近知道的。1、浏览器缓存的概念简单来说,浏览器缓存就是把一个已经请求过的资源拷贝一份存储起来,当下次需要该资源时,浏览器会根据缓存机制决定直接使用缓存资源还是再次向服务器发送请求。如图:from memory cache 就代表着从缓存中获取的数据,并且大部分数据都是浏览器直接读取了缓存。2、浏览器缓存的作用我觉得作用可...

2019-06-10 15:25:55 273

原创 Charles的使用方法

Charles 是在 PC 端常用的网络封包截取工具,但它不仅仅能在pc端使用,还可以在手机ios和安卓端都可以使用。我们在做移动开发或者测试网页app时候,为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。除了一般的调试,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Charles 还可以分析 Https 协议。Charles 通过将自...

2019-05-27 17:05:30 3072 1

原创 mysql数据库jumbo安装

1、安装jumbobash -c “$( curl http://jumbo.baidu.com/install_jumbo.sh )”; source ~/.bashrc2、安装mysqljumbo install mysql3、启动mysqlcd .jumbo/bin && ./mysqld (之后用 grep查看进程是否启动)4、设置密码首先结束mysql...

2019-05-23 15:07:48 1063

原创 Monkey脚本

本文简要描述了现有Monkey脚本(即RunMonkey.ps1)的执行流程,也就是Monkey测试的流程准备阶段1.获取当前的时间(为了计算报告中的“执行时间”)2.获取当前连接设备的SN a.如果当前连接了多个设备,取第一个(后续如果有必要再改成可配) b.如果当前没有连接设备,报错退出3.下载目标安装包(安装包路径通过$inputUrl变量传入,并通过 Do...

2019-05-23 14:41:39 334

原创 python更改镜像源

pip国内的一些镜像阿里云 http://mirrors.aliyun.com/pypi/simple/  中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/  豆瓣(douban) http://pypi.douban.com/simple/  清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/  中...

2019-05-09 20:28:07 3187

原创 adb 常用命令

常用命令adb查看设备:adb devices安装应用:adb install +路径覆盖安装应用:adb install -r +路径卸载应用:adb uninstall +包查看包的信息,包括(md5,包名,versionname,versioncode等) :aapt dump badging +包路径,可简写为adb d bading +包路径强制停止(强杀进程)一个应用:ad...

2019-05-08 11:40:51 552

原创 Android app自动化测试(Monkey的测试原理和方法)

参考资料:http://blog.csdn.net/io_field/article/details/52189972一、Monkey测试原理:Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法...

2019-02-21 09:51:23 251

原创 测试用例的设计

黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景图法等。(一)等价类划分法定义:等价类划分法是把所有可能输入的数据,即程序的输入域划分策划国内若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。方法是一种重要的、常用的黑盒测试用例设计方法。等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭...

2019-02-21 09:47:27 436

原创 HTTP协议的版本介绍

HTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 更是让它成为技术热点。本文介绍 HTTP 协议的历史演变和设计思路。一、HTTP/0.9HTTP 是基于 TCP/IP 协议的应用层协议。它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口。最早版本是1991年发布的0.9版。该版本极其简单,只有一个命令GET。GE...

2019-01-22 10:14:23 897 1

原创 缓存技术

**缓存就是将数据存储于服务器内存。**缓存是分布式系统中的重要组件,主要解决高并发,大数据场景下,热点数据访问的性能问题。提供高性能的数据快速访问。1、缓存的原理将数据写入/读取速度更快的存储(设备);将数据缓存到离应用最近的位置;将数据缓存到离用户最近的位置。2、缓存分类CDN缓存;内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就...

2019-01-22 09:54:57 116

原创 DNS域名解析服务器过程

DNS域名解析服务器原理;1. 浏览器先检查自身缓存中有没有被解析过的这个域名对应的ip地址,如果有,解析结束。同时域名被缓存的时间也可通过TTL属性来设置。2. 如果浏览器缓存中没有(专业点叫还没命中),浏览器会检查操作系统缓存中有没有对应的已解析过的结果。而操作系统也有一个域名解析的过程。在windows中可通过c盘里一个叫hosts的文件来设置,如果你在这里指定了一个域名对应的ip地...

2019-01-17 23:45:25 1111

原创 shell中的变量

1. 变量定义1.普通变量普通变量的定义方式有如下三种,接下来我们就分别说一下这三种方式方式一:变量名=变量值 重点:变量值必须是一个整体,中间没有特殊字符方式二:变量名=‘变量值’ 重点:不解析变量值的内容方式三:变量名=“变量值” 重点:如果变量值范围内,有可以解析的变量A,那么首先解析变量A,将A的结果和其他内容组合成一个整体,重新赋值给变量B习惯:数字不加引号,其他默认加...

2019-01-08 21:17:51 195

原创 shell脚本

1、创建脚本脚本创建工具:创建脚本的常见编辑器是 vi/vim脚本命名:shell脚本的命名简单来说就是要有意义,方便我们通过脚本名,来知道这个文件是干什么用的文件名以.sh结尾脚本内容:首行指定解释器 #!/bin/bash命令罗列和语法套用注释内容:单行注释:除了首行的#不是注释外,其他所有行内容,只要首个字符是#,那么就表示该行是注释#!/bin/bash...

2018-12-30 16:19:44 152

原创 shell简介

1.什么是shellshell的定义: 在计算机科学中,Shell就是一个命令解释器。shell是位于操作系统和应用程序之间,是他们二者最主要的接口,shell负责把应用程序的输入命令信息解释给操作系统,将操作系统指令处理后的结果解释给应用程序。总结:一句话,shell就是在操作系统和应用程序之间的一个命令翻译工具。2、shell的分类基本上shell分两大类:图形界面shell和...

2018-12-30 15:56:04 177

原创 Git常用命令

一般操作流程:工作区-(暂存区-本地库)--拉取更新本地-推送到远程库

2018-12-23 09:57:50 136

转载 10大Python集成开发环境和代码编辑器(指南)

菜鸟独白使用IDLE或者Python Shell来编写Python是非常适合于简单程序的,但是这些工具往往将大型的编程项目变成一个个充满绝望和沮丧的“坑”。使用一款集成开发环境甚至是一款好的专用的代码编辑器会让编程充满乐趣,但是如何选择呢? 各位看官,不要畏惧,我们将在这里为您解释和揭开无数可供选择的神秘面纱。虽然我们无法决定哪一款最适合于你和你的项目,但是我们会阐明每一款的优缺点,帮...

2018-12-22 12:02:13 1228

原创 关于Python中面向对象的理解

1、什么是面向对象面向对象的程序设计的核心是对象(上帝式思维),要理解对象是什么,就要把自己当成上帝,上帝眼里世间存在的万物皆对象,不存在的也可以创造出来。对象是特征和技能的结合,其中特征和技能分别对应对象的数据属性和方法属性。2、优缺点优点是: 便于维护,复用性强,具有很高的扩展性。对某一个对象单独修改,会立刻反映到整个体系中,例如对游戏中一个人物的特征和技能修改。缺点:可控性差,无法...

2018-12-22 11:24:36 251 1

原创 简述TCP、UDP,区别及各自优缺点

1、UDPUDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息优点:UDP速度快,操作简单,要求系统资源较少,由于通讯不需要连接可实现广播发送缺点:UDP传送数据前并不与对方简历连接,对接收到的数据也不发送确认信号,发送端不知道数据是否会正确接收,也不重复发送,不可靠2、TCPTCP是面向连接的通讯协议,通过三次握手建立连接,通讯完成时四次挥手优点: TCP在...

2018-12-20 19:45:14 3237

原创 简述session和cookie

cookie:1.Cookie是HTTP协议的规范之一,它是服务器和客户端之间传输的小数据2.由服务器通过响应头把Cookie传输给客户端,客户端会将Cookie保存起来3.当客户端再次请求同一服务器时,客户端会在请求头中添加该服务器保存的Cookie,发送给服务器。4.Cookie就是服务器保存在客户端的数据5.是一个键值对规范:1.Cookie通过请求头和响应头在服务器与客户端...

2018-12-20 19:38:26 355

原创 Python包开启web服务

接下来讲一下语言Web服务的具体实现:第一个Python Web程序——简单的Web服务器。与其它Web后端语言不同,Python语言需要自己编写Web服务器。如果你使用一些现有的框架的话,可以省略这一步;如果你使用Python CGI编程的话,也可以省略这一步;用Python建立最简单的web服务器利用Python自带的包可以建立简单的web服务器。在DOS里cd到准备做服务器根目录的...

2018-12-14 12:27:57 1537 1

原创 Linux常用的一些基础命令

作为一名开发人员,一些简单的linux命令还是要掌握的,下面是关于linux的一些常用的基础命令,希望对大家有所帮助。基础1、进入目录cd 目录名2、显示当前路径 pwd3、显示路径下的文件lsls -a 显示隐藏文件。隐藏文件以 . 开头命名4、查看创建文本 touch abc.txt 查看abc.txt 如果不存在则自动创建5、创建文件夹mkdir 文件名 当...

2018-12-11 16:52:27 155

原创 Python2.x和Python3.x版本的区别

和Python2.x相比,Python3.x版本在语句输出、编码、运算和异常等方面做出了一些调整,具体如下。1.print函数代替了print语句在Python2中,输出数据使用的是print语句,但是在Python3中,使用的print函数。如下:Python2.x>>>print(3, 4)(3, 4)Python3.x>>>print(3,

2018-12-11 16:06:13 1585

原创 Python垃圾回收机制

Python GC主要使用引用计数(reference counting)来跟踪和回收垃圾。在引用计数的基础上,通过“标记-清除”(mark and sweep)解决容器对象可能产生的循环引用问题,通过“分代回收”(generation collection)以空间换时间的方法提高垃圾回收效率。1 引用计数PyObject是每个对象必有的内容,其中ob_refcnt就是做为引用计数。当一个对象...

2018-12-11 10:04:25 126

原创 Python语言特性-闭包

1.闭包的概述闭包是指在一个函数中定义了一个另外一个函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用,这样就构成了一个闭包。2.闭包的特点总结一下,创建一个闭包必须满足以下几点:必须有一个内嵌函数内嵌函数必须引用外部函数中的变量外部函数的返回值必须是内嵌函数由于这样的特点, 使用闭包,可以隐藏内部函数的工作细节,只给外部使用者提供一个可以执行的内部函数的引用...

2018-12-10 20:18:57 288

原创 GIL线程全局锁

1.GIL概述GIL ( Global Interperter Lock ) 称作全局解释器锁。首先需要明确一点,我们所讲的 GIL 并不是 Python 语言的特性,它是在实现 Python 解释器时引用的一个概念。GIL 只在CPython 解释器上存在。2.GIL优缺点优点:GIL 是 Python 解释层面的锁,即Python为了保证线程安全而采取的独立线程运行的限制,说白了就...

2018-12-10 16:32:40 493

原创 Python语言特性-作用域

Python 中,一个变量的作用域总是由在代码中被赋值的地方所决定的。当 Python 遇到一个变量的话他会按照这样的顺序进行搜索:本地作用域(Local)→当前作用域被嵌入的本地作用域(Enclosing locals)→全局/模块作用域(Global)→内置作用域(Built-in)...

2018-12-10 16:17:00 103 1

原创 JWT- 认证机制

关于JWT,我们在之前的Django项目中刚刚用到,它是基于json数据结构的认证规范,简单来说就是验证用户登录状态,跟之前的session很类似,那么,我们为什么用JWT而不用session呢?首先我们要了解一下HTTP:http协议本身是一种无状态的协议,这就意味着每次请求API的时候,都会把用户名和密码传给服务端,当我们通过http请求发送给服务端的时候,很有可能将我们的用户名密码直...

2018-12-09 17:17:31 502

原创 关于HTTP和HTTPS

1.HTTP 和 HTTPS的概念HTTP:超文本传输协议默认端口号:80HTTPS:LHTTP + SSL(安全套接字层),即带有安全套接字层的超本文传输协议默认端口号:443HTTPS比HTTP更加安全,但是性能方面要低一些。2. 浏览器发送HTTP请求的过程2.1 http请求的过程浏览器先向地址栏中的url发起请求,并获取响应在返回的响应内容(html)中,...

2018-12-07 18:01:17 528

原创 爬虫的分类以及爬虫的流程

1 爬虫的分类根据被爬网站的数量的不同,我们把爬虫分为:通用爬虫 :通常指搜索引擎的爬虫(https://www.baidu.com)聚焦爬虫 :针对特定网站的爬虫2 爬虫的流程向起始url发送请求,并获取响应对响应进行提取如果提取url,则继续发送请求获取响应如果提取数据,则将数据进行保存3 robots协议Robots协议:网站通过Robots协议告诉搜索引擎哪些页...

2018-12-07 17:34:54 280

原创 爬虫的基础概念

关于爬虫第一个要了解的就是数据的来源,大致分为以下几点:去第三方的公司购买数据(比如企查查)去免费的数据网站下载数据(比如国家统计局)通过爬虫爬取数据人工收集数据(比如问卷调查)在上面的来源中:人工的方式费时费力,免费的数据网站上的数据质量不佳,很多第三方的数据公司他们的数据来源往往也是爬虫获取的,所以获取数据最有效的途径就是通过爬虫爬取。而爬虫获取数据的用途一般就是在网页或者app...

2018-12-07 17:25:24 123

原创 web测试要点及基本方法

一、 序言在Web工程过程中,基于Web系统的测试、确认和验收是一项重要而富有挑战性的工作。基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。然而,Internet和Web媒体的不可预见性使测试基于Web的系统变得困难。因此,我们必须为测试和评估复杂的基于...

2018-11-26 14:56:56 850

原创 Python语言特性-面向切面编程AOP

我们先来解释一下AOP的概念。AOP 即面向切面编程,指扩展功能不修改源代码,将功能代码从业务逻辑代码中分离出来。主要作用就是将类似于日志记录,性能统计,安全控制,事务处理,异常处理等重复性的代码块从业务逻辑代码中划分出来,对这些行为的分离。并且将它们独立到非知道业务逻辑的方法中,从而做到改变这些行为的时候不影响业务逻辑代码。我们python中使用装饰器实现AOP。装饰器是一个很著名的设计模...

2018-11-11 19:24:29 1041

原创 Python语言特性-*args和**kwargs

用args和**kwargs只是为了方便,并没有强制你使用它们。当你不确定你的函数里将要传递多少参数时你可以用args.例如,它可以传递任意数量的参数:def print_everything(*args): for count, thing in enumerate(args): print '{0}. {1}'.format(count, thing)p...

2018-11-08 16:55:12 116

原创 Web应用程序处理流程

2018-11-04 15:27:28 312 1

原创 Python语言特性-迭代器和生成器

迭代器:定义:对于list、string、tuple、dict等这些容器对象,使用for循环遍历是很方便的。在后台for语句对容器对象调用iter()函数。iter()是python内置函数。iter()函数会返回一个定义了next()方法的迭代器对象,它在容器中逐个访问容器内的元素。next()也是python内置函数。在没有后续元素时,next()会抛出一个StopIteration异常...

2018-10-24 15:47:55 99

原创 Python语言特性-下划线

**python 中的标识符可以包含数字、字母和 ,但必须以字母或者 _ 开头,而以 下划线 () 开头的命名一般具有特殊的意义。**下划线对 python 的意义不同于其他语言,分单下划线、双下划线,并且有前缀有后缀。总的来说有五种形式。单双划线的 5 种形式:单一下划线:_开头单下划线:_var结尾单下划线:var_开头双下划线:__var开头结尾双下划线:__var__一....

2018-10-21 15:35:38 278

原创 Python语言特性-Python自省

Python的自省是python最强大的特性之一。自省就是面向对象的语言所写的程序在运行时,所能知道对象的类型,简单来说就是运行时能够自动获得对象的类型,比如:type(),dir(),getattr(),hasattr(),isinstance().a = [1,2,3]b = {'a':1,'b':2,'c':3}c = Trueprint type(a),type(b),type(...

2018-10-21 14:40:55 174

原创 CSRF跨站请求伪造

**CSRF跨站请求伪造流程**

2018-10-19 11:55:41 177 2

原创 Python语言特性-单例模式

单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且实例易于外界访问,从而方便对实例个数的控制并节省资源。单例模式是指创建唯一对象,单例模式设计的类只能实例 。下面给大家介绍四种方法:1 使用__new__方法new()在__init__()之前被调用,用于生成实例对象。利用这个方法和类的属性的特点可以实现设计模...

2018-10-18 15:48:45 249

原创 Python语言特性-鸭子类型

“当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。”我们并不关心对象是什么类型,到底是不是鸭子,只关心行为。比如在python中,有很多file-like的东西,比如strinIO(StringIO经常被用来作为字符串的缓存,和文件os对象操作方法是一致的),GzipFile(gzip模块提供了GzipFile类,在该类中提供了像open(),compr...

2018-10-18 15:24:11 265

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除