自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 《HTTP权威指南》 第15、17章 实体和编码、内容协商与转码

客户端可以给每种编码附带Q(质量)值参数来说明编码的优先级。Q值的范围:0.0~1.0,0.0表示不想接受所说明的编码,1.0说明最希望使用的编码内容编码只编码实体部分,传输编码作用在整个报文。告诉服务器接受分块编码告知接收方用了分块编码传输。服务器收到无法理解的经过传输编码的报文,返回501。Accept首部集与匹配的文档首部集缓存根据内容协商首部发送给客户端正确的响应若所提供的文档取决于首部,那么首部必须包含

2025-06-22 19:50:32 272

原创 《HTTP权威指南》 第14章 安全HTTP

日期检测、签名颁发者(CA)的可信度检测、签名检测、站点身份检测。使用对称密钥加密技术,需要发送端和接收端共享相同的密钥值。)包含了由某个受信任组织担保的用户或公司的相关信息。:解密函数D对密文C通过密钥d进行解密,生成明文P。OpenSSL是SSL和TLS最常见的开源实现。:编码函数E使用明文P通过密钥e编码生成密文C。:一个用于主机报文编码,一个用于主机报文解码。因特网上的“ID卡”——数字证书。HTTPS在HTTP的基础上使用。对发给服务器X的报文进行。,只有X有解码私有密钥。方式和一种稍后使用的。

2025-06-22 19:00:02 370

原创 《HTTP权威指南》 第11-12章 客户端识别与cookie和基本认证机制

每个URL后面都附加了一个用户特有的标识码,这类URL称为胖URL。

2025-06-22 18:04:30 142

原创 《HTTP权威指南》 第7章 缓存

是可以的。

2025-06-22 17:18:22 921

原创 《HTTP权威指南》 第5-6章 Web服务器和代理

接受一个客户端连接,或者如果不希望与这个客户端建立连接,就将其关闭。

2025-06-21 19:28:57 732

原创 《HTTP权威指南》 第4章 连接管理

由于源端口的数量有限(比如6万),2MSL(比如120秒)内连接不能重用,那么连接率上限就为6万➗120秒=500次/秒。如果是小的HTTP事务,那么TCP连接就占了大量时间,由于确认报文很小,所以TCP允许在发往相同方向的输出数据分组中对其进行“捎带”(有点像。要修正这个问题,可以增加客户端会负载生成机器的数量,或者确保循环使用几个虚拟IP来增加更多的连接组合。),将返回的确认信息与输出的数据分组结合,剩下一次请求报文的时间,此行为称为“要发送一条非幂等的请求,需要等待来自前一条请求的响应状态。

2025-06-21 17:31:18 840

原创 随机一道面试题2:Python编译执行顺序?

直接运行的脚本本身不会生成.pyc文件,每次运行都源代码,编译生成的字节码仅存在于,程序结束后字节码即被丢弃。PS:橙色路径显示字节码内存由操作系统统一回收,而非Python主动清理。

2025-06-21 15:25:54 298

原创 随机一道面试题1:Python是解释型语言or编译型语言?

要知道Python是解释型语言还是编译型语言,首先得了解下这两种分类的概念和特点。:源代码 → [编译器] → 机器码 → 处理器执行。:源代码 → [解释器] → 处理器执行。: 《计算机程序的构造和解释》

2025-06-21 15:25:14 321

原创 《HTTP权威指南》 第3章 HTTP报文

让服务器用请求的主体部分来创建一个由所请求的URL命名的新文档。注意:一组HTTP首部总是应该以一个空行结束(仅有CRLF),即使没有首部和主体。客户端发起的请求可能要穿过防火墙、代理、网关或其他应用程序,允许客户端再未获取实际资源的情况下,对资源的首部进行检查。客户端和服务器都可以使用,不论是构建请求报文还是响应报文。起始行和首部是由行分隔的ASCII文本,每行以一个。HEAD方法,服务器在响应中只返回首部,请求首部是只在请求报文中有意义的首部。,所有报文的发送者都在接收者的上游。

2025-06-19 22:09:24 973

原创 《HTTP权威指南》 第1-2章 HTTP和URL基础

通过URL获取目标IP地址+TCP端口号 >> 建立TCP/IP连接 >> 传输HTTP报文。(相对URL中缺的组件就用基础URL中的组件段补上)(HTPP端口默认80,HTTPS端口默认443)对数据进行编码,实现可移植性和完整性。(如没有提供,浏览器会给一个默认值)),path和params为一组,用。,即:将相对URL和基础URL划分成。表示web服务器的资源,资源名称为。的HTTP报文,只有请求。

