自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 问答 (1)
  • 收藏
  • 关注

原创 Linux常用命令

shutdown -r +10 ‘notice’ #10min后重启并将notice发送给所有线上使用者。shutdown -k now ‘notice’ #仅发出警告信息不会关机。[Ctrl] + C:说明目前光标所处的行数与列数;shutdown -h [time] #指定时间关机。shutdown -h +10 #10min后关机。[alt] + Y:校正语法功能打开或关闭;[Ctrl] + R:从其他文件读入数据;shutdown -h now #立刻关机。[alt] + M:支持鼠标来移动光标;

2023-05-05 10:53:45 484 1

原创 vim编辑器

ctrl]+w+q:其实就是:q结束离开,举例来说,如果我想要结束下方的窗口,那么利用[ctrl]+w+↓移动到下方窗口后,按下:q即可离开,也可以按下 [ctrl]+w+q;a,A:进入插入模式(Insert mode),a为“从目前光标所在的下一个字符处开始插入”,A为“从光标所在列的最后一个字符处开始插入”;O为在目前光标所在处的上一列插入新的一列;[ctrl]+w+↓:先按下 [ctrl] 不放,再按下w后放开所有的按键,然后再按下j(或向下方向键),则光标可移动到下方的窗口;

2023-05-05 10:53:10 681

原创 Shell Scripts

是利用 shell 的功能所写的一个“程序 (program)”,这个程序是使用纯文本文件,将一些 shell 的语法与指令(含外部指令)写在里面, 搭配正则表达式、管线命令与数据流重导向等功能,以达到我们所想要的处理目的;$* :代表“ "$1c$2c$3c$4" ”,其中 c 为分隔字符,默认为空白键, 所以本例中代表“ "$1 $2 $3 $4" ”之意;$@ :代表“ "$1" "$2" "$3" "$4" ”之意,每个变量是独立的(用双引号括起来);<==每个类别结尾使用两个连续的分号来处理!

2023-05-05 10:52:26 1269

原创 Linux文件与目录

perm -mode :搜寻文件权限“必须要全部囊括 mode 的权限”的文件,举例来说,我们要搜寻 -rwxr--r-- ,亦即 0744 的文件,使用 -perm -0744,当一个文件的权限为 -rwsr-xr-x ,亦即 4755 时,也会被列出来,因为 -rwsr-xr-x 的属性已经囊括了 -rwxr--r-- 的属性了。-perm mode :搜寻文件权限“刚好等于” mode 的文件,这个 mode 为类似 chmod的属性值,举例来说, -rwsr-xr-x 的属性为 4755!

2023-05-05 10:51:09 909

原创 Linux磁盘与文件系统

目录树是由根目录开始读起,系统通过挂载的信息可以找到挂载点的 inode号码,此时就能够得到根目录的inode内容,并依据该inode 读取根目录的block内的文件名数据,再一层一层的往下读到正确的文件名;每个block内最多只能放置一个文件的数据,文件大于block大小,一个文件会占用多个block数量,文件小于block,该block的剩余容量不能再被使用;系统会将常用的文件数据放置到内存的缓冲区,以加速文件系统的读/写,因此 Linux 的实体内存最后都会被用光是正常的情况,可加速系统性能;

2023-05-05 10:46:44 706

原创 BASH

在管线命令当中,常常会使用到前一个指令的 stdout 作为这次的 stdin , 某些指令需要用到文件名称 (例如 tar) 来进行处理时,该 stdin 与 stdout 可以利用减号 "-" 来替代;命令编修能力:~/.bash_history 记录前一次登陆以前所执行过的指令, 至于这一次登陆所执行的指令都被暂存在内存中,当你成功的登出系统后,该指令记忆才会记录到 .bash_history 当中;-a:会由 PATH 变量定义的路径中,将所有含 name 的指令都列出来,包含 alias;

2023-05-05 10:45:17 399

原创 正则表达式

A:后面可加数字,为 after 的意思,除了列出该行外,后续的 n 行也列出来;-B:后面可加数字,为 befer 的意思,除了列出该行外,前面的 n 行也列出来;若还有后续的“行”的数据,则重复上面 1~3 的步骤,直到所有的数据都读完为止;a:新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行);i:插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);c:取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行;

2023-05-05 10:45:13 1213

原创 计算机概论

输入单元:键盘、鼠标等;输出单元:显示器等;CPU内部的控制单元、算数逻辑单元;存储单元:内存、硬盘等;主板、显卡、网卡、声卡等。

2023-05-05 10:42:52 788

原创 接口测试点

