自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

每天进步一点点

奔跑起来才是正确的方式

  • 博客(208)
  • 资源 (5)
  • 收藏
  • 关注

原创 百度comate 专业版免费试用90天

我发现一个编码效率提升好帮手——Baidu Comate,结合文心大模型和百度编程大数据,为你生成优质编程代码。现在通过我的链接注册,立得90天专业版体验卡,来吧,让我们一起释放“十倍”软件生产力!

2024-06-25 12:01:41 204

原创 【python】操作远程机器,执行命令或者上传下载文件

之前的中总结过如何在不同的机器之前进行文件传输,此文中总结的方法偏向于手工操作,如果想要自动化的触发或者操作远程机器的话可以考虑适用paramiko模块,也就是今天需要讨论的场景。比如远程执行自动化任务、远程文件上传、下载等操作。

2023-12-25 18:58:06 580

原创 【评测脚本】agent资源监控

在之前的文章中提到过,我们在测试过程中需要对机器的资源进行评测。在实际工作中,我们还会经常遇到的场景就是对于agent-server类型的业务,当部署完成后,需要对部署在机器上的agent进行资源占用的观测,不能舍本逐末,由于agent的异常资源占用,导致原有业务受机器资源影响,不能正常提供服务。监控指定的进程(比如agent)所占用的机器资源是否达到预期目标,尤其是在稳定性测试时,检验是否有内存泄漏、CPU占用过高等问题。

2023-12-15 17:53:53 610

原创 【评测脚本】机器信息评测

QA的实际工作过程中,除了业务相关的测试外,也会涉及到一些评测相关的工作,甚至还要做多版本、多维度的评估分析。尤其是现在火热的大模型,相关的评测内容更是核心中的核心。当然本文的内容只是做一些初级的机器相关的评测信息,更多更广的评测需要更多时间的积累和总结,但愿后续能够呈现给大家。

2023-12-08 18:26:50 448

原创 【工具】机器之间传输文件的常用方式

QA的工作工程中,在不同服务器或者本地机器与服务器之间进行文件或目录的上传或者下载是非常普遍的场景,为此本文将常用的好用的工具一并做个总结,大家有其他的利器也欢迎评论区留言。

2023-12-08 16:33:30 1053

原创 【python】输出高亮信息

日志是定位问题和数据分析的关键手段之一,尤其是在调试阶段,高效的、具有辨识度的日志可以非常快速准确的进行问题定位。shell中的echo命令自带文本格式化输出的功能,我们先来回顾下基本的语法,然后套用到python中即可。

2023-08-27 11:16:36 350

原创 【测试右移】上线规范化

俗话说无规矩不成方圆,这句话在软件领域的生产环境尤其适用。近年来很多互联网领域的线上事故一定程度上都是由于上线操作或者上线流程不规范导致的,对用户体验、用户资产甚至用户信任产生非常负面的影响。因此,软件的线上质量应该被当作【一号位】的工程来对待。

2023-08-20 09:32:18 185

原创 【测试右移】如何做线上监控

软件的质量是需要全生命周期进行关注的,在生产环境下QA的活动就是测试右移,测试右移最关键的手段就是线上监控,也是至关重要的一个环节,可以通过技术的手段,提前感知到线上问题和风险,先于用户提前发现问题,提升服务可感知性,从而降低客户投诉。

2023-08-12 21:51:55 1967

原创 【websocket - Tornado】简易聊天应用

项目测试的过程中需要自己搭建一个webscoket站点,确保此类服务接入后台系统后访问不受影响。python的服务框架常用的有Flask、Django、Tornado,每个框架的侧重点不同,导致使用的场景就会有所差异。由于不涉及复杂的业务场景,只需要简单的收发消息即可,所以本文以框架为例来进行说明,后续可能会补充django channels的websocket。

2023-08-05 10:40:15 815

原创 【​SwitchHosts​】高效host管理工具

SwitchHosts一款高效hosts管理工具

2023-08-04 23:24:07 1760

原创 【wrk2】轻量级性能测试工具

