自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 9-2-约束条件、表之间的三种关系、记录相关操作

==============================> 主要概念 <==============================索引:用来提升查找效率 一般引擎除了建立结构文件、数据文件外, 还建立一个索引文件; 而innodb引擎 并没有单独建立一个索引文件, 而是通过 主键 实现了索引多个表之间的查询, 源于将一个有完整信息的大表拆分成多张表,从而方便管理用户如果没有自定义主键: mysql找一个 not null unique的字段,作为主

2020-09-02 23:40:33 206

原创 8-31-数据库基础

本周内容 day01 1、mysql相关概念介绍 记录与字段 表 库 数据库管理软件 数据库服务器 2、mysql数据管理软件的安装 3、mysql的基本使用(配置文件) 4、库操作 5、表操作 数据类型 day02 1、约束条件(******)

2020-08-31 21:39:07 116

原创 8-28-基于协程的tcp高并发通信、并发编程串讲、面向对象串讲

昨日回顾 1 线程池和进程池的shutdown -等待池中所有任务执行完毕后关闭池(不能写在for循环中) 2 定时器 -Timer:延迟几秒后执行一个任务,Timer(时间,任务) 3 协程介绍 -单线程下实现并发,认为制造出来的,操作系统感知不到,通过保存状态和切换,理想效果是遇到io切换 -串行执行和通过yield关键字切换,时间长短,单纯的切换反而影响效率 4 greenlet模块(初级模块) -单纯的切换,遇

2020-08-30 11:31:54 204

原创 8-27线程池shutdown、定时器、协程、greenlet模块、gevent、猴子补丁、asyncoi模块

昨日回顾 1 GIL锁:全局解释器锁,因为垃圾回收线程不是线程安全的,所有线程必须拿到这把锁,才能执行 2 GIL跟互斥锁的区别?GIL锁不能保证我们自己的数据安全,自己使用互斥锁保证自己的数据安全 3 不同线程数据交互两种方式: -共享变量:不同线程修改同一份数据要加锁(互斥锁) -通过queue:不需要考虑数据安全问题(线程安全了) 4 死锁现象: -1 A线程拿到了A锁,等待B锁,B线程拿到了B锁,等待

2020-08-27 21:39:14 144

原创 8-26-GLI锁与普通互斥锁、死锁问题、递归锁、信号量、Event事件、并发的tcp通信、进程池线程池

昨日回顾 1 生产者消费者 -在生产者和消费者之间,通过队列,增加缓冲,避免了生产者和消费者之间交互 -Queue,redis,rabbitmq,kafka -解耦合,队列是微服务的基础 2 线程理论,开启 -进程是资源分配的最小单位,线程是执行的最小单位(cpu调度的最小单位),每个进程中最少一个线程 -两种方式(跟进程完全类似) 3 join方法 -等待子线程执

2020-08-27 15:00:40 563

原创 8-25-线程

昨日回顾 1 开启进程的两种方式 2 进程对象其他属性和方法: -pid进程id号,os.getpid() -ppid:父进程id号,os.getppid() -is_alive():当前进程是否存活 -terminate():关闭当前进程 3 守护进程 -父进程结束,子进程也跟着结束 -t.daemon=True 4 进程间数据隔离 -进程之前的数据是独有的,不同进程间不能相互使

2020-08-25 16:23:09 143

原创 8-24-回顾、守护进程、互斥锁、队列、进程间通信

# 1 并发编程总体课程操作系统发展史(了解)多道技术(了解)进程调度(讲)进程三状态(就绪,阻塞,运行)同步异步 阻塞非阻塞:异步+非阻塞创建进程的两种方式(重点)join方法进程间数据相互隔离僵尸进程与孤儿进程进程对象及其他方法守护进程互斥锁队列介绍IPC机制生产者消费者模型线程理论开启线程的两种方式TCP服务端实现并发效果线程对象join方法同一个进程下的多个线程线程对象及其他方法线程互斥锁GIL全局解释器锁理论GIP与普通互斥锁的区别多线程与多进程

2020-08-24 19:51:31 123

原创 8-20-进程

上节课的内容: 01 操作系统 系统接口 操作系统内核 02 多道技术 空间上的复用:复用内存的空间 1、多道/个程序的代码都存入内存 2、内存空间是物理隔离的 时间上的复用:复用cpu的时间 cpu的切换 1、任务的运行遇到IO阻塞=》提升效率 2、任务占用cpu时间过长=》降低效率

2020-08-20 21:12:29 103

原创 8-19-猴子补丁、内置函数、垃圾回收、并发编程

今日内容: 1、猴子补丁 2、内置函数 3、垃圾回收机制 4、并发编程(******) 进程起源操作系统=>操作系统的发展史 多道技术 ====================> 1 猴子补丁 <====================== 注意: 补丁要在入口去写(即 用之前就已经写好了) import json import ujson # pip3 install ujson def

2020-08-19 15:19:21 116

原创 8-18 元类

