游标操作/pymysql事务/sql注入/索引
摘要:游标操作 pymysql事务 sql注入 索引
阅读全文
posted @
2019-09-26 21:47
黑糖A
阅读(240)
推荐(0) 编辑
Mysql总结
摘要:Mysql总结 1、数据库的概念 2、用户 3、基本操作 4、单表查询 视图 事务 pymysql 索引
阅读全文
posted @
2019-09-26 21:47
黑糖A
阅读(92)
推荐(0) 编辑
pymysql:python操作mysql
摘要:pymysql:python操作mysql 安装 增删改查 创建表 增 删 改 查
阅读全文
posted @
2019-09-26 21:46
黑糖A
阅读(127)
推荐(0) 编辑
联合分组与子查询与all/any区间修饰条件
摘要:联合分组 子查询 all与any:区间修饰条件
阅读全文
posted @
2019-09-26 21:27
黑糖A
阅读(184)
推荐(0) 编辑
过往练习
摘要:案例 mysql CREATE TABLE ( int(0) NOT NULL AUTO_INCREMENT, varchar(10) NOT NULL, enum('男','女','未知') NULL DEFAULT '未知', int(0) NULL DEFAULT 0, decimal(5,2
阅读全文
posted @
2019-09-26 19:17
黑糖A
阅读(80)
推荐(0) 编辑
单表查询与多表查询复习
摘要:复习 mysql 1.单表查询 增删改查完整语法 select distinct 字段 from 表 where group by having order by limit 比较:
阅读全文
posted @
2019-09-26 19:14
黑糖A
阅读(120)
推荐(0) 编辑
排序与连表查询
摘要:排序 排序规则 未分组状态下 分组状态下 限制 limit 连表查询 连接 一对多数据准备 笛卡尔积 内连接 左连接 右连接 左右可以相互转化 全连接 一对一与一对多情况一致 多对多:两表两表建立连接
阅读全文
posted @
2019-09-25 21:19
黑糖A
阅读(616)
推荐(0) 编辑
单表查询
摘要:单表查询 去重:distinct 数据准备 mysql CREATE TABLE ( int(0) NOT NULL AUTO_INCREMENT, varchar(10) NOT NULL, enum('男','女','未知') NULL DEFAULT '未知', int(0) NULL DEF
阅读全文
posted @
2019-09-25 21:17
黑糖A
阅读(110)
推荐(0) 编辑
昨日回顾
摘要:1.数据库配置:my.ini [mysqld][mysql][client] 2.数据库表的引擎:驱动数据的方式 innodb:支持事物,键,锁 myisam:效率高 3.数据类型 整型:整型不规定长度(长度由取值访问决定) 浮点型:(总长度,小数位) decimal(3,3) 0.999~0.99
阅读全文
posted @
2019-09-24 16:15
黑糖A
阅读(84)
推荐(0) 编辑
mysql支持的数据类型
摘要:mysql支持的数据类型 整型 浮点型 字符串:数据库优化 char效率要高于varchar 时间 枚举与集合
阅读全文
posted @
2019-09-23 21:28
黑糖A
阅读(185)
推荐(0) 编辑
数据库表的引擎与数据库的模式
摘要:创建表的完整语法 数据库表的引擎:驱动数据的方式 数据库优化 数据库的模式
阅读全文
posted @
2019-09-23 19:48
黑糖A
阅读(375)
推荐(0) 编辑
数据库基本操作
摘要:数据库基本操作 链接数据库 用户信息查看 数据库的基本操作 表的基本操作 记录的基本操作 1)查看某个数据库中的某个表的所有记录,如果再对应数据库中,可以直接查找表 mysql :select from[数据库名.]表名; 注: 代表查询所有字段 2)给表的所有字段插入数据 mysql :inser
阅读全文
posted @
2019-09-20 19:08
黑糖A
阅读(120)
推荐(0) 编辑
数据库
摘要:数据库 什么是数据库 管理数据的系统 安装某种管理数据的系统 管理对象本质是文件 存数据的位置 内存,硬盘 什么是系统 运行在硬件基础上,管理其他软件 数据库的组成 库:存放多张表 文件夹 表:包含多条相同结构的记录 文件 记录:包含多个key value键值对的一条数据 二进制数据 字段:描述信息
阅读全文
posted @
2019-09-20 15:14
黑糖A
阅读(120)
推荐(0) 编辑
并发主干内容回顾
摘要:并发主干内容回顾 进程: 一个程序运行起来,资源集合. 开启进程的过程: 操作系统开辟一个内存空间, 把代码放进去, 去运行代码(需要cpu). ps:(如果是python的话会把解释器代码也放进去) 特点: 进程的内存空间彼此隔离 主进程要等待所有的子进程结束(原因是:回收僵尸进程) multip
阅读全文
posted @
2019-09-19 20:59
黑糖A
阅读(137)
推荐(0) 编辑
协程
摘要:协程 python的线程用的是操作系统原生的线程 协程 :单线程下实现并发 并发:切换+保存状态 多线程:操作系统帮你实现的,如果遇到io切换,执行时间过长也会切换,实现一个雨露均沾的效果. 什么样的协程是有意义的? 遇到io切换的时候才有意义 具体: 协程概念本质是程序员抽象出来的,操
阅读全文
posted @
2019-09-19 20:58
黑糖A
阅读(148)
推荐(0) 编辑
进程池和线程池
摘要:进程池和线程池 池的功能是限制进程数和线程数 什么时候限制? 当并发的任务数量远远大于计算机所能承受的范围,即无法一次性开启过多的任务数量 就应该考虑去限制进程数或线程数,从而保证服务器不崩 提交任务的两种方式: 同步:提交了一个任务,必须等任务执行完了(拿到返回值),才能执行下一行代码 异步:提交
阅读全文
posted @
2019-09-19 18:33
黑糖A
阅读(128)
推荐(0) 编辑
线程定时器
摘要:线程定时器 Timer: 隔一定时间调用一个函数,如果想实现每隔一段时间就调用一个函数的话,就要在Timer调用的函数中,再次设置Timer。Timer是Thread的一个派生类
阅读全文
posted @
2019-09-19 15:28
黑糖A
阅读(114)
推荐(0) 编辑
线程queue
摘要:线程queue queue队列:使用import queue,用法与进程Queue一样 queue.Queue() 先进先出 queue.LifoQueue() 堆栈,先进后出 queue.PriorityQueue() 根据优先级取数据
阅读全文
posted @
2019-09-19 15:21
黑糖A
阅读(96)
推荐(0) 编辑
昨日回顾
摘要:昨日回顾 线程锁 本质就是一个互斥锁 使用目的:保证数据的安全 死锁问题 线程1抢到了锁A没释放 线程2抢到了锁B没释放 线程1往下执行需要锁B 线程2往下执行需要锁A 解决方法:递归锁(RLock) 特点:只有同一个线程下可以多次acquire,acquire了几次就要release几次 信号量
阅读全文
posted @
2019-09-19 14:56
黑糖A
阅读(138)
推荐(0) 编辑
GIL
摘要:GIL GIL介绍 在Cpython解释器中有一把GIL锁(全局解释器锁),GIL锁本质是一把互斥锁 导致了同一进程下,同一时间只能运行一个线程,无法利用多核优势 同一个进程下多个线程只能实现并发不能实现并行 为什么要有GIL? 因为Cpython自带的垃圾回收机制不是线程安全的,所有要有GIL锁
阅读全文
posted @
2019-09-18 15:59
黑糖A
阅读(91)
推荐(0) 编辑
信号量Semaphore
摘要:信号量Semaphore 同进程的一样 Semaphore管理一个内置的计数器, 每当调用acquire()时内置计数器 1; 调用release() 时内置计数器+1; 计数器不能小于0;当计数器为0时,acquire()将阻塞线程直到其他线程调用release()。
阅读全文
posted @
2019-09-18 15:37
黑糖A
阅读(88)
推荐(0) 编辑
线程锁与死锁问题
摘要:线程锁 多线程修改数据会造成混乱 使用线程锁解决线程修改数据混乱问题 死锁问题 死锁问题解决方法 解决方法,递归锁,在Python中为了支持在同一线程中多次请求同一资源,python提供了可重入锁RLock。 这个RLock内部维护着一个Lock和一个counter变量,counter记录了acqu
阅读全文
posted @
2019-09-18 15:24
黑糖A
阅读(141)
推荐(0) 编辑
昨日回顾
摘要:昨日回顾 cpu最小的执行单位:线程 进程: 资源集合 线程: 执行单位 操作系统 工厂 进程 车间 线程(cpu) 流水线(电源) 进程的内存空间彼此隔离 线程共享同一份资源 线程开启的两种方法 创建速度 进程需要申请内存空间 慢 线程相当于直接告诉操作系统去干个什么活 快 线程的join方法 线
阅读全文
posted @
2019-09-18 14:51
黑糖A
阅读(95)
推荐(0) 编辑
线程
摘要:线程内容 初始别线程 在传统操作系统中,每个进程有一个地址空间,而且默认就有一个控制线程,cpu真正的执行单位是线程.在工厂中, 每个车间都有房子,而且每个车间默认就有一条流水线. 操作系统 === 工厂 进程 === 车间 线程 === 流水线 cpu === 电源 线程:cpu最小的执行单位 进
阅读全文
posted @
2019-09-17 14:54
黑糖A
阅读(99)
推荐(0) 编辑
初识线程
摘要:初识线程 在传统操作系统中,每个进程都有一个地址空间,而且默认就有一个控制线程 在工厂中,每个车间都有房子,而且每个车间默认就有一条流水线 操作系统=== 工厂 进程=== 车间 线程=== 流水线 cpu=== 电源 线程:cpu最小的执行单位 进程:资源集合/资源单位 线程运行=运行代码 进程运
阅读全文
posted @
2019-09-16 17:07
黑糖A
阅读(100)
推荐(0) 编辑
测试joinablequeue
摘要:测试joinablequeue 问题 在之前的生产者消费者模型中,生产者和消费者只有一个, 那么生产者往队列里put几次,消费者就get几次,但是存在一个问题, 生产者不一定只有一个,消费者也不一定只有一个,那么怎么确定生产者进程结束了, 从而让消费者进程跟着一起结束成为一个问题(不然消费者还是一直
阅读全文
posted @
2019-09-16 16:58
黑糖A
阅读(124)
推荐(0) 编辑
生产者消费者模型
摘要:生产者消费者模型 生产者: 生产数据的任务 消费者: 处理数据的任务 生产者 队列(盆) 消费者 生产者可以不停的生产,达到了自己最大的生产效率,消费者可以不停的消费,也达到了自己最大的消费效率.生产者消费者模型大大提高了生产者生产的效率和消费者消费的效率. queue不适合传大文件,通常传一些消息
阅读全文
posted @
2019-09-16 16:52
黑糖A
阅读(136)
推荐(0) 编辑
队列
摘要:ipc机制 进程通讯 管道: pipe 基于共享的内存空间 队列: pipe+锁 queue
阅读全文
posted @
2019-09-16 16:25
黑糖A
阅读(93)
推荐(0) 编辑
昨日回顾
摘要:昨日回顾 多道技术: 空间复用:多个程序公用一个内存条,彼此隔离,物理级别隔离 时间复用:公用一个cpu 切换的情况: io切,占用时间过长也切 串行:一个任务完完整整的运行结束,再运行下一个任务. 并发:看起来是同时执行多个任务 单核 并行:真正的做到了同时执行多个任务 多核 join
阅读全文
posted @
2019-09-16 15:48
黑糖A
阅读(110)
推荐(0) 编辑
抢票小程序
摘要:```python from multiprocessing import Process import json,time,os def search(): time.sleep(1) with open('db.txt','rt',encoding='utf8') as f: res=json.load(f) print(f'还剩{res["count"]}') def get(): with
阅读全文
posted @
2019-09-12 20:09
黑糖A
阅读(132)
推荐(0) 编辑
守护进程
摘要:守护进程 会随着主进程结束而结束 主进程创建守护进程 其一:守护进程会在主进程代码执行结束后就终止 其二:守护进程内无法再开启子进程,否则抛出异常: 注意: 进程之间是互相独立的,主进程代码运行结束,守护进程随即终止。 本质也是一个子进程 主进程的代码执行完毕守护进程直接结束。但是此时主进程可能
阅读全文
posted @
2019-09-12 19:32
黑糖A
阅读(131)
推荐(1) 编辑
process的terminal
摘要:process的terminal 强制终止进程
阅读全文
posted @
2019-09-12 19:04
黑糖A
阅读(253)
推荐(0) 编辑
process的name和is_alive
摘要:process的name和is_alive is_alive(立刻查看的子进程结果 是否存活) name(查看子进程名字) 不设置进程名字 默认会给子进程 设置名字 Process 1
阅读全文
posted @
2019-09-12 18:54
黑糖A
阅读(544)
推荐(0) 编辑
Process的join用法
摘要:Process的join用法 join:主进程等,等待子进程结束
阅读全文
posted @
2019-09-12 16:38
黑糖A
阅读(1301)
推荐(0) 编辑
僵尸进程与孤儿进程
摘要:僵尸进程与孤儿进程 僵尸进程指的是父进程的子进程结束时父进程没有被wait()情况下,子进程会变成僵尸进程 父进程等着所有的子进程结束才会结束 孤儿进程是指一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程.孤儿进程将被init进程(进程号为1)所收养,并由init进程对它
阅读全文
posted @
2019-09-12 14:53
黑糖A
阅读(120)
推荐(0) 编辑
开启子进程的方式
摘要:开启子进程的方式 方式一 方式一多个子进程 方式二 验证进程的内存空间隔离
阅读全文
posted @
2019-09-11 15:37
黑糖A
阅读(183)
推荐(0) 编辑
多线程编程
摘要:多线程编程 串行:一个完完整整执行完了再执行下一个 并发:看起来是同时运行的 并行:真正做到了同时运行 多道技术 空间复用:共用了一个内存条,每一个进程都有自己独立的内存空间,互不干扰,物理级别的隔离 时间复用:共用了一个cpu cpu切换 当进程IO时,占用时间过长也会切换 现代计算机 现代的主机
阅读全文
posted @
2019-09-11 15:09
黑糖A
阅读(119)
推荐(0) 编辑
进程基础
摘要:进程基础 进程即正在执行的一个过程.进程是对正在运行程序的一个抽象 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展开的。 即使可以利用的cpu只有一个(早期的计算机确实如此),也能保证支持(伪)并发的能力
阅读全文
posted @
2019-09-11 14:53
黑糖A
阅读(93)
推荐(0) 编辑
网络编程串讲
摘要:网络编程串讲 网络是什么 链接介质+协议 协议:osi7层 5层协议 物理层: 01001110 数据链路层: 做分组:数据报/数据帧 mac 网络层: ip 通过ip得到mac地址 arp协议 mac地址学习 传输层: tcp/udp 三次握手四次挥手,可靠传输 应用层: 写的程序都是应用层,基于
阅读全文
posted @
2019-09-10 15:55
黑糖A
阅读(121)
推荐(0) 编辑
面向对象串讲
摘要:面向对象串讲 属性查找 包括数据属性,包括方法 数据属性:对象中找 类中 父类(按照mro查找) obj py2中没有mro这东西 方法查找:对象的绑定方法 父类中按照mro列表查找 obj 绑定方法 定义在类内部,没有被任何装饰器装饰的函数,就是方法 给对象来用 对象.方法()默认把对象自
阅读全文
posted @
2019-09-10 15:44
黑糖A
阅读(113)
推荐(0) 编辑
昨日回顾
摘要:计算机的计量单位 int类型的能表示的范围:2的7次方减一 计算机表示范围为2的8次方 1个小格是一个比特位 8个小格8个比特位是一个字节 1b 1024个字节是1kb 1024kb是1mb 1024mb是1g 基于socket的udp 基于socketserver的服务端 socketserver
阅读全文
posted @
2019-09-10 14:57
黑糖A
阅读(76)
推荐(0) 编辑
socketserver模块
摘要:socketserver模块 socketserver模块udp
阅读全文
posted @
2019-09-09 18:47
黑糖A
阅读(88)
推荐(0) 编辑
网络编程
摘要:网络编程 C/S和B/S架构 c:client s:server 客户端 服务端,电脑上装的QQ,微信等 b:browser s:server 浏览器 服务端,京东,天猫等 B/S架构本质也是C/S 学习网络编程为了写一个cs架构的软件 c端 网络 s端 s端特点: 有固定ip ;稳定一直在运行,支
阅读全文
posted @
2019-09-05 15:54
黑糖A
阅读(116)
推荐(0) 编辑
单例模式
摘要:单例模式 整个过程中只有一个实例,所有生成的实例都指向同一块内存空间 实现单例的第一种方法(通过类的绑定方法) 第二种方法:通过装饰器 第三种:通过元类 第四种:通过模块导入(python的模块是天然的单例)
阅读全文
posted @
2019-09-04 16:44
黑糖A
阅读(106)
推荐(0) 编辑
元类总结
摘要:元类总结 type只传一个参数有什么用 打印对象的类型 class底层原理 通过type类来实例化,得到类 exec 执行字符串的代码,当成python解释器 自定义元类 继承type 通过元类控制类的调用过程,实例化产生对象的过程 模板:控制对象的产生 自定义一个元类,定义一个类,继承字典,使其具
阅读全文
posted @
2019-09-04 16:08
黑糖A
阅读(157)
推荐(0) 编辑
属性查找(元类)
摘要:有了元类之后的属性查找 类的属性查找顺序:先从类本身中找 mro继承关系去父类中找 去自己定义的元类中找 type中 报错 对象的属性查找顺序:先从对象自身找 类中找 mro继承关系去父类中找 报错 举例
阅读全文
posted @
2019-09-03 16:39
黑糖A
阅读(148)
推荐(0) 编辑
通过元类控制类的调用过程
摘要:通过元类控制类的调用过程 练习:把对象中所有属性都设置成私有的
阅读全文
posted @
2019-09-03 16:20
黑糖A
阅读(124)
推荐(0) 编辑
通过元类来控制类的产生
摘要:通过元类来控制类的产生 自定义元素:来控制类的产生,可以控制类名,可以控制类的继承父类,控制类的名称空间 自定义元类必须继承type,写一个类继承type 这种类都叫元类
阅读全文
posted @
2019-09-03 15:55
黑糖A
阅读(83)
推荐(0) 编辑
class底层原理分析
摘要:class底层原理分析 class类名,会把类构造出来 实际上是:元类实例化产生类 这个对象 类实例化产生对象,一定是:类名() 通过type来直接产生类,不用class关键字了 class 底层就是调用type来实例化产生类(对象) exec() eval()区别
阅读全文
posted @
2019-09-03 15:36
黑糖A
阅读(263)
推荐(0) 编辑
元类
摘要:元类是什么 python中一切皆对象,类实际上也是一个个对象 Person类也是个对象,那他一定是由一个类实例化得到的,这个类,就叫元类 type是内置的一元类,所有的类都是由type实例化得到的 产生类的类,叫元类
阅读全文
posted @
2019-09-03 14:51
黑糖A
阅读(89)
推荐(0) 编辑
内置方法
摘要:内置方法 学过的有 如果不重写 print打印会打印出内存地址 如果重写了,会打印出你想要的 跟str类似,在交互式下直接写变量名,会执行 如果去对象中取属性,一旦取不到,会进入到 如果去对象中赋值属性,一旦取不到,会进入到 如果删除对象中的属性,会进入
阅读全文
posted @
2019-09-02 21:10
黑糖A
阅读(105)
推荐(0) 编辑
反射
摘要:反射 什么是反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力(自省)。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩。 python中面向对象的反射 通
阅读全文
posted @
2019-09-02 20:25
黑糖A
阅读(66)
推荐(0) 编辑
isinstance和issubclass
摘要:isinstance(obj,cls)和issubclass(sub,super) isinstance isinstance(obj,cls)检查是否obj是否是类 cls 的对象 判断第一个参数是不是第二个参数的对象,返回true或者false issubclass issubclass(sub
阅读全文
posted @
2019-09-02 19:36
黑糖A
阅读(106)
推荐(0) 编辑