Alien-Hu

学习笔记
私信 关注
Alien-Hu
码龄12年

自动化测试人员,接口自动化测试、UI自动化测试。懂点开发,希望做一名优秀的测试人员!

  • 952,263
    被访问量
  • 152
    原创文章
  • 9,694
    作者排名
  • 3,738
    粉丝数量
  • 于 2009-07-07 加入CSDN
获得成就
  • 获得446次点赞
  • 内容获得151次评论
  • 获得1,405次收藏
荣誉勋章
兴趣领域
  • #测试
    #selenium
  • #算法
    #排序算法#回归
  • #后端
    #Python#Elasticsearch#MySQL#C/C++#Redis#Linux
  • #安全
    #web安全
  • #运维
    #Jenkins#Linux/CentOS#安全
TA的专栏
  • Python接口开发
    付费
    23篇
  • Python自动化测试
    付费
    32篇
  • Python基础
    27篇
  • Linux
    17篇
  • 算法
    9篇
  • Docker
    8篇
  • Git
    8篇
  • Mysql & Redis
    11篇
  • C/C++从小白到入门
    25篇
  • 正则表达式
    5篇
  • 数据处理、分析、可视化
    7篇
  • 炫酷小工具
    4篇
  • HTML
    4篇
  • 金融知识
    2篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅
  • 小店

C语言基础---数组、指针之间的相同与不同

文章目录1. 不同之处1.数组名的指向不可以改变,指向数组的指针可以改变2.字符串的2种初始化方式3.组名可求得数组长度,而指针却得不到数组长度2. 相同之处1.使用索引的时候2.数组作为函数参数的时候1. 不同之处数组名不可以改变,而指向数组的指针是可以改变的。指针指向字符串,此时的字符串是不能改变的;而字符数组定义的字符串,字符是可以改变的。求数组长度时,借用数组名可求得数组长度,而借用指针却得不到数组长度。1.数组名的指向不可以改变,指向数组的指针可以改变遍历方式一:#
转载
22阅读
0评论
0点赞
发布博客于 23 天前

C语言基础---指针数组----初始化方式&常量指针数组、指针常量数组

文章目录1.1.#include <stdio.h>int main() { char* str[3] = { "stra","strb","strc" }; char* p = str[0]; int i = 0; while (i < 3) { printf("%s
", p++); i++; } return 0;}stratrarachar指针数组可以指向多个字符,直到遇到空为止。p本来指向第一个字符,但是因为是指针,所以要遇
原创
21阅读
0评论
0点赞
发布博客于 24 天前

Jenkins持续部署---centos7+Docker+Github+Flask项目-------补丁篇

文章目录1.环境准备工作:2.先启动jenkins容器3.进入jenkins页面,并设置4.构建自由风格的项目5.去宿主机上查看,拉取的代码是否同步到宿主机6.python3环境容器的启动7.验证阶段8.jenkins的最终设置上篇博文写到《Jenkins持续部署—centos7+Docker+Github+Flask项目》,因为我在这方面采坑了好几天。所以希望写一篇博文,且准备好各种镜像文件,方便其他人员可以快速熟悉整个过程!但是,就怕的就是但是!我后来重新找了一个全新的服务器,试试根据我的博文,
原创
36阅读
0评论
0点赞
发布博客于 1 月前

Git使用基础---目录

文章目录《Git使用基础—基础命令的使用》《Git使用基础—git init 与git init --bare的区别》《Git使用基础—删除git库文件 & 修改远程仓库地址 & 覆盖本地、覆盖远程仓库》《Git使用基础—实际操作中,工作区/暂存区/本地仓库/远程仓库的应用场景》《Git使用基础–上传公钥、修改远程仓库地址》《Git使用基础—将代码上传到github & gitee》《Git使用基础—各种常见错误总结》...
原创
8阅读
0评论
0点赞
发布博客于 1 月前

Jenkins持续部署---centos7+Docker+Github+Flask项目

文章目录1.代码+镜像+容器配置2.jenkins容器挂载宿主机docker进程3.sh脚本语言的处理:line 2: $'\r': command not found4.启动脚本相关的坑:run.sh5.jenkins拉取远程仓库代码的设置1.仓库地址的设置2.仓库用户名 & 密码设置3.构建环境的设置4.执行shell脚本6.最终的效果7.最后的思考:本文的内容:1.将Jenkins放在单独的容器,python环境+项目放在一个容器,方便在不同服务器的部署。2.使用jenkins拉取g
原创
29阅读
0评论
0点赞
发布博客于 1 月前

Git使用基础---将代码上传到github & gitee

文章目录1.在github上创建要给仓库地址2.将本地项目提交到github上3.jenkins上新建项目并设置4.jenkins上构建代码和构建过程1.在github上创建要给仓库地址step1:填写仓库的信息step2:创建完效果create a new repository on the command lineecho "# DockerPythonDemo" >> README.mdgit initgit add README.mdgit commit -
原创
36阅读
0评论
0点赞
发布博客于 1 月前

centos7全新服务器----配置yum源、安装docker过程

文章目录1.遇到问题:yum源无法找到要安装的包文件2.更换yum源信息3.yum其他相关命令1.遇到问题:yum源无法找到要安装的包文件拿到一台新的服务器,想直接通过yum安装docker的,发现出现了点问题[root@10-23-134-84 yum.repos.d]# yum install dockerLoaded plugins: fastestmirror, langpacks, versionlockLoading mirror speeds from cached
原创
72阅读
0评论
1点赞
发布博客于 1 月前

Pycharm----xx.so cannot open shared object file问题解决

文章目录1.动态链接库so文件找不到1.动态链接库so文件找不到在linux系统中,使用终端执行某个文件没问题,但是如果通过pycharm(安装在linux系统中的)执行,就报错。解决方案:https://blog.csdn.net/sinat_34439107/article/details/84067230核心:将so文件的目录,保存在/etc/ld.so.conf文件中,然后执行sudo ldconfig即可sudo ldconfig的时候,即使出现如下警告,也正常可以调用so
转载
25阅读
0评论
0点赞
发布博客于 1 月前

Docker/Podman使用提高---docker-compose基础(python3)

文章目录1.docker-compose是什么2.官方案例:python_web + redis 项目3.docker-compose.yaml 文件的规范4.CMD命令使用:flask run5.redis中incr()函数本博文主要通过官方的案例讲解docker-compose的使用情况。你也可以移步官方地址:docker-compose 官方案例地址1.docker-compose是什么Docker Compose 是一个工具,命令行工具。这个工具可以通过yml文件定义
原创
111阅读
0评论
0点赞
发布博客于 2 月前

Docker/Podman使用提高----Dockerfile的制作基础及常见的问题

文章目录1.Dockerfile基础2.docker build 基础3.构建centos镜像:案例一4.修改后的案例一:5.CMD 与 ENTRYPOINT 的区别5.ADD 与 COPY 的区别6.常见问题1).fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/main/x86_64/APKINDEX.tar.gz 超时问题2.启动容器后就直接停止了1.Dockerfile基础Dockerfile要点:每个保留关键字(指令)都必须是大写字
原创
107阅读
0评论
0点赞
发布博客于 2 月前

Pycharm使用基础----自动上传代码到服务器(deployment)

文章目录1.1.
原创
69阅读
0评论
0点赞
发布博客于 2 月前

Docker/Podman---构建python微服务(pypy环境)

