自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 智算AI平台介绍:Volcano的Queue

今天主要介绍的的Queue!Queue属于资源级别的对象,可声明资源配额,多个namespace共享。一般一个算法部门对应一个volcano queueQueue是容纳一组podgroup的队列,podgroup里面都是pod。Queue用于管理和优先级排序任务。这有助于更好地控制资源分配和调度优先级,确保高优先级的任务可以优先获取资源。

2024-03-30 20:54:01 257

原创 智算AI平台介绍:初识volcano

提到智算AI平台,肯定离不了Volcano,Volcano与Kubernetes天然兼容,并为高性能计算而生。

2024-03-29 19:06:05 489

原创 利用Oracle VM VirtualBox搭建单master节点的k8s集群

这个步骤是我一边搭建,一边查资料,一边记录的,希望会对正在查找资料的你有帮助。一.搭建环境:Oracle VM VirtualBox创建3个虚机,1个充当master节点,2个充当node节点操作系统镜像:CentOS-7-x86_64-DVD-2009.iso硬件配置:2GB +,2 个 CPU +集群中所有机器之间网络互通可以访问外网,需要拉取镜像禁止 swap 分区 (在第二部分系统初始化中有设置)其他设置都默认就可以需要注意:为在后期方便在本地通过xsh.

2021-08-17 17:15:17 736

原创 python-并发线程的同步和互斥

一.什么是并发?在操作系统中,指一个时间段内有几个程序都处于已启动到运行结束之间的状态,并且这几个程序都是在同一个处理机上运行的,但任一个时间点却只有一个程序在处理机上执行。注意并发与并行并不是同一个概念。并发是指一个时间段内同时运行,表示的 是一个区间,而并行是指在同一个时间点上都在运行,是一个点,并且并发在同一时间点上只能有一个程序在运行。 在实际应用中,多个线程往往会共享一些数据(如:内存堆栈、串口、文件等 ),并且线程间的状态和行为都是互相影响的。并发线程的两种关系:同步与互斥。.

2021-01-12 15:03:16 710 1

原创 简单介绍python的垃圾回收机制

如果不垃圾回收会发生什么问题?--内存泄漏不再使用的内存会被一种称为垃圾回收的机制释放python 的垃圾回收机制实际上是 一个引用计数器+一个循环垃圾收集器 来工作;垃圾回收器是一段独立的代码,用来寻找引用计数为0 的对象;垃圾回收器还负责检查虽然引用计数>0但也应该被销毁的对象;----循环引用循环引用发生在有至少两个对象互相引用,垃圾回收器也会清理未引用的循环python解释器会跟踪对象的引用技术,垃圾回收器负责释放内存一.关于引用计数python内部记录所有使用

2021-01-10 20:31:49 244

原创 TCP的三次握手和四次挥手

HTTP协议是建立在TCP协议之上的一种应用。TCP位于传输层,HTTP位于应用层,TCP提供了可靠的字节流服务;什么叫字节流服务呢?将大块数据分割成报文段为单位的数据包进行管理TCP可以把数据可靠的传送给对方为了确保数据能够准确无误的传送给目标处,tcp采用了—三次握手策略网络分层模型图TCP的三次握手建立一个TCP连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常。实质上其实就是连接服务器指定端口,建立TCP连接,指定自己的初

2020-12-20 09:50:45 313 1

原创 https协议讲解

1.什么是HTTPS协议?https (HypertextTransfer Protocol Secure)是在http协议基础上上建立ssl加密层,并对传输数据进行了加密,是http协议的安全版。http协议的缺点:存在信息窃听(传输的内容是明文)或者身份伪装(不验证通信方的身份),无法证明报文的完整性等安全问题。2.主要用途对网络传输的数据进行加密,并建立一个信息安全通道,来保证传输过程中的数据安全基于数字证书,对网络通讯的客户端和服务器端进行真实的身份认证3.http协议和ht

2020-12-13 10:23:59 410 1

原创 [java]测试中常常出现的NullPointerException-NPE是怎么回事?

在测试时,查看log的时候,有时候会看到NullPointerException-NPE的错误,大名鼎鼎的空指针!之前一直都不知道咋回事;最近在学习java;记录下;首先先来了解在java中,什么是null呢?如果创建一个引用的数组,但是不赋值的话,输出是null;说明引用也有缺省值 --null1.null是引用类型的缺省值2.null代表空,不存在,可以读作空3.引用类型的数组创建出来,初始值都是空用java代码举个例子!1.创建一个Mercandise类;...

2020-08-25 15:46:33 475

原创 【性能测试】jvm垃圾回收的新生代/老年代/永久代

