自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用生成器实现python内置range

用生成器函数实现rangedef frange(*args): start, stop, step = 0, 1, 1 if not args: raise TypeError('frange expected at least 1 arguments, got 0') elif len(args) > 3: raise TypeEr...

2019-12-24 14:33:10 389

原创 python描述符--让对象的属性具有惰性求值并缓存起来的能力

cache_property1.问题2.实现3.总结1.问题如何让一个对象去访问某个属性时,才会去计算,并且一旦访问了该属性,就把值给缓存起来,下次再用的时候直接就能拿到,不必每次访问它都要重新计算2.实现如果对python描述符比较了解的话,一看就知道这是描述符的应用场景class cache_property: def __init__(self, func) self.fun...

2019-11-10 00:47:05 242

原创 常用应用层协议的报文格式

常见应用层协议的报文格式1.常用应用程序的端口号2.HTTP的报文格式1.常用应用程序的端口号名称应用层协议端口运输层协议说明超文本传输协议HTTP80TCP域名解析系统DNS53UDP/TCP长度超过512字节,使用TCP动态主机配置协议DHCP67/68UDP简单网络管理协议SNMP161/162UDP文件传...

2019-11-03 16:21:26 4427

原创 Python字典实现--源码解读

python dict 源码解读python dict的基本介绍dict的核心三个数据结构解读dict的底层几个C APIpython dict的基本介绍dict的核心三个数据结构解读dict的底层几个C API...

2019-10-27 18:28:44 1615 1

原创 ARP报文及其工作过程

ARP协议1. ARP报文格式2. ARP工作过程1. ARP报文格式2. ARP工作过程

2019-10-08 01:51:05 6250 1

原创 CSMA/CD协议

CSMA/CD1.CSMA/CD协议概念和由来2. CSMA/CD的工作流程3. 争用期(碰撞窗口)4. 截断二进制指数退避算法5. 为什么以太网有一个最小和最大帧长度1.CSMA/CD协议概念和由来CSMA/CD:带碰撞检测的载波侦听多路访问协议,它是在局域网中用的最多的介质访问控制协议,即MAC协议。该协议解决了如何在共享信道上提高结点发送数据的效率问题。为什么会有这个协议呢?因为在早...

2019-10-08 00:50:52 6547 2

原创 Python字符串操作--分割字符串