接口测试覆盖测试点:一、所有参数二、必须参数三、参数为空所有参数为空某一必须参数为空四、多传参数五、少传某一参数七、参数错误类型错误值错误八、参数范围九、组合可选参数十、唯一性校检。

2023-05-04 17:16:16 46

原创 github内容同步到本地仓库

【代码】github内容同步到本地仓库。

2022-10-08 00:34:39 63

原创 计算机概论

输入单元:键盘、鼠标等;输出单元:显示器等;CPU内部的控制单元、算数逻辑单元;存储单元:内存、硬盘等;主板、显卡、网卡、声卡等。

2022-09-22 19:41:12 235

原创 接口测试——python requests库使用总结

2.发送请求3.传递URL参数4.响应内容5.定制请求头6.POST请求用法6.响应状态码7.响应头8.Cookie9.Request重定向与请求历史10.超时

2022-07-13 00:09:24 287

原创 Web页面请求过程

在一台笔记本电脑的浏览器中输入一个网站网址后:1.笔记本操作系统生成一个DHCP请求报文,封装进一个源端口号68和目的端口号67的UDP报文段,然后该UDP报文段封装在源IP地址0.0.0.0和目的IP地址255.255.255.255的数据报中;2.DHCP请求数据报再封装在目的MAC地址FF:FF:FF:FF:FF:FF的以太网帧中,源MAC地址为笔记本MAC地址;3.该以太网帧被以太网交换机接收,该交换机广播该帧;4.路由器接收到该以太网帧,逐层拆解,DHCP服务器生成包含分配的I

2022-04-06 17:10:19 2645

原创 计算机网络-链路层

一、概述1.相关概念节点:运行链路层协议的任何设备。 链路:沿着通信路径连接相邻几诶单的通信信道。2.提供的服务2.1 成帧几乎所有的链路层协议都要将数据报用链路层帧封装起来。 一个帧由一个数据字段和若干首部字段组成,其中网络层数据报就插在数据字段中。2.2 链路输入媒体访问控制(Medium Access Control,MAC)协议规定了帧在链路上传输的规则。 MAC协议可用于协调多个节点的帧传输。2.3 可靠交付当链路层协议提供可靠交付协议时,它保证无差错地经链路层

2022-03-05 22:26:02 3142

原创 计算机网络-网络层(控制平面)

一、概述1.转发表和流表的两种控制方式1.1 每路由器控制每台路由器中都包含转发和路由器选择功能。1.2 逻辑集中式控制逻辑集中式控制计算并分发转发表以供每台路由器使用。 控制器与每台路由器中的一个控制代理(CA)进行交互。 CA不能直接相互交互也不能主动参与计算转发表,这是每路由器控制和逻辑集中式控制之间的关键差异。二、路由选择算法1.路由选择算法分类1.1 根据算法是集中式还是分布式集中式路由选择算法:用完整的、全局性的网络知识计算出从源到目的地之间的最低开销路径。具

2022-03-03 17:11:17 911

原创 计算机网络-网络层(数据层面)

一、网络层概述1.概述1.1 数据平面主要作用是从其输入链路转发数据报。1.2 控制平面主要作用是协调这些本地路由器的转发动作,使得数据报沿着源和目的地主机之间的路由器路径最终进行端到端传送。2.转发和路由选择2.1 转发是指将分组从一个输入链路接口转移到适当的输出链路接口的路由器本地动作。 转发发生的时间尺度很短(通常为几纳秒),通常用硬件实现。2.2 路由选择是指确定分组从源到目的地所采取的端到端路径的网络范围处理过程。 路由选择发生的时间尺度较长(通常为几秒),通

2022-03-02 13:10:49 2751

原创 计算机网络-运输层

一、运输层概述1.运输层与网络层的关系网络层提供了主机之间的逻辑通信,运输层为运行在不同主机上的进程之间提供了逻辑通信。 运输层能够提供的服务常受制于网络层协议的服务模型。 即使底层网络协议不能在网络层提供相应的服务,运输层协议也能提供某些服务(可靠数据传输、运输层报文段的机密性)。2.概述UDP(用户数据报协议)提供了一种不可靠、无连接的服务。 TCP(传输控制协议)提供了一种可靠的、面向连接的服务。 IP(网际协议)的服务模型是尽力交付服务,对报文段的交付不做任何确保。 将主机间

2022-01-06 17:33:24 2312

原创 计算机网络-应用层

一、应用层协议原理1.网络应用程序体系结构1.1 客户-服务器体系结构有一个总是打开的主机称为服务器,它服务于来自许多其他称为客户的主机的请求。 配备大量主机的数据中心常被用于创建强大的虚拟服务器。 例:Web、FTP、Telnet、电子邮件等。1.2 P2P体系结构应用程序在间断连接的主机对之间使用直接通信,这些主机对被称为对等方。 例:文件共享、对等方协助下载加速(迅雷)、英特网电话和视频会议等。2.进程通信2.1 客户和服务器进程在一对进程之间的通信会话场景中,会话开

