自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python 初始化列表的四种方法

python 初始化指定大小列表的四种方式

2022-10-14 23:32:00 12347 1

原创 音视频基础知识

简易版音视频图解如下:对于一个实时音视频应用共包括:采集、编码、前后处理、传输、解码、缓冲、渲染等环节。每个环节还有更细分的技术模块。比如,前后处理环节有美颜、滤镜、回声消除AEC、噪声抑制NS、静音控制VAD、自动增益控制AGC等,采集有麦克风阵列等,编解码有VP8、VP9、H.264、H.265等。典型的实时音视频应用数据流转过程如下:更详细图解如下:整个图包含了音视频数据从打包、编解码、传输、推拉流、播放等整个过程,这里边包含了很多音视频基础知...

2022-02-25 11:27:00 2175

原创 路由器的几种工作模式

AP模式(接入点模式) AP模式主要是将有线信号转变成无线WiFi信号,这是我们最常使用的一种模式。AP模式不负责管理网络,相当于一台拥有无限功能的交换机,把有线信号转换为无限信号而已,其他功能需要依靠路由器去实现(分配IP、管理网络等) 特点:通过网线转换成无线网络,可以设置自己的SSID以及无限密码,无管理网络功能。 适用场景:酒店、宾馆等Router模式(路由模式) Router模式通过WAN口接入Internet,功能与普通无线路由器功能相同...

2021-12-02 16:37:56 9390

原创 python 基础语法里面需要特别注意的点

1.在函数内部,如果 局部变量 和 全局变量 同名,使用的是 局部变量。upChars = '零壹贰叁肆伍陆柒捌玖'def getZh(num): upChars = '零一二三四五六七八九' print('对应的汉字是:' + upChars[num])getZh(5) 在函数内部,如果 局部变量 和 全局变量同名,使用的是 局部变量,如果在函数内部要对全局变量进行重新赋值,不能直接这样:upChars = '零壹贰叁肆伍陆柒捌玖'def change():

2021-11-30 11:28:32 753

转载 一文搞懂WiFi的所有知识点