2025-06-18 22:56:06 429

原创 源码分析:Requests

Requests allows you to send HTTP/1.1 requests extremely easily. There’s no need to manually add query strings to your URLs, or to form-encode your & data — but nowadays, just use the method! 查看源码源码分析目的宏观层面:把握与微观层面:深入代码实践层面:与批判性思考源码结构宏观:系统设计基本

2025-06-17 08:45:10 474

原创 Requests源码分析01:运行tests

虽然咱们在命令行窗口中用的是requests项目的虚拟环境,但是不知道为啥没有生效,找到问题后回过来再操作,就能正常,可能当时没有切换到位。有个注意事项需要提一下,使用PyCharm编辑器的朋友,有没有跟我一样喜欢attach多个项目在一个窗口下运行的?如果跟我一样的水平^^,那不出意外要遇到如下报错:(如果你没有遇到,那么恭喜你我的朋友)请查看我的主页接着看后续的文章(有需要的朋友可以先订阅一下后续发布了能快速查看)我当前使用的 requests 的源码版本是。,复习下顺序:内置 >>

2025-06-15 15:37:36 112

原创 基于Python学习《Head First设计模式》第十四章 剩下的模式

【代码】基于Python学习《Head First设计模式》第十四章 剩下的模式。

2025-06-14 20:01:41 355

原创 设计模式汇总

class TextBox(ABC): # 抽象产品Areturn "深色文本框"return "浅色文本框"# 核心:创建相关对象家族def create_textbox(self) -> TextBox: pass # 新增产品线return DarkButton() # 创建配套的深色系组件return DarkTextBox() # 保持风格一致# 客户端只需切换工厂即可改变整套UI重点:创建一组相关/依赖对象,确保兼容性。

2025-06-14 18:02:50 1550

原创 基于Python学习《Head First设计模式》第十三章 现实世界中的模式

模式名称、分类意图:描述模式是什么动机:描述什么时候使用这个模式,具体场景适用性:描述什么地方使用这个模式,用在什么场合结构:类图参与者:类和对象的责任和角色协作:参与者在模式中如何合作结果:使用模式后的好与不好的效果实现:实现技巧和注意事项范例代码:代码示例已知应用:真实系统案例相关模式:此模式与其他模式之间的关系应用三次以上且三位开发人员都认同的解决方案,即可以算是一个模式。

2025-06-14 17:55:32 418

原创 基于Python学习《Head First设计模式》第十二章 复合模式

基于Python学习《Head First设计模式》第十二章 复合模式。

2025-06-14 16:49:30 100

原创 基于Python学习《Head First设计模式》第十一章 代理模式

先大致了解,更多细节后续用到再扩展学习补充。

2025-06-14 15:52:09 347

原创 其他UML图示例,用到再学习

语法简单,效果不错。

2025-06-11 10:56:36 315

原创 理解系统交互:UML时序图

序列图是一种交互图,它显示了进程如何相互操作以及操作顺序。

2025-06-11 10:02:48 1048

原创 接口自动化测试-效果展示

2025-06-09 12:47:50 173

原创 接口自动化测试:HttpRunner基础

HttpRunner是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型。简单易用,功能强大,具有丰富的插件化机制和高度的可扩展能力。

2025-06-09 11:46:21 442

原创 基于Python学习《Head First设计模式》第十章 状态模式

先大致了解,更多细节后续用到再扩展学习补充。

2025-06-08 17:34:28 469

原创 基于Python学习《Head First设计模式》第九章 迭代器和组合模式

