自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

希夜希希希的博客

笨鸟不但要先飞,还要多扇几下翅膀。

  • 博客(35)
  • 收藏
  • 关注

原创 关于 Asyncio,别再使用run_until_complete了

Python asyncio.run() 源码解读

2023-07-03 17:56:56 1329

原创 Python优化之__slots__

Python的类要怎么优化?字典是怎么回事?什么是__slots__?一文说清!

2022-10-19 15:52:14 889 1

原创 前端渣也可以写页面啦!!

Streamlit & PyWebIO 的简单实践

2022-09-27 11:08:32 1389

原创 pytest实现用例间参数传递的两种方式

pytest框架中接口参数传递的实现方法

2021-12-24 19:10:12 7951

原创 FastAPI接口调用Linux系统命令时遇到的问题

最近的工作一直是在开发一些接口,大概介绍一下其中一个实现的功能:通过调用接口,从公司的gitlab中clone代码到服务器上,具体的逻辑是通过Python的FastAPI构建一套接口框架,接口中使用subprocess.run()方法运行git clone ssh://xxxx.git /home/download。实现的过程不难,本地很快就开发完并完成了测试,但是在部署到服务器之后却遇到了问题。 服务器的部署我用的是gunicorn,这是几乎网上所有资料包括官网都推荐的生...

2021-10-09 18:39:03 755 1

原创 使用装饰器实现失败的方法重试

前几天,遇到一个人问我如果在自动化测试框架中,case失败了需要重试要怎么处理?我当时脑海中的第一反应,就是使用unittest自带的失败重试机制来实现。但是事后我查了一下,发现unittest并没有这种机制,要是需要的话只能自己修改源码(最近在看这部分的源码,下次可以整理下这种方式来实现),所以我想到的第二个方法就是使用装饰器了。 思路很简单,可以概括为以下几点: 1. 支持自定义失败重试次数 2. 支持捕捉Exception类型,通过使用 try 捕捉异常,当发现被...

2021-02-23 18:37:18 357 4

原创 Vue项目初始化时遇到的问题记录

近日找了一个Vue的小项目准备练练手,在初始化项目的时候遇到了下面的几个问题:1. 将代码克隆下来后,在项目的跟目录执行 npm install 时报错,信息如下:看到问题后,我首先想到的是strip-json-comments包的版本过低导致的,于是运行命令npm view strip-json-comments ,果然结果中显示最新版本已经到了3.1.1了那么第一个解决办法就是修改package-lock.json文件中相对应包的版本,之后再重新 install 就可以了。...

2020-12-29 16:32:49 305

原创 Python可以重载??