文章目录1.核心代码展示2.拉取pypy镜像到本地3.上传代码到服务器4.使用pypy环境,启动python项目5.使用nohup在后台启动python项目centos8中使用podman对docker进行替代,本文中遇到podman的命令,基本都可以用docker实现!centos7用户直接把podman替换为docker即可本篇博文介绍:使用docker构建python容器环境,挂载宿主机上项目的到目录到容器中,方便项目的同步使用pypy对应的python环境,有关pypy为啥更牛X,
原创
83阅读
0评论
0点赞
发布博客于 2 月前

Docker/Podman使用提高-----网络详解

文章目录1.lo & ech0 & docker0/podman0的理解以下使用的是centos8系统,centos8中对docker做了升级和增强,可以把podman就当做docker1.lo & ech0 & docker0/podman0的理解podman0地址:这个地址10.88.0.1 ,相当于一个路由器的功能,本地服务通过这个路由,可以连接不同的容器每次启动一个容器,就会产生一个容器ip地址,网段为10.88.0.xxx查看某容器的
原创
274阅读
0评论
0点赞
发布博客于 2 月前

Docker/Podman使用入门---从容器构建镜像 & 提交镜像到服务器UCloud & dockerhub

文章目录1.docker commit 提交镜像命令2.将镜像提交到UCloud服务器step1: 先在UCloud服务器上面,创建镜像仓库step2: 登录UCloud镜像仓库step3: 将本地镜像打标签step4: push镜像到服务器仓库step5:pull拉取镜像3.将镜像提交到dockerhubstep1:在dockerhub上创建镜像仓库step2:登录dockerhub镜像step3:给镜像打标签step4:上传镜像到docker hub1.docker commit 提交镜像命令
原创
222阅读
0评论
0点赞
发布博客于 2 月前

Docker/Podman使用入门---基础命令篇

文章目录1.帮助命令2.镜像命令3.容器命令centos8 中一律使用podman工具代替了docker命令,具体用法基本一致1.帮助命令docker version # 显示docker的版本信息docker info # 显示docker的系统信息,包括镜像和容器的数量docker 命令xxx --help # 帮助命令2.镜像命令docker images 查看所有本地主机上的镜像[root@AutoTestServer ~]#
原创
433阅读
0评论
0点赞
发布博客于 2 月前

Linux趣味杂谈----修改SSH登陆之后的提示字符、简体画

文章目录1.效果展示:2.安装cowsay、figlet两个工具3.修改ssh的配置文件4.修改motd的配置文件每次登录ssh,都是一些老套的文字提示,感觉工作都缺少了点乐趣!今天,又找到点好玩的功能,希望每次打开远程终端,开始工作的时候,都可以给你带来一点点的乐趣,工作激情up、up、up!!!1.效果展示:以上登录提示,主要包含三部分:乌龟部分(turtle),这个简体图可以安装一个包文件,里面有多种简体图可供选择大文字(Welcome Alien),大文字效果也可以安装一个包
原创
65阅读
0评论
0点赞
发布博客于 2 月前

Flask+Swagger----接口平台的创建(flasgger模块)---小白入门

文章目录0.开篇介绍1).接口文档的配置方式----YML文件中2).接口文档的配置方式----接口类中3).文档的呈现---划分类型4).文档的呈现---key-value类型5).文档的呈现---json传递数据6).文档的呈现---用json展示response0.开篇介绍本篇主要介绍,如何创建swagger接口平台,方便接口的调用和调试也算接口文档了,查阅接口的使用方法本篇内容仅介绍使用方法,代码部分贴出来,如有讲解不清楚的地方,烦请指正,谢谢!画个大饼,如下就是我们要干的伟大事业
原创
88阅读
0评论
0点赞
发布博客于 2 月前

Python3+selenium+Chrome---获取表格(tbody)中数据(tr)的详细内容----a & td内容的获取

文章目录0.业务需求1.表格内容的分步讲解2.代码分步讲解1).获取所有行内容------tr的列表2).获取某行所有字段------td的列表3).获取第一行第一列内容------a的值4).单纯td标签内容的获取3.核心代码0.业务需求如下页面,输入框支持关键字搜索,搜索完如果有内容的话,呈现如下截图效果。UI自动化的过程中,需要获取所有搜索的结果,方便后续测试中做校验本文重点在讲述获取表格信息1.表格内容的分步讲解通过如上截图,我们发现搜索的最终数据内容,是在&l
原创
580阅读
1评论
0点赞
发布博客于 2 月前

Docker使用入门---docker内安装工具、docker内外cp、mysql的配置信息

文章目录1.docker容器启动之后,发现vim、ll等命令都没有2.docker安装mysql,如何把数据备份1.docker容器启动之后,发现vim、ll等命令都没有sudo apt-get updatesudo apt-get install vim# 或者如下命令sudo apt-get update && apt_get install vim理解:docker 为了尽可能精简内容,很多命令都不会安装,也包括最新的软件列表源信息。所以,需要使用apt
原创
45阅读
0评论
0点赞
发布博客于 2 月前

常用的Linux命令_多条命令执行

文章目录1.多条命令-----(用;隔开)2.多条命令-----(用&&隔开)3.多条命令-----(用 || 隔开)4.多条命令-----(用 | 隔开)1.多条命令-----(用;隔开)说明:各命令的执行结果,不会影响其它命令的执行。各个命令都会执行,但不保证每个命令都执行成功。2.多条命令-----(用&&隔开)说明:若前面的命令执行成功,才会去执行后面的命令。这样可以保证所有的命令执行完毕后,执行过程都是成功的。3.
原创
60阅读
0评论
0点赞
发布博客于 2 月前

Python3---获取延迟、提前的时间、日期---datetime、time

文章目录0.年月日时分秒------指令代码1.获取年、月、日、时、分、秒组合的字符串2.根据当前时间获取:延迟的时间、提前的时间1.获取延迟的时间2.获取提前的时间3.字符串格式的转换---time4.将字符串转换为延迟、提前的字符串5.时间大小的比较0.年月日时分秒------指令代码指令解释例子%y年没有世纪作为一个零填充的小数。00, 01, …, 99%-y没有世纪作为十进制数的年份。0, 1, …, 99%Y以世纪为十进制数的年份。201
原创
160阅读
0评论
0点赞
发布博客于 3 月前

Redis---基础知识:数据类型、持久化机制、虚拟内存、高级特性、应用场景

文章目录1.redis的数据类型2.详解Redis 的持久化机制--RDB和AOF3.redis核心概念4.Redis 单key值过大 优化方式5.Redis的缓存穿透、缓存击穿、缓存雪崩6.redis之虚拟内存7.redis高级特性8.redis的应用场景1.redis的数据类型Redis学习笔记整理(黑马程序员视频课程)2.详解Redis 的持久化机制–RDB和AOF详解Redis 的持久化机制–RDB和AOF3.redis核心概念Redis核心概念4.Redis 单key值
转载
47阅读
0评论
0点赞
发布博客于 3 月前

Redis---用podman安装 & 配置 redis---centos8环境

文章目录1.redis的安装2.容器redis的进入、启动、停止、删除3.常用的命令 ps1.redis的安装因为redis的版本很多,可以根据starts的数据过滤掉不需要的版本信息(有可省略)podman search redis -f stars=70# podman search redis -f is-official=true 备用方案centos7 环境直接使用docker search redis -f stars=70 即可centos8 改用了pod
原创
110阅读
0评论
0点赞
发布博客于 3 月前

一次惨痛的教训:被pnscan病毒攻击的经过