wrk/wrk2是针对http协议的基准测试工具,特点是在单击多核CPU的前提下,通过系统自带的高性能I/O机制【epoll、kqueue等】,以多线程和事件模式,在指定的时间和请求范围下对目标机器产生负载。1、安装简单、容易上手2、基于系统自身的高性能机制,单机产生大量请求3、轻量级测试工具,学习成本低1、只能进行单击压测、不支持分布式;无法取代jmater、loadrunner等专业工具2、只支持http协议,请求体中带参数的请求比如POST,需要写Lua脚本。

2023-07-29 11:22:05 1092

原创 【python工具】html中表格转化为excel

将html中的表格内容快速转化为excel,进行二次的创作

2023-07-23 21:37:11 1212

原创 【python】时间相关工具包

基于python中常用的时间工具包:time、datetime、arrow、calendar封装 的时间工具类,拿来即用

2023-07-16 21:02:53 286

原创 VS Code + Remote-ssh插件实现远程开发

很多情况下,我们都是在本地windows机器下通过IDE工具写好代码,然后部署到Linux服务器进行部署,部署完成之后如果有问题或者新增功能的话,直接在linux环境通过vim命令进行操作非常之痛苦,而且两侧的环境可能也有差异,导致整体的开发时间被拉长。所以,如果有工具能够直接操作远程服务器代码的需求就变得很迫切,这也是现在云ide火爆起来的原因之一。

2022-10-01 13:11:35 2362 1

原创 【Django+mdeditor】实现markdown编辑内容

一、目标:在django项目中,部分字段支持markdown格式进行编辑,预览、文件上传等功能。二、配置:1、官网链接:https://pandao.github.io/editor.md/,下载并解压到都django的静态目录下;2、引入css和js:<link rel="stylesheet" href="{% static 'plugins/editor_md/css/editormd.css' %}"><script src="{% static 'plugins/

2022-05-22 19:18:12 1289

原创 【Django】跨表查询要点

一、查询mysql中3种跨表查询方式:笛卡尔积、子查询、连接查询。Django也有与之对应的语法。二、基于对象的跨表查询 – (类似于子查询)1、正向查询和反向查询通过关系属性所在的model类去查询其关联表(类)的数据就是正向查询,反之为反向查询。正向查询靠属性,反向查询靠类名小写。2、一对一正向查询:获取吴老师的电话号码【对象.属性】author_obj = models.Author.objects.filter(name=‘吴老师’).first() # 得到的是model对象pri

2022-05-13 19:47:03 1193

原创 git push提示 Authentication failed

【背景】最近用django练习了下stark组件,终于写完了代码,就想提交到github吧,免得以后又无从找起。结果创建好仓库后,push的时候就提示认证失败。【解决方法】由于好久没有提交了,一直怀疑是key过期了,所以重新生成了公钥文件,重新配置了用户名和密码,结果依然失败。一顿搜索后,重新查看错误信息,发现其实已经给出了提示:2021年8月份之后,增强了安全机制,需要用 personal access token来代替用户名密码了。配置流程:在任何页面的右上角,单击您的个人资料照片,然后

2022-05-03 11:38:23 2054

原创 【go】并发实现文件下载并计算md5

上一篇文章中通过python的多进程和协程实现了多文件下载并计算md5的需求,最近接触了go语言,这篇文章就简单介绍下怎么通过go实现同样的需求。go语言原生支持的高并发:Goroutine 和 Channel。具体的原理可以参考:https://studygolang.com/articles/11825。实现并发的方式非常简单,直接通过go关键字,后面加上要并发执行的代码(一般就是一个函数)。代码示例:package mainimport ( "bufio" "crypto/md5" "

2022-04-03 09:50:41 706

原创 【python】并发实现文件下载并计算md5

工作中的接口需要发送2个参数,url和md5,但是一般情况下md5都是将文件下载后再计算出来的。少量的话可以手动下载文件后,通过md5sum命令计算出来,如果有批量的url,手动计算就不太现实,所以考虑通过程序并发实现md5计算。0、环境win10 + python3.6.5linux环境或者mac多线程效果更明显2、通过multiprocessing模块的回调功能实现2.1 思路先遍历指定文件(url.txt),拿到每个待下载的url;每遍历一个url,就调用apply_asyn函数将

