10 2019 档案
摘要:[TOC] 什么是索引 索引的本质是一个特殊的文件,是存储引擎快速找到记录的一种数据结构。 类比:查字典的过程,通过拼音索引 索引的本质: 通过不断地缩小想要获取数据地范围来筛选出最终想要的结果,同时把随机的事件变成顺序的事件,也就是说,有了这种索引机制,我们可以总是用同一种查找方式来锁定数据。 为
阅读全文
摘要:[TOC] pymysql模块的安装 python连接数据库 pymysql的参数 sql注入问题 模拟登录 execute()之sql注入问题 解决方法 操作MySQL数据库 增加数据 修改数据 删除数据
阅读全文
摘要:[TOC] 外键约束 使用方法: 外键约束:保持数据的一致性、一致性实现一对多关系 外键一般关联到另一张表的主键 因为一个表只存一类信息,用外键来约束,可以减少数据冗余 例子: constraint fk_user_depart只是给外键约束起了一个名字,可写可不写 唯一约束 unique key
阅读全文
摘要:[TOC] 分组操作 group by 指的是:将所有记录按照某个相同字段进行归类 用法 :select 聚合函数(count),选取的字段 from 表名 group by 分组的字段; 注意点: group by : 是分组的关键字 group by 必须和聚合函数一起使用 例子: 常用的聚合函
阅读全文
摘要:准备: 答案: sql 3. 查询学生的信息以及学生所在的班级信息 select student. ,class.caption from student left join class on student.class_id=class.cid; 1. 查询所有大于60分的学生的姓名和学号 sel
阅读全文
摘要:[TOC] 增加数据 语法: 删除数据 语法: 另一种删除的方法: 没有where条件 区别 : 1. delete删除是一行行删除;而且插入数据从上一次主键自增1开始, 2. truncate删除是全选删除,删除速度高于delete;而且插入数据从1开始 修改数据 语法: 查询数据
阅读全文
摘要:[TOC] 创建数据表 列约束 auto_increment 自增长1 primary key 主键索引,加快查询速度,列的值不能重复 not null 标识该字段不能为空 default 该字段设置默认值 查看数据表结构 列类型(字段类型) 整型 | 类型 | 大小 | 范围(无符号) | | |
阅读全文
摘要:``` 作业: 1. 查看岗位是teacher的员工姓名、年龄 2. 查看岗位是teacher且年龄大于30岁的员工姓名、年龄 3. 查看岗位是teacher且薪资在9000-1000范围内的员工姓名、年龄、薪资 4. 查看岗位描述不为NULL的员工信息 5. 查看岗位是teacher且薪资是10000或9000或30000的员工姓名、年龄、薪资 6. 查看岗位是teacher且薪资不是10000
阅读全文
摘要:[TOC] 数据库是什么 数据库:存储数据的仓库 为什么使用数据库 之前用excel来进行管理数据,有诸多问题: 电子表格只能处理有限的数据列和数据行,对于数百万玩、数千万等巨大的数据列很难有效地处理 电子表格无法提供安全、方便地权限管理和控制手段 电子表格很难实现多个数据之间地关联 电子表格很难实
阅读全文
摘要:[TOC] 多道技术 单道:一台哦到 多道: 时间上复用, 遇到IO操作就会切换,程序占用CPU时间过长就会切换 空间上复用, 支持多个程序 并发与并行 并发:看起来像是同时运行 并行:真正意义上的同时运行 并行与并发的区别: 并行是从微观上,也就是一个精确的时间片刻,有不同的程序在执行 并发是从宏
阅读全文
摘要:[TOC] 软件开发架构 C/S架构 client:客户端 server:服务端 优点:软件的使用稳定,网络资源占用少 缺点: 若需要使用多个软件,需要下载多个客户端 服务端更新后,用户也需要跟着下载更新 B/S架构 browser:浏览器 server:服务端 优点:以浏览器充当客户端,服务端更新
阅读全文
摘要:[TOC] Event事件 用来控制线程的执行 出现 ,就会把这个线程设置为False,就不能执行这个任务; 只要有一个线程出现 ,就会告诉Event对象,把有 的用户全部改为True,剩余的任务就会立马去执行。由一些线程去控制另一些线程,中间通过Event。 进程池与线程池 1. 进程池与线程池是
阅读全文
摘要:[TOC] GIL全局解释锁 1. GIL本质上是一个互斥锁。 2. GIL是为了阻止同一个进程内多个进程同时执行(并行) 单个进程下的多个线程无法实现并行,但能实现并发 3. 这把锁主要是因为Cpython的内存管理不是线程安全的 保证线程在执行任务时不会被垃圾回收机制回收 多线程的作用 1. 计
阅读全文
摘要:[TOC] 进程互斥锁 多进程同时抢购余票 使用锁来保证数据安全 进程互斥锁: 让并发变成串行,牺牲了执行效率,保证了数据安全 在程序并发时,需要修改数据使用 队列 队列遵循的是先进先出 队列:相当于内存中一个队列空间,可以存放多个数据,但数据的顺序是由先进去的排在前面。 添加数据 取数据,遵循队列
阅读全文
摘要:写一个基于TCP协议套接字,服务端实现接收客户端的连接并发。 多进程实现 服务端: 客户端 多线程实现 服务端: 客户端:
阅读全文
摘要:[TOC] 操作系统发展史 穿孔卡片 一个计算机房,只能被一个穿孔卡片使用 缺点: CPU利用率低 联机批处理 支持多用户去使用一个计算机房 脱机批处理系统 高速磁盘: 提高文件的读取速度 优点: 提高CPU的利用率 多道技术(基于单核情况下研究) 单道:多个使用CPU是串行 多道: 空间上的复用:
阅读全文
摘要:FTP: 1.注册(每个用户都有自己的一个自己的目录,可以用户名命名) 2.登录(每个用户登录成功后,进入当前用户的目录) 3.上传电影或普通文件,客户端可以选择上传的电影,保存到当前用户目录下 4.用户可在自己的目录下选择需要下载的普通文件或电影 项目放在github上了
阅读全文
摘要:[TOC] subproess模块 TCP粘包问题 服务端第一次发送的数据,客户端无法精确一次性接收完毕,下一次发送的数据与上一次数据黏在一起了。 1. 无法预测对方需要接收的数据大小长度 2. TCP流式协议,会将多次连续发送数据量小、并且时间间隔短的数据一次性打包发送。 基于TCP的套接字客户端
阅读全文
摘要:基于TCP协议的套接字编程(简单) 服务端 客户端 基于TCP协议的套接字编程(复杂) 服务端 客户端 服务端服务多个客户 服务端 客户端
阅读全文
摘要:三次挥手 第一次握手 :客户端给服务端发一个 SYN 报文,并指明客户端的初始化序列号 ISN(c)。此时客户端处于 状态。 首部的同步位SYN=1,初始序号seq=x,SYN=1的报文段不能携带数据,但 要消耗掉一个序号。 第二次握手 :服务器收到客户端的 SYN 报文之后,会以自己的 SYN 报
阅读全文
摘要:[TOC] OSI七层协议 实现远程通信具备: 1. 物理连接介质—— 网卡 2. 互联网协议:计算机之间沟通的介质“互联网协议” 互联网的本质就是一系列的网络协议,这个协议就是osi。(OSI是Open System Interconnection的缩写)。按照分工的不同,人为划分为七层, 从下往
阅读全文
摘要:[TOC] 软件开发架构 开发软件,必须要开发一套 客户端 和 服务端 服务端与客户端的作用 服务端:24小时不间断提供服务 客户端:享受服务 C/S架构 Client:客户端 server:服务端 优点: 软件使用稳定,节省网络资源 缺点: 若用户想要在同一设备使用多个软件,必须下载多个客户端。
阅读全文
摘要:TCP三次握手,四次挥手 三次握手 建立双向通道。建立好连接 TCP三次握手过程中使用了TCP标志 SYN 和 ACK 第一次握手,建立连接过程中,客户端发送SYN包(SYN=n)到服务端,并进入SYN_SEND状态,等待服务器确认。 第二次握手,服务器收到SYN包,必须确认客户端的SYN(ack=
阅读全文
摘要:[TOC] classmethod classmethod是一个装饰器,可以装饰给类内部的方法,使该方法绑定给类来使用 1. 对象绑定方法特殊之处:由对象来调用,会把对象当作第一个参数传给该方法 2. 类绑定方法特殊之处:由类来调用,会把类当作第一个参数传给该方法 小练习: staticmethod
阅读全文
摘要:[TOC] 组合 什么是组合 组合指的是一个对象中的属性,是另一个对象 为什么要使用组合 减少代码冗余 如何使用组合 继承实现: 组合实现: 总结: 继承是类与类的关系,一种什么是什么的关系,子类与父类是一种从属关系 组合是对象与对象的关系,一种什么有什么的关系,一个对象拥有另一个对象 组合练习 封
阅读全文
摘要:1、定义MySQL类 ` 2、定义一个类:圆形,该类有半径,周长,面积等属性,将半径隐藏起来,将周长与面积开放 3、使用abc模块定义一个phone抽象类 并编写一个具体的实现类
阅读全文
摘要:[TOC] 继承 什么是继承 继承指的是新建类的方法,新建的类称之为子类或派生类; 子类继承的类为父类,也称之为基类或超类。 继承的特征 子类可以继承父类的属性(特征与技能),并且可以派生出自己的属性(特征与技能) 为什么要继承 继承的目的是为了减少代码的冗余(减少代码量) 如何实现继承 1. 首先
阅读全文
摘要:[TOC] 今日作业 1、下面这段代码的输出结果将是什么?请解释。 对象查找属性顺序:对象 子类 父类 object 2、多重继承的执行顺序,请解答以下输出结果是什么?并解释。 3、什么是新式类,什么是经典类,二者有什么区别?什么是深度优先,什么是广度优先? 新式类:继承object的类都是新式类
阅读全文
摘要:[TOC] 面向对象编程介绍 面向过程编程 核心是“过程”二字,过程指的是做事情的步骤,即先做什么再做什么。 基于该编程思想写程序,就好比一条工厂流水线,一种机械式的思维方式。 优点:逻辑清晰,复杂的问题流程化,进而简单化。 缺点:可扩展性差。 面向对象编程 面向对象编程的核心是对象二字,对象指得是
阅读全文
摘要:[TOC] 1. 什么是对象?什么是类? 对象是特征与技能的结合体,类是一系列对象相同的特征与技能的结合体 2.绑定方法的有什么特点 由对象调用类中的函数称之为对象的绑定方法,不同的对象掉用该绑定方法,则会将不同的对像传入该绑定方法中 对象的绑定方法是由对象调用的,特殊之处就是把对象作为第一个参数传
阅读全文
摘要:[TOC] 前言 现如今搭建个人博客并不是一个非常难的事情,你甚至不需要会代码,因为有现成的框架。现在我将要搭建的博客是利用hexo搭建博客,托管在GitHub上。 什么是hexo Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可
阅读全文
摘要:[TOC] numpy模块 numpy简介 numpy官方文档: numpy是Python的一种开源的数值计算扩展库。这种库可用来存储和处理大型numpy数组,比Python自身的嵌套列表结构要高效的多(该结构也可以用来表示numpy数组)。 numpy库有两个作用: 1. 区别于list列表,提供
阅读全文
摘要:[TOC] 包 什么是包 包是模块的一种形式,就是含有 文件的文件夹 为什么要包 刚开始模块只有几个功能,未来模块扩展功能,模块名和用法应该最好不要去修改,但这是对于用户来说是方便了,对于开发者来说,模块管理起来很麻烦,所以就用包来扩展模块的功能。 1. 包的介绍 1. 本质就是模块,实际上就是一个
阅读全文

浙公网安备 33010602011771号