2021-12-28 23:41:34 1646 1

原创 计算机网络和英特网

一、英特网1.具体构成描述英特网是一个世界范围的计算机网络,他是一个互联了遍及全世界数十亿计算设备的网络。2.服务描述为分布式应用提供服务的联网基础设施。3.协议定义了两个或多个通信实体之间交换的报文的格式和顺序,以及报文的发送和接收或其他事件所采取的动作。二、网络边缘通常把与英特网相连的计算机和其他设备成为称为端系统或主机(host),包括:桌面计算机、服务器、移动计算机等。1.家庭接入1.1 数字用户线(Digital Subscriber Line,DSL)每个用户

2021-12-18 15:34:30 578

原创 Java多线程

一、基本概念进程:资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。线程:是程序执行时的最小单位,它是进程的一个执行流。进程与线程的区别:进程是资源分配的最小单位,线程是程序执行的最小单位; 进程拥有独立的地址空间,线程共享进程中的数据,使用同一个地址空间; 进程间的通信比较复杂,线程间共享同一进程下的数据;多进程与多线程的优劣:创建进程比创建线程的开销大; 进程间的通信比线程间的要慢; 多进程比多线程稳定,多线程中的任何一个线程的崩溃都会导致整个进程的崩溃;二

2021-12-03 17:28:48 284

原创 python类与对象

# 定义一个类class People: # 定义基本属性 name = 'default' age = 0 # 定义私有属性 __sex = 'default' # 定义构造方法,self代表类的实例,而非类,类的方法中第一个参数都要是self def __init__(self, name, age, sex): self.name = name self.age = age self.__...

2021-11-28 17:02:22 367 3

原创 python异常

一、异常处理1.try/except基本语法while True: try: num = int(input()) break except ValueError: # 有异常执行 print("你输入的不是数字吧,再输!")可使用多条exceptwhile True: try: num = int(input()) break except ValueError:

2021-11-28 15:11:19 476

原创 python文件读写

一、读写模式r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。 r+ 打开一个文件用于读写。文件指针将会放在文件的开头。 rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 wb 以二进制格式打开一个文件只用于写入。如

2021-11-28 01:22:24 102

原创 python输入与输出

一、输出s = 'Hello\n'# str()函数返回一个用户易读的表达形式print(str(s)) # Hello# repr()产生一个解释器易读的表达形式,可以转义字符串中的特殊字符print(repr(s)) # 'Hello\n'# str.format() 函数来格式化输出值print('Hello {}{point}'.format('Berry', point='!')) # Hello Berry!print('{1} {0}'.format('Hello',

2021-11-27 21:59:29 2466

原创 python数据结构

一、列表# 创建一个列表list1 = [1, 2, 3]list2 = [5, 6]# 把一个元素添加到列表结尾list1.append(4)# 通过添加指定列表的所有元素来扩充列表list1.extend(list2)# 在指定位置插入一个元素list1.insert(0, 0)# 删除列表中值为 x 的第一个元素。如果没有这样的元素,就会返回一个错误list1.remove(6)# 从列表的指定位置移除元素,并将其返回list1.pop(0)# 如果没有指定索引,返回最

2021-11-26 18:14:44 663

原创 python函数

1.函数的定义与调用# 定义一个函数def hello(): print("hello world")def hello_name(name): print("hello", name)def area(a, b): return a+b# 调用函数hello()hello_name("siri")print(area(2, 4))2.参数传递可更改对象与不可更改对象(1)在python中,类型属于对象,变量是没有类型的,变量可以理解为是一个对象的引

2021-11-23 20:23:01 521

原创 python迭代器与生成器

1.迭代器迭代器是一个可以记住遍历的位置的对象 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束 迭代器只能往前不会后退 迭代器有两个基本的方法:iter()和next()list1 = [1, 2, 3, 4, 5]# 创建一个迭代器对象it = iter(list1)# 迭代器对象可以使用常规for语句进行遍历for x in it: print(x)把一个类作为一个迭代器使用需要在类中实现两个方法 __iter__() 与 __next__()...

2021-11-22 20:50:31 78

原创 python条件控制与循环

1.条件控制a = 111if a < 10: if a == 1: print(1) elif a == 2: print(2) else: print(3456789)elif a == 10: print(10)else: print(11)2.循环while循环# while循环a = 1while a < 10: print(a) a += 2# 输出1

2021-11-22 20:05:33 800

原创 python运算符