一切源自于一句话:python中一切皆为对象 所以 类 也是一个对象一:元类介绍 元类 ------> 类 ------> obj # 三层关系,在元类看来, Person类是它的一个对象 由 元类 生成一个 类, 再由这个 类 生成一个 这个类的 对象 元类: 负责产生类的类 默认的元类是type, type是一个内置的元类(默认使用的) 默认的元类是type, 默认情况下, 我们用cla

2020-08-18 15:40:19 89

原创 8-17 socketserver实现并发通信

本周内容: day01、套接字(***) udp socketserver 阿里云 day02: 1、元类(***) 单例模式 2、猴子补丁 3、内置函数 4、垃圾回收机制 day03:并发编程(******) 进程起源操作系统 操作系统的发展史===============================

2020-08-18 15:39:08 265

原创 8-14-粘包问题、(通过简单报头)解决粘包问题、定制复杂报头

今日内容: 1、流式协议=》粘包问题(***) 解决方案:自定义应用层协议 注意: head+data head的长度必须固定 2、基于udp协议的套接字通信 先启动客户端是否可以??? 服务端是否需要listen??? udp协议应用场景 3、socketserver模块======================================

2020-08-14 16:57:23 268

原创 8-13-基于tcp协议实现套接字通信-client端,sever端

上节课复习: 1、tcp协议今日内容: 1、socket的通信流程介绍 2、基于tcp协议通信的套接字程序============================> 01 基于tcp协议实现简单套接字通信 <===============================NOKIA手机的使用流程(购买手机,拔掉电池,插手机卡,然后开机)client端: import socket # 1、买手机 phone = s

2020-08-13 15:20:09 248

原创 8-12-传输层协议:tcp与upd、url(全球资源定位符)

今日内容: 1、tcp协议详解=》可靠协议(******) udp协议=》不可靠协议 2、上网的通信流程 3、socket编程 开发一个基于tcp协议通信的应用程序==============================> 昨日内容补充 <========================================数据链路层: 单纯的电信号无意义,所以要进行分组 Ethernet:长度 头:固定长度 每台计算机必

2020-08-12 15:19:23 229

原创 8-11-osi五层协议相关内容

一个id找到一台计算机一台计算机上运行了很多应用程序一个端口 找到一个应用程序http://ip:端口意思是:通过http协议 与ip的计算机的端口上的应用程序进行数据交互众多东西 都是Ethernet(以太网)协议规定的分组:规定从什么位置到什么位置,长度为多少表示的是什么类型的内容,遵循以太网协议的全世界的所有计算机都连接在一起,按照广播的方式(就是靠吼),理论上能实现,但是数据量非常大(恐怖)交换机就是靠吼的方式,发给他下面的所有的计算机(就是用mac)

2020-08-11 22:42:20 87

原创 8-10-异常处理、套接字socket

本周内容: day01 01 异常处理 02 socket编程 网络基础:OSI七层协议 day02 01 网络基础 02 socket编程 基于tcp协议的套接字编程 day03 01 粘包问题 02 基于udp协议的套接字通信 day04 01 sockserver编写支持并发的套接字 day05

2020-08-10 15:02:22 307

原创 8-6继承、在子类中重用父类的功能、属性查找、继承的实现和原理、Mixins机制

===========================重点强调=========================== 类:解决对象之间的冗余问题 相似的东西放到类中,为多个对象共享 继承:解决类之间的冗余问题 为多个类共享分析对象所具有的属性时,要站在一定的角度上,围绕着项目中用的上的属性进行总结 否则,属性是无边无际的---------------购物车项目中,原来的tank方式,还是存在循环导入的问题(虽然程序还能跑起来,但是其是存在问题

2020-08-06 20:17:12 136

原创 8-5re模块补充:断言详解

重点例题(*****) import re print(re.findall("(?!^[a-zA-Z]+$)(?!^[0-9]+$)^[a-zA-Z0-9]","@d34a6b")) name=input(">>: ").strip() # egon1 egon2 egon3 ... egon100... egonN print(re.search("(egon)(N|100)",name).group(2)) name="egonaaaN123" print

2020-08-05 16:31:54 226

原创 7-30模块:time、datetime、random、os、subprocess、sys

今日内容 一 time与datetime模块 二 random模块 三 os模块 四 sys模块 五 shutil模块 六 shelve模块 七 xml模块 八 suprocess模块 九 configparser模块 十 logging模块 十一 re模块==========================> time模块====================== import time

2020-07-30 18:46:48 181

原创 7-29-包(package)、json&pickle模块、(哈希)hashlib模块

什么是包? 包是一个含有__init__.py文件的文件夹,本质就是一个模块,是用来被导入的为何要有包? import sys print(sys.path) sys.path.append(r"D:\\") import aaa首次导入包这种模块,发生两件事 1、创建模块的名称空间,运行包下的__init__.py的文件,将运行过程中产生的名字都丢入模块的名称空间中 2、在当前位置拿到一个名字aaa,该名字指向__init__.py的名称空间,即aaa.名字

2020-07-30 18:43:40 116

空空如也

空空如也

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

TA关注的人

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