"""菜单组件的抽象基类"""raise NotImplementedError("不支持添加操作")raise NotImplementedError("不支持移除操作")raise NotImplementedError("不支持获取子项")passpasspasspasspass"""叶子节点:菜单项"""veg_str = " (素食)" if self.vegetarian else ""print(f"

2025-06-08 15:28:20 367

原创 基于Python学习《Head First设计模式》第八章 模板方法模式

"""咖啡饮料"""print('将水煮沸')print('浸泡或冲泡')print('倒入杯子')print('添加调料')print('浸泡茶叶')print('添加柠檬')print('冲泡咖啡')print('添加奶和糖')(y/n)')print('制作茶...')print('\n制作咖啡...')"""运行结果:制作茶...将水煮沸浸泡茶叶倒入杯子添加柠檬制作咖啡...将水煮沸冲泡咖啡倒入杯子(y/n)y添加奶和糖"""

2025-06-07 18:26:56 469

原创 基于Python学习《Head First设计模式》第七章 适配器和外观模式

对象适配器可以适配一个被适配者类类适配器只能针对特定的被适配者类对象适配器使用组合的方式,可以适配整个Duck类,而类适配器用继承只能支配Duck的具体类,比如绿头鸭类。但子类类添加新的行为时,类适配器更胜一筹。适配器转化修改接口以匹配客户的期望。外观模式简化,提供子系统的一个简化的接口。

2025-06-07 17:13:13 596

原创 基于Python学习《Head First设计模式》第六章 命令模式

设计全貌与书上的代码略有不同,整体结构是一样的。书上是吊扇,我这里是音响。添加撤销操作批量操作使用宏命令命令模式的用途请求队列、日志请求

2025-06-07 14:20:00 599

原创 Mermaid画UML类图

本文介绍了使用Mermaid和PlantUML两种工具绘制类图的方法。Mermaid语法简洁,支持在线编辑,详细说明了类定义、修饰符、可见性符号等基本语法,以及继承、实现、关联等七种类关系的表示方式。文章还展示了注释添加、方向设置等高级用法,并提供了综合示例代码。同时简要对比了PlantUML工具,指出其语法类似但功能更丰富。两种工具都附有官方文档链接,方便读者深入学习类图绘制技巧。

2025-06-05 13:44:50 368

原创 深入理解系统:UML类图

UML要素Python代码表现UML符号说明类(Class)矩形框包含类名、属性和方法抽象类斜体类名包含抽象方法接口只包含抽象方法属性+name: str公有,私有,保护方法类行为定义继承空心三角+实线泛化关系(is-a)实现空心三角+虚线实现接口方法组合实心菱形+实线强拥有关系(同生命周期)聚合空心菱形+实线弱拥有关系(可独立存在)关联实线箭头对象间持久引用关系依赖虚线箭头临时使用关系枚举固定值集合多重继承多个空心三角继承多个父类UML元素UML表示法Python实现。

2025-06-04 14:05:42 1369

原创 基于Python学习《Head First设计模式》第五章 单件模式

创建实例前先判断是否已创建,已有就直接返回,没有才创建优点:简单、线程安全、符合Python风格。缺点:实例在导入时立即创建(非懒加载)。双重检查加锁使用类装饰器使用元类要点总结

2025-06-03 14:10:41 564

原创 基于Python学习《Head First设计模式》第四章 工厂方法+抽象工厂

工厂模式的定义1、简单工厂结构:2、工厂模式结构:优化图解抽象工厂模式定义

2025-06-02 19:10:24 727

原创 基于Python学习《Head First设计模式》第三章 装饰者模式

完整代码总结

2025-06-02 12:56:14 447

原创 基于Python学习《Head First设计模式》第二章 观察者模式

【代码】基于Python学习《Head First设计模式》第二章 观察者模式。

2025-06-01 14:44:13 731

原创 python面向对象设计

概念:隐藏复杂实现,仅暴露必要接口。目的:简化复杂度,强制子类实现特定方法。实现方式:抽象基类 (ABC):使用 abc 模块抽象方法:用 @abstractmethod 装饰器标记。

2025-06-01 11:07:21 184

原创 基于Python学习《Head First设计模式》 第一章 策略模式

实现鸭子的行为鸭子类整合鸭子的行为测试Duck动态设定行为或者换一种方式设置属性,效果一样完整代码总结

2025-05-31 14:45:01 846

原创 JSON Schema学习笔记

JSON 代表“JavaScript Object Notation”,一种简单的数据交换格式。

2025-05-24 14:21:30 550

原创 pytest 插件

pytest所有规范和实现都遵循pytest_前缀命名约定。

2025-05-13 08:30:40 151

原创 pytest hooks

pytest_addoption 是一个用于添加自定义命令行参数的钩子函数。

2025-05-13 08:30:18 291

原创 pytest 配置

当传递 --strict-markers 命令行标志时,使用 @pytest.mark.name_of_the_mark 装饰器应用的任何未知标记都将触发错误.文件默认使用UTF-8编码,若含非ASCII字符(如中文注释),需确保编辑器保存为UTF-8。使用 pytestconfig 内置 fixture 获取 pytest.ini 中的配置。部分配置项可能仅支持特定pytest版本,需查阅对应版本的文档。命令的位置),确保pytest能自动识别。节的配置是否被正确读取,建议统一使用。

2025-05-13 08:30:09 358

原创 pytest fixture

fixture 可以依赖其他 fixture,测试用例可以传递多个 fixture。

2025-05-13 08:30:00 764

原创 pytest 名词解释

pytest 的核心概念围绕。

2025-05-13 08:29:52 1017

空空如也

空空如也

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

TA关注的人

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