1.算数运算符加+ 减- 乘* 除/ 取模% 取整除\\ 幂**2.比价运算符等于== 不等于!= 大于> 小于< 大于等于>= 小于等于<=3.赋值运算符= += -= *= /= %= **= //=4.位运算符&按位与,两个相应位都为1结果为1,否则为0; |按位或,两个相应位其中一个为1结果就为1,否则为0; ^按位异或,两个相应位相异位1,否则为0; ~按位取反,对每个二进制位取反; <<

2021-11-22 16:24:09 571

原创 python基本数据类型

1.Number(不可变数据)包括:int、float、bool(int的子类)、complexa = 1b = 1.1c = Trued = 1 + 1jprint(type(a), type(b), type(c), type(d))# <class 'int'> <class 'float'> <class 'bool'> <class 'complex'>type()与 isinstance()的区别a = 1c = Tr.

2021-11-22 15:37:22 842

原创 Git操作

Git的相关操作

2021-11-19 22:31:32 70

原创 Java简单算法

package algorithm;import java.util.ArrayList;import java.util.Collections;import java.util.List;public class Collections_test { public static void main(String[] args) { List<Integer> numbers = new ArrayList<>(); for (.

2021-11-14 13:03:15 353

原创 Java中的映射

package List;import java.util.HashMap;import java.util.Map;public class HashMap_Demo { public static void main(String[] args) { //使用默认初始容量(16)和默认加载因子(0.75)构造一个空 HashMap Map<String, Integer> map = new HashMap<>(); .

2021-11-05 11:52:37 841

原创 Java中的队列

package list_demo;import java.util.ArrayDeque;import java.util.Deque;import java.util.LinkedList;import java.util.Queue;public class Queen_Demo { public static void main(String[] args) { //创建一个链式队列 Queue<String> queue = ne.

2021-11-04 22:16:01 97

原创 Java中的散列集

package List;import java.util.HashSet;import java.util.Iterator;public class HashSet_Demo { public static void main(String[] args) { //构造一个新的空集 HashSet<String> set = new HashSet<>(); //如果指定的元素尚不存在,则将其添加到此集合中 .

2021-11-03 11:50:38 176

原创 Java中的链表

package list_demo;import java.util.Iterator;import java.util.ListIterator;import java.util.LinkedList;import java.util.List;public class LinkedList_demo { public static void main(String[] args) { //构建一个空链表 List<String> a =.

2021-11-02 13:08:03 158

原创 Jenkins持续集成

1.相关概念软件集成:用一张较好地方式,把多种软件功能集成到一个软件里,或者把软件的各部分组合在一起。持续集成:是一种软件开发实践,即团队开发人员经常集成他们的工作,每次集成都通过自动化构建(包括编译、发布、自动化测试)来验证,从而尽可能早地发现集成错误。Jekins:是基于Java开发的一种持续集成工具。2.环境配置2.1 下载Tomcat(针对Java的一个开源中间件服务器http://tomcat.apache.org/)2.2 下载Jenkins(https://jenkin

2021-10-31 17:01:47 68

原创 MySQL基础

一、SQL数据库:保存有组织的数据的容器(通常是一个文件或一组文件)。 表:某种特定类型数据的结构化清单。 模式:关于数据库和表的布局及特性的信息。 列:表中的一个字段。所有表都是由一个或多个列组成的。 数据类型:所容许的数据的类型。每个表列都有相应的数据类型,它限制(或容许)该列中存储的数据。 行:表中的一个记录。 主键:一列(或一组列),其值能够唯一区分表中的每个行。 SQL:结构化查询语言。二、MySQL概念:MySQL是一种DBMS(数据库软件)。 优势:成本:开放源码,免

2021-10-25 00:42:44 183

原创 Selenium Grid

1.介绍主要用于自动化测试的分布式执行,当测试用例需要验证的环境比较多时,可以通过Grid控制测试用例在不同的环境下运行。可以启动hub与node在一台主机,如果想在其他主机启动node,需满足以下要求:本地hub所在主机与远程node所在主机之间可以用ping命令同行; 远程主机必须安装Java环境,因为需要运行Selenium Server; 远程主机必须安装测试用例需要的浏览器及驱动文件,驱动文件需要设置环境变量。2.下载与使用地址:Downloads | Selenium

2021-10-07 14:08:44 100

原创 pytest单元测试框架

1.pytest基本使用方法1.1 断言import pytest# 功能1:计算a+bdef add(a, b): return a + b# 功能2:判断素数def is_prime(n): if n <= 1: return False for i in range(2, n): if n % i == 0: return False return True# 测试功能1de

2021-10-07 13:00:27 222

空空如也

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

TA关注的人

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