- 博客(139)
- 资源 (3)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 合并两个有序链表 图解说明
合并两个有序链表 题目描述 将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4 题目解析 假设两个链表分别为l1和l2当 l1 和 l2 都不是空链表时,判断 l1 和 l2 哪一个链表的头节点的值更小,将较小值的节点添加到结果里,当一个节点被添加到结果里之后,将对应链表中的节点向后移一...
2020-11-29 12:09:29
5088
4
原创 Python(十四)测试、调试和异常
1.测试stdout输出写个测试来证明标准输出,会将文本打印到屏幕上面使用unitest框架进行测试# mymodule.pydef urlprint(protocol, host, domain): url = '{}://{}.{}'.format(protocol, host, domain) print(url)from io import StringIOfrom unittest import TestCasefrom unittest.mock imp
2022-05-26 11:40:38
511
1
原创 Python(十二)并发编程
1.启动与停止线程import timedef countdown(n): while n > 0: print('T-minus', n) n -= 1 time.sleep(5)from threading import Threadt = Thread(target=countdown, args=(10,)) #创建一个线程t.start() #线程启动if t.is_alive(): #查询一个线程对象的状态,看它是
2022-05-20 10:49:55
464
原创 Python(十三)脚本编程与系统管理
1.通过重定向/管道/文件接受输入Python内置的 fileinput 模块将命令行的输出通过管道传递给该脚本、 重定向文件到该脚本,或在命令行中传递一个文件名或文件名列表给该脚本#!/usr/bin/env python3#-----------------#filein.py#-----------------import fileinputwith fileinput.input() as f_input: for line in f_input: pr
2022-05-16 17:44:09
1152
原创 Python(十一)网络与web编程
1.作为客户端与HTTP服务交互(1)发送一个简单的HTTP GET请求到远程的服务上from urllib import request, parse#url的get请求 请求信息连同url一起发送url = 'http://httpbin.org/get'#需要请求获取的信息parms = { 'name1' : 'value1', 'name2' : 'value2'}# Encode the query stringquerystring = parse.u
2022-05-15 18:14:48
894
原创 Python(十)模块与包
1.构建一个模块的层级包在文件系统上组织你的代码,并确保每个目录都定义了一个__init__.py文件graphics/ __init__.py primitive/ __init__.py line.py fill.py text.py formats/ __init__.py png.py jpg.py以下三种导入包形式:import graphic
2022-05-04 18:02:42
1251
原创 Python(九)元编程
1.在函数上添加包装器想使用额外的代码包装一个函数,可以定义一个装饰器函数import timefrom functools import wrapsdef timethis(func): #定时器装饰函数 ''' Decorator that reports the execution time. ''' @wraps(func) # @wraps 装饰器来注解底层包装函数,确保被包装后的函数保留它的元信息 def wrapper(*args, **
2022-05-04 16:33:14
2007
原创 Python(八)类与对象
1.改变对象的字符串显示要改变一个实例的字符串表示,可重新定义它的 __str__() 和 __repr__() 方法class Pair: def __init__(self, x, y): self.x = x self.y = y def __repr__(self): return 'Pair({0.x!r}, {0.y!r})'.format(self) def __str__(self): re
2022-05-03 17:03:08
899
原创 Python(七)函数
1.可接受任意数量参数的函数(1)接受任意数量的位置参数,可以使用一个*参数def avg(first, *rest): return (first + sum(rest)) / (1 + len(rest))# Sample useavg(1, 2) # 1.5avg(1, 2, 3, 4) # 2.5(2)接受任意数量的关键字参数,使用一个以**开头的参数import htmldef make_element(name, value, **attrs):
2022-04-30 17:51:48
1133
原创 Python(六)数据编码与处理
1.读写CSV数据CSV数据:Symbol,Price,Date,Time,Change,Volume"AA",39.48,"6/11/2007","9:36am",-0.18,181800"AIG",71.38,"6/11/2007","9:36am",-0.15,195500"AXP",62.58,"6/11/2007","9:36am",-0.46,935000"BA",98.31,"6/11/2007","9:36am",+0.12,104800"C",53.08,"6/11/2
2022-04-29 10:59:41
1235
原创 Python(五)文件与IO
1.读写文本数据文件读取f = open('somefile.txt', 'rt')data = f.read()f.close()文件读取之后必须记得手动关闭文件为了避免上述操作失误,使用with语句with语句给被使用到的文件创建了一个上下文环境, 但 with 控制块结束时,文件会自动关闭# Read the entire file as a single stringwith open('somefile.txt', 'rt') as f: data = f
2022-04-28 11:11:44
842
原创 自动化测试工具之 Jmeter性能测试
性能测试知识点1.性能测试概念:通过自动化测试工具模拟多种正常,峰值以及异常负载条件来对系统的各项性能指标进行测试2.性能测试条件系统基础功能测试验证完成 系统趋于稳定3.性能测试基本流程需求分析(1)系统信息调研(2)业务信息调研(3)性能需求评估判断是否进行性能测试主要从下面两个方面进行思考:业务角度: 系统是公司内部 or 对外?系统使用的人数的多少?此时可进行性能测试来排查问题。系统角度:系统又可以从以下3个方面进行分析 a.系统架构: .
2022-04-23 16:52:29
2131
原创 Git 常用操作
1.Git安装配置https://www.runoob.com/git/git-install-setup.html2.工作流程克隆 Git 资源作为工作目录。 在克隆的资源上添加或修改文件。 如果其他人修改了,你可以更新资源。 在提交前查看修改。 提交修改。 在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。3.相关名词工作区:就是你在电脑里能看到的目录。 暂存区:英文叫 stage 或 index。一般存放在.git目录下的 index 文件(.git/inde..
2022-04-22 14:53:09
558
原创 Python(四)迭代器与生成器
1.手动遍历迭代器遍历一个可迭代对象中的所有元素,但是却不想使用for循环为了手动的遍历可迭代对象,使用 next() 函数并在代码中捕获 StopIteration 异常。 比如,下面的例子手动读取一个文件中的所有行:def manual_iter(): with open('/etc/passwd') as f: try: while True: line = next(f) p
2022-04-19 20:48:30
1350
原创 Python(三)数字日期和时间
1.数字的四舍五入对浮点数执行指定精度的舍入运算类似与输出格式控制,但不同与输出格式控制,输出格式控制仅控制输出精度不会做近似处理使用内置的round(value,ndigits)函数,当一个值刚好在两个边界的中间的时候,round函数返回离它最近的偶数。 也就是说,对1.5或者2.5的舍入运算都会得到2#format格式控制>>> x = 1.23456>>> format(x, '0.2f')'1.23'>>> ...
2022-04-19 17:43:19
1205
原创 Python(二)字符串和文本
1.使用多个界定符分割字符串string对象的 str.split()方法只适应于非常简单的单个字符串分割情形, 它并不允许有多个分隔符或者是分隔符周围不确定的空格。当你需要更加灵活的切割字符串的时候,最好使用 re.split() 方法:line = 'asdf fjdk; afed, fjek,asdf, foo'import reresult=re.split(r'[;,\s]\s*', line)#以‘;’‘,’或空格,连续多个空格print(result)'''#结..
2022-04-18 18:58:13
1456
原创 Python(一)数据结构和算法
1.将序列分解为单独的变量任何的序列(或者是可迭代对象)可以通过一个简单的赋值操作来分解为单独的变量。 唯一的要求就是变量的总数和结构必须与序列相吻合。如果元素的数量不匹配,会得到一个错误提示示例如下:>>> p = (4, 5)>>> x, y = p>>> x4>>> y5>>>>>> data = [ 'CSDN', 50, 91.1, (2022, 4, 14)
2022-04-14 22:27:32
1021
原创 自动化测试框架之Unittest
自动化测试之单元测试单元测试:通常而言,一个单元测试用例是用于判断某个特定条件或场景下某个特定函数的行为直观描述:针对一个函数,构造不同输入,验证函数的输出是否符合预期但需要注意:输入并非都是显性输入,存在隐性输入(读取到的文件或数据库数据)单元测试的意义:从质量角度:测试针对性强,bug更容易暴露 场景构造简单,核心功能验证更充分 保证代码结构良好,具有较高的可测性和可维护性从效率角度:测试场景构建快捷,减少调试时间 只针对修改的代码展开测试,减少测试时间 更多b
2022-01-09 17:49:31
948
2
原创 自动化测试框架之Pytest
基于python的自动化测试框架:unittest (白盒单元测试) pytest(白盒单元测试) robotframework(系统测试)pytest 可以用来做 系统测试 的自动化, 它的特点有 用 Python 编写测试用例,简便易用 可以用 文件系统目录层次 对应 手工测试用例 层次结构 灵活的 初始化清除 机制 可以灵活挑选测试用例执行 利用第三方插件,可以生成不错的报表 pytest测试用例class Test_错误密码:..
2022-01-06 21:34:08
1648
1
原创 自动化测试框架之Selenium
选择元素的基本方法查找元素根据元素属性:id class tag选择元素find_element(By.ID,'username') find_element(By.CLASS_NAME,'password') find_element(By.TAG_NAME,'input')如果标签中包括多个class属性,且属性之间通过空格隔开 查找元素只需要选择其中任意一个属性都可以找到对应元素find_elements:选择符合条件的所有元素 如果没有符合条件的元素 返回空列表 find_e
2022-01-06 21:02:29
8733
原创 工程能力(4)代码检查code Review
代码检查规则:源文件规范文件名 :java源文件名必须与包含的顶层类名一致 文件编码:utf-8格式 特殊字符:换行 缩进 空格源文件组织规范许可证或版权声明: package语句:单独占一行 import语句:单独占一行 唯一的顶层类:每个源文件只允许包含唯一的顶层类代码结构规范 命名规范 OOP规约所有的POJO类属性必须使用包装数据类型 禁止基本数据类型 所有覆写方法,加@Override注解 object的equals方法容易抛空指针异常,应使用常量或确定有值的对象.
2021-11-29 11:42:33
1877
原创 工程能力(3)质量意识&单元测试
质量意识质量重要性:质量 时间 成本 三要素缺一不可 相互制约 达到平衡质量保证和测试的关系测试发现可能存在代码缺陷 bug 性能差 安全问题 产品缺陷 用户体验差 服务不稳 可兼容性差问题大致分为功能性测试类问题和用户体验评估类问题Bug的基本认识bug修复流程:测试人员或用户发现bug 将其置为激活状态 开发人员收到激活bug,进行修复,此时bug状态为处理中 修复完成后,将bug置为解决状态 测试人员再次验证,若通过 将其关闭 否则重新激活bug提交直至验证通过.
2021-11-28 21:22:04
7685
原创 工程能力(2)代码的艺术&编码惯例
代码艺术优秀代码标准:代码的正确和性能 代码的可读和可维护性 代码的可运维和可运营 代码的可共享和可重用系统设计要点:清楚什么是系统架构 注意系统设计的约束 清楚需求是系统设计决策的来源 系统设计的风格与哲学(每个组件的功能都应该足够的专一和单一) 清楚接口的重要性Mini-spider框架多线程编程数据互斥访问添加与判断是否存在不应该分开处理 写入一个函数中临界区的注意事项不要把耗费时间的操作放在临界区内执行,否则无法发挥多线程对硬件资源最大化利用的优势.
2021-11-24 17:39:00
1659
原创 工程能力(1)设计方法&研发流程
设计方法软件设计原则目的:使软件长期范围内容易进行变化设计原则:高内聚(紧密相关的元素放一起) 低耦合(单位之间要少关联)solid 简单设计 正交设计clean code(整洁代码)(1)命名规则(2)注释(3)函数:骨架函数:业务逻辑和算法在高层次上的抽象描述 步骤函数:具体实现细节,隐藏起来(4)编码细节单元测试优势:更早发现问题 更容易集成 更安全的代码修改原则:将单元测试视为文档工作 自检性 不可破坏性 简洁性 网络安全性 定位缺陷 ...
2021-11-23 22:08:57
1597
原创 关于前端相关的知识点
web前端标准:(1)html结构标准:负责网页结构搭建(2)css样式标准:负责网页美化(3)js行为标准:负责网页的行为标准html:HTML属性:k=“v”键值对 给属性设置相应的值CSS: 样式表,级联样式表,层叠样式表以html为基础,提供排版功能,设置。外观不同样式color:文字颜色font-family 字体font-size 字号text-indent 首行缩进 单位emtext-align 文本对齐方式 默认left 可设置r...
2021-11-23 15:46:12
1482
原创 秋招总结(先后拿到百度ACG,腾讯CSIG)
准备秋招,可能大家都比较关心这一点以下是几点建议,快来围观把!!!(1)尽早投简历,投的越早,机会越多。提前批有些大厂是没有笔试阶段的,这样会减少大部分难度,当然这个时候HC也是最多的时候,一定要冲,管他会不会呢,你要知道没有什么是你都会的,只有在面试中不断受挫折积累经验才可以积累更多经验。(2)刷题必须搞,《剑指offer》一定要刷,这些题基本上就是你面试过程中手撕代码的题目,时间充足的话可以再去牛客网或者leetcode上再刷一些,我个人的话从2020年12月到2011年7月一共刷了387道
2021-10-24 20:42:44
3741
原创 面试中常被问到(26)菱形继承及解决方法
菱形继承菱形继承属于多继承中一种具有代表性的继承关系,产生数据冗余和数据二义性问题class A{public: int a;};class B : public A{public: int b;};class C : public A{public : int C;};class D : public B, public C{public: void func() { }};上述代码中对变量进行内存查看 如下图:解决方法..
2021-09-01 17:43:22
2184
原创 项目实践(三)QT-CoinFlip
项目简介:创建项目,以QtMainWindow为基类添加项目资源 resfile基本配置:设置背景图标 设置固定大小 设置项目标题设置背景 设置背景标题开始菜单-退出功能mypushbutton进行封装开始按钮,及按动特效...
2021-08-11 09:07:46
2623
1
原创 面试中常被问到(25)map和pair区别
1,pair的类型:pair是一种模版类型。每个pair 可以存储两个值。这两种值的类型没有限制,也可以自定义类型。2、pair 应用:如果一个函数有两个返回值的话,如果是相同类型,就可以用数组返回,如果是不同类型,两个属性的话,就可以用pair 进行操作map可以当做一个容器(装载具有一定格式的数据);pair可以理解为元素(放入到容器的的每个个体),pair并没有单独行动的典型用法,正常都是配合map来使用(即把pair这个元素插入到map这个容器里面)。...
2021-08-05 21:10:03
5631
1
原创 软件测试(六)自动化测试
基于selenium对网页接口进行自动化测试执行环境:python3.6脚本 单个测试百度搜索框 from selenium import webdriverimport timedriver=webdriver.Chrome()driver.get("https://www.baidu.com/")#driver.find_element_by_css_selector(".s_ipt").send_keys("西安工业大学")#driver.find_element_by_
2021-07-28 17:09:08
2931
2
原创 项目实践(二)云备份概述
项目简介:搭载云备份服务器和客户端,实现客户端对主机上特定目录下的文件自动进行备份到云端 服务器端对上传文件进行热点文件判断,对于非热点文件进行压缩存储节省磁盘空间 支持通过浏览器进行查看和下载,并且下载支持断点续传的功能。 整个传输过程支持ssl加密传输概要设计:客户端:windows客户端功能需求:自动对指定目录下文件进行备份 模块划分:目录监控模块:对指定目录下的文件进行判断哪些文件需要备份(新增文件,修改后文件) 网路通信模块:实现文件上传到云端服务器备份 数据管理.
2021-07-28 10:49:02
3049
转载 软件测试(五)敏捷开发
敏捷开发概念:以用户需求进化为核心,采用迭代,循序渐进的方式进行软件开发敏捷开发流程:1、我们首先需要确定一个ProductBacklog(按优先顺序排列的一个产品需求列表),这个是由ProductOwner负责的;2、ScrumTeam根据ProductBacklog列表,做工作量的预估和安排;3、有了ProductBacklog列表,我们需要通过SprintPlanningMeeting(Sprint计划会议)来从中挑选出一个Story作为本次迭代完成的目标,这个目标的时间...
2021-07-28 09:51:46
2893
原创 数据库(三)索引事务
索引:类似于目录功能原理:给一张表创建一个索引,相当于创建一个索引表索引不适用于所有字段,索引不是越多越好会影响插入和删除效率应用场景:数据量大,经常用于查询依据的字段 字段修改频率较低的字段 索引过多会占据额外磁盘空间索引如何提高查询效率?索引采用特殊的数据结构提供效率(B+树)B+树与B树区别:B树:多叉树;B+树:也是一个多叉树,多叉树可以降低树高度提高查询效率 B树的索引与数据存储在一个节点中,而B+树索引与数据分离存储,每一个节点占据磁盘空间小,这样一次性可
2021-07-25 17:02:53
3174
3
转载 面试中常被问到的(12)函数调用执行过程
第一步:函数调用 1、将函数调用语句下一条语句的地址保存到在栈中,以便哈数调用完成后返回。(将函数放到栈空间中称为压栈)。 2、对实参表从后向前,一次计算出实参的值,并且将值压栈。 3、跳转到函数体处。 第二步:函数体执行 4、如果函数体中定义了变量,将变量压栈 5、将每一个形参以栈中对应的实参值取代,执行函数体的功能体。 6、将函数体中的变量、保存到栈中的实参值,依次从栈中取出,释放栈空间(出栈)。 第三步:返回...
2021-07-25 09:30:58
3205
1
原创 软件测试(四)测试分类
测试金字塔:从上到下:ui层->业务逻辑层->数据处理层从下到上,投入产出比越来越小?(1)越往上定位问题越困难(2)越往上层,测试效率越低测试分类 按照开发阶段划分: 单元测试:对软件组成单元进行测试测试阶段:编码后 或 编码前(TDD:先写测试用例,根据测试用例产生的异常去补充开发代码)测试对象:最小模块测试人员:白盒测试或开发工程师测试依据:代码注释+详细设计文档测试方法:白盒测试测试内容:模块接口测试,局部数据结构测试,路径测试(if .
2021-07-24 10:28:49
2974
1
原创 数据库(二)表的设计
表的设计ER关系图:一对一:一个学生实体只有一个学生证一对多:多对多:三大范式:第一范式:表中每个字段都必须具有不可分割原子属性第一范式是其他范式前提,如果不遵循第一范式会导致某个非原子字段进行查询时降低效率第二范式:表中每个字段都应该与主键完全关联,而不是部分关联如果不遵循第二范式会导致存在大量冗余数据第三范式:表中每个字段都应该与主键直接关联,而不是间接关联多表查询:内连接+外连接(左连接+右连接)内连接:两张表数据交集 inner join o...
2021-07-18 18:02:45
2945
原创 数据库(一)键值约束
键值约束:约束表中指定字段的数据必须符合某种规则种类:非空约束:NOT NULL 约束字段不能为空 唯一约束:UNIQUE 约束字段数据必须唯一,不能重复 主键约束:PRIMARY KEY 非空且唯一 且一张表只有一个主键 外键约束:FOREIGN KEY 表中指定字段数据受父表数据约束 默认值:DEFAULT 指定字段设置默认值 自增属性:AUTO_INCREMENT 整型字段数据自动+1 (要求:必须为主键,且为int类型)分组查询group by:...
2021-07-18 15:28:41
3026
原创 面试中常被问到的(24)网络分层及协议
OSI七层网络模型:应用层 表示层 会话层 传输层 网络层 数据链路层 物理层TCP/IP五层网络模型:应用层:负责应用程序之间数据沟通 HTTP/HTTPS/DNS协议 传输层:负责进程(socket)之间数据传输 TCP/UDP协议 网络层:负责地址管理和路由选择(源端对端IP地址) IP协议 设备:路由器 网络层负责为分组网上的不同主机提供通信,将传输层交下来的报文封装为IP数据报 数据链路层:负责相邻设备之...
2021-07-17 16:34:53
2799
1
原创 软件测试(三)测试用例设计方法
基于需求设计测试用例(1)验证需求的准确性和合理性(2)细分需求 从细分需求设计完整测试用例等价类:输入过多,把输入划分成若干等价类,从每一个等价类中选一个测试用例进行测试边界值法:因果图:(1)分析需求,找出所有的输入输出(2)找出所有输入输出之间的关系(3)画因果图(4)根据因果图画判定表(5)根据判定表设计测试用例...
2021-07-16 22:00:43
1786
1
原创 面试中常被问到的(23)协议解析中http与https
HTTP:首先明白,什么是http协议?超文本传输协议,也就是明文字符串传输协议特点如下:http协议在传输层基于tcp实现,是一个简单的请求/响应协议,支持C/S模式 客户端向服务端发起请求时,只需要传入请求方法和请求资源路径(请求方法+URL)简单快捷,搭建http服务器规模小,通信速度快 http通过对头部content-Type修改,控制传输数据类型,允许传输任意类型的数据对象 无连接保证每次连接只处理一个请求。服务端处理完客户请求,并收到客户应答后便断开连接http协议格式首行
2021-07-16 16:11:52
1821
Cloud_FileServer.zip
2021-08-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人