Python 类 使用class关键字定义类,类名通常采用大驼峰命名法。示例class Dog:"""一个简单的狗类""""""初始化属性""""""模拟小狗被命令时蹲下"""print(f"class Dog : """一个简单的狗类""" def __init__(self , name , age) : """初始化属性""" self . name = nameself . age = age def sit(self) : """模拟小狗被命令时蹲下""" print(f" {
python 模块 输入与输出 模块是一个包含Python定义和语句的文件。模块可以定义函数、类和变量,还可以包含可执行的代码。通过模块,可以组织和重用代码,促进代码的模块化和维护性。Python提供了丰富的标准库模块,涵盖了文件操作、系统调用、网络编程、数据处理等多个领域。常用标准模块包括sysosmathdatetimejsonre等。包是一种组织模块的方式,使用文件夹和文件实现。包可以包含子包和模块,形成层级结构。Python提供了许多内建模块,随解释器一起分发,无需额外安装即可使用。常用内建模块包括sys。
Python数据结构基本操作总结 有序集合:列表中的元素按照插入顺序排列,每个元素都有一个对应的索引。可变性:列表是可变的,可以在创建后修改其内容,包括添加、删除或更改元素。多样性:列表可以包含不同类型的元素,如整数、字符串、甚至其他列表(嵌套列表)。有序集合:元组中的元素按照插入顺序排列,每个元素都有一个对应的索引。不可变性:元组一旦创建,其内容不能修改,包括添加、删除或更改元素。多样性:元组可以包含不同类型的元素,支持嵌套。无序集合:集合中的元素没有特定的顺序。唯一性:集合中的元素是唯一的,重复的元素会被自动去除。
计算机网络 TCP&UDP、IP、ARP&RARP、NAT总结 MSL:Maximum Segment Lifetime 报文最大生存时间2MSL 的时间是从客户端接收到 FIN 后发送 ACK 开始计时的。如果在 TIME-WAIT 时间内,因为客户端的 ACK 没有传输到服务端,客户端又接收到了服务端重发的 FIN 报文,那么 2MSL 时间将重新计时。等待MSL两倍:发送方数据包被接收处理后又向对方发送响应,一来一回需要两倍确保四次挥手主动关闭方最后的ACK能到达对端。
计算机网络 DNS HTTP HTTPS,缓存 输入URL之后的全过程URL URIDNS (Domain Name System)为什么分布式域名的层级关系解析过程递归查询和迭代查询HTTP特性版本演变0.91.01.1问题优化2兼容改变推送实现与HTTP1对比并发实现缺陷3特点QUIC协议缓存强制缓存协商缓存基于`Last-Modified`和`If-Modified-Since`的协商缓存基于`ETag`的协商缓存HTTPS(Hyper Text Transfer Protocol Sec
Redis基础总结、持久化、主从复制、哨兵模式、内存淘汰策略、缓存 Redis 基础Redis 是什么,有哪些特点为什么要使用 Redis 而不仅仅依赖 MySQLRedis 是单线程吗Redis 单线程为什么还这么快Redis 数据类型和数据结构五种基本数据结构及应用场景其他数据类型Redis 底层数据结构Redis 持久化数据不丢失的实现AOF 日志RDB 快照混合持久化AOF 和 RDB 的选择AOF 重写的执行过程RDB 快照的执行过程混合持久化的执行过程Redis 功能和高可用性主从复制全量复制增量复制全量复制使用 RD
操作系统之Linux相关 内存管理、虚拟内存、设计特点、网络编程模型 虚拟内存空间:32位处理器的虚拟内存空间为4GB。进程视角:每个进程认为自己拥有4GB的连续虚拟地址空间,实际上只有部分映射到物理内存。物理内存与外部存储:物理内存中可能会存在碎片,部分内容会存储在外部磁盘上,需要进行数据的交换(页置换)。
mysql 排序、查询执行流程、幻读 MySQL的 ORDER BY 执行流程示例表和查询语句执行流程全字段排序Rowid 排序全字段排序 VS rowid排序联合索引优化覆盖索引优化小结思考题问题执行过程中是否需要排序?如何在数据库端实现不排序?实现分页需求使用`ORDER BY RAND()`内存临时表与磁盘临时表随机选择算法的优化实际应用和进一步优化小结思考题回答示例优化:误区案例一:条件字段函数操作案例二:隐式类型转换案例三:隐式字符编码转换总结优化策略行动建议为什么单行查询在My
MySQL前缀索引、脏页和干净页、COUNT(*)讨论、表删除内存问题 如何加索引如何给身份证号添加索引SQL语句变慢脏页 (Dirty Pages)干净页 (Clean Pages)为何区分脏页和干净页处理脏页管理策略flush如何控制为什么删除表数据后表文件大小不变问题背景核心原因数据存储方式参数影响解决方案1. 调整`innodb_file_per_table`设置2. 使用表重建来回收空间3. 定期优化表注意事项online和inplaceInplace DDLOnline DDLCOUNT(*) 讨论`COUNT(*)`
Golang内存、指针逃逸、垃圾回收机制概览 最近看到了一篇文章是关于go的内存、指针逃逸和垃圾回收机制的,发现自己并未很细致的了解过这方面的内容,于是在翻阅各种文章的情况下,写出了这篇总结,参考文章放在文末,可自取。
Golang并发模型-Pipeline模型、Fan-in Fan-out模型 这段时间由于项目的需要,本人正在研究关于如何优雅的进行go的并发,以下是结合资料和视频的结果,文末会给出参考资料Go语言的并发模型主要通过goroutine和channel实现,通过这个我们可以更有效地使用IO和CPU这里我们围绕生成一个随机数并且返回他的平方数的场景来讲解。
MongoDB简单CRUD操作(含GO中的库操作) 入口MongoDB是一种文档数据库,它以其可扩展性和灵活性而闻名,能够满足各种查询和索引的需求。它将数据存储在类似JSON的灵活文档中,这意味着字段可能因文档而异,并且数据结构可以随时间变化。MongoDB的文档模型易于开发者学习和使用,同时具备处理任何规模复杂要求的能力。它是分布式的,因此高可用性、横向扩展和地理分布都是内置且易于使用的特性面向集合存储,易于存储对象类型的数据。模式自由,不需要预定义模式。支持动态查询,可以在任意属性上建立索引。支持复制和故障恢复,确保数据的安全性和可靠性。
WebSocket协议、与HTTP对比 WebSocket和HTTP协议一样,都是基于TCP协议实现的应用层协议。HTTP协议通常是单边通信,主要用于传输静态文档、请求-响应通信,适用于Web浏览器加载网页、API调用等。然而WebSocket则是会主动给你发消息,实现实时双向通信,我们经常玩的游戏、使用的聊天软件什么采用的都是这个协议。这里进行详细比较总的来说,WebSocket和HTTP都是网络通信中的重要协议,但它们在连接性、通信方式和应用场景等方面存在明显的区别。
JWT认证的解析和实际使用 SON Web Token(JWT)是一种开放标准(RFC 7519),定义了一种紧凑且自包含的方式,用于以JSON对象的形式在各方之间安全地传输信息。该信息可以通过数字签名进行验证和信任。JWT可以使用秘密(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对进行签名。
项目架构-六边形架构的概述和实现 最近在想着写一个个人项目,但是在项目的结构上却犯了难,此时翻到了一个视频,采用Hexagonal architecture(六边形架构),也被称为Ports and Adapters,大致就是下面图片的结构:一共分为三层:Domain: 里面放的是处理的基本逻辑,可以理解为大纲,它决定着Application和Framework的选择和实现Application::它协调使用我们的Domain代码, 通过位于两者之间的方式,调整从framework到domain的请求。