文章目录0.案发情况1.案发原因2.排查过程1.痛点一:多个攻击的脚本导致CPU完全被占用2.痛点二:top、ps、crontab等多个脚本文件被串改3.痛点三:crontab 定时任务脚本被感染3.总结:4.附录:核心攻击脚本0.案发情况pnscan病毒感染惨状:使用top & ps & netstat 等等命令,都无法正常使用CPU基本100%,时不时网络中断redis端口6379被大规则线程占用通过lsof -i:6379 查看进程,发现进程id一直在变动rm -r
原创
854阅读
13评论
4点赞
发布博客于 3 月前

C语言基础---18.函数中形参为什么需要指针?

文章目录1.交换两个变量的值---间接交换2.交换两个变量的值---直接交换3.交换两个变量的值---内存地址和值都交换本文利用2个变量的值的交换,通过3个案例,说明变量名、对应内存地址、对应的值三者之间的关系。一般来说,在C/C++中,我们说交换某2个变量的值,需要保证变量对应的内存地址不要变动,值变动即可。但其他语言(如Python)不研究指针相关的内容,只关心值是否变动即可,内存很少研究,我们也看看其工作原理。1.交换两个变量的值—间接交换如下函数,是为了实现交换两个变量a,b
原创
98阅读
3评论
0点赞
发布博客于 3 月前

C/C++从小白到入门---总目录

文章目录一.C语言基础1.基础篇2.提升篇二.C++基础1.基础篇欢迎大家来到我的专栏《C/C++从小白到入门》,原本想起一个名字叫《从入门到放弃》(tip:内心想放弃无数次了!)。每当清醒之后,梦中的自己好像在呼唤现实的自己(嘿, 再坚持一下,说不定马上就突破了!)专栏介绍:本专栏适合不懂C/C++的小白,我就是这样慢慢走过来的,希望可以入门这个语言如果你是小白,建议找一些入门的视频,系统性地去学习这门语言,遇到关键知识点再搜索博文看(个人体会)本专栏,记录我在学习的过程中,在一些关键知识
原创
68阅读
1评论
0点赞
发布博客于 3 月前

Ubuntu----nightingale(夜莺)---mail-sender & wechat-sender采坑记录

文章目录1. mail-sender的安装与配置1.告警详情相关1. mail-sender的安装与配置github地址:https://github.com/n9e/mail-sender1.告警详情相关# ~/gopath/src/github.com/didi/nightingale/etc/monapi.yml 文件的修改notify: p1: ["voice", "sms", "mail", "im"] # 这个代表不同的警告等级,需要发送的消息类型,根据情况自己填写
原创
110阅读
1评论
0点赞
发布博客于 4 月前

Ubuntu----nightingale(夜莺)系统安装记录

文章目录1.下载go并安装和编译1.下载go并安装和编译step1:下载并解压go语言包golang 的下载地址:https://golang.google.cn/dl/wget https://golang.google.cn/dl/go1.15.5.linux-amd64.tar.gztar xvf go1.15.5.linux-amd64.tar.gzstep2:添加go语言的环境变量此时,我们需要把2个地址添加到环境变量,2个地址都在/home/qlhu目录下。一个是刚
原创
172阅读
0评论
0点赞
发布博客于 4 月前

Flask_sqlalchemy-------AttributeError: ‘str‘ object has no attribute ‘microseconds‘

文章目录1.报错现象2.解决方案一:3.解决方案二:4.总结:1.报错现象AttributeError: ‘str’ object has no attribute ‘microseconds’报错过程:执行了一个flask_sqlalchemy的查询语句,然后就报如上这个错误执行的语句为:result_object_list = TaskReport.query.filter(TaskReport.task_id == “1000000046”).all()在其他相似表格也做过类
原创
91阅读
0评论
0点赞
发布博客于 4 月前

C语言基础---3.格式化输出总结---%d ,%s,%f & %.3f,%m.ns 以及sprintf函数

文章目录1.常规----格式化输出2.特殊----格式化输出3.sprintf-----格式化输出1.常规----格式化输出%d //整型输出%ld //长整型输出%o //以八进制数形式输出整数%x //以十六进制数形式输出整数,或输出字符串的地址%u //以十进制数输出unsigned型数据(无符号数)注意: %d与%u的区别是,有无符号的数值范围不同,也就是极限的值不同,不然数值打印出来会有误%c //用来输出一个字符%s /
原创
390阅读
0评论
2点赞
发布博客于 5 月前

正则---re模块的基础用法(re.match() /单个字符匹配/ 多个字符匹配)

文章目录1. re模块的使用过程2. re模块示例(匹配以itcast开头的语句)3.匹配单个字符4.匹配多个字符1. re模块的使用过程 #coding=utf-8 # 导入re模块 import re # 使用match方法进行匹配操作 result = re.match(正则表达式,要匹配的字符串) # 如果上一步匹配到数据的话,可以使用group方法来提取数据 result.group()2. re模块示例(匹配以itcast开头
原创
1425阅读
4评论
3点赞
发布博客于 5 月前

Linux-----通过定时任务(crontab) 执行shell + python

文章目录0.故事的背景:1.终端执行python脚本,传递参数方法2.shell脚本使用基础3.shell脚本 & python脚本案例0.故事的背景:我希望每天固定时间,从某接口获取数据,然后把当天的数据插入到另一个数据库中因为我shell脚本不太熟悉,所以只能把核心的业务逻辑放在python3脚本中python3的脚本需要具备一个功能,既能自动执行,也能手动执行。而且手动执行的时候需要传入一个日期参数,方便脚本获取固定日期的数据。有关crontab的使用基础,可参考博文:
原创
140阅读
0评论
0点赞
发布博客于 6 月前

Linux-----定时任务(crontab)----入门基础

文章目录1.crontab的介绍2.第一个crontab的demo3.有关crontab的其他说明4.crontab定时命令的案例1.crontab的介绍我们经常使用的是crontab命令是cron table的简写,它是cron的配置文件,也可以叫它作业列表,我们可以在以下文件夹内找到相关配置文件。/var/spool/cron/ 目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名/etc/crontab 这个文件负责调度各种管理和维护任务。/etc/cro
原创
126阅读
2评论
0点赞
发布博客于 6 月前

Flask-SQLAlchemy分组查询 & 查询后排序 & 更新数据 & 删除数据 ---ORM(6)

文章目录0.Flask-SQLAlchemy & SQLAlchemy1.分组查询2.查询后排序3.根据条件更新数据4.删除数据0.Flask-SQLAlchemy & SQLAlchemyFlask-SQLAlchemy 和 SQLAlchemy 是两个不同的模块Flask-SQLAlchemy模块整体的使用要简单一些,但是此模块还是来源于SQLAlchemy。有关SQLAlchemy的使用详情,我已经整理出来了,请参见博文:SQLAlchemy相关的增&删&
原创
563阅读
0评论
2点赞
发布博客于 6 月前

flask_sqlalchemy-----TypeError: __repr__ returned non-string (type int)

文章目录0.故事背景1.优化后的方案0.故事背景在调试接口的时候,发现了如下的问题。后来经过排查找到了问题的根源,核心问题是自己在写代码的时候,有一些地方没考虑全面,以及对魔方方法的理解还不够全面,决定整理一下,方便其他人员采坑通过如上提示,发现是函数返回的是非字符串信息(实际返回的是int类型),看样子系统系统我们返回的是字符串信息。原始的数据库表格模型如下:# 数据库模型class OrderReport(db.Model): def __repr__(self):
原创
243阅读
1评论
1点赞
发布博客于 6 月前

python中魔法方法__str__与__repr__的区别