Java的一大特性就是内存的分配和回收都是自动进行的。当程序规模不大时,我们完全可以不考虑内存的使用情况。但是一旦程序的规模足够大,对性能的要求足够高时,了解Java垃圾收集(GC)的内部机制并根据具体的应用特征来调整使用的垃圾收集算法就显得十分重要了;顾名思义就是释放垃圾占用的空间,防止内存泄露。有效的使用可以使用的内存,对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收。对于绝大...

2020-05-07 15:46:02 355

原创 【python设计模式】python设计模式之构建者模式

当我们想要创建一个由多个部分构成的对象,而且他们的构建需要一步接一步的地完成,只有当各个部分都创建好,这个对象才算完整。 -- 这正是 建造者设计模式的用武之地。比如建造一个抽象的类Builder,定义画六个身体部位的方法,每画一种人,就新建一个继承Builder的类,这样新建的类就必须要实现Builder的所以方法,这里主要运用了抽象方法的特性,父类定义了几个抽象的方法,子类必须要实...

2020-04-30 11:49:02 280

原创 【python设计模式】python设计模式之工厂模式

本质:根据传入参数的不同,返回对应的不同对象(类似鸡生蛋),方便造对象,但不做任何动作。工厂模式的目的是为了解耦:1.把对象的创建和使用的过程分开。就是Class A 想调用 Class B ,那么A只是调用B的方法,而至于B的实例化,就交给工厂类。2.工厂模式可以降低代码重复。如果创建对象B的过程都很复杂,需要一定的代码量,而且很多地方都要用到,那么就会有很多的重复代码。我们可以这些...

2020-04-30 11:48:32 242

原创 【python算法】图的遍历与最小路径

数据结构中,图的应用场景非常广泛,与我们的生活息息相关,在基于图做的应用中,比较典型的有:在交通规划中的最小生成树,用于导航的最短路径等。比如下图这里,我们介绍邻接表表示方法。在表示图的时,我们一般使用如下的两个实例属性,表示邻接表的字典nodeNeighbors,标志是否已访问的字典visited。针对如下的图:来实现广度优先遍历以及深度优先遍历:简述思想:1...

2020-04-16 18:05:10 1352

原创 【接口自动化框架】测试数据部分增加替换变量功能

我们的接口自动化框架的测试数据放到json文件中,但是有些参数是动态生成的;解决这个问题我想到两个解决方法:1,通过测试case的文件中生成变量后再赋值给json文件中的变量(缺点:重复代码多)2,在json文件中直接引用函数,在case读取json文件时,运行函数更改变量(此文介绍这种方法)...

2020-04-07 18:48:18 698 1

原创 【性能测试】性能分析与调优之配置优化

配置优化的关键词:JVM,连接池,线程池,缓存机制,CDN等优化手段,这些优化提高了资源利用率,有大限度的压榨服务器性能。一.JVM配置优化:合理的分配堆和非堆堆内存,配置适合堆内存回收算法,提高系统服务的能力二.连接池:数据库连接池可以节省建立连接和关闭连接的资源消耗三.线程池:通过缓存线程的状态来减少新建线程与关闭线程的开销,一般是在中间件中进行配置,比如在Tomcat...

2020-03-24 16:00:14 289

原创 缓存导致的三个问题-缓存穿透/缓存雪崩/缓存击穿

一.缓存穿透缓存穿透是指查询一个一定不存在的数据,因为缓存中也无该数据的信息,则会直接去数据库层进行查询,从系统层面来看像是穿透了缓存层直接达到db,从而称为缓存穿透,没有了缓存层的保护,这种查询一定不存在的数据对系统来说可能是一种危险,如果有人恶意用这种一定不存在的数据来频繁请求系统,不,准确的说是攻击系统,请求都会到达数据库层导致db(DataBase)瘫痪从而引起系统故障二.缓存雪崩...

2020-03-12 19:57:50 278

原创 介绍mysql/redis/mongodb的异同

MongoDB:它是一个内存数据库,数据都是放在内存里面的。对数据的操作大部分都在内存中,但MongoDB并不是单纯的内存数据库。MongoDB 是由 C++ 语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构...

2020-03-07 20:58:33 253

原创 简要介绍nginx的使用

Nginx已经成为主流的静态web容器、转发器、cache。在web容器上完全超越apache、在转发上代替传统硬件设备、在cache已经可以媲美squid。加之大量的开源社区不断地贡献,使nginx功能不断完善和强大,已经有逐步成为统一平台的趋势。...

2020-03-07 18:23:08 145

原创 简单了解互联网常见的系统架构