2022-03-26 21:41:02 2235

原创 【go基础】切片

go语言中数组的长度是固定的,如果数组中元素个数已经等于数组容量时,就不能再继续往数组中添加新元素了。为了解决此问题,就有了切片(slice)类型,它时在数组的基础上重新进行了一层封装。一、定义切片的本质切片的本质就是对底层数组的封装,它包含了三个信息:底层数组的指针、切片的长度(len)和切片的容量(cap)。基本定义语法:var 变量 [] 类型表面上看,定义切片和定义数组是非常相似的,就是不用写明存储元素的个数即可。```gopackage mainimport "fmt"/

2022-03-12 12:16:20 1033 2

原创 【shell】数组

一、作用:用一个变量,表达一个或多个不固定的字符串二、数组类型:1)普通数组:下标只能用数字表示2)关联数组:下标可以用字符串表示,类似于python中的字典,查找速度快三、普通数组定义:如果字符中有空格的话需要加引号 方式一:一次性赋值多个 array=(zhangsan lishi wangwu) array=(`cat /etc/passwd`) 方式二:单个赋值 a[0]=1 a[1]=2 方式三:稀疏格式,只赋值特定元素 a=([0]="li

2022-01-15 22:34:08 159

原创 【shell】数字运算的几种方式

shell中的整数运算包括,加减乘除取余,+,-,*(*是元字符,表示任意一个字符,所以需要转义),/,%。方法一:exprexpr 1 + 2expr $a + $b注意:运算符(+,-,*,/)前后一定要有空格!!!方法二:$(())echo ((((((num1+$num2))echo $((num1+num2))echo KaTeX parse error: Undefined control sequence: \* at position 4: ((2\̲*̲5-3))resu

2022-01-15 21:51:08 4095

原创 bash的全局配置和加载顺序

bash环境变量文件1)/etc/profile:全局配置,不管哪个用户,登陆时都会读取此配置;2)/etc/bashrc:也是全局的配置,只用centos才有,bash执行的时候都会读取此配置3)~/.profile:如果bash是以login的方式执行时,读取~/.bash_profile,若它不存在,则读取~/.bash_login,都不存在,读取~/.profile;图形模式,不管前两者是否存在都会读取~/.profile4)~/.bash_login:如果bash是以login的方式执行时

2022-01-03 17:42:46 761

转载 Django分页器(paginator)组件

最近使用到django自带的分页组件paginator,被各种nums搞得有点晕了,百度了一下,发现有篇文章写的还比较全面,于是拿来主义的思想就占据了大脑。当然,我们还是要尊重原创的。原文链接奉上:https://www.cnblogs.com/liu–huan/p/9992459.html在此只记录下基本的语法,基于django框架,从视图函数到模版文件的使用可以参考原文哈~from django.core.paginator import Paginatorbook_list = ['pytho

2021-11-10 17:15:16 1342

原创 【python】importlib模块

背景在django项目的开发中遇到了一种情况:得到了一个模块的字符串表示形式,如何将其导入并执行其中的方法或者函数呢?解决方法百度了之后发现了可以使用importlib模块,导入字符串类型的内置模块、文件,或者自定义的模块,相当于导入了该模块,之后就可以通过反射(getattr)调用模块内的属性或者方法。我们就以time模块为例进行说明吧。>>> import importlib>>> dir(importlib)['_RELOADING', '__all__

2021-10-10 19:39:16 329

原创 【算法】python使用4种方式实现2个数交换

题目定义两个整数a=1,b=3,交换两个数据,实现a=3,b=1方式一:借助第3个变量这种方式比较通用,换了任何一种语言都适用>>> a, b = 1, 3>>> c = a>>> a = b>>> b = c>>> a3>>> b1方式二:python特有的>>> a, b = 1, 3>>> a, b = b, a>>

2021-08-22 11:00:45 2454

原创 【python】生成图片验证码

背景在注册或者登陆场景下,经常会遇到需要输入图片验证码的情况,最经典的就是12306买火车票。图片验证码的破解还是有一定难度的,而且如果配合上时间和次数的验证,可以很大程度上防止模拟登陆或者暴力破解,保护用户信息,同时很大程度上减少对服务器的恶意请求。今天我们就用python的django框架+PIL实现简单的图片验证码。环境python:3.6.5django:3.1.6pillow:5.2.0【说明】:需要有django基础,比如路由、视图函数和启动命令等。代码check_code.py

2021-07-25 17:02:20 2113 1

原创 【算法题】求一个字符串的最长不重复子串

【题目描述】求一个字符串的最长不重复子串。比如:给定"abcabcbb"的答案是"abc",长度是3;给定"bbbbb"的答案是"b",长度为1。【方式一】粗暴的方法,找出字符串中所有长度的子串,逐一遍历并找出其中没有重复字符的字符串,并对比找到长度最大的。def get_max_sub_str(s): """求一个字符串的最长不重复子串 """ temp = [] for i in range(len(s) - 1): for j in range(

2021-07-09 10:30:40 2028

原创 【算法题】原地删除有序数组中的重复数据

题目描述给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。注意:不要使用额外的数组空间,必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。思路借助新列表,或者使用set()函数的思路就不用考虑了,因为空间复杂度显然是不满足的。考虑for循环+快慢指针,慢指针记录不重复元素的下标,快指针用来变量列表所有的元素,当2个指针位置的元素不相等,那么慢指针+1,将快慢指针位置的元素交换,否则的话只有快指针+1,遍历完成后慢指针就是不重复数组的长度。

2021-06-30 09:43:57 385

原创 redis基础中的基础

Redis简介REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是C语言编写的、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value开源数据库,并提供多种语言的API。官网:https://redis.io/ 特点 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。与其他 key - value 缓存产品有以下三个特点:.

2021-06-14 12:39:02 375

原创 linux(二):用户,CPU、内存、磁盘、网络

whoami:当前以哪个用户操作 [root@test ~]# whoami root [root@test home]# su - ksh Last login: Tue Jul 16 10:10:53 CST 2019 on tty1 [ksh@test ~]$ whoami kshlogname:登录的用户名who:当前登录的所有用户 [ksh@test etc]$ who root tty1 2020-0...

2021-01-24 13:58:53 430

原创 你知道python字符串如何原样输出占位符吗?

背景最近想根据传入的一些参数自动化生成测试脚本,过程中在字符串格式化输出的时候遇到了一些问题,在此分享下。问题描述我们知道python中有一些特殊的字符,比如以"\"开头的转义字符,\n,\t,\r等等,还有占位符,常用的%d,%s等等,我想要做的是代码中\n和%s这些,不需要转义,就是要原样输出到文件中。遇到的问题如下:以上代码中共有3个%s,第①个是打印的时候需要格式化输出的,第②个和第③个需要保持原样,写入到文件中,当文件执行的时候再进行格式化输出,print代码中根据原本的意愿只

2021-01-23 22:55:21 1620

原创 mysql时间操作相关函数

mysql时间操作相关函数目录一、获取当前日期和时间的函数二、获取当前日期的函数三、获取当前时间的函数四、获取日期和时间各部分值五、日期和时间计算的函数一、获取当前日期和时间的函数 函数名 作用 now() 获取当前时间,格式为:年-月-日 时:分:秒 current_timestamp() now的同义词,效果跟NOW()一样,还可以写做current_times

2021-01-03 22:47:49 329

原创 linux(一):基础操作命令

常用目录的作用:/dev:设备目录/etc:存放操作系统的配置文件/lib:库文件/bin:所有可执行的文件/sbin:超级用户可以执行的文件/home:普通用户的目录/opt:安装包文件/usr:程序安装目录/var:日志文件pwd:当前目录cd:切换到指定目录,支持绝对路径和相对路径mkdir:创建目录 mkdir -p test1/test2/test3:创建多级目录 cp:拷贝文件或目录 cp a.txt b.txt:拷贝a.txt重命名为b.txt...

2021-01-03 21:47:42 304

原创 说一说培训后的感受

刚刚过去的这一周,参加了整整5天的新人培训,目的是帮助大家更好的融入公司,实现零度突破。报名之前还觉得这就是浪费时间,无非就是各种长篇大论,照本宣科而已,真正参加之后尤其是培训结束后觉得对自己的触动还是很大的。 整体上讲这就是个团队任务,第1天分组后,从建组,起组名,喊口号,到成长力体验,团队打卡任务,金句画馆,海报到最后的vlog,每一个环节积极主动回到问题,或者排名靠前都有团队加分,每一个环节都是在考验团队协作,分工配合的能力,大家是不是心往一处想,劲往一处使。芸芸众生,千差万别...

2020-11-14 10:02:32 1500

转载 技术团队如何培养新人

原文链接:https://blog.csdn.net/xindoo/article/details/106202183背景是我当时工作方向上的变化,但一直感觉上手很慢。刚工作时也有这种体会,当时纯觉得自己菜,但后来看了《Site Reliability Engineering》和《The effective engineer》之后发现不完全是自己菜,而是缺少正确的指引,很多东西完全靠自己踩坑才知道了,学习效率很低。这种状态下,除了被别人质疑能力外,还会逐渐产生自我怀疑,导致情绪低落。下文是我当.

2020-10-16 22:05:25 949

原创 【python】difflib模块进行文本比较

背景RD部署时的配置文件需要保证前一个版本和后一个版本不一致,否则会产生丢数据的问题。鉴于此,每次提测后QA需要对2个版本的产出物进行对比。linux中有diff命令可以对两个文件进行比较,但是需要登录到linux开发机,比较麻烦。python中自带的difflib也可以实现类似的功能,而且比较的结果能保存为html格式的文件,使用起来更直观,而且可以根据自己的需要在不同的平台上使用。常用方法简介先用dir查看该模块中有哪些可以的类或者方法difflib模块最常用的2个类就是Dif...

2020-09-20 20:03:18 13948 1

原创 dockerfile脑图

2020-09-19 23:35:07 191

原创 【python】如何同时对两个字段优雅的排序

目录方法一:最憨厚的排序方法二:sorted优雅的排序总结: 工作中遇到一个有意思的排序问题,数据结构抽象出来大概是这样的:一个列表,列表中的子元素是字典,字典中的key有3个,id表示唯一值元素,count表示某个id在mongodb中出现的次数,name表示id对应的名称,示例如下:id_list = [{'id': 123, 'count': 12, 'name': 'privacy'}, {'id': 47, 'count': 33, 'name': '...

2020-09-15 23:45:33 3157 1

原创 记一次填坑之旅

这一周终于挨过去了,细想起来,真正的工作并没有完成多少,相当一部分时间都用来填坑了,自己挖过的坑迟早要填的。事情的经过是这样的,入职后负责的项目新版终于测试通过,准备上线了,趁着这个空隙做一些收尾的工作,其中就是把python写的接口测试代码上传到代码仓库,历经千辛万苦,终于通过大MAC成功的将测试开发机(linux服务器)上的代码通过git上传成功了,中间也是历经了各种坑,but我还是太单纯了,剧情远远不会按预期的发展。提交到远端的仓库时会有代码的自动扫描,包括漏洞检查,编码规范检查等等一系列的审...

2020-09-05 08:53:10 267

dockerfile知识点讲解.html

dockerfile知识点讲解

2021-06-20

常用adb命令.docx

常用的ADB命令总结,包括:连接设备,查看机型,查找包名,查看apk文件路径,文件传输,列出索引正在运行的程序,实时查看日志,安装卸载应用,获取内存/cpu信息、启动/停止应用和服务等等

2020-05-10

TRACKING IN STREAMED VIDEO BY UPDATING GLOBALLY OPTIMAL MATCHINGS

用改进的动态匈牙利算法实现动态目标的跟踪(2010ICIP论文)

2011-08-31

MULTIPLE OBJECT TRACKING BY HIERARCHICAL ASSOCIATION OF

2010年ICIP会议最新文章关于多目标跟踪

2011-08-31

基于角度扩展形状上下文描述的目标检测算法研究

2010最新的形状上下文算子。题目是基于角度扩展形状上下文描述的目标检测算法研究

2010-12-19

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

TA关注的人

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