- 博客(46)
- 资源 (8)
- 收藏
- 关注
原创 jenkins+junit4+allure+selenium实现自动化测试与结果可视化
jenkins+junit4+allure+selenium实现自动化测试与结果可视化
2022-11-07 19:02:37
2390
1
原创 linux部署Django
一、pip换源1.需要在/root/.pip 目录下,新建 pip.conf文件(大部分基本已经存在),粘贴以下内容[global]index-url = http://xxxtrusted-host = xxx.comtimeout = 120二、安装psycopg2[root@pekpopgsci00259 etc]# pip3 install psycopg2问题 error: command 'gcc' failed with exit status 1err.
2022-05-17 17:58:00
258
原创 postgresql安装部署
一、配置=================================配置==========================./configure --prefix=/project/PostgreSql/postgresql-13.0 // 配置 prefix设置安装路径有可能报错configure: error: readline library not found,原因是未安装readline,readline-develsudo apt install libreadline-.
2022-05-17 16:17:41
373
原创 简单代码解释器
一、词法语法标准if ¶m1== 2: if ¶m2== 0:1.0 else: if ¶m3== 6 : 3.0 elif ¶m3==5 :3.0 elif ¶m3==8: if ¶m4 == 6 : if ¶m3== 1:3.3 elif ¶m3== 2:2.7 else:3.0 else: if &pa
2022-04-20 18:00:16
2212
转载 js for循环同时得到序号和值
let arr = ['a','b','c','d'];for (let [index, value] of arr.entries()) { console.log('index:',index,'value',value);}
2022-04-14 10:44:01
940
原创 pycharm断点调试django
1、打开你的工程,在菜单栏里找到Run-->Edit Configurations2、在打开的对话框里边选择Python,点击"+"号3.选择python4、出现了一个新的项Unnamed,你可以把它改名叫debug,好听一点5、脚本选择你网站的manage.py,脚本参数用runserver,跟你平常用命令行是一样的,聪明的同学应该已经发现了,也可以配置migrate(数据库同步)等等命令参数,来实现命令的快速运行,省的手敲了6、之后在菜单栏里找到Run--&
2022-03-02 17:00:49
1122
原创 PostgreSQL修改用户密码
初始化数据库之后默认的密码为空,此时可以直接登录数据库,但这样很不安全,需要设置密码。命令行进入数据库psql -d postgres执行命令修改密码ALTER USER 用户名 WITH PASSWORD 'xxx';退出\q修改配置文件进入数据库目录,修改配置文件,使pgsql开启验证密码IPv4后面的值从trust改为md5,trust意思是信任本地连接无需密码...
2022-03-02 16:02:51
16356
1
原创 windows环境安装并初始化PostgreSQL
首先下载PostgreSQL下载并解压初始化数据库先进入bin目录下地址栏输入cmd按回车进入命令行创建空数据库目录例如:在D:\postgreSQL\pgsql这一层目录下新建文件夹,名称为data执行pg_ctl.exe init -D D:\postgreSQL\pgsql\data对数据库进行初始化,注意默认的用户名,以后用这个用户登录数据库,注意这里字符集配置的也有问题,使用Navicat连接报错时会显示乱码,需要更改为en_US.utf8配置文档.
2022-03-02 15:53:29
2217
原创 pip Fatal error in launcher: Unable to create process using
问题场景当我们移动了python文件夹后,系统的全局变量却还是原来的python路径,此时在cmd中输入python,系统会按照以前的路径去找python.exe,pip.exe。因此需要修改全局变量。但是很多朋友再修改了全局变量之后,虽然python可用了,但pip依旧无法使用,会报错pip Fatal error in launcher: Unable to create process using {原pip路径} {现pip路径}。问题分析这是因为pip其实也是python代码,pip里
2022-02-24 11:39:49
1263
原创 使用openssl生成根证书以及签发服务器证书
这里使用的自签发的根证书,因为它不在客户端受信任证书列表中,因此它签发的其他证书都不受信任。(1)创建根证书私钥root.keyopenssl genrsa -out root.key 2048(2)利用私钥,创建证书请求文件(CSR)openssl req -new -key root.key -out root.csr命令输完后,需要输入一些信息,需要在YOUR name 处一定要填写项目布置服务器所属域名或ip地址(3)利用私钥和CSR,自签根证书root.pemop
2022-01-27 11:13:32
1032
原创 python证书生成篇
def generate_adhoc_ssl_pair(cn=None): from datetime import datetime as dt from datetime import timedelta try: from cryptography import x509 from cryptography.x509.oid import NameOID from cryptography.hazmat.backends imp.
2022-01-26 11:49:18
4366
原创 python受信任根证书列表篇——多个根证书生成受信任根证书列表,request加载受信任列表正常访问
CERT_BEGIN = b"-----BEGIN CERTIFICATE-----"CERT_END = b"-----END CERTIFICATE-----"with open(cert_path, mode='rb') as cert_file: cert_text = cert_file.read()with open(ca_path, mode='ab') as ca_file: if cert_code == PEM: ca_file.write(c.
2022-01-26 11:14:25
3799
1
原创 re非贪婪匹配,替换一次
pre_collection_ret_list = ['1', '2', '3', '4', '5', '6'] request = '1: {111}, 2: {asfd}, 3: {adf}, 4: {jkm}, 5: {sa}, 6: {xzuu}, ' for pre_collection_ret in pre_collection_ret_list: request = re.sub(r'\{.*?\}', pre_collection_ret, request,.
2022-01-20 10:43:47
520
原创 sqlalchemy使用心得
导入必要包import osfrom sqlalchemy import create_engine, Column, String, Integerfrom sqlalchemy.orm import sessionmakerfrom sqlalchemy.ext.declarative import declarative_baseBase = declarative_base()DIR_EXT = 'ext'DB_NAME = 'TEST.DB'初始化引擎def init
2022-01-13 16:54:21
392
原创 自研python线程池(可控线程池时间)
import ctypesimport threadingimport timeimport queueimport typesPENDING = "pending"CLOSED = "closed"RUNNING = "running"TIMEOUT = "timeout"POOL_EXCEPTION = "pool_exception"KILLED_AT_THE_END = "killed at the end"STATUS = [PENDING, CLOSED, RUNNIN.
2022-01-10 14:57:20
367
原创 如何使用pandas解析数据并存储,再利用matplotlib画图
import reimport os# import csv## import numpy as npimport pandas as pdfrom matplotlib import pyplot as pltplt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号def gather_source_data_files() .
2021-12-24 15:10:13
1047
1
原创 ANSI escape code
ANSI转义序列是带信号的标准编码,用于控制视频文本终端和终端模拟器上的光标位置、颜色、字体样式和其他选项。这些字节序列(大多数以ASCII转义字符和括号字符开头)会嵌入到文本中。终端将这些序列解释为命令,而不是逐字显示的文本(这就导致在终端交互时看不到这些,但采用一些收集脚本收集这些终端的命令反馈时,收集回来的数据中会看到大量这些编码)。控制字符C0Hex 字符 描述 \x00 \0 Null \x05 ENQ 触发应答消息 \x07 \
2021-12-10 16:02:33
1035
1
原创 前端学习心得(20211206)
任务:基于20211203的任务继续优化,原任务为“前端设置一个表单用来收集用户选择的文件,用户选择后将选择的文件作为参数,使用ajax封装一个post请求发送给服务器,也就是flask后端,后端获取该文件并复制到服务器上,也就是复制文件,然后返回‘ok’,前端打印结果反馈用户。”这次的任务优化了文件上传按钮,使用自定义的按钮取代浏览器的默认样式。另外还优化了标题样式。谷歌浏览器的默认样式:预期样式:html:<!DOCTYPE html><html> <.
2021-12-07 10:34:05
931
原创 前端学习心得(20211203)
任务:前端设置一个表单用来收集用户选择的文件,用户选择后将选择的文件作为参数,使用ajax封装一个post请求发送给服务器,也就是flask后端,后端获取该文件并复制到服务器上,也就是复制文件,然后返回‘ok’,前端打印结果反馈用户。flask:from flask import Flask, render_template, request, jsonifyimport osapp = Flask('My Flask', template_folder='template', static
2021-12-03 15:51:31
1242
1
原创 前端学习心得(20211202)
任务:前端设置一个按钮,用户点击后前端用ajax包装一个url像后端flask服务器发送请求,经过后端处理,返回一个值给前端,前端将返回值反馈给用户flask后端:from flask import Flask, render_template, request, jsonifyapp = Flask('My Flask', template_folder='template', static_folder='static')@app.route('/', methods=['GET'])
2021-12-02 10:52:10
1150
原创 前端学习心得(20211201)
html:<html> <head> <title> Home Page </title> </head> <body> <button id="btn">按钮</button> </body> <script type="text/javascript" src="/static/js/src/jquery.min.js"></script>
2021-12-01 16:14:33
794
1
转载 UML建模——用例图(Use Case Diagram)
用例图主要用来描述角色以及角色与用例之间的连接关系。说明的是谁要使用系统,以及他们使用该系统可以做些什么。一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示这些元素之间的各种关系,如泛化、关联和依赖。它展示了一个外部用户能够观察到的系统功能模型图。【用途】:帮助开发团队以一种可视化的方式理解系统的功能需求。一、用例图所包含的的元素1.参与者(Actor)——与应用程序或系统进行交互的用户、组织或外部系统。用一个小人表示。 2.用..
2021-11-10 11:08:12
4010
1
原创 PIL(Python Imaging Library)生成验证码
首先导入PILimport PIL创建画板size=(800, 640)mode="RGB"bg_color=(230, 230, 230)img = Image.new(mode, size, bg_color)创建画笔draw = ImageDraw.Draw(img)生成随机4位验证码def get_chars(): letter_cases = "abcdefghjkmnpqrstuvwxy" # 小写字母,去除可能干扰的i,l,o,z u
2021-11-02 15:41:58
263
2
原创 python发送https请求并验证服务端证书
import urllib.requestimport ssldef send_request(): CA_FILE = r"D:\station\python_demo\cert\xxx.cer" # KEY_FILE = "client.key" # CERT_FILE = "client.crt" # 这里屏蔽了不安全的TLSv1与V1.1协议 context = ssl.SSLContext(ssl.PROTOCOL_TLS) co.
2021-06-17 11:49:59
2272
1
原创 证书格式与读取
一、扩展名.pem–隐私增强型电子邮件格式,通常是Base64格式的。 .cer,.crt,.der– 通常是DER二进制格式的。 .p7b,.p7c–PKCS#7SignedData structure without data, just certificate(s) orCRL(s) .p12–PKCS#12格式,包含证书的同时可能还包含私钥 .pfx– PFX,PKCS#12之前的格式(通常用PKCS#12格式,比如由互联网信息服务产生的PFX文件)...
2021-06-17 11:29:13
730
原创 python读取crl吊销列表
import OpenSSLwith open(r"D:/station/python_demo/cert/baidu_crl.crl", 'rb') as _crl_file: crl = _crl_file.read()# 注意crl文件的编码格式,如果是pem的用FILETYPE_PEM,der的用FILETYPE_ASN1# crl_object = OpenSSL.crypto.load_crl(OpenSSL.crypto.FILETYPE_PEM, crl)crl_obj.
2021-06-17 11:13:53
729
1
原创 软件开发流程关键岗位职责定义
PM岗位职责: 角色描述 角色职责 卓越标准 1、版本高质量交付的责任者 1、版本质量、进度、范围、成本的第一责任人。负责项目总体路标规划、目标优先级排序、项目预/核算、项目人力管道、依赖关系、风险等管理。 2、协同解决方案团队,E2E支撑版本商业成功。跟踪版本市场需求和关键目标市场,做好各版本和入网测试的协同管理、导入管理和转维。 1.任何时候不轻言放弃,带领大家勇往直...
2021-06-03 19:28:10
2432
1
转载 NAND Flash底层原理,SLC MLC TLC比较
NAND-Flash 的存储原理 固态硬盘最小单元的基本架构如下: 我们知道计算机中所有的信息储存最终都必须回归到 0与1,原则上,只要存储单元能提供两种或两种以上可供辨识的状态,便可以拿来纪录数据。(1)写入数据 在 NAND-Flash 中,当我们需要写入数据时,会在图中的控制闸(Control Gate)施加高电压,然后允许源极(Source)与汲极(Drain)间的 N信道(N-Channel)流入电子,等到电流够强,电子获得足够能量时,便会越过浮置闸(Floating Gate)底下
2021-04-09 16:56:28
695
1
转载 固态硬盘进阶知识:颗粒篇
前言——大家可能知道固态硬盘由主控芯片、闪存、缓存芯片、接口几部分组成。固态硬盘的内部结构在这其中,如果将主控比作心脏,那么闪存就是大脑,因为闪存起着存储数据的作用,而对于固态硬盘来说,它尤为重要!而今天我们说说固态硬盘颗粒的相关知识。(FLASH芯片)闪存颗粒的种类现行的固态硬盘所使用的闪存芯片,一般分为四种,分别是SLC、MLC、TLC、QLC。镁光SLC颗粒,图片来源镁光官网东芝MLC颗粒,图片来源东芝官网东芝TLC颗粒,图片来源浦...
2021-04-09 16:51:38
11269
转载 SSD的传输总线、传输协议
1.2 SATA1.3 PATA(ATA)IDE盘1.4 SCSI 服务器领域中使用的传输总线,已经很少人用了。1.5 SAS 民用领域由PATA到SATA,服务器领域由SCSI到SAS。 SAS控制器可以兼容SATA的设备,但是SATA控制器不能兼容SAS设备。 SAS 1.0达到3Gbps,每一代翻2倍。1.6 FC FC接口很稀缺,是基于网络传输协议下诞生的接口。 起源于SCSI,但速度远远超过SCSI,最...
2021-04-09 15:13:46
1186
转载 NVME简单理解
NVMe是什么:NVMe是一种Host与SSD之间通讯的协议,它在协议栈中隶属高层。NVMe制定了Host与SSD之间通讯的命令,以及命令如何执行的。NVMe有两种命令,一种叫Admin Command,用以Host管理和控制SSD;另外一种就是I/O Command,用以Host和SSD之间数据的传输。下面是NVMe1.2支持的命令列表:NVMe支持的Admin Command:NVMe支持的I/O Command:跟ATA spec中定义的命令相比,NVMe的命令个数少了很多,完全是为SS.
2021-04-09 14:52:26
721
原创 关于python安装过程中自动编译生成的dll文件漏洞修复——CVE-2021-23840
漏洞详情:https://nvd.nist.gov/vuln/detail/CVE-2021-23840python安装过程中会自动编译两个文件libcrypto-1_1.dll,libssl-1_1.dll在python/DLLs路径下这两个都是漏洞文件1.1.1g版本包含漏洞,升级到1.1.1k就可以修复此漏洞openssl 1.1.1k下载地址:http://slproweb.com/products/Win32OpenSSL.html我下载的是Win32 OpenSSL
2021-03-26 16:25:01
1083
原创 证书下载与解析验证
证书的类别:https://www.cnblogs.com/demonxian3/p/9019169.html证书的解析:https://www.cnblogs.com/qq874455953/p/10264428.html证书下载:https://www.cnblogs.com/nextkara/p/12469789.html证书详解:https://wyxwyx46941930.github.io/2019/01/22/X-509/证书信息解析:https://blog.csdn.n..
2021-03-05 14:29:39
267
原创 论python的可变对象与不可变对象
总结:不可变对象改变值时会将新的值放在另一个内存地址中,原内存地址释放。从编程者的视角看,变量名没有发生变化,但该变量名指向的内存地址已经发生改变。对于可变对象,例如list,改变list的值,其内存起始地址不变,id(list)输出值一样。因此用list做函数参数的默认值时,再次使用该函数不会对该参数重新赋值一个默认的list,而是使用之前的list,但这个list很可能已经发生多了变化,所以会引发bug。如非特别说明,下文均基于Python3一、默认参数python为了简化函数的调用,提..
2021-02-09 15:35:56
251
3
原创 如何理解python装饰器
一. @语法糖的理解一般出现情况为:@funcAdef funB(): ...转换成更容易理解的语句为:temp = funcA(funcB)funcB = temp一句话总结:装饰器的本质也是一种运算符举例1说明:def decorator(func): print("in decorator") print("it's func:" + str(func)) print("out decorator") return 99
2021-02-05 15:11:51
138
7
原创 python kill 线程
python kill 线程import ctypesimport threadingclass Thread(threading.Thread): def __init__(self, *params, **known): super(Thread, self).__init__(*params, **known) parent_thread = threading.current_thread() self.is_killed = F
2021-01-21 10:33:16
783
1
原创 model.most_similar
model.most_similar(['girl', 'father'], ['boy'], topn=3)[('mother', 0.61849487), ('wife', 0.57972813), ('daughter', 0.56296098)]model.most_similar(positive=['woman', 'king'], negative=['man'])...
2019-03-04 12:29:02
6585
1
如何使用pandas解析数据并存储,再利用matplotlib画图------data1.csv
2021-12-24
Neural_Networks_-_A_Comprehensive_Foundation_-_Simon_Haykin.pdf
2018-03-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人