自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 网络通信——UDP\TCP\ Socket、http\https、SMTP、FTP,TCP/IP协议簇,OSI网络模型(个人向)

一、HTTP/HTTPS什么是HTTP?超文本传输协议,是一个基于请求与相应,无状态,应用层协议,基于TCP/IP协议传输数据HTTP(超文本传输协议)是利用TCP在两台电脑(通常是Web服务器和客户端)之间传输信息的协议。客户端使用Web浏览器发起HTTP请求给Web服务器,Web服务器发送被请求的信息给客户端。什么是HTTPS?是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全通信,加密数据包区别:1.https协议需要到CA申请证书。2.http

2020-11-07 18:49:45 1025 1

原创 网络通信——TCP “三次握手“、“四次挥手“ 详解 (个人向)

一、TCP"三次握手"1.1 概括:"三次握手"是指建立一个TCP连接时,需要客户端与服务器总共发送3个包。进行三次握手的主要作用是确认客户端与服务器两方的发送能力与接收能力是否正常。(连接服务器指定的端口,建立TCP连接,并同步双方的序列号和确认号)1.2 流程图:刚开始时:客户端处于 Closed 状态;服务器处于 Listen(监听) 状态1.3 每次握手的目的:第一次握手:客服端发送一个报文(SYN),服务器接收到了结论:客户端的发送能力 和 服务器的接受能力没有问题第二次握

2020-11-07 15:40:59 6661

原创 MongoDB——详解 (个人向)

一、MongoDB简介:是一个基于分布式文件存储的数据库。为 WEB 应用提供可扩展的高性能数据存储解决方案(MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。将数据存储在内存里的)MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于JSON 对象。字段值可以包含其他文档,数组及文档数组特点:1.MongoDB 文档数据库,存储的是文档。2.MongoDB 的内部执

2020-11-06 14:04:41 273

原创 Python——单例模式 (个人向)

Python——单例模式实现方式:1.装饰器实现单例模式# 使用装饰器实现的单例模式;“”“创建外部函数 shoppingcar 创建一个instances字典用来保存单例 创建内部函数get_instance获取单利 判断instances字典中是否已存在单利, 若无则为第一次创建单利并保存在字典中,然后返回该单利 返回内部函数名 get_instance”“”def shoppingcar(cls, *args, **kwargs):

2020-10-28 22:41:33 182

原创 Python——__new__()、__init__()区别 (个人向)

一、__new__方法特点:1.静态方法2.创建对象/实例,并且至少需要传递一个参数cls,此参数在实例化时由python解释器自动提供3.必须要有返回值,返回创建的实例对象在自己实现__new__()时需要注意:1.可以return父类(通过super(当前类名,cls)).__new__出来的实例;此方法保证是当前类实例2.直接使用object的__new__出来的实例注意:若__new__() 创建的是当前类的实例,会自动调用__init__()函数class AA(object

2020-10-28 22:24:03 139

原创 Python——迭代器、生成器(与列表推导式比较优劣)、装饰器

一、迭代器定义:拥有 iter 和 next 方法的对象就是迭代器迭代:是访问集合元素的一种方式,可以将集合元素中的数据’一个挨着一个取出来’叫迭代(如for循环:–ter-- 方法返回一个迭代器,调用迭代器的–next-- 方法取值)二、生成器本质:就是迭代器两种:生成器函数 与 生成器表达式1.生成器函数 一个包含yield关键字的函数就是一个生成器函数。并且yield不能和return公用,并且yield只能用在函数内。 1.生成器函数执行后得到一个生成器作为返回值,并不会执行函数

2020-10-27 22:12:05 425

原创 Python——排序(冒泡、选择、插入、快速、堆..) 时间复杂度 (个人向)

一、时间复杂度将程序执行的计算步骤的总和叫做时间复杂度时间复杂度实际上用来描述算法时间效率例:如T(n)=n2+5n+6与T(n)=4n2+2n+1它们的频度不同,但时间复杂度相同,都为O(n2)。随着问题规模n的不断增大,上述时间复杂度不断增大,算法的执行效率越低。总结:大O表示法就是将一个T(n)时间复杂度的系数去掉只留下最特征的部分就是大O表示法。二、排序常用排序:冒泡排序、快速排序、插入排序、选择排序(希尔排序、归并排序、堆排序、基数排序)——————————————冒泡排序思路:

2020-10-25 18:27:02 1637

原创 Python——多线程开发 互斥锁 死锁 线程队列 全局解释器锁(GIL) (个人向)

前言:数据共享:进程是每一个进程中都存在一份线程是共同一个数据,存在数据安全性问题一、多线程开发——共享全局数据问题多线程开发的时候共享全局变量会带来资源竞争效果,也就是数据不安全。互斥锁/线程锁: 当多个线程几乎同时修改一个共享数据的时候,需要进行同步控制,线程同步能够保证多个线程安全的访问竞争资源(全局内容),最简单的同步机制就是使用互斥锁/线程锁threading模块中定义了 Lock类,可方便处理锁定实例化:lock = threading.Lock()获取锁(上锁):lo

2020-10-24 21:40:45 126

原创 Python——HTTP/HTTPS TCP/IP 长连接 (个人向)

一、HTTP 和 HTTPS什么是HTTP超文本传输协议是一个基于请求与相应,无状态,应用层协议,基于TCP/IP协议传输数据什么是HTTPS是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全通信,加密数据包TCP/IP 模型应用层HTTP数据传输层TCP首部-HTTP数据网络层IP首部-TCP首部-HTTP数据链路层以太网首部-TCP首部-HTTP数据应用层使用HTTP协议- 传输层使用TCP协议 - 在网络

2020-10-23 23:08:32 859

原创 Python——进程、线程、协程、多进程 队列、多线程(个人向)

一、进程 线程 协程1.进程一个运行的程序就是一个进程,没有运行的代码叫做程序。进程是系统分配资源的最小单位,进程拥有自己独立的内存空间 相对独立,所以进程间的数据不共享,开销大。2.线程CPU调度执行的最小单位(程序真正执行的时候调用的是线程),也叫执行路径,依赖于进程存在,一个进程最小存在一个线程,叫做主线程而多个线程共享进程内存资源(数据共享,共享全局变量),从而极大地提高了程序的运行效率。一个进程中可以有一个或多个线程。一个线程只属于一个进程。一个进程中的多个线程是一种竞争关系

2020-10-22 23:00:59 270

原创 Python——is 与 ==(个人向)

Python对象python中对象包含三要素:id type valueid:在内存中存储的位置;用来唯一标识一个对象type:对象的数据类型value:对象的值is 与 == 的区别is:用于判断两个变量引用对象是否为同一个,就是所引用的对象的内存地址id是否一致==:用于判断引用变量的值是否相等,只判断值和数据类型...

2020-10-21 22:17:26 90

原创 Python——深浅拷贝理解(个人向)

相关概念 变量:是一个系统表的元素,拥有指向对象的连接空间 对象:被分配的一块内存,存储其所代表的值 引用:是自动形成的从变量到对象的指针 ———————— python中变量的赋值其实就是变量的引用 python没有拷贝这个变量,只是拷贝了这个变量的引用 ———————— 可变类型: 如 列表、字典.. 不可变类型: 如 数字、字符串、元组..1.浅拷贝a = [1,2]b = aprint(a is b) #Turea.append(11)print(a is b) #

2020-10-21 21:45:40 243 1

空空如也

空空如也

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

TA关注的人

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