- 博客(40)
- 收藏
- 关注
原创 网页一次请求过程
完成包接收之后,路由器就会去掉报的开头的MAC头部(MAC头部就是为了将数据包传到相应的路由器),然后会根据数据包中的IP地址进行包内容的转发:A 查询路由表判断转发目标:每条表数据的子网掩码和数据包IP进行与运算,得到得到转发目标,若没有那么按照默认路由处理。HTTP消息生成之后需要将消息发送给相应的web服务器,但是需要查询到该服务器对应的IP地址(因为委托操作系统发送消息的时候,必须提供通信对象的IP地址),而服务器和IP的对应关系是在DNS服务器上存储的。如果没有设置路径,那么访问的是默认的文件。
2023-07-10 16:39:59
321
原创 Docker
linux中的pid、ipc、网络等都属于全局的,但是namespace是一种资源隔离方案,在namespace下这些资源相互独立,属于某一个特定的namespace互不干扰,不再是全局的了。namespace实现资源隔离后,进程还是可以不受控制的访问系统资源,比如:CPU、内存、磁盘、网络等,为了控制容器中进程对资源的访问。每一次都会创建一个临时容器,这样做的好处是如果下次再重新构建这个dockerfile的时候,直接从cache中读出已有的容器,不重复创建容器,这样大大节省了构建时间,也不会浪费资源。
2023-07-10 16:21:04
167
原创 shell
x 跟踪程序执行的信息,把每一条命令的结果打印出来(+代表程序的每一步,不加+代表) 例如./test.sh –x ,如果只需要一小段那么可以set –x 开始 set +x结束。双引号:字符串打印,也可以定义变量VAR=~data~ àecho “${VAR}”,在取变量值时都加“”,尤其是在测试条件中的时候。VAR=10然后echo $((VAR+5))或者$[VAR+5]或者$((${VAR}+5))$n 传递给脚本或者函数的参数,n是一个数字,表示第几个参数,$1是第一个参数!
2023-07-10 11:29:25
163
原创 常用命令记录
ps aux | awk ‘{print $1}’如果一条awk不存在pattern,那么作用于所有的数据,前面的例子是只有action(‘{print $1}’)分组()圆括号括起来的正则表达式所匹配的字符串可以当成是变量的中使用,sed中使用的是\1,\2来获取第一个或者第二个变量。,xargs是按照空格分批处理结果的,如果碰到特殊文件名的情况,比如含有空格就会出现异常“text text.txt”。p:打印,一般默认打印原本内容和打印的内容,加上-n就只打印匹配的内容。
2023-07-10 11:01:31
119
原创 pytest
pytest的fixture默认是方法级别的,可以手动改为@pytest.fixture(scope=”class ”) 只要修改scope参数就可以。ids每个字符串ID的列表,每个字符串对英语怕热爱美是这样他们就是测试ID的一部分,如果没有提供,他们将从params自动生成。在编写测试函数的时候,你可以将这个函数名称作为传入参数,pytest将会以依赖注入的方式,将该函数的返回值作为测试函数的传入参数。避免每次都调用的冗余情况。全局的配置和前期的文件共享都可以放在这里,当前报的文件共享的地方。
2023-06-28 16:28:33
76
原创 功能&性能测试
七种武器:硬件(cpu在使用中的各种情况的处理方式)、网络(协议比基础知识稍微深一些)、主流数据库查询(部署、应用、优化)、编程、使用工具(抓包、测试、协议分析)、基础能力(数据分析)、业务知识、行业业务知识。(3)安全性测试:脚本的禁用SQL的注入,检索SQL SELECT语句等敏感内容的检索是禁止的特殊字符的检索被删除、加密、授权的数据,不允许被查出来,是否有安全设计控制。调整是否可以结束了……对测试系统的软硬件环境机型调整,了解各种不同的环境对系统性能的影响程度,从而找到系统各项资源的最优配置。
2023-06-28 16:12:11
131
原创 nginx 简单记录
很多网关都是基于NGINX来实现的。网关可以达到从静态负载均衡到动态负载均衡的目的。负载均衡的策略:轮询策略(默认策略)、权重策略(设置策略)、IP哈希。
2023-06-28 16:10:00
62
原创 测试相关标准记录
模拟实际软件系统所承受的负载条件的系统负荷,通过不断加载(如逐渐增加模拟用户的数量)或其它加载方式来观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源(如CPU、内存)等,以检验系统的行为和特性,以发现系统可能存在的性能瓶颈、内存泄漏、不能实时同步等问题。压力测试分为高负载下的长时间(如24小时以上)的稳定性压力测试和极限负载情况下导致系统崩溃的破坏性压力测试.C、已修复的致命bug重现或修复时引入新的致命bug导致后续测试活动无法进行的。A、除因bug导致无法实施的测试用例外,用例覆盖率达到95%
2023-06-28 16:09:20
76
原创 功能需求如何转换成测试用例
与等价类的区别在于:等价类的每个边界都会作为边界值得测试条件(应当选择正好等于、刚刚大于或刚刚小于),边界分析不仅考虑输入条件还考虑空间产生的测试情况。等价类划分完成后,可建立等价类表,列出所有划分出等价类输入条件:有效等价类、无效等价类、然后从划分出的等价类中按照以下的三个原则设计测试用例:1)为每一个等价类规定一个唯一的编号;采用因果图的设计测试用例的步骤:1) 分析软件规格说明描述中,那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件),并给每个原因和结果赋予一个标识符。
2023-06-28 16:08:15
407
原创 路由器原理简单记录
转发表中的每条转发项都指明分组到某个网段或者某个主机应该通过路由器的哪个物理接口发送,然后就可以达到该路径的下一个路由器,或者不在通过别的路由器直接传送到对应的网络中的目的主机。也就是说,将路由器的某个输入端口收到的分组,按照分组要去的目的地,把该分组从路由器的某个合适的 输出端口转发给下一条的路由器,下一条的路由器也按照这种方法对该分组进行处理,知道该分组达到终点为止。路由器是互联网的枢纽,连接因特网中各个局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳的路径,按照先后顺序发送数据。
2023-06-27 21:14:54
133
原创 MySQL的unsigned和整型
Int(11)代表的并不是长度,而是字符的显示宽度,在字段类型为固定时,无论你显示宽度设置为多少,int类型能存储的最大值和最小值永远都是固定的。当int字段的类型设置为无符号且填充零(unsigned zerofill)时,当数值位数未达到设置的显示宽度时,会在数值前面补充零直到满足设定的显示宽度,为什么会有无符号的限制呢,是因为zerofill属性会隐式地将数值转为无符号型,因此不能存储负的值。设置的字符宽度只是对数值长度不满足宽度时有效,当插入的数据超过设置的宽度的时候这个设置的宽度将不再有效。
2023-06-26 17:58:54
1507
1
原创 php-cgi
【fastCGI的进程管理】fastcgi会先启动一个master,解析配置文件,初始化执行环境,然后再启动多个worker,当请求过来的时候,master会传递给一个worker,然后立即可以接收下一个请求,这样就避免重复的劳动,效率自然也就高了,而且当worker不够用时,master可以根据配置预先启动几个worker等着,当然worker太多的时候,也会停掉一些,这样就提高到了性能,同时一定程度上节约了资源。Php-cgi是PHP解释器,就是上文提到的CGI程序。
2023-06-24 23:35:39
241
1
原创 php多线程
PHP从代码层面上来说不支持多线程操作,多线程只是代码在被运行时在同一时间内同时执行多个线程任务,来提高服务器CPU的利用率,提高代码效率。但是PHP是多进程可以执行的,我们所说的FPM进程管理机制就是多进程,单线程的,有效提高了并发的响应效率。
2023-06-24 23:34:53
222
1
原创 MySQL中重要的两个不同的数据库引擎的区别
【文件构成】myisam有三个文件构成(表定义.frm、数据文件.MYD、索引.MIY)InnoDB有两个文件构成(表结构、数据文件)【全文索引支持】myisam支持全文索引,innoDB5.6以后也开始支持全文索引。【性能】myisam强调性能,查询效率较高;MyISAM 类型的表强调的是性能,执行速度比InnoDB类型更快;MyISAM类型不支持事务等高级处理,而InnoDB类型支持;【事务支持】myisam不支持事务,innoDB支持事务。【锁机制】myisam支持表锁,innoDB支持行锁。
2023-06-24 23:32:24
57
1
原创 负载均衡.
SSL是需要耗费大量CPU资源的一种安全技术,如果由后端的服务来承担,则会消耗大的处理能力,应用交付设备为了提升用户的体验,分担服务器的处理压力,将SSL加解密集中在自身的处理上,相较于服务器来说LB能提供更高的SSL处理性能,还能够简化对证书的管理,减少日常管理的工作量,LB的该功能又称为SSL卸载。客户端将请求发送给服务端前端的负载均衡设备,负载均衡设备上的需服务接收客户端请求,通过调度算法选择真实的服务器,在通过网络地址转换,用真实服务器地址重写请求报文的目标地址后将请求发送给选定的真实服务武器;
2023-06-24 23:25:27
110
1
原创 web安全问题
传统XSS预防采用特征匹配的方式,在所有提交的信息中都进行匹配检查,对于这类型的XSS攻击,一般采用的模式匹配会需要对JavaScript这个关键字进行检索,一旦发现提交的信息中包含JavaScript,就认定为XSS攻击。:(1)非持久型XSS攻击:仅对当次的页面访问产生影响,非持久型XSS攻击,要求用户访问一个被攻击者篡改之后的链接 ,用户访问该链接的我稍后,被植入的攻击脚本被用户游览器执行,从而达到攻击目的。:SQL命令可查询、插入、更新、删除等,命令的串接,而以分号字元为不同命令的区别;
2023-06-24 23:07:46
125
1
原创 2020-08-11
Mac版本的PHPstorm2019.1.2安装后打开只是抖动,并没有其他反应。发现需要把之前安装的文件进行清除。主要需要删除以下文件:rm -rf /Users/username/Library/Logs/PhpStorm2019.1.2rm -rf /Users/username/Library/Preferences/PhpStorm2019.1.2rm -rf /Users/username/Library/Application\ Support/PhpStorm2019.1.2rm
2020-08-11 16:12:24
89
原创 2020-08-10
如下所示,网页端form select提交的boolean选项是以字符串形式提交的。<select name="godeep" class="form-control"> <option value="true">true</option> <option value="false">false</option></select>那么提交后的数据是后端接收到的数据是 $arr['godeep_val']
2020-08-10 10:13:33
91
原创 Redis记录
一、Redis简单介绍: Redis是一个远程内存数据库,是个非关系型数据库。提供了5种不同类型的数据结构;用户可以通过复制、持久化和客户端分片等将Redis扩展成一个能够包含数百GB数据、每秒处理上万次请求的系统。二、 Redis与其他数据库和软件的对比(1)Redis经常被拿来和Memached来比较,这两者都可用与存储键值映射,彼此性能也都相差无几。 ...
2019-08-09 19:34:31
210
原创 crontab 定时任务
1. crond crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。2. Linux调度任务 Linux下的任务调度分为两类,系统任...
2019-05-21 20:52:30
266
原创 PHP array_diff()函数
array_diff()定义与用法 array_diff() 函数用于比较两个(或更多个)数组的键值,并返回差集。 比较两个(或更多个)数组的键值,并返回一个差集数组,该数组包括了所有在被比较的数组(array1)中,但是不在任何其他参数数组(array2 或 array3 等等)中的键值。 语法 array_diff(array1,array2,array3...); ...
2018-04-03 00:26:13
2525
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人