一.简单了解互联网目前常见的系统架构一台普通服务器的处理能力是有限的。但若能将多台这样的服务器组成一个系统,并通过软件技术将所有请求平均分配给所有服务器,那么这个系统就完全拥有每秒钟处理几百万个甚至更多请求的能力。这就是负载均衡最初的基本设计思想。负载均衡(Load Balance)——有两台或者以上的服务器或者站点提供服务,服务将来自客户端的请求,靠某种算法,去尽量...

2020-03-04 17:09:03 1388

原创 【python-requests】实现文件上传

def upload_file(host, api,filepath, **kwargs): url = host + api querystring = { "app_id": "10000", "region": "en", "lang": "zh-cn" } headers = { } ...

2020-03-03 23:22:57 996

原创 【python算法】买卖股票的最佳时机问题之一二三

买卖股票的最佳时机问题一给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入 : [7, 1, 5, 3, 6, 4]输出 : 5解释 : 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时...

2020-02-23 13:56:47 1162

原创 【python算法】在无序列表中寻找第k大的数

#利用的是插入算法def find_k(testlist,k): for i in range(1,k): for j in range(i,0,-1): if testlist[j] > testlist[j-1]: testlist[j],testlist[j-1] = testlist[j-1],te...

2020-02-19 23:21:03 1158

原创 【python算法】判断字符串/链表是否是回文

