一天一个Python知识点——Day 31:面向对象编程概念🎯学习目标理解面向对象编程(OOP)的基本思想,掌握类、对象、封装、继承和多态等核心概念,为后续深入学习Python面向对象编程打下基础。
📖核心知识点
什么是面向对象编程?
一种编程范式,将数据和处理数据的方法组织为”对象”
与现实世界建模方式相似,更容易理解和维护复杂程序
主要特点:封装、继承、多态
核心概念解析
**类(Class)**:对象的蓝图或模板,定义对象的属性和方法
12class Dog: # 类定义 pass
**对象(Object)**:类的实例,具有实际的数据和行为
1my_dog = Dog() # 创建对象
**属性(Attributes)**:对象的状态或数据
123class Dog: def __init__(self, name): # 初始化方法 self.name = name # 实例属性
**方法(Methods)**:对象的行为或功能
123class Dog: def bark(self): # 方法定义 ...
编程开发
未读零基础学习Python指南核心理念:
动手实践是王道: 光看不动手永远学不会编程。务必边学边敲代码!
不要怕犯错: 错误(Bug)是学习过程中最好的老师。遇到报错是常态,学会看错误信息并解决它。
循序渐进: 不要试图一口吃成胖子。从基础语法开始,逐步深入。
保持好奇和兴趣: 找到自己感兴趣的小项目去实践,动力会更足。
📌 阶段一:准备与入门 (1-2天)
理解Python是什么:
网站开发 (Django, Flask)
数据分析与可视化 (NumPy, Pandas, Matplotlib, Seaborn)
人工智能与机器学习 (Scikit-learn, TensorFlow, PyTorch)
自动化脚本 (处理文件、发送邮件、网页抓取等)
科学计算
游戏开发 (Pygame)
桌面应用 (PyQt, Tkinter)
一种解释型、高级、通用的编程语言。
特点: 语法简洁清晰,像读英语句子;可读性强;拥有庞大且活跃的社区和丰富的第三方库(工具包)。
能做什么?
安装Python:
打开 命令提示符 (Windows) 或 **终端 (macOS/Linux ...
一、报告大纲
一份完整的性能测试报告需要包含以下模块:
文档介绍
测试范围
测试时间
测试环境
测试场景
测试过程及分析记录
测试结论和建议
二、具体内容解析
1、文档介绍
主要说明测试的目的,让读者能够快速了解报告的背景和内容,比如:为了保证系统在高并发场景下能稳定提供服务,对系统核心接口进行性能测试,获取接口在高负载压力下的相关性能指标,优化接口性能以满足需要。
2、测试范围
主要说明要测试哪些接口,是否需要混合压测,全链路压测等,以及制定性能测试的目标值。
压测通常为两类场景服务,一类是为大促考虑,另一类是为日常业务需求性能考虑。
系统有非常多的接口,那么哪些接口需要做压测呢?有没有什么通用的选择标准呢?答案是:当然有!
618/双11大促接口选择标准:
核心链路上涉及的系统接口必须压测;
接口近期改动较大,接口原有性能可能受影响;
接口业务量增长较快致流量增长迅猛;
接口调用方明确有更高的性能要求;
接口业务逻辑会频繁操作数据库或者redis多次
Redis可能产生大key或hot key的接口
日常需求涉及到以下场景的接口:
大流量场景:大用户量场景 ,大 ...
编程开发
未读
很多中高级测试工程师都会遇到一个阶段性的瓶颈:每天都很忙,测试工作也照流程推进,BUG 也在发现,文档也在写,但就是觉得“成长停滞了”。
那么,问题到底出在哪里?
01
重复,不等于成长
我们承认,测试工作中确实存在大量重复性任务,尤其是在敏捷开发中,短迭代频繁发布,经常让人觉得像“拧螺丝”一样重复测试。然而,成长与否的关键,不是是否重复,而是你是否在重复中思考和优化。
一个优秀的测试人员,不是避免重复,而是能在重复中找到效率的突破口。
你是否注意到每次冒烟测试时间都被浪费在等待环境部署?
是否每次回归测试都有人问:“这轮改了什么功能?”
是否接口测试数据每次都得手动准备,重复造轮子?
这些,就是你成长的入口点。
在已有任务中寻找可优化的地方,是测试人员最容易启动的成长路径。你可以尝试:
用脚本或工具自动化冒烟流程;
用 changelog 生成器自动整理测试关注点;
写一段初始化数据的小工具,减少重复录入。
这些看似“微小优化”,却是你从“执行者”迈向“提效者”的第一步。
02
成长,更来自于主动承担“空白点”
除了优化已有流程,还有一 ...
编程开发
未读一、压力测试概述
压力测试(Stress Testing)是软件测试中的一种重要手段,用于验证软件应用程序在极端负载条件下的稳定性和可靠性。其主要目的是在软件承受极高负载时,测量其健壮性、错误处理能力和恢复能力,确保软件在危急情况下不会崩溃或表现异常。压力测试也被称为耐力测试,在软件工程中占有举足轻重的地位。
1.1 压力测试的目的
压力测试的主要目的包括:
测量软件在极限负载下的表现:了解软件在极高负载条件下的响应时间、吞吐量、错误率等关键性能指标。
评估软件的错误处理能力:检查软件在异常或极端情况下是否能够正确处理错误,避免系统崩溃。
确保系统的可恢复性:验证系统在发生故障后能否迅速恢复正常状态,继续提供服务。
发现潜在的性能瓶颈:通过压力测试,识别软件中的性能瓶颈,为优化提供依据。
1.2 压力测试的场景
压力测试的应用场景广泛,包括但不限于:
在线购物网站促销期:在节日或打折促销期间,网站流量会激增,此时进行压力测试可以确保网站能够承受高并发访问。
新闻网站重大事件报道:当新闻网站报道重大事件时,访问量会突然增加,通过压力测试确保网站稳定 ...
编程开发
未读自动化测试的 4 个层次自动化测试4 大层次
华测教育 - 三丰老师
学习目标自动化测试能力的差异,本质是价值创造层级的差异。
更高的等级意味着你能解决更复杂的问题,承担更重要的职责,从而创造更大的价值。
认知升级:跳出“会不会写代码脚本”的层面,从“解决问题的效率、规模和可持续性”来理解自动化等级。
自我定位:明确自己所在的位置以及下一个里程碑是什么。
规划路径:将模糊的“提升技术”转化为具体的阶段性目标
菜鸟级:工具使用者核心特征:熟练使用现有工具(如 Apifox、Postman、 Selenium IDE、 Jmeter等等)来执行预设流程。关注点是“如何操作这个工具来完成测试”。
能力画像
能够录制/回放,或根据简单脚本模板修改用例。
依赖于图形化界面。
价值与瓶颈:
价值:在稳定的场景下,能替代部分重复手工劳动,是自动化的起点。
瓶颈:
无法 100% 契合项目需求
无法应对复杂逻辑(加解密、数据库绑定等等特殊场景)。
技能与特定工具绑定,工具变更则技能归零(很难为你面试跳槽加分);
阶段总结:
此阶段是“知 ...
在你打开一个网页、刷视频、查资料的那一刻,你可能没意识到,背后一个关键的“幕后英雄”正在悄悄发挥作用——DNS(Domain Name System,域名系统)。
简单来说,DNS 就像互联网上的“电话簿”,帮你把你输入的域名(如 www.bilibili.com)翻译成对应的 IP 地址(如 149.129.88.123),然后才能真正连接服务器。没有 DNS,互联网几乎寸步难行。
而在 DNS 的世界里,有两个 IP 地址你可能经常听说:
• 🇨🇳 114.114.114.114
• 🇺🇸 8.8.8.8
它们都是公共 DNS 服务,但分别代表中国和谷歌的 DNS 力量。
那么,这两个 DNS 究竟有什么区别?你该选哪个?
谁是谁?📌 1. 114.114.114.114
• 所属运营商:江苏省基础电信公司(114DNS)
• 启用时间:2010年
• 面向对象:主要为中国大陆用户服务
• IP 地址:114.114.114.114、114.114.115.115
这是国内首个推出的大规模公共 DNS 服务,由国家队背景推出,目标是“更快、更稳定、更 ...
一、什么是 CDNCDN 的全称是(Content Delivery Network),即内容分发网络。其目的是通过在现有的Internet中增加一层新的CACHE(缓存)层,将网站的内容发布到最接近用户的网络”边缘“的节点,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,提高用户访问网站的响应速度。
简单的说,CDN 的工作原理就是将您源站的资源缓存到位于全球各地的 CDN 节点上,用户请求资源时,就近返回节点上缓存的资源,而不需要每个用户的请求都回您的源站获取,避免网络拥塞、缓解源站压力,保证用户访问资源的速度和体验。
CDN 对网络的优化作用主要体现在如下几个方面
解决服务器端的“第一公里”问题
缓解甚至消除了不同运营商之间互联的瓶颈造成的影响
减轻了各省的出口带宽压力
缓解了骨干网的压力
优化了网上热点内容的分布
二、CDN工作原理传统访问过程由上图可见,用户访问未使用CDN缓存网站的过程为:
用户输入访问的域名,操作系统向 LocalDns 查询域名的 ip 地址
LocalDns向 ROO ...
IP地址后面的/24是什么意思?*10.1.1.1/24 == 10.1.1.1 255.255.255.0*
其中,
10.1.1.1是IP地址。
255.255.255.0 是这个IP地址的网络掩码。
24从哪里来?
255.255.255.0 这是十进制,用二进制表示:
1111 1111. 1111 1111. 1111 1111.0000 0000
数一数,一共有多少个1?
24个。
既然有了10.1.1.1 255.255.255.0,为何还要10.1.1.1/24?
简洁表达。
正向练习一下
10.1.1.1/25 == ?
用二进制写25个1,7个0,一共32 bit位,从左到右排列:
1111 1111. 1111 1111. 1111 1111.1000 0000
然后将它们换算成十进制:
255.255.255.128
故 10.1.1.1/25 == 10.1.1.1 255.255.255.128
反向练习一下
10.1.1.1 255.255.25 ...
DNS协议(域名解析)工作原理一、DNS简介
DNS(Domain Name Systern) 域名系统,应用层协议,是互联网的一项服务,是将域名转换成网络可以识别的IP地址,再通过IP地址访问主机。
这种由文字组成的名称,显而易见更容易记忆。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,基于C/S架构服务器端:53/udp, 53/tcp。
实际上,每一台DNS服务器都只负责管理一个有限范围(一个或几个域)内的主机域名和IP地址的对应关系,这些特定的DNS域或IP地址段称为zone(区域〉。
根据地址解析的方向不同,DNS区域相应地分为正向区域(包含域名到IP地址的解析记录)和反向区域(包含IP地址到域名的解析记录)。简单来说DNS服务是ip地址与域名一一对应的解析服务。
1.1 DNS系统的分布式数据结构
1.2 域名结构解析
根域:一般用”.”表示,可省略不写
一级(顶级)DNS服务器:专门负责一级域名的解析(一般代表一种类型的组织机构或国家地区)
二级DNS服务器:专门负责二级域名的解析
子域名(三级域名)DNS服 ...