文章目录0.故事背景1.__str__ & __repr__ 方法1.重写__str__2.重写__repr__3.重写__repr__ & __str__方法2.str() & repr() 函数3.__str__与__repr__的本质区别0.故事背景# 以下为交互模式In [1]: class People: ...: def __init__(self, name, sex): ...: self.name
转载
140阅读
0评论
1点赞
发布博客于 6 月前

Python---作用域、嵌套函数、闭包函数

文章目录1.作用域基础2.global & nonlocal3.闭包函数4.案例一:计数器5.案例二:循环中得到的变量1.循环之后,执行函数2.循环一次,执行一次函数6.案例三:给闭包的内外函数传递参数7.案例四:列表生成式 + 闭包 + lambda1.案例详情:2.需要的基础知识3.分析过程4.优化方案一:5.优化方案二:本篇文章以转载为主,看了很多篇博文,感觉有几篇比较好。整理如下,希望通过这一篇博文就能对闭包函数,有一个更加深入全面的了解!1.作用域基础局部作用域 loca
转载
77阅读
0评论
0点赞
发布博客于 6 月前

Python经典算法(小白入门系列)------希尔排序

文章目录1.希尔排序相比插入排序,哪些地方可以优化?2.希尔排序---分步图解优化的方案3.分拆希尔排序------一次分组的排序4.分拆希尔排序---完整代码希尔排序是插入排序的一个优化,如果对插入排序还有点模糊的同学,可以移步另一篇博文里面:Python经典算法(小白入门系列)------插入排序1.希尔排序相比插入排序,哪些地方可以优化?插入排序的做法是,最外层循环控制开始从第几个元素开始笔记,例如i内部循环是,从上面的i元素开始,往前面比较。如果list[i] < list[
原创
89阅读
0评论
1点赞
发布博客于 6 月前

Python---链表基础(小白入门系列)---节点 & 双向链表

文章目录1.双向链表的节点 & 链表模型2.双向循环链表节点& 链表---代码表示3.双向循环链表的其他方法1.头部添加节点2.尾部插入节点3.在任意位置插入某个节点4.删除某个位置的节点信息本篇博文在上一篇博文的基础之上写的,需要有节点、单向链表的基础。基础有点遗忘的同学,可以回顾一下知识点,参考博文:Python—链表基础(小白入门系列)—节点 & 单向链表1.双向链表的节点 & 链表模型双向链表中的节点,需要保存上一个元素的指针,和下一个元素的指
原创
70阅读
0评论
1点赞
发布博客于 6 月前

Python---链表基础(小白入门系列)---节点 & 单向链表

文章目录1.节点 & 链表 基础2.节点 & 链表----初始化代码3.链表类的其他方法1.判断链表是否为空2.计算链表的长度3.遍历链表的信息4.在链表的尾部添加节点5. 在链表中插入节点6.在链表中删除某个节点7.查询某个节点是否存在1.节点 & 链表 基础一. 节点的概念链表由节点组成,每个节点又包含两个部分,一个是元素区域,一个是指针区域。元素区域存储的是,当前节点的数值,指针区域指向下一个节点的对象。在C语言中,指针应该是指向下一个元素的的内存地址,因pytho
原创
131阅读
0评论
1点赞
发布博客于 6 月前

Python经典算法(小白入门系列)------快速排序

文章目录1.快速排序的原理2.快速排序的分解步骤3.完整代码---快速排序1.快速排序的原理快速排序(quick sort)的采用了分治的策略。分治策略指的是:将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。快排的基本思想是:在序列中找一个划分值,通过一趟排序将未排序的序列排序成 独立的两个部分,其中左边部分序列都比划分值小,右边部分的序列比划分值大,此时划分值的位置已确认,然后再对这两个序列按照同样的方法进行排序,从而达到
转载
62阅读
0评论
0点赞
发布博客于 6 月前

Python经典算法(小白入门系列)------递归的应用场景(含斐波那契数列)

文章目录0.递归的概念1.普通递归2.斐波那契数列---递归求值3.斐波那契数列---循环求值0.递归的概念概念:递归算法是一种直接或者间接的调用自身算法的过程以下内容的总结非常重要,刚开始看的时候不以为然,但经过很多案例的总结之后,发现核心的还是这些内容。领悟核心内容,才方便后续举一反三!特点:①递归就是在过程或者函数里调用自身。②在使用递归策略时,必须有一个明确的递归条件,称为递归出口。③递归算法解题通常显得很简洁,但递归算法解题的效率较低。所以一般不倡导使用递归算法设计程序。
原创
142阅读
0评论
1点赞
发布博客于 6 月前

Python经典算法(小白入门系列)------合并有序数组

文章目录1.题目要求2.拆分步骤3.特殊情况1).特殊情况展示2).优化方案4.用for循环注意事项1).常规情况下---没问题2).特殊情况下---特殊手段3).最终使用使用2个for循环的结果5.完整代码--合并有序数组1.题目要求如下2个有序列表,通过算法合并到一起,按照从下到大的顺序排列arr1 = [1, 3, 4, 6, 10]arr2 = [2, 5, 8, 12]具体实现合并的效果,可以有很多种方式,但是本篇博文主要将的是一种算法的思想2.拆分步骤把key的
原创
73阅读
0评论
0点赞
发布博客于 7 月前

Python经典算法(小白入门系列)------插入排序

文章目录1.插入排序的原理2.分拆插入排序的步骤3.插入排序------完整代码(升序)4. 插入排序----倒序5.时间复杂度1.插入排序的原理通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入插入排序核心:假设第一个元素排好,之后的元素对排好的部分从后向前比较并逐一移动比较def insertionSort(arr): for i in range(1, len(arr)): key = arr[i]
原创
97阅读
0评论
1点赞
发布博客于 7 月前

Python经典算法(小白入门系列)------选择排序

文章目录(1)基本逻辑(2)算法分步解析1.升序中:假设最左边索引位置是最小值2.升序中:假设最右边索引位置是最大值3.倒序中:假设最左边索引位置是最大值4.倒序中:假设最右边索引位置是最小值(3)完整算法1.升序:假设最左边为最小值2.倒序:假设最右边为最大值(4)时间复杂度(5)选择排序演练(1)基本逻辑选择排序(Selection sort)是一种简单直观的排序算法,先假定最左边索引就是最小值,然后再把这个假定的值和其他比较,如果确实是最小值就不变动位置,否者变动位置。先找最小值,升序排序步
原创
71阅读
0评论
1点赞
发布博客于 7 月前

C语言基础---13.二维数组名是不是指针、指针的指针

文章目录1.数组名是不是指针 & 指针的指针2.通过索引和*对数组取值的原理3.易错地方:数组名赋值给指针5.二维数组名是不是指针的指针1.数组名是不是指针 & 指针的指针#include <stdio.h>int main() { char a[6] = { 'A', 'B', 'C', 'D', 'E', 'F' }; printf("%c
", *a); printf("%c
", *(a + 1)); printf("%c
原创
103阅读
0评论
0点赞
发布博客于 7 月前

C语言基础---17.不同变量的作用域---局部 & 全局 & static全局 & static局部 & extern

文章目录1.局部变量2.全局变量3.静态全局变量4.静态局部变量5.extern的作用1.局部变量在一个函数内定义局部变量也叫auto自动变量(auto可写可不写),一般情况下代码块{}内部定,只在函数范围内有效在复合语句中定义,只在复合语句中有效随着函数调用的结束或复合语句的结束局部变量的声明声明周期也结束如果没有赋初值,内容为随机2.全局变量在函数外定义,可被本文件及其它文件中的函数所共用,若其它文件中的函数调用此变量,须用extern声明全局变量的生命周期和程序运行周期一样
转载
63阅读
0评论
0点赞
发布博客于 7 月前