熟悉Java的同学都知道Java中有重载的这个概念,简单来说就是Java的一个类中允许有同名方法出现,只要方法的参数个数、参数名各不相同即可,如下所示:public class People { public People(){ System.out.println("主类无参构造方法"); } public People(String name) { System.out.println("子类有参构造方法: " + name);...

2020-09-14 18:24:02 177

原创 记一次简单的小修改引发的大问题

很多公司的产品应该都有登录token失效的这个机制,简单来说就是超过预订时间后将token置为失效状态,需要用户重新进行登录,这样可以提高一定的安全性。同样,我们公司的产品也有这个机制,而前天发生的一件线上事故就是基于这个设定发生的! 惯例先交代下背景。发生问题的App属于公司内部使用,原本设置的token失效时间是7天,也就是一周。但领导觉得这个时间还是有点儿短了,反正是自己人用,可以设置的长一些,于是口头通知相关开发:将这个时间改为30天。 很简单的一件事,代码改...

2020-07-16 17:31:51 154

原创 Mock数据的两个简单方法:Python or 工具

     在测试过程中,少不了各种情况下的数据的模拟。正常情况下可以通过流程的进行来测试,但有些时候正常流程却无法得到想要的数据,(比如一个接口异常信息的前端展示,正常情况下这种异常不会出现,测试时又不好复现异常场景),这时就需要我们自己来“伪造”一些我们想要的内容了。一、Mock的定义先来看下什么叫做Mock,下面是维基百科中的定义:在面向对象程序设计中,模拟对象(英语:mock object,也译作模仿对象)是以可控的方式模拟真实对象行为的假的对

2020-06-09 22:17:14 695

转载 性能测试入门?看这一篇就够了…………才怪!

性能测试文章目录性能测试基本概念常用系统监控命令如何计算性能指标(上游数据)性能指标业务指标技术指标性能测试场景关心的指标如何计算TPS如何根据活跃用户数、在线用户数计算TPS性能监控--CPU部分加压策略具体实施过程1. 确定业务场景模型2. 确定单交易容量3. 混合场景测试4. 其他场景稳定性测试实际项目分析业务场景实际性能分析Linux知识需要监控的资源具体原因分析性能监控--内存部分性能监控--网络部分三次握手过程分析(建立链接)四次挥手过程分析(断开链接)具体方案补充内容top命令输出解释以及l

2020-05-29 17:58:07 930

原创 Python中添加log的新方法,省时省力

Python中如果需要使用log功能,被广泛熟知的方法就是logging模块了,但使用logging模块有一个缺点,那就是:略微有点儿复杂了!我自己简单的封装了一下logging方法,实现了输出到控制台、写入到文件的基本功能,代码量大概是50行(当然这也可能是因为我的代码水平有限,写不出够pythonic的代码。。。。ಥ_ಥ)。那么有没有一种简单方便高效的方法呢?答案当然是有了,那就...

2020-02-17 12:40:44 777

原创 记Django3.0的一次错误

周末在家把自己老电脑系统重做后,重新配置了python+pycharm的环境,本来一切正常但在写一个django的小Demo时问题出现了,先来看下代码:首先是model.py文件的内容:from django.db import models# Create your models here.class Student(models.Model): SEX_ITE...

2019-12-15 21:19:43 317

原创 Docker+Jenkins+Maven

一、Docker安装(略,可根据自己的系统自行百度)二、Jenkins安装1、搜索jenkins的镜像,使用命令:docker search jenkins,显示内容如下:可以看到,现在列出的是docker hub上已有的jenkins镜像文件2、选择一个搜索到的镜像文件进行下载,我使用的是jenkins/jenkins,使用命令:docker pulljenki...

2019-09-23 19:49:32 2437

原创 Python中格式化输出的三种方式

在python中经常会用到各种格式化输出来拼接变量、字符串等内容,常用的方式主要有以下几种1. 使用%来格式化先来举个栗子,假如我想打印如下内容:小王去超市买东西,付了10元,找回4.8元其中“小王”、“10”、“4.8”分别作为变量输入,以%的方式来实现:上图中的例子里共用到了三种常用类型,%s:字符串、%d:整数、%f:浮点数(其中%.2f表示保留两位小数),需要...

2019-09-17 15:46:30 2710 2

原创 每天5分钟玩转Docker容器技术【学习记录】——第一节

                                                   容器生态系统

2019-02-14 18:24:48 480

原创 父亲

      想把脑中的东西记录下来的想法由来已久,但因为懒惰,迟迟未曾动笔。仔细想想,真的很久没有静静的写点东西了,就像已经很久未和父亲聊过天了。。。      我和父亲都不是善谈的人,心中纵有什么想说的,到得嘴边时更多的只是沉默。每次回到家往往都是和母亲说说工作中的事,父亲在一旁或静静的听着或低头玩着手机中的小游戏,似是全不关心的样子。只是有一次听得母亲说起:你爸有点嫉妒呢,每次都是和我说东...

2018-11-07 10:13:22 375

原创 【Python】批量导出数据并处理——第一弹

    惯例还是先交代下背景:最近因为工作需要,同事需要一批数据,每次7天7个人所以就是49个文件,虽然数据条数不多,但是处理起来比较麻烦,首先需要设置七个人不同的角色权限——通过接口发送请求,得到存在服务器中的49个文件——下载文件到本地——因为文件是已压缩包形式存在的,所以下载下来后还需要解压、分类、打包后再次发送,预想将上述的步骤全通过代码来实现主要可以分以下几部分:通过数据库设置七个人...

2018-09-12 18:39:35 1867

原创 Nginx初体验

在最近工作中,接手了一部分公司Nginx的配置管理工作,由于之前对这方面几乎没有太多的接触,因此导致了一些问题出现。正好这两天有时间,赶紧学习了一下这部分的内容。当然,如果想仅仅通过两三天的时间就学会一项技能那纯粹是异想天开了,只是掌握一下入门知识,遇到问题不至于两时眼一抹黑也便于之后继续深入的学习~~~总体来说,Nginx的配置文件中主要分为以下几个部分:① 全局块: 配置影响nginx...

2018-07-25 18:02:31 254

原创 Docker初体验中遇到的问题

    最近学习了解了下Docker,安装直接是apt-get install一切正常,问题之后出现。首先是安装好后从官网pull hello-world镜像,运行sudo docker run hello-world,报错:net/http: TLS handshake timeout ,查了一下原因,应该是被屏蔽了,那就只好用国内的镜像地址了,修改地址的方法是直接修改配置文件:/etc/doc...

2018-04-09 18:28:33 268

转载 提交内容到github时报错的解决办法

事情的起因是前几天我想登陆一下我很久没上过的github上去看看,但因为时间太久却忘记了密码,弄来弄去就出了问题:因为我有两个github的账号,而且登录名很类似,关键是两个里面的项目都是一样的。本来本意是想登陆A,结果登陆进去了B,这是事情的前提。好了,登陆进去之后就想把这段时间写的一些东西上传一下,于是clone下来代码,然后本地添加了文件后提交,此时已经设置了用户名和邮箱,命令就不多说了,网

2018-01-24 16:59:22 1214

原创 Python学习笔记——持续更新

1、匿名函数lambda一段示例代码:def f(x, y): return x+yreduce(f, [1,2,3]) # reduce的作用是将list中的值累计相加(f函数提供的计算)1+2=3,3+3=6等价于:reduce(lambda x,y:x+y, [1,2,3])更多示例:list1=[2, 18, 9, 22, 17, 24, 8,

2018-01-09 11:50:57 217

原创 Django的request.POST.get()

最近在学python的Django时,看到一句代码是这样写的: name = request.POST.get('name', '')request.POST.get,那它和直接request.post有什么关系或者说区别吗?查了一下,在stackoverflow有一个帖子大概是这么说的:如果使用request.POST['sth'],那么假如‘sth’没有在post内容中就会报错k

2018-01-03 18:11:28 16479 6

原创 Jmeter打不开是因为什么原因?

事情的起因是这样滴~~本来我电脑上Jmeter是可以用的,完全没问题,但是因为某一天要测试一个东西,需要把电脑的java环境删除掉,后来再重新安装好jdk后……Jmeter就无法使用了,双击Jmeter.bat会提示:Not able to find Java executable or version. Please check your Java installation.errorle

2017-12-26 17:13:19 13622 4

原创 Git pull 强制覆盖本地文件

git pull代码时,因为本地也做了修改所以会提示冲突,如果先commit本地代码那当然就没什么问题了,但是想用仓库中的代码覆盖本地时,可以用下面方法:$ git fetch --all$ git reset --hard origin/master$ git pullgit fetch --all 是下载代码到本地,不进行合并git reset

2017-09-11 09:49:53 446

原创 pip install django失败时的解决办法

使用pip安装Django时报错,先是:C:\Users\admin>pip install djangoCollecting django Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connection broken by 'ReadTimeoutError("HTTPSConnect

2017-07-27 14:03:39 21752 12

原创 Python代码的PEP 8标准

PEP 8 标准可以归纳为以下内容:每个缩进层级使用4个空格每行最多79个字符顶层的函数或类的定义之间空两行采用ASCII或UTF-8编码文件在文件顶端,注释和文档说明之下,每行每条import语句只导入一个模块,同时要按标准库、第三方库和本地库的导入顺序进行分组在大括号、中括号、小括号之间或者逗号之前没有额外的空格类的命名采用骆驼命名法,如TestClass;异常的定义使用Error

2017-07-21 20:04:59 296

原创 python打包exe之pyinstaller

昨天在写一道python练习题的时候,突然想到这道题的场景可以帮到我老婆啊(具体什么情况就不赘言了,这都不是重点~~~),想到做到,赶紧联系我老婆详细了解了她工作内容的细节,开码!!!代码的实现不难,很快就搞定了,在本地运行也都一切正常,但是要咋给老婆大人用呢?总不能让她安个python环境在命令行里跑吧?赶紧找找Python文件打包exe的方法。百度了一圈,发现基本上就三种办法:py2e

2017-06-07 11:22:12 347

原创 python中sys.argv的用法

首先看看官方文档上的解释:sys.argv传递给Python脚本的命令行参数列表。argv[0]是脚本的名称(是否是完整的路径名这要取决于操作系统)。如果使用解释器的-c命令行选项执行命令,则argv[0]设置为字符串'-c'如果无脚本名称传递给 Python 解释器,argv[0]是空字符串。简单来说,sys.argv就是用来获取命令行参数的,下面来看个例子:#c

2017-05-25 14:01:44 922

原创 Linux学习记录——持续更新

持续记录Linux的一些知识:1、grep 同时查找多个内容例:因为服务器某文件夹中有多个文件,如果用“ll”命令的话,会显示出所有内容不方便定位,如下图:在这么多文件中,如果只想得到lineStage_vX.zip时,就可以使用grep命令来进行过滤,如下图:上图是按照一个字符串“line”来进行查找的,如果要查找多个字符串时,可以使用  |grep -E

2017-05-15 17:15:37 319

原创 Anaconda之二——Anaconda更新失败解决办法

晚上在自己的电脑上卸载了之前的Python2.X,准备重新安装3.X版,在Python的官网上下载了3.5.X装成功后准备继续安装Anaconda(在官网上要用迅雷下载,速度很快,如果是浏览器下载的话……几十KB/S,(⊙﹏⊙)b)下载完Anaconda并安装成功后,在cmd中运行 conda install requests,结果却报错了,大概是:conda httperror http n

2017-05-11 23:16:09 2514 1

原创 Anconda,Python科学计算环境

在windows上使用Python以来,挺喜欢这种简洁的语言,但在使用过程中发现安装各种包时实在是麻烦,而且很容易报错,So,只能在Linux上来运行!今天在看一篇爬虫的文章时,看到了一个词:anaconda,似乎能解决我遇到的问题,赶紧找来看看,官网下载地址:Anaconda    下载时要注意自己安装的Python版本和系统哦!    下载完成后,安装是傻瓜式的,基本上一路“下一步”就

2017-04-28 14:18:41 526

原创 Java中equals()和contains()的区别

最近用到了equals和contains两个方法,两个都有对比的意思,但区别呢?在网上找了些资料,似乎大概能分清了。首先是文档上的内容:equalspublic boolean equals(Object obj)指示其他某个对象是否与此对象“相等”。equals 方法在非空对象引用上实现相等关系:  ● 自反性:对于任何非空引用值 x,x.equals(x)

2017-04-18 15:05:38 35945 2

原创 执行git add 时,提示Warning

GitHub新建项目,提交文件执行git add * 时提示“warning: LF will be replaced by CRLF in XXX.py.”,截图如下:百度后,解决方法执行:git config --global core.autocrlf  false

2017-04-14 14:15:36 1087

原创 开始啦

嗯,开始记录些东西吧!

2017-04-11 10:57:19 195

空空如也

空空如也

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

TA关注的人

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