Python分割字符串1. 单种分隔符2. 多种分隔符1. 单种分隔符比如 ";",",",`" "等等,使用字符串对象的split()方法非常简单并且效率很高>>>'a,b,c,d'.split(',')['a','b','c','d']>>>'python;java;go,c'.split() 2. 多种分隔符如果一个字符串里,存在多...

2019-08-24 17:46:36 638

原创 图解ARP的工作过程

ARP工作过程

2019-08-22 01:41:31 3901 1

原创 读书笔记--链路层:链路、接入网和局域网

链路层1.链路层概述1.1链路层概念1.2 链路层提供的服务2.链路层差错和纠正技术3.MAC协议,多路访问链路和协议4.交换局域网1.链路层概述在学习了网络层提供的任意两台主机之间的通信服务之后,我们自然而然的想弄明白,IP数据报是如何跨域一系列的通信链路进行传输的,有的是有线链路,有的是无线链路。从源主机开始,通过一系列的分组交换机(路由器和交换机),在目的主机结束。所以,我们应该带着以...

2019-08-18 20:11:30 454 4

原创 TCP/IP协议栈的封装、复用和分解

第n层的数据都由 首部字段+数据字段(载荷数据)构成其中数据字段就是n-1层的数据而n+1层的数据字段就是n层的数据

2019-08-18 19:04:51 570 5

原创 ARP: 地址解析协议

ARP协议1.ARP概念和作用(理解)2.MAC地址3.封装ARP分组的帧格式(重要)4.ARP协议运行流程(掌握)5.ARP的两点有趣的事1.ARP概念和作用(理解)ARP:Address Resolution Protocol,地址解析协议,这个协议提供了网络层地址(IP)到硬件地址(MAC地址)的动态映射,因为一个IP数据报到达链路层,链路层要封装成帧,这就需要源mac地址和目的mac地...

2019-08-11 17:01:38 413

原创 Python常见的魔法方法

整理下python常用的魔法方法,后面我会就每一类的魔法方法,具体讲解怎么用。类别方法名实例的创建、初始化和销毁__new__、__init__、__del__属性描述符__get__、__set__、__delete__跟类相关的服务__prepare__、__instancecheck__、__subclasscheck__上下文管理器协议__e...

2019-07-07 16:00:18 112

原创 HTTP客户端错误状态码--4XX

客户端错误:4XX1. 请求"过大"的错误1.1 414 - URI Too Long1.2 431 - Request Header Fields Too Large1.3 413 - PayLoad Too large1. 请求"过大"的错误http里请求过大的错误码可以分为三种:请求的url太长,超过了服务器设置的最大长度请求的头部过大, 头部数量过多或单个头部的大小过大请求体的数据过大1.1 414 - URI Too Long响应码414 URI Too Long表示客户端所请求

2021-02-06 23:37:16 2190

原创 Django源码-app

django源码--app模块

2020-11-15 21:33:21 176

原创 Django框架的安装

Django框架的安装

2020-11-15 21:17:26 166

原创 cpython源码阅读-编译安装

cpython源码编译

2020-11-15 21:07:28 517

原创 网络仿真实验--ARP缓存和交换机的自学习

MAC1. 简单拓扑描述2. 网络设备-交换机的自学习3. ping实验(本地无ARP缓存)4. ping实验(本地有ARP缓存)1. 简单拓扑描述六台计算机直连一个台交换机,构成一个简单的星型拓扑2. 网络设备-交换机的自学习交换机的自学习:交换机在二层转发帧,通过学习帧的源mac地址,会在内部建立一张MAC地址表,也可以称为FDB(转发数据库),当交换机的一个端口收到一个帧,如果帧的源MAC地址,不在表中,会新增一条表项(vlan—mac—type—port), 然后再看目的mac地址,如果是

2020-09-10 07:45:27 1746

原创 es查询 DSL--term level query

词级查询1. 概述2.词级查询的类型2.1. exists 查询2.2. fuzzy 查询2.3. ids 查询2.4. prefix 查询2.5. range 查询2.6. regexp 查询2.7. term 查询2.8. terms 查询2.9 terms-set 查询2.10. type 查询2.11. wildcard 查询2.11.1 wildcard的顶级参数2.11.2 < field >的参数2.11.3 注意点1. 概述2.词级查询的类型2.1. exists 查询2

2020-07-30 13:44:00 512

原创 es映射参数--doc_values参数

doc_values大部分字段默认被索引,这使得它们可以被搜索。倒排索引可以让搜索在一个唯一的排序过的词列表里查询搜索词,并且立刻从中找到包含该搜索词的文档列表。排序、聚合以及在脚本中访问字段,这都要求一个不同的数据访问模式。我们不需要查找词并找到文档,而是需要能够查找文档并查找包含该词的字段。doc_valuies启用的字段是存储在磁盘上的数据结构,在文档被索引时创建,它使这种数据访问模式成为可能。它们存储与_source相同的值,但是以面向列的方式存储,这样可以更有效地进行排序和聚合。几乎所有字段

2020-07-26 19:26:33 799

原创 es映射参数--coerce参数

coerce数据并不总是干净的。这取决于它是如何产生的,一个数字可能在JSON主体中呈现为一个真正的JSON数字,例如5,但它也可能呈现为一个字符串,例如“5”。再或者一个应该是整数的数字可能会被呈现为浮点数,例如5.0,甚至"5.0"。强制尝试清除脏值,以符合字段的数据类型。例如:字符串将被强制为数字浮点数将被截断为整数例如:PUT my_index{ "mappings": { "properties": { "number_one": {

2020-07-26 19:06:04 603

原创 es映射参数--dynamic参数

dynamic默认情况下,字段可以被动态地添加到一条文档或者其内部对象中,只需索引一条包含新的字段文档即可。例如:PUT my_index/_doc/1 { "username": "johnsmith", "name": { "first": "John", "last": "Smith" }}GET my_index/_mapping PUT my_index/_doc/2 { "username": "marywhite", "email": "m

2020-07-26 18:49:23 595

原创 es映射参数--index参数

indexidnex选项控制字段的值是否被索引。接受trueorfalse,默认为true。该参数设置为false的字段是不能被搜索的。所有数据类型的字段都支持这个参数

2020-07-26 18:40:14 3044

原创 Mapping--Mapping parameters--analyzer

映射参数之analyzeranalyzeranalyzer

2020-07-23 07:50:27 136

原创 es映射--动态映射

Dynamic Mapping1. 概述2. 动态字段映射2.1 日期检查2.2 禁用日期检查2.3 自定义日期检查格式2.4 数字检查3. 动态模板1. 概述Elastisearch最重要的特征之一就是,它尝试跳出固有的方式,让你尽可能快地开始探索你的数据。为了索引一条文档,你不必先创建一个索引,然后定义字段和映射类型,你可以直接索引一条文档,索引,字段和字段类型会自动地被创建。PUT data/_doc/1{ "count": 5 }自动创建index索引,映射类型为_doc,并且有一个

2020-07-19 23:53:08 506

原创 HTTP状态码--1XX

信息状态码: 1XX状态码原因短语描述100Continue表示目前为止一切正常, 客户端应该继续请求。如果已完成请求则忽略.为了让服务器检查请求的首部, 客户端必须在发送请求实体前, 在初始化请求中发送 Expect: 100-continue 首部并接收 100 Continue 响应状态码.101Switching Protocol协议切换,表示服务器应...

2020-02-17 21:19:27 1109

原创 HTTP Cookie详解

Cookie1.Cookie是什么?2.怎么查看浏览器上的Cookie3.Cookie有什么作用4. 与Cookie相关的HTTP首部字段5.Cookie的创建6.Cookie的使用7.Cookie有什么限制1.Cookie是什么?HTTP Cookie(也叫Web Cookie或浏览器Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携...

2020-02-17 10:30:37 1116

原创 python-自定义property,支持缓存

带缓存功能的propertymy_propertymy_propertyclass my_property: def __init__(self, fget=None, fset=None, fdel=None, cache=False): self.fget = fget self.fset = fset self.fdel = fde...

2020-01-21 10:33:05 336

原创 python模块--enum

枚举Enum1. 源码分析1.1 元类: EnumMeta1.2 父类: Enum2. 使用案例3. 强制枚举类的值唯一1. 源码分析1.1 元类: EnumMeta我们所有的枚举类都是由这个EnumMeta元类创建出来的,这个类非常重要,其中有三个非常核心的魔法方法。__prepare__:如果一个类指定元类为EnumMeta,那么解释器在创建这个类之前,首先会调用元类的__prepa...

2020-01-12 20:58:33 445

原创 python--字符串的常用方法总结

Str常用方法1. 去掉字符串的开头、结尾、中间的不需要字符1.1 strip()1.2 lstrip()1.3 rstrip()2. 对齐字符串2.1 ljust()2.2 rjust()2.3 center()3.字符串拼接3.1 join()1. 去掉字符串的开头、结尾、中间的不需要字符1.1 strip()strip()方法可用来从字符串的开头和结尾处丢弃掉指定字符,默认是空格符,也...

2019-12-29 15:02:42 121

原创 python模块--abc

python的抽象类1. 抽象类2. 类的__abstractmethods__魔法属性3. abstractmethod方法和ABCMeta类4. 使用5. python自身的应用1. 抽象类python中没有接口的概念,但是提供了abc模块来实现接口的目的,其实接口就是一个 规范,定义了一些抽象方法,但是没有具体实现,具体的实现交给继承它的类,如果一个类继承了抽象类,但是没有完全实现父类的...

2019-12-22 17:41:50 652

原创 python模块--hmac

hmac模块1.什么叫hmac2.hmac中的一个类和一个方法3. 使用1.什么叫hmac它的全称叫做Hash-based Message Authentication Code: 哈希消息认证码,从名字中就可以看出来这个hmac基于哈希函数的,并且还得提供一个秘钥key,它的作用就是用来保证消息的完整性,不可篡改。基本思想就是,将消息用一个哈希函数加上一个秘钥key生成一个摘要,比如现在很流...

2019-12-21 18:43:44 5599

原创 python模块--collections

Collections模块1.ChainMap:将多个映射合并为单个映射1.ChainMap:将多个映射合并为单个映射如果想把多个字典合并为一个单独的map映射,以此执行一些特定的操作,比如查找值或键是否存在。collections模块里的ChainMap类型可以很好的满足>>>ctx1 = {"a": 1, "b": 2}>>>ctx2 = {"b"...

2019-11-11 01:31:44 90

原创 以太网帧格式

DIX Ethernet II帧格式

2019-10-07 23:10:34 1828

原创 从计算机网络协议的分层体系结构讨论各层协议的比特语法含义

协议报文的比特语法一.协议层次以及服务模型(掌握)1.协议分层的体系结构1.1 协议栈1.2 应用层1.3 传输层1.4 网络层(核心层)1.5 链路层1.6 物理层2. 封装一.协议层次以及服务模型(掌握)1.协议分层的体系结构因特网是一个极其复杂的系统,包括了大量的协议、各种类型的端系统(能够互相通信的设备)、分组交换机和各种类型的链路媒体(双绞线、光纤、无线信道)。人类在处理一个复...

2019-10-07 16:53:49 348

原创 文本常量和模板:string模块

string模块1.常量1.常量string模块包含了大量与ASCII和数值字符串集相关的常量>>>0import string>>> string.digits'0123456789'>>> string.ascii_lowercase'abcdefghijklmnopqrstuvwxyz'>>> strin...

2019-09-19 01:00:37 159

原创 查找和过滤文件:fnmatch和glob

fnmatch和glob1.普通文本匹配2.fnmatch模块3.glob模块1.普通文本匹配大部分情况下,利用字符串匹配可以完成文件查找和过滤,毕竟python工程师还是比较熟悉字符串对象的方法>>> import os>>> os.listdir(".")['a1.txt', 'b1.txt', 'd2.jpg', 'c2.jpg']>&g...

2019-09-18 01:18:31 490

原创 Python--list常用方法

List常用方法1.len()2.count(value)3.append(value)4.pop(index=None)5.clear()6.remove(value)7.insert(index, p_object)8.extend(iterable)9.index(value, start=None, stop=None)10.copy()11.sort(key=None, reverse=...

2019-08-31 22:49:02 127

原创 Python字符串操作--在字符串开头或结尾匹配

startwith和endwith1.在开头和结尾进行单种前缀或后缀的匹配2.若果需要对多个选项的前缀或后缀进行匹配,只需给两个函数提供一个元祖参数1.在开头和结尾进行单种前缀或后缀的匹配>>>filename = 'foo.txt'>>>filename.endwith('.txt')True>>>filename.startwit...

2019-08-20 09:44:01 1144

原创 计算机网络

计算机网络和因特网1.1什么是因特网1.1.1具体构成描述1.1.2 提供服务描述1.1.3 什么是协议今天的因特网无疑是有史以来由人类创造、精心设计的最大系统,该系统有数以亿计的相连的计算机、路由器和交换机等等。面对如此巨大并且具有如此众多不同组件和用户的因特网,是否能够理解它的工作原理?是否存在某些指导原则和结构,能够作为理解规模和复杂程度惊人的系统的基础?如果是这样的话,那么学习计算机网络...

2019-07-06 19:47:04 274

原创 python函数装饰器的几个小技巧

函数装饰器1.给函数添加装饰器1.给函数添加装饰器

2019-06-09 20:10:43 314

空空如也

空空如也

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

TA关注的人

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