C语言基础---16.看图学多级指针---入门篇

文章目录1.一级指针图示:2.二级指针的图示:3.代码验证4.代码验证1.一级指针图示:在堆内存中保存数据的地址为00B8A000指针b在栈内存的地址为00B8A004,但指针变量b会保存堆内存的地址00B8A000,方便指针找到堆内存*b的过程是先找到指针变量b对应的堆内存地址,然后再算出来这个地址对应的值,即为102.二级指针的图示:注意,二级指针此处用**c定义二级指针,只能用2个*二级指针c,因为指向了一级指针b,根据一级指针的原理,C指针(指针变量c存放具体
原创
141阅读
0评论
1点赞
发布博客于 7 月前

Centos7---flask & nginx & uwsgi调试过程中------各种坑

文章目录1.错误情况贴图2.解决方案:1.错误情况贴图nginx错误的日志:upstream prematurely closed connection while reading response header from upstreamuwsgi错误的日志:unavailable modifier requested2.解决方案:# 第一步:yum search vim uwsgi-plugin-pythonyum install uwsgi-plugin-python
原创
172阅读
0评论
1点赞
发布博客于 7 月前

Centos7+Jenkins+allure

文章目录1.jenkins + allure 博文比较全面2.Jenkins 配置邮件1.jenkins + allure 博文比较全面https://www.jianshu.com/p/8bbb95b2cb8dwindows + allure + jenkins 有代码demo的博文https://blog.csdn.net/DaxiaLeeSuper/article/detail...
原创
121阅读
0评论
0点赞
发布博客于 7 月前

全新的服务器debian/ubuntu---校准时间、更新apt,设置ssh远程访问

文章目录1.校准时间2.更新apt3.设置ssh远程访问1.校准时间# Centos系统date -Rtimedatectl set-local-rtc 1timedatectl set-timezone Asia/Shanghai# Debian/ubuntu系统date -Rrm -rf /etc/localtimecp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime2.更新aptapt updateapt inst
原创
145阅读
0评论
0点赞
发布博客于 7 月前

Flask中---static_folder & static_url_path

文章目录1.base,只使用static_folder2.base+plus:使用static_folder & static_url_path1.base,只使用static_folder项目的结构:# app.py文件from flask import Flaskfrom flask import render_templateapp = Flask(__name__, static_folder="./static/a_js") # 注意,此处填写的static_fol
原创
232阅读
0评论
0点赞
发布博客于 7 月前

Centos7---Nginx+Uwsgi+多Flask项目+nginx转发

文章目录1.nginx.conf 配置2. 项目中的uwsgi.ini配置信息3.项目中的代码5.启动服务,并最终展示故事背景:在一台服务器上部署多个flask项目,一个类似网站服务,一个类似接口服务,相当于一个ip地址,根据url的不同,可以在2个服务上起作用例如,122.51.88.xx/index 这个地址就默认访问网页122.51.88.xx/api/xxxxx ,这个地址,以/api开头的url,就默认去访问接口的服务如果你已经成功部署了一个服务,且希望部署多个类似如上描述
原创
186阅读
0评论
0点赞
发布博客于 7 月前

Centos7---Nginx+Uwsgi+Flask项目部署---配置详情

文章目录1.环境准备工作2.安装uwsgi & nginx3.验证nginx4.验证uwsgi服务5.有关nginx & uwsgi配置文件的说明6.关联nginx & uwsgi7.关联uwsgi & Flask框架学习部署Flask项目之前,一定要先熟悉nginx 、uwsgi、 flask项目三者之间的关系。我就是因为对这三者之间的关系比较模糊,中间遇到了很多坑,关键浪费的很多时间。(磨刀不误砍柴工!!!)推荐必看文章(概念的理解):如何理解N
原创
179阅读
0评论
1点赞
发布博客于 7 月前

Pandas---结构化数据(DataFrame)----获取index & 列名 & 值 & 列信息 & 行信息 & loc函数 & iloc函数

文章目录1.单独获取df里面的三个部分index/colume/values2.获取df的行数/列数 & 前几行 & 后几行3.获取列信息1.键值索引方式2.切片方式4.获取行信息1.键值索引方式2.切片方式如果你对DataFrame(df)数据类型还不是很熟悉,建议先阅读另一篇基础博文:Pandas—结构化数据(DataFrame)来源 & 转成字典(dict)如下内容如提到df,都代表的是DataFrame的结构化数据1.单独获取df里面的三个部分in
原创
567阅读
0评论
0点赞
发布博客于 8 月前

Socket长连接,如何慢速存储订阅的消息-----持久化存储(mysql)

文章目录1.故事背景:2.解决思路3.demo代码1.故事背景:测试系统是socket长连接的,有订阅机制,可以订阅各种报告,例如task_report、minute_report等等。有个重要环节,是校验各个报告里面,核心数据的变化是否正确,符合预期。订阅的报告是异步的,你订阅了某个report,然后等待系统推送给你,你才能接收到这个报告。如果系统不推送,你也需要一直连接着(长连接不懂的同学请自行学习),等待推送给你。慢速发单的时候,各种报告会低频推送过来。如果是压力测试,每分钟可能
原创
146阅读
0评论
0点赞
发布博客于 8 月前

Pandas---结构化数据(DataFrame)来源 & 转成字典(dict)

年后是第三方
原创
601阅读
2评论
0点赞
发布博客于 8 月前

Git使用基础---实际操作中,工作区/暂存区/本地仓库/远程仓库的应用场景

文章目录1.基本结构的介绍2.git diff 的使用3.实际操作情况1.修改工作区文件2.把文件添加到暂存区3.从暂存区提交到本地仓库4.把本地develop代码提交到远程master分支1.Everything up-to-date-------Branch 'master' set up to track remote branch 'master' from 'origin'.2.最终方案5.把本地develop代码合并到本地master分支上6.再次修改本地master代码并推送到远程master
原创
105阅读
0评论
0点赞
发布博客于 8 月前

Git使用基础---各种常见错误总结

文章目录1.fatal: refusing to merge unrelated histories1.fatal: refusing to merge unrelated histories背景情况:远程仓库是有内容(有代码,仓库有提交记录)一个新的本地工作目录有内容(有代码),仓库是通过git init初始化来的,且仓库是空白的(.git文件夹下面,没有任何代码提交或更新的记录)相当于,初试情况,远程仓库和本地没有任何联系的# 解决方案:git pull origin mas
原创
73阅读
0评论
0点赞
发布博客于 8 月前

Git使用基础---删除git库文件 & 修改远程仓库地址 & 覆盖本地、覆盖远程仓库

文章目录1.将本地文件/文件夹移除git库2.修改远程仓库地址3.覆盖 & 更新1.将本地文件/文件夹移除git库1.删除本地文件/文件夹git rm xxxx # 本地中该文件会被删除、同时该文件在git库的信息也一同删除git rm -r xxx # 删除文件夹,还有git库中改文件夹的的信息2.删除本地git库中的文件/文件夹(下次再push的时候,就不再推送到远程了)git add . # 先添加所有文件,再删除不需要提交的,比较方便些git
原创
203阅读
0评论
0点赞
发布博客于 8 月前

linux---疑难杂症总结笔记---1

文章目录0.需要的资源1.bash: wget: command not found 问题2.php-fpm3.nginx相关4.gitlab配置的修改0.需要的资源清华镜像源:https://mirrors.tuna.tsinghua.edu.cn/南京大学镜像源:http://mirrors.nju.edu.cn/wget地址:http://mirrors.nju.edu.cn/gnu/wget/1.bash: wget: command not found 问题问题背景:使用wget
原创
67阅读
0评论
0点赞
发布博客于 8 月前

Windows端UI自动化---python3 + uiautomation--ComboBox(下拉框)、Document & Edit(文本框)

文章目录1.元素类型为 ComboBox的下拉框2.文本框类型(Document & Edit)1.获取元素篇1.输入Json字典1.元素类型为 ComboBox的下拉框下拉框选项的详细信息(包含列表元素、黑色箭头元素):下拉框–黑色箭头详细信息:此元素点击之后的效果:使用UISpy获取到的下拉框每个元素信息如下:核心的代码如下:window.ComboBoxControl(AutomationId='1007').Click() # 这个是点击的下拉框选择框整体# w
原创
442阅读
0评论
0点赞
发布博客于 8 月前

Pandas初体验---Joinquant(聚宽API)---插入列、排序、筛选

文章目录1.原始数据的样子:2.插入新列,并计算新的值3.对列进行排序4.对列筛选1.原始数据的样子:接口可以返回的信息如下,是格式化数据pandas格式的,希望做一些简单的排序和筛选资金流向信息接口字段名含义备注date日期sec_code股票代码change_pct涨跌幅(%)net_amount_main主力净额(万)主力净额 = 超大单净额 + 大单净额net_pct_main主力净占比(%)主力净占比 = 主力净额 /
原创
223阅读
0评论
0点赞
发布博客于 9 月前

Matplotlib---小白级教程(2)

本文主要写Matplotlib绘图方面的基础知识,但用到numpy方面的一些功能,顺便也学习一些吧!如果没有任何基础的同学,可以先看下第一篇博文会更好一些 Matplotlib—小白级教程(1)文章目录1.获取样本数据2.从样本数据到图形显示3.多个图形一同显示4.图形的标记1.获取样本数据import numpy as npx = np.linspace(-2, 2, 5) # 获取-2---2之间的,共计5个样本数据print(x)[-2. -1. 0. 1. ..
原创
97阅读
0评论
0点赞
发布博客于 9 月前

Matplotlib---小白级教程(1)

文章目录1.画布的创建和布局--add_subplot()2.X & Y 坐标的区间设置3.表格名称以及X & Y坐标的备注4.波动曲线的设置(颜色、线型、标注)1.颜色篇2.线型篇3.标注篇5.plot()的其他属性1.画布的创建和布局–add_subplot()简单理解就是,先准备一块画布,并且设定好这块画布的布局。你是准备画一个图表还是多个图表、你是准备在画布的靠左边画图,还是右边画图。fig = plt.figure()ax1 = fig.add_subplot(num
原创
192阅读
0评论
0点赞
发布博客于 9 月前

Windows端UI自动化---python3 + uiautomation框架

文章目录1.学会使用UIspy.exe软件2.打开某个程序3.获取软件的主界面:4.获取弹框的提示信息5.不同类型元素的操作6.元素的属性7.常用的操作windows端的软件,有多个框架可供选择,例如autoit、uiautomator、uiautomation等等。感觉uiautomation看着更有好一些,就拿来试试。uiautomation地址:https://github.com/yinkaisheng/Python-UIAutomation-for-Windows中文介绍地址:htt
原创
2392阅读
2评论
2点赞
发布博客于 9 月前

C语言基础---10.字符串的拷贝 & 反转

文章目录1.字符串拷贝---常规方法2.字符串拷贝---指针法3.字符串的反转1.字符串拷贝—常规方法#include <stdio.h>void str_cpy_01(char* dest, char* resource) { int length = strlen(resource); // strlen()函数传入的是数组指针或指针变量 for (int i = 0; i < length; i++) { dest[i] = resource[i]; }
原创
159阅读
0评论
2点赞
发布博客于 10 月前

C语言基础---12.const使用(数组指针、指针常量,常量指针、常量指针常量、常量数组)

文章目录1、char* const p (指针常量)2、const char* p (常量指针)3、const修饰数组3.1 const char array[]3.2 char const array[]3.3 数组的个人理解4、const char* array[]5、char* const array[]6、const char **pp;7、char** const pp1、char* const p (指针常量)指针是常量,指针的值不能改变,但是指针指向的值可以改变。 char da
原创
181阅读
0评论
2点赞
发布博客于 10 月前

C语言基础---11.数组相关常见的坑(字符数组、字符指针、strcpy与=区别)

文章目录1.数组名的指向不可改变2.strcpy的使用详情:3.字符指针与strcpy的特殊用法:学了一段时间数组、指针、地址等相关知识,感觉自己算入门了,其实发现距离入门还差18条鸿沟,还得继续努力才能入门!1.数组名的指向不可改变数组名的指向不可以改变(指向的地址不能改变),但此地址的值,是可以改变的!#include <stdio.h>int main() { char ps[6] = { 'h', 'e', 'l', 'l', 'o' }; // 等价于:char
原创
282阅读
0评论
3点赞
发布博客于 10 月前

C语言基础---19.为什么不能向函数传递一个数组

文章目录1.常规理解(错误)2.改良之后(感觉正确了)3.最终方案:4.把指针变量传递给函数如下内容来源书籍《C语言深度剖析–第2版》,强烈建议初学者买来读一读,良心推荐!1.常规理解(错误)#include <stdio.h>void fun(char a[10]) { char c = a[3]; printf("%c
", c);};int main() { char b[10] = "abcdefg"; fun(b[10]); // 此处出错
原创
262阅读
0评论
3点赞
发布博客于 10 月前

C语言基础---4.sizeof用法详解--入门

文章目录1.sizeof定义及用法:1.定义:2.用法:2.习题测试:1.数组 & 数组名相关2.指针变量 & *指针3.字符 & 字符数组4.函数感觉C语言中,任何一个函数、宏,或者其他概念,拿出来仔细分析,都能包含很多知识点,稍微不注意,立马入坑!看了好几篇博客,感觉各位大佬写的都挺好!作为新人的我,简单总结下!1.sizeof定义及用法:1.定义:sizeof是C语言的一种单目操作符,如C语言的其他操作符++、–等。它并不是函数。sizeof操作符以字
原创
185阅读
1评论
0点赞
发布博客于 10 月前

C语言基础---14.指针数组 & 数组指针---图解篇

文章目录0.指针数组 & 数组指针(相见恨晚篇)1.指针数组2.数组指针3.再谈二维数组0.指针数组 & 数组指针(相见恨晚篇)《C语言深度剖析》上面的解析如下:指针数组: 首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身的大小决定,每一个元素都是一个指针,在32 位系统下任何类型的指针永远是占4 个字节。它是“储存指针的数组”的简称。数组指针: 首先它是一个指针,它指向一个数组。在32 位系统下任何类型的指针永远是占4 个字节,至于它指向的数组占多少字节,不知
转载
361阅读
0评论
8点赞
发布博客于 10 月前

C语言基础---15.指针&数组名&数组地址&变量对应的加减法---图解篇

文章目录1.指针与整数的加减(指针的偏移)2.数组地址与整数的相加减(数组地址的偏移)最终学习C/C++,遇到很多疑难杂症。希望用自己的理解和图形化的方式,把核心的问题表达清楚,即使是小白,也能看明白什么原理!(不忘初心,晚上加鸡腿!)pa是指针,指向了数组a数组a有10个元素,都初始化好了int类型的数组,每个元素占用4个字节的大小,内存中每4个字节内存存储了一个元素,共计40个字节大小,右边暂时省略了!数组名a的值是首元素的地址a[0]的值,虽然a和a[0]表达的不一样,但是值都一样
原创
626阅读
0评论
1点赞
发布博客于 10 月前

C语言基础---20.结构体:从入门到应用

文章目录1.定义结构体变量的三种方式:2.结构体元素的赋值方式:3.将结构体名作为函数的参数(不推荐)4.将结构体的指针作为函数的参数(推荐)1.定义结构体变量的三种方式:1. 先声明结构体类型,再定义变量名:#include <stdio.h>struct student { char name[50]; int age;};struct student s1 = { "alien", 18 };int main() { printf("s1.name = %
原创
144阅读
0评论
1点赞
发布博客于 10 月前

C语言基础---6.动态数组和静态数组详解---入门

文章目录0.堆 & 栈1.静态数组2.动态数组3.错误用法集锦:1.数组的大小,需要使用常量定义,否者报错2.动态数组的大小,需要用指针接收3.静态数组在函数中:无法传递参数给零一个函数4.动态数组:可以做为参数传递给其他函数0.堆 & 栈内存分配有如下三种形式:从静态存储区域分配:它是由编译器自动分配和释放的,即内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在,直到整个程序运行结束时才被释放,如全局变量与 static 变量。在栈上分配:它同样也是由编译器自
原创
606阅读
0评论
3点赞
发布博客于 11 月前

C语言基础---5.数组相关详解:入门(一维数组 & 二维数组 & 应用案例)

文章目录1.数组基础2.数组的定义及赋值3.一维数组的初始化4.数组名:第一个元素的地址5.二维数组的定义及使用1.基础定义2.二维数组的初始化3.二维数组名:4.二维数组应用案例:1.数组基础在程序设计中,为了方便处理数据把具有相同类型的若干变量按有序形式组织起来——称为数组。数组就是在内存中连续的相同类型的变量空间。同一个数组所有的成员都是相同的数据类型,同时所有的成员在内存中的地址是连续的。2.数组的定义及赋值#include <stdio.h>int main(){
原创
203阅读
0评论
0点赞
发布博客于 11 月前

C语言基础---9.指针常量/常量指针详解--小白入门

文章目录0.指针常量&常量指针&指向常量的指针常量:傻傻分不清1.指针常量2.常量指针3.指向常量的指针常量0.指针常量&常量指针&指向常量的指针常量:傻傻分不清const int *p 或者 int const *pint * const pconst int * const p第一次看到上面的表达式,感觉很懵逼。如果您是属于完全不懵逼的人,那就可以跳过下面的部分了!指针常量:本质是常量,但是指针修饰的,既然是常量,那常量的值是无法改变的。例如,小姐姐很
原创
94阅读
0评论
0点赞
发布博客于 11 月前

C语言基础---8.const的理解、左值&右值的理解

文章目录1.const的理解:1.const在C中:2.const在C++中:2.左值 & 右值3.题目案例:1.case12.case21.const的理解:const 在实际编程中用得并不多,const 是 constant 的缩写,意思是“恒定不变的”!它是定义只读变量的关键字,或者说 const 是定义常变量的关键字。说 const 定义的是变量,但又相当于常量;说它定义的是常量,但又有变量的属性,所以叫常变量。用 const 定义常变量的方法很简单,就在通常定义变量时前面加
原创
626阅读
0评论
1点赞
发布博客于 1 年前

C++基础---2.引用的理解--入门

文章目录1.引用的特性1.引用基础2.引用的特性:初始化后不能再修改了3.引用的特性:其他2.函数中传递参数的方式---引用传递1.引用的特性引用是C++对C的增强,C里面是没有引用1.引用基础#include <iostream>using namespace std;int main() { int a = 20, b = 30; int& c = b; // c是初始化为b的引用 cout << "a=" << a <
原创
92阅读
0评论
1点赞
发布博客于 1 年前

C语言基础---7.看图学指针---小白基础入门篇

文章目录0.背景知识--堆和栈的理解1.C中对变量赋值的理解2.指针和内存地址的理解1.case1:获取变量的地址和指针的值2.case2:对指针的值重新赋值3.三种参数传递方式:1.按值传递参数(不推荐)2.按地址传递参数(感觉很NB,但不实用,特殊场合除外)0.背景知识–堆和栈的理解堆和栈的学习:https://blog.csdn.net/pt666/article/details/70876410个人理解:(可能有不准确的地方,欢迎指正)1.当我们在程序中初始化一个变量的时候,首先在栈
原创
133阅读
1评论
1点赞
发布博客于 1 年前

Python3自定义模块导入---小白详解

文章目录0.背景知识:运行文件与环境变量的关系1.项目根文件运行2.模块里面文件运行1.导入模块的方式1.正确姿势2.错误的姿势2.导入模块里面的模块3.如果模块里面有多个文件,如何优雅的导入4.如果一个文件有多个变量,如何优雅的导入本文主要讲解,在终端(Linux终端或windows终端)场景下运行python3程序时候的,容易出现的 No module name "XXXX"情况。在Pycharm下的兼容性很好,一般不会出现类似问题。0.背景知识:运行文件与环境变量的关系1.项目根文件运行
原创
409阅读
0评论
0点赞
发布博客于 1 年前

allure使用基础---pycharm+allure+pytest导出报告

文章目录1.代码demo2.pycharm目录结构3.遇到的几个问题(还有个问题没解决)4.使用linux命令导出报告5.最终看到的效果图:本片博文主要想说明:1.如何在pycharm里面,直接导出allure报告2.使用命令行(linux命令)如何导出allure报告3.我在这个过程遇到的问题1.代码demoimport allureimport pytestimport o...
原创
961阅读
0评论
0点赞
发布博客于 1 年前

Git使用基础--上传公钥、修改远程仓库地址

文章目录1.上传本地公钥到服务器1.本地生成公钥2.查找服务器保存公钥的地址2.修改远程仓库地址方法一 : 通过命令直接修改远程仓库地址方法二: 先删除在添加你的远程仓库方法三: 直接修改你本地的.git文件1.上传本地公钥到服务器本地环境:windows 10终端:git bash服务器: centos 71.本地生成公钥cd ~/.ssh/ # 如果提示如果提示 “ No ...
转载
270阅读
0评论
0点赞
发布博客于 1 年前

Git使用基础---基础命令的使用

文章目录1.拉取远程分支代码---git clone xxxxx2.拉取远程分支代码---git pull3.查看git状态信息---git status4.查看提交信息记录---git log5.查看当前git所属的分支信息---git branch6.切换不同的分支---git checkout xxx7.查看远程仓库信息---git remote -v8.推送到仓库---git push1....
原创
136阅读
0评论
0点赞
发布博客于 1 年前

Git使用基础---git init 与git init --bare的区别

在使用git的过程中,遇到很多疑问的地方,经过一段血泪史之后,才慢慢填平遇到的坑。作为git小白,总结一下分享给也同样处在迷惑中的你!(大佬们请移步吧,后面的故事都so easy)先来一段网上查到的解释:git init 创建的工作仓库(working repository)适合于实际编辑生产过程中,在工作目录下,你将可以进行实际的编码、文件管理操作和保存项目在本地工作。如果你开始创...
原创
462阅读
0评论
2点赞
发布博客于 1 年前

jenkins使用入门-----常规配置&遇到的坑

文章目录1.JDK路径配置1.JDK路径配置# 注意!!!!路径为:jdk的主目录/usr/local/java/jdk1.8.0_231如果错误路径效果如下:
原创
285阅读
0评论
1点赞
发布博客于 1 年前

Jenkins使用基础入门-----远程连接、测试报告、时间戳

文章目录1.jenkins配置服务器host/user/pw等信息2.使用SSH插件,让jenkins连接服务器3. jenkins根目录 & 命令执行地址??jenkins在centos7服务器上配置好之后,立马想构建一个python的脚本试试的,结果试了多次,只有一次配置里面【执行python脚本】选项构建成功了。直接执行服务器所有的python文件一直没成功,后来发现,其实...
原创
177阅读
0评论
0点赞
发布博客于 2 年前

腾讯云服务器----重置密码没有生效(实例鉴权失败,请确认实例已启动密码鉴权并且账号密码正确)

文章目录1.SSH端口没开放(因为我的防火墙开启了),可能导致无法远程连接2.又尝试关机状态重置密码 和 开机状态重置密码:3.如果绑定了秘钥,需要解绑或删除掉4.终极解决方案:5.预留彩蛋:6.最终幻想:遇到一个问题,尝试了很久没解决,后来提交腾讯云的工单解决的,先给腾讯云的技术客服点个赞!腾讯云购买的时候,我当时估计选择了快速设置服务器配置,后续登录腾讯云的控制台,消息面板就收到了初试密...
原创
5258阅读
1评论
1点赞
发布博客于 2 年前

redis的安装 & 无法连接客户端

文章目录1.redis的安装过程1.redis关闭对话框,就直接挂起服务(或停止进程)2.redis只能本地连接,无法远程连接3.客户端无法连接redis服务器1.redis的安装过程https://www.cnblogs.com/limit1/p/9045183.htmlhttps://www.cnblogs.com/java-wp/p/7885848.html1.redis关闭对话...
原创
462阅读
0评论
0点赞
发布博客于 2 年前

Linux防火墙相关知识----入门

文章目录1.查看两种不同的防火墙(iptables & firewalld )2.开启、关闭、重启防火墙3.查看防火墙配置信息4.添加防火墙的端口5.添加某IP可访问某port1.查看两种不同的防火墙(iptables & firewalld )防火墙是整个数据包进入主机前的第一道关卡。是一种位于内部网络与外部网络之间的网络安全系统,是一项信息安全的防护系统,依照特定的规则,允...
原创
111阅读
0评论
0点赞
发布博客于 2 年前

flask_sqlalchemy:1055, Expression #1---this is incompatible with sql_mode=only_full_group_by

文章目录1.问题详情1.遇到问题的代码2.报错信息2.解决方法1.查看当前数据库sql_mode设置2.修改sql_mode设置3.修改mysql的配置文件my.cnf1.问题详情1.遇到问题的代码# 错误代码result = User.query.group_by(User.username).all()在使用flask_sqlalchemy的时候,希望分组查询遇到的问题...
原创
89阅读
0评论
0点赞
发布博客于 2 年前

C语言基础---2.使用visual studio查看内存中存储数据的方式---入门

文章目录1.C语言代码2.打开调试界面3.找到十六进制的内存地址,并分析:4. 内存中数据的存储方式?5.内存中数据地址的高位、低位?1.C语言代码#include <stdio.h>int main(){ int my_list[10] = { 12, 34, 56, 78 , 89 }; printf("内存地址为:%p
", &my_list[0])...
原创
438阅读
0评论
2点赞
发布博客于 2 年前

C++基础---1.头文件&using&命名空间namespace使用详解---入门

文章目录1.using关键字1.声明变量的作用1.using关键字1.声明变量的作用在使用using之前,如果全局变量和局域变量同时存在的时候,函数会自动使用全局变量。如果我们想使用的是局域变量,那就没办法了。#include <iostream>using namespace std;int age = 28;namespace alien { int ...
原创
727阅读
0评论
1点赞
发布博客于 2 年前

python3 进程(multiprocessing)从入门到提高--详解

1.开启进程的两种方式1.简单开启# 方式一:使用函数开启进程from multiprocessing import Processimport timedef task(x): print('%s is running' % x) time.sleep(1) print('%s is done' % x)if __name__ == '__main__...
转载
446阅读
0评论
0点赞
发布博客于 2 年前

全新的云服务器Centos,如何开始你的第一步?

文章目录1.安装yum2.安装扩展源EPEL3.安装pip以及python34.配置虚拟环境--virtualenvwrapper万事开头难,拿到一台云服务器,需要安装各种包文件,还需要一些简单的配置。对于运维人员来说so easy,但对于其他不经常维护服务器的人员,很多东西可能还需要经常百度,效率很低。希望这边博文,能提高大家工作效率!1.安装yumhttps://www.cnblo...
原创
788阅读
0评论
0点赞
发布博客于 2 年前

python3中配置文件ini的使用详解----读写、list/dict/path等变量的应用、解码

文章目录0.背景知识1.ini文件的格式2.ini文件读取方式3.通过ini文件的变量的path,读取excel文件4.ini文件的写入5.ini文件的解码0.背景知识背景知识:python3中,根据不同的工具或系统,见到过各种类型的配置文件,有json格式的、py格式的、ini格式的,yaml、txt、excel等等。但是,最常见的还是ini格式的配置文件。为什么要用ini格式作为...
原创
4834阅读
9评论
0点赞
发布博客于 2 年前

Python测试框架Pytest-----Fixture函数详解(2)

文章目录1.Fixture的定义2.fixture的用途一:装饰函数3.fixture的用途二:装饰类4.fixture的用途三:自己运行,不用装饰任何其他1.Fixture的定义fixture修饰器来标记固定的工厂函数,在其他函数,模块,类或整个工程调用它时会被激活并优先执行,通常会被用于完成预置处理和重复操作fixture(scope="function", params=None...
转载
1403阅读
3评论
3点赞
发布博客于 2 年前

Python测试框架--Pytest(1)

文章目录1.简介:1. pytest 特点2. pytest VS unittest2.Pytest运行1.方式一:文件里面的函数直接查找并运行2.方式二:文件里类里面的测试方法3.通过pycharm运行测试用例3.setup & teardown1.简介:Pytest是python的一种单元测试框架。1. pytest 特点入门简单,文档丰富支持单元测试,功能测试支持参...
原创
858阅读
0评论
1点赞
发布博客于 2 年前

Layui------动态加载表格_2(点击搜索按钮获取多张表格)

文章目录1.功能效果2.Layui代码3.代码功能介绍1.定义js渲染的表格,给到哪个table去显示2.重载数据的指向问题上一篇博文我写了如何通过单次点击,获取一个表格的信息,这篇博文是一次点击,加载多个表格信息接口代码就不上传了,感兴趣的可以看一下上一篇博文:https://blog.csdn.net/chenmozhe22/article/details/96146017此文章下面...
原创
727阅读
0评论
1点赞
发布博客于 2 年前

Layui------动态加载表格_1(点击搜索按钮获取表格)

文章目录原始layui动态表格模板案例:https://www.layui.com/demo/table/reload.html经过学习之后,稍微有些自己的心得,把最终学习结果总结一下,方便前端新人查阅<!DOCTYPE html><html><head> <meta charset="utf-8"> <tit...
原创
2865阅读
3评论
1点赞
发布博客于 2 年前