一.判断字符串是否为回文def huiwen(teststring): len_s = len(teststring) flag = True for i in range(len_s//2): if teststring[i] != teststring[len_s-1-i]: flag = False ...

2020-02-17 22:53:51 508 1

原创 python 多线程模版用于制造大规模测试数据

from queue import Queueimport randomimport threadingimport timefrom mysql_client import MysqlManagermysql_config ={ "database": "xiaoyuteacher", "host": "127.0.0.1", "p...

2020-02-11 16:39:52 328

原创 数据库的操作--存储过程

在平时压力测试时,造测试数据,会常用到存储过程。第一步:连接数据库:mysql -uroot -p第二步:创建测试用的table:CREATE TABLE IF NOT EXISTS `index_user`( `id` INT UNSIGNED AUTO_INCREMENT, `name` VARCHAR(100) NOT NULL, `email` VARCHA...

2020-02-11 11:10:35 201

原创 【python算法】比较两个版本号的大小

def versionCompare(v1, v2): v1_check = re.match("\d+(\.\d+){0,2}", v1) v2_check = re.match("\d+(\.\d+){0,2}", v2) print(v1_check.group()) if v1_check is None or v2_check is None or v1...

2020-02-06 19:14:53 593

原创 【python算法】队列的操作

# encoding=utf-8#定义节点类class Node(object): def __init__(self,val): self.val = val self.next = None#定义队列类class Queue(object): def __init__(self): self.first = ...

2020-02-03 11:59:16 135

原创 【python算法】插入排序

关于插入排序,其算法的核心思想是:将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数。即:序列的第一个元素,肯定是有序的,把第二个元素和第一个元素相比,插入到合适的位置,这样前两个元素就有序了,接着,把第三个元素插入到前面包含两个元素的有序列表中,以此类推,直至插完第n个数据。细节说明:将多个数字进行升序排序时,每次基于有序的列表进行插入,方法类似冒泡排序...

2019-11-06 11:29:36 289

原创 python面试170个知识点

持续更新中,目前更新到50了..1.谈谈对 Python 和其他语言的区别答:Python 是一门语法简洁优美,功能强大无比,应用领域非常广泛,具有强大完备的第三方库,他是一门强类型的可移植、可扩展,可嵌入的解释型编程语言,属于动态语言。拿 C 语言和 Python 比: Python 的第三方类库比较齐全并且使用简洁,很少代码就能实现一些功能,如果用 C 去实现相同的功能可能就比较复...

2019-10-26 14:29:23 905

原创 docker简介及安装

1.docker:一个能够把开发的应用程序自动部署到容器的开源引擎。这个引擎的目标是提供一个轻量,快速的环境,能够运行开发者的程序,并方便高效的将程序从开发者的笔记本部署到测试环境,生产环境。2.容器是直接运行在操作系统内核之上的用户空间容器其实是一种沙盒技术。顾名思义,沙盒就是能够像一个集装箱一样,把你的应用“装”起来的技术。这样,应用与应用之间,就因为有了边界而不至于相互...

2019-10-20 22:32:36 160

原创 测试开发经典面试题:Cookie和Session的区别

Cookie和Session的区别虽然 Cookie 和 Session 都可以跟踪客户端的访问记录,但是它们的工作方式显然是不同的,Cookie 通过把所有要保存的数据通过 HTTP 协议的头部从客户端传递到服务端,又从服务端再传回到客户端,所有的数据都存储在客户端的浏览器里,所以这些 Cookie 数据可以被访问到,就像我们前面通过 Firefox 的插件 HttpFox 可以看到所有的 ...

2019-10-12 11:19:27 487

原创 python实现链表的创建/增加/删除/查询/输出

class Node(object): def __init__(self,value=None,next=None): self.value = value self.next = next#输出一个链表def Printlinklist(node): while node: print(node.value) ...

2019-10-05 22:05:16 939 1

原创 pytest测试框架4-插件与hook函数

一.简介pytest的自带功能很强大,通过添加插件可以扩展功能,pytest的代码结构适合定制和扩展插件,可以借助hook函数来实现。把fixture函数或者hook函数添加到conftest文件里,就已经创建了一个本地的conftest插件!二.pytest plugin加载的几种方式:1.内置plugins:从代码内部的_pytest目录加载;2.外部插件(第三方...

2019-09-08 20:00:09 4703 4

原创 pytest测试框架3-如何将测试代码与测试数据分离?

pytest参数化测试!参数化测试允许传递多组数据,一旦发现测试失败,pytest会及时报告。@pytest.mark.parametrize(argnames,argvalues)装饰器可以达到批量传送参数的目的第一步:用python的requests请求一个接口:import requestsimport pytestimport allureclass TestP...

2019-08-18 12:57:56 4672 2

原创 pytest测试框架2-深入讲解pytest的配置文件

一.pytest里都有哪些非测试文件?1.pytest.ini: pytest的主配置文件,可以改变pytest的默认行为,其中有很多可配置的选项2.conftest.py:是本地的插件库,其中的hook函数和fixture将作用于该文件所在的目录以及所有子目录。3.__init__py:每个测试子目录都包含该文件时,那么在多个测试目录中可以出现同名测试文件。二.如何查看in...

2019-08-02 15:39:00 1728 1

原创 python3实现一个kafka的consumer和producer

kafka大致流程图如下:生产者:将字符串发送给 Kafka 消费者: 获取数据并展示在终端窗口中一.用python3实现一个producer(填你们自己需要的信息就好啦)import jsonfrom kafka import KafkaProducerfrom kafka.errors import KafkaErrorclass KafkaClie...

2019-07-24 17:54:46 7056

原创 python高级函数六剑客

第一位:lambda1.lambda语句被用来创建新的函数对象,并且在运行时返回它们。2.Python使用lambda关键字来创建匿名函数。这种函数得名于省略了用 def声明函数的标准步骤。3.lambda只是一个表达式,函数体比def简单很多4.lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表 达式中封装有限的逻辑进去。5,lambda函数拥有自己的名...

2019-07-14 20:55:30 273

原创 pytest测试框架1-强大的Fixture功能

1.fixture是 干什么用的??fixture是在测试函数运行前后,由pytest执行的外壳函数;代码可以定制,满足多变的测试需求;包括定义传入测试中的数据集,配置测试前系统的初始状态,为批量测试提供数据源等等...fixture是pytest用于将测试前后进行预备,清理工作的代码分离出核心测试逻辑的一种机制!2.举个例子@pytest.fixture()def ...

2019-07-14 20:48:46 3939 2

原创 pipeline中实现gitlab push代码后自动触发Jenkinsjob

前提:jenkins已经安装gitlab plugin 插件,且版本大于等于1.5.12jenkins插件各个版本的链接:http://updates.jenkins-ci.org/download/plugins/gitlab-plugin/通过upload plugin即可安装指定版本一.在Jenkinsfile文件的triggers下增加一个触发器gitlab(trig...

2019-06-22 19:16:44 7461

原创 python-关于时间操作的总结

最近测试了一个接口,各种换算时间,把时间相关的操作查了一遍。。总结下1.因为本机时间是北京时间,Jenkins上的时间是utc格林威治时间会少8h,所以从时间戳转化成时间time.localtime()会根据具体的本地时间转换,产生不一致,所以指定具体时区可以避免这个问题根据时间戳转换时间reset_time = 1552406400reset_time = datetime.da...

2019-06-18 16:49:26 222

原创 测试中需要知道的kafka核心知识点

术语 Broker:对应节点,多个Broker构成Kafka集群Topic:一类消息Partition:Topic的物理存储。一个Topic对应多个PatitionsSegment:Partition的物理存储。一个Partition包含多个Segment消息生产 消息内容+topic→hash到目标partition,生成消息的唯一标识offset 指定Pa...

2019-01-12 13:35:31 892

空空如也

空空如也

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

TA关注的人

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