WiFi名字的由来Wi-Fi这个术语经常被误以为是指无线保真(Wireless Fidelity),类似历史悠久的音频设备分类:长期高保真(1930年开始采用)或Hi-Fi(1950年开始采用)。即便是Wi-Fi联盟本身也经常在新闻稿和文件中使用“Wireless Fidelity”这个词,事实上,Wi-Fi一词是没有任何意义。1999年,几家富有远见的公司联合起来组成了一个全球性非营利性协会——无线以太网兼容性联盟(Wireless Ethernet Compatibility All

2021-11-15 16:57:18 3815 2

原创 Traceroute(路由追踪) --- 的原理及实现

现实世界中的网络是由无数的计算机和路由器组成的一张的大网,应用的数据包在发送到服务器之前都要经过层层的路由转发。而Traceroute是一种常规的网络分析工具,用来定位到目标主机之间的所有路由器。原理在介绍Traceroute的原理之前,需要了解几个技术名词: IP协议 IP协议是TCP/IP协议族中最核心的部分,它的作用是在两台主机之间传输数据,所有上层协议的数据(HTTP、TCP、UDP等)都会被封装在一个个的IP数据包中被发送到网络上。 ICMP ICMP全称为互联网控制报

2021-11-11 15:00:00 1051

原创 mtr--- 网络诊断工具

mtr 是一个集合 ping 和 traceroute 功能并能直观显示结果的网络诊断工具。在启动 mtr 时,它将调查运行 mtr 的主机与用户指定的目标主机之间的网络连接。确定机器之间每个网络跃点的地址后,它将向每个发送 ICMP ECHO 请求序列,以确定到每个机器的链路质量。mtr使用说明可以通过man mtr命令查看mtr的具体使用方法,部分常用参数介绍如下:-r 或 -report:以报告模式显示输出 -p 或 -split:将每次追踪的结果分别列出来,而非如“-report..

2021-11-10 16:39:47 1476

原创 常见的Wi-Fi协议------802a/b/g/n/ac系列

IEEE 802.11802.11 标准是IEEE 最初制定的一个无线局域网标准,主要用于解决局域网中用户与用户终端的无线接入,业务主要限于数据存取,速率最高只能达到 2Mbps 。由于802.11 在速率和传输距离上都不能满足人们的需要,因此,IEEE 小组又相继推出了 802.11b 和802.11a 两个新标准。三者之间技术上的主要差别在于MAC 子层和物理层。IEEE 802.11a802.11a 是802.11 原始标准的一个修订标准,于1999 年获得批准。802.11a 标准采.

2021-11-04 17:46:30 8034

原创 pyinstaller 如何在运行时动态导入或者加载 python 配置文件

我在使用 pyinstaller 打包我的 python 源码的时候,因为源码里面有个自定义测试 case 的python 模块,我把这个脚本放在了 我的系统环境变量的路径下面,比如打包的过程发生在 A 机器,当我在 B 机器上去执行这个 可执行程序的时候,发现它根本读不到我 B 机器指定路径下的配置文件而永远读的是 A 机器 所在路径下的配置文件。这时候怎么解决这个问题呢? 这个问题的解决方案就是 使用Python 3.4 importlib 模块类 SourceFil...

2021-09-18 15:00:12 1556

原创 pytest 之如何传递参数

命令行传参:命令行参数是根据命令行选项将不同的值传递给测试函数,比如平常在终端执行"pytest --html=report.html",这里面的”--html=report.html“就是从命令行传入的参数对应的参数名称是html,参数值是report.html...

2021-06-18 16:49:50 4999 2

原创 jenkins中shell脚本执行失败,但构建结果仍然显示success的问题

jenkins 判断构建操作执行成功了还是失败可以通过返回0或1的结果。成功的话,返回0;不成功返回1.比如shell脚本,通过if判断某个条件,最后,成功:exit 0;不成功:exit 1

2021-06-18 15:58:22 3324

原创 Jenkins 执行python脚本日志不实时输出

在使用Jenkins的shell command来执行python脚本时,总是会等脚本执行完毕,最后一次性才把脚本中的print语句给打印出来;

2021-06-17 16:11:16 2092

原创 Linux 流量监控工具:iptraf-ng 的安装与使用

环境Ubuntu 18.04 /Linux安装iptraf-ng-1.2.1,可编译安装,安装包链接:iptraf-ng-1.2.1.zip解压iptraf-ng-1.2.1 unzip ./iptraf-ng-1.2.1.zip 安装ncurses(系统是ubuntu18.04) sudo apt-get install libncurses5-dev 默认是国外源,会报错,需要将软件源替换成国内源。软件源配置文件是/etc/apt/sourc..

2021-06-16 17:55:53 2160

原创 基于pyinstaller的打包工具的安装与使用

环境Ubuntu 18.04 /Linux安装Python 默认并不包含 PyInstaller 模块,因此需要自行安装 PyInstaller 模块,安装 PyInstaller 模块与安装其他 Python 模块一样,使用 pip 命令安装即可。安装pyinstaller pip install pyinstaller 或者 pip3 install pyinstaller python3 -m pip install pyinstaller # 安装方式有很多种,相对而

2021-06-16 17:51:16 255

原创 基于selenium的web自动化环境的搭建与使用

Selenium环境的安装主要就是安装两样东西:客户端库和浏览器驱动。安装客户端库不同的编程语言选择不同的Selenium客户端库,对应Python语言来说,Selenium客户端库的安装非常简单,用 pip 命令即可,打开终端,运行如下命令: python3 -m pip install selenium 安装浏览器驱动浏览器驱动 是和 浏览器对应的,不同的浏览器 需要选择不同的浏览器驱动。目前主流的浏览器中,谷歌 Chrome 浏览器对 Sel...

2021-01-04 15:59:59 188

原创 Python:自动化框架pytest的安装与使用

pytest可以用来做系统测试 的自动化, 它的特点如下: 用 Python 编写测试用例,简便易用 可以用 文件系统目录层次 对应 手工测试用例 层次结构 灵活的 初始化清除 机制 可以灵活挑选测试用例执行 利用第三方插件,可以生成不错的报表 安装直接执行如下命令即可安装 pytest:python3 -m pip install pytest一般还需要产生测试报表,所以要安装一个第三方插件pytest-html,使用如下命令安装:..

2020-12-25 17:13:24 599 2

原创 python :Bokeh  ValueError: Out of range float values are not JSON compliant

python :Bokeh ValueError: Out of range float values are not JSON compliant之所以会出现前这个错误,是因为数据里面还有NaN(Not a Number)nan类型看到nan容易想到,但是输出nan的类型,发现nan为float类型,所以报错时,会出现 Out of range float values ,一般解决这个问题比较粗暴的方法,就是将将NaN替换为0:# 将NaN替换为0print (data.filln.

2020-12-23 16:32:07 5170

原创 Python os模块用法总结

os运用os.getcwd() 获取当前工作目录os.chdir(path) 改变当前脚本工作目录;相当于shell下cdos.curdir 返回当前目录: ('.')os.pardir 获取当前目录的父目录字符串名:('..')os.makedirs('dir1/dir2') 可生成多层递归目录os.removedirs('dirname1') 若...

2020-12-23 10:20:28 2234

原创 Linux流量整形工具:tc的实现原理

介绍报文分组从输入网卡(入口)接收进来,经过路由的查找,以确定是发给本机的,还是需要转发的。如果是发给本机的,就直接向上递交给上层的协议,比如TCP,如果是转发的,则会从输出网卡(出口)发出。网络流量的控制通常发生在输出网卡处,Linux内核中由TC(Traffic Control)实现。TC是利用队列规定建立处理数据包的队列,并定义队列中的数据包被发送的方式,从而实现流量控制。基本原理:接收包从输入接口(Input Interface)进来后,经过流量限制(Ingress Policing)丢

2020-09-18 18:28:55 2613

原创 如何搭建一个网络损伤环境

准备工作主机 - Linux 系统, 内核版本高于 2.6. 双网卡 - 除原有板载网卡外, 额外需要一块 pci-e 网卡. (参考intel 82574L) 路由器 - 支持桥接模式. 系统模块和软件 -iproute2, iptables,sch_netem, dhcpd(参考https://help.ubuntu.com/community/isc-dhcp-server...

2020-03-27 17:38:54 1285

原创 adb常见用法

最近在看安卓的自动化测试代码时,需要用adb工具同时控制多台安卓设备,现将adb常见用法总结如下:查看当前连接设备adb devices如果发现多个设备:adb -s 设备号 其他指令安装apk文件(此安装方式,如果已经存在,无法安装)adb install xxx.apk覆盖安装adb install -r xxx.apk往手机SDCard传递文件...

2020-03-26 18:45:09 144

原创 python基础(2)

第三方模块可以通过:pip insytall 模块名 #进行安装针对压缩包的方式安装:Python setup.py install导出包列表:pip freeze > package.txt安装清单安装:pip install -r package.txt在统一文件夹下导入模块的方式:from hello import print_h...

2020-03-13 18:50:11 168

原创 Python正则表达式的常见用法

正则表达式语法正则表达式是一个特殊的字符序列,它能方便的检查一个字符串是否与某种模式匹配。 下面是则表达式的一些常见用法:# 正则表达式import re # 正则表达式模块# 匹配除了换行符之外的所有字符m = re.findall('.', 'aa\ccdef')print(m)# 运行结果:['a', 'a', '\\', 'c', 'c', 'd', 'e'...

2020-03-12 17:36:26 198

原创 如何解决Mac终端下载Homebrew慢的问题

首先,需要下载一个代理服务器:https://mac.softpedia.com/dyn-postdownload.php/7ee027715549b04e4667007b4d7dff23/5e687f89/20fa1/0/1下载后打开在桌面上方会有图标显示: 右击图标,选择服务器 服务器设置 并进行如下配置:模式一般选则全局模式 当你在终端操作的时候,...

2020-03-11 13:38:23 1643

原创 【Python】Python 基础

变量width = 3hight = 4print(width * hight)if语句age = 14if age > 16: print("允许进入")else: print("不允许")if-elif-elsescore = 80if score >= 90: print('A')elif score >= ...

2020-03-02 20:23:12 296

原创 视频直播知识入门

一个主播从开播到用户看到画面的那一刻,一共经历了以下几个过程:采集:通过摄像头,麦克风等采集图像和音频数据。 处理:对采集的原始数据进行一些处理,比如打上时间戳,美颜和变声等处理。 编码:将采集到音频和图像数据,编码压缩,降低数据大小,并尽可能的保留精度。 封装:将编码后的数据,封装成各个格式,大家比较熟悉的如:FLV,MP4。 推流:将完成封装的数据,采用HTTP或者RTMP协议推送...

2020-02-21 15:20:02 584

原创 【测试】微信群聊的测试用例

测试微信群聊,主要从以下几个点考虑:功能测试可发送信息:语音,文字,图片,表情,链接,字符及长度 聊天界面中的文字是否可复制,删除,收藏,翻译,头像,昵称显示是否正确(加好友,显示好友备注,未加,显示昵称) 消息撤回(2分钟之内) 消息管理(转发,收藏,提醒,删除,多选,撤回) 成员管理(加人,被加,主动退群,被动退退群,编辑群昵称) 群组管理(创建群,消息设置,申请入群,扫二维...

2019-10-28 22:09:35 5966 1

原创 测试:如何测试微信朋友圈的点赞功能

通常说来,测试对象时从以下几个方面来考虑:功能测试点赞和取消点赞功能是否正常 是否支持多次点赞 点赞人数是否有上限 点赞之后共同好友是否可见  点赞是否按时间顺序显示,头像显示是否正确 点赞是否显示头像和名称 点赞之后能否进行评论 点赞之后退出该页面,再次进入朋友圈点赞消息是否还存在 多用户点赞,再次打开朋友圈是是否可以按照顺序看到是谁谁谁赞了我性能测试网速快慢对点...

2019-10-27 09:33:56 3318

原创 内存池常见问题

为什么要把内存浪费率控制在%12呢?这个项目不是为了写一个更好的,是为了学习这个东西的设计,这个项目是之前我们做课设的时候,我们老师有提到过,我比较感兴趣,就去网上查了一些资料,发现它控制的也是%10左右的内碎片浪费,但是我觉得对于内碎片问题,是根据我们的需要来变化的,我把间隔缩小一点,浪费就会变得更小,但是间隔一定不能小于8,因为对象要链接起来,第一个对象要保存第二个对象的地址,如果指针小于...

2019-10-24 09:54:07 249

原创 【Linux】Linux常见命令

Linux查看进程的命令:ps aux | grep ssh(进程名)查看进程id的命令:pidof [进程名] //通过进程名,查看进程idps 命令用于查看当前正在运行的进程ps ax : 显示当前系统进程的列表ps aux : 显示当前系统进程详细列表以及进程用户Linux查看内存使用情况的命令:top查看某个文件被哪些在进行读写操作:lsof 文件名查看磁盘...

2019-10-20 11:43:39 114

原创 【测试】如何测试微信发红包功能

微信发红包的测试可以从功能(正常+异常)、性能、安全、兼容性、界面、易用性进行测试。功能测试1.在红包钱数,和红包个数的输入框中只能输入数字 2.红包里最多和最少可以输入的钱数2000.01 3.拼手气红包最多可以发多少个红包 3.超过最大拼手气红包的个数是否有提醒 4.当红包钱数超过最大范围是不是有对应的提示 5.发送的红包个数超过最大范围是不是有提示 6.余额不足...

2019-10-16 15:54:57 8494

原创 【LeetCode】只出现一次的数

题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字.代码实现:class Solution {public: vector<int> singleNumber(vector<int>& nums) { int size=nums.size(); int num=0;...

2019-10-16 15:39:53 125

原创 【数据库】MySQL基本查询

1.单行插入insert into students values (100, 10000, '小红', NULL);2.多行插入insert into students (id, sn, name) VALUES(102, 20001, '小文'),(103, 20002, '小红');3.替换主键或者唯一键没有冲突,则直接插入 主键或者唯一键如果冲突,则删除后再插...

2019-10-16 10:34:03 163

原创 【数据库】MySQL多表查询

某教学数据结构大概如下:表1:student 学生表sid,name,age,gender表2:course 课程表cid,name,teacher表3:score 成绩表sid,cid,score(成绩)编写SQL语句查找所有学习课程名为python的学生信息,实现语句如下:select s.name from student s,course ...

2019-09-14 21:34:48 156

原创 【数据库】数据库基础

SQLSQL语言(结构化查询语言)又分为:DDL(数据定义语言)用来管理库(新建、删除)、管理表(新建表、修改表结构、删除表)DML(数据维护语言)数据的增删查改DCL(数据控制语言) 新建一个用户/给拥护授权(管理)主键和唯一键主键:用来标识每条记录的唯一字段,每个信息都有主键,用来唯一标识一条信息,可以是一个字段,可以是多个字段组成(复合主键) 在 InnoDB 的引...

2019-08-30 15:19:32 156

原创 【Linux】TCP粘包问题

粘包拆包问题是处于网络比较底层的问题,在数据链路层、网络层以及传输层都有可能发生。我们日常的网络应用开发大都在传输层进行,由于UDP有消息保护边界,不会发生粘包拆包问题,因此粘包拆包问题只发生在TCP协议中。什么是粘包、拆包?TCP粘包:socket读取时,读到了实际意义上的两个或多个数据包的内容,同时将其作为一个数据包进行处理。TCP拆包:socket读取时,没有完整地读取一个数据包...

2019-08-29 10:47:37 288

原创 【测试】bug的生命周期和组成部分

bug的生命周期New:新发现的Bug,未经评审决定是否指派给开发人员进行修改; Open:确认是Bug,并且认为需要进行修改,指派给相应的开发人员; Fixed:开发人员进行修改后标识成修改状态,有待测试人员的回归测试验证; Rejected:如果认为不是Bug,则拒绝修改; Delay:如果认为暂时不需要修改或暂时不能修改,则延后修改; Closed:修改状态的Bug经测试人员...

2019-08-24 15:57:01 1202

原创 【UI自动化】appium启动手机app时,如何查看app的appPackage和appActivity的值

使用appium启动手机app时,如何查看app的appPackage和appActivity的值?一、配置aapt环境变量1.在cmd输入:vim ~/.bash_profile2.在打开的文件最后输入:export PATH=$android_home/build-tools/29.0.1或者:export PATH=/Users/yanhongxia/L...

2019-08-06 17:59:36 597

转载 【Java】接口

接口的理解接口(Interface)在JAVA中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明; 一个类通过继承接口的方式,从而来继承接口的抽象方法。接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念; 类描述对象的属性和方法,接口则包含类要实现的方法。除非实现接口的类是抽象类,否则该类要定义接口中的所有方法; 接口无法被实例化,但是可以被实现; 一个...

2019-07-27 17:13:18 100

原创 【Linux】fork之后,子进程继承了父进程哪些内容

父进程经过fork()以后,父进程和子进程拥有相同内容的代码段、数据段和用户堆栈,就像父进程把自己克隆了一遍。事实上,父进程只复制了自己的PCB块。而代码段,数据段和用户堆栈内存空间并没有复制一份,而是与子进程共享。只有当子进程在运行中出现写操作时,才会产生中断,并为子进程分配内存空间。子进程继承父进程的部分用户号UIDs和用户组号GIDs 环境Environment 堆栈 共享内存...

2019-07-25 15:37:48 6629

空空如也

空空如也

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

TA关注的人

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