- 博客(62)
- 收藏
- 关注
原创 week12 day1 模型层进阶
week12 day1 模型层进阶模型层进阶一、QuerySet对象1.1 可切片1.2 可迭代1.3 惰性查询1.4 缓存机制何时查询集不会被缓存?1.5 exists()与iterator()方法exists()iterator()二、中介模型三、查询优化(only与defer、select_related和prefetch_related)【面试可能问】3.0 表数据3.1 defer与only的区别3.2 `select_related`3.2.1 简单使用3.2.2 多外键查询【一个表的两个并列外
2021-03-28 20:12:00 154
原创 week11 day7 模型层
week11 day7 模型层模型层一、django测试环境的搭建二、单表查询关键字(精准查找)必知必会13条三、神奇的双下划线查询(范围查询)四、图书管理系统的表设计五、外键字段的增删改查5.1 一对多绑定外键增删改5.2 多对多绑定外键增删改查六、基于对象的跨表查询(子查询)七、基于下划线的跨表查询(链表查询)八、聚合查询aggregate九、分组查询annotate十、F和Q查询十一、django中开启事务十二、ORM中常用字段及参数十三、字段关系 / 手动创建第三张表 / 元信息 / 原生SQL13
2021-03-28 20:10:54 163
原创 week11 day6 模板层
week11 day6 模板层一、模板语法二、filter过滤器三、标签四、自定义过滤器、标签五、模板的继承六、模板的导入七、总结一、模板语法二、filter过滤器三、标签四、自定义过滤器、标签五、模板的继承六、模板的导入七、总结...
2021-03-17 19:08:07 131
原创 week11 day5 视图层
week11 day5 视图层养成看源码的习惯。一、三板斧二、JsonResponse对象三、form表单上传文件四、request对象方法4.1 常用方法4.2 request.META4.3 关于QueryDict的扩展4.4 request.FILES方法补充五、FBV和CBV5.1 FBV与CBV介绍与CBV基本使用5.2 CBV源码剖析5.3 CBV源码剖析流程(详细文字版)六、总结养成看源码的习惯。用大佬的智慧结晶去思考问题,学习大佬使用知识点的方法。一、三板斧视图函数必须返回一个
2021-03-17 18:37:44 192
原创 week11 day4 路由层
week11 day4 路由层一、路由匹配1.1 路由匹配注意事项1.2 取消路由匹配第一次匹配不成功,在匹配内容后面加一个斜杠\,重定向重新匹配二、分组命名匹配2.1 无名分组2.2 有名分组2.3 无名有名是否可以通用三、传递额外的参数给试图函数(了解)四、反向解析4.1 什么是反向解析?4.2 反向解析的基本使用4.3 无名有名分组反向解析4.3.1 无名分组反向解析4.3.2 有名分组反向解析五、路由分发六、名称空间(了解)七、伪静态(了解)八、虚拟环境(了解)九、django版本区别(了解)9.1
2021-03-16 17:38:14 161
原创 week11 day3 django入门2
week11 day3 django入门2一、静态文件配置1.1 什么是静态文件1.2 静态文件配置1.3 静态文件动态解析二、request对象方法初识2.1 知识储备:form表单2.2 注意:在使用form表单开启post功能之前必须先到settings.py下面找到MIDDLEWARE注释一行代码2.3 request用法介绍(重中之重)三、pycharm链接数据库四、django链接数据库()五、django ORM5.1 ORM简介5.2 ORM基本使用5.3 数据库迁移命令5.4 字段的增删改
2021-03-15 18:28:26 145
原创 week11 day2 django入门1
week11 day2 django入门1一、注意事项1.1 如何让你的计算机能够正常的启动django项目1.2 django版本问题1.3 django安装运行django-admin命令报错Fatal error in launcher: Unable to create process using二、django基本操作2.1 命令行操作2.2 pycharm操作三、应用3.1 创建的app介绍3.2 ==创建的应用一定要去setting.py配置文件中找到INSTALLED_APPS进行注册==3
2021-03-15 15:48:18 138
原创 week10 day4 bootstrap
week10 day4 bootstrap一、简介二、使用bootstrap注意三、全局CSS样式四、组件4.1 图标4.2 导航条4.3 sweetAlert弹框五、JavaScript插件一、简介使用版本下载本地使用CDN注意事项:只有下载到本地的pycharm中, 才会有自动补全功能.下载到本地: 含三个文件夹css 只有bootstrap.min.css和bootstrap.css生效, 其他可以删除.fonts 不能动js 只有bootstrap.min.j
2021-03-14 16:45:43 77
原创 week8 day5 多版本并发控制MVCC:快照读 VS 当前读
week8 day5 多版本并发控制MVCC:快照读 VS 当前读一、多版本并发控制MVCC:快照读 VS 当前读二、MVCC原理分析一、多版本并发控制MVCC:快照读 VS 当前读MySQL InnoDB存储引擎,实现的是基于多版本的并发控制协议——MVCC (Multi-Version Concurrency Control) (注:与MVCC相对的,是基于锁的并发控制,Lock-Based Concurrency Control)。MVCC最大的好处,相信也是耳熟能详:读不加锁,读写不冲突。在读多
2021-03-13 17:53:12 127
原创 week11 day1 Web框架的本质
week11 day1 Web框架的本质一、Web框架本质二、半成品自定义web框架三、知识储备:HTTP协议3.1 HTTP协议的四大特性3.2 HTTP GET请求的格式3.3 HTTP 相应的格式3.4 响应状态码3.5 统一资源定位符URL四、打印客户端(浏览器)在应用层按照HTTP协议发送的数据格式五、处女版自定义Web框架六、根据URL中不同的路径返回不同的内容七、根据不同路径返回不同的内容---函数进阶版八、动静态网页:九、静态网页:返回具体的HTML文件十、动态网页:后端获取当前时间展现在H
2021-03-12 22:41:23 134
原创 week10 day3 JQuery
week10 day3 JQuery一、JQuery简介二、JQuery基本使用三、选择器四、筛选器五、标签操作之样式操作六、标签操作之文本内容操作七、标签操作之属性操作八、事件介绍九、事件操作十、动画效果十一、补充一、JQuery简介二、JQuery基本使用三、选择器四、筛选器五、标签操作之样式操作六、标签操作之文本内容操作七、标签操作之属性操作八、事件介绍九、事件操作十、动画效果十一、补充...
2021-03-12 18:41:28 213
原创 week10 day2 Bom和Dom
week10 day2 Bom和Dom一、BOM操作1.1 介绍1.2 对象history、navigator、screen(了解即可)1.3 location对象1.4 弹出系统对话框1.5 打开关闭窗口1.6 浏览器内部的高度和宽度1.7 定时器二、DOM操作2.1 介绍2.2 查找节点2.3 增加节点2.4 删除、替换节点2.5 修改/设置节点属性2.6 获取元素的值2.7 class操作2.8 css操作2.9 事件三、练习一、BOM操作1.1 介绍BOM:Browser Object Mod
2021-03-10 12:17:06 119
原创 week10 day1 JavaScript
week10 day1 JavaScript一、JavaScript简介1.1 JavaScript起源1.2 JavaScript组成1.3 ECMAScript和JavaScript的关系二、JavaScript引入方式三、JavaScript语法规范四、变量4.1 声明变量的语法4.2 变量名命名规范4.3 ES6中let4.4 常量五、数组类型与内置对象5.1 数组对象Array5.2 Date日期对象5.3 Math对象5.4 JSON对象5.5 RegExp对象5.6 JavaScript允许自
2021-03-09 09:31:58 200
原创 自学篇 python强大第三方库之numpy
自学篇 python强大第三方库之numpy一、numpy介绍1.1 numpy基本语法1.2 官方文档介绍1.2.1 啥是numpy?1.2.2 为啥numpy快?1.2.3 谁还用numpy?二、numpy基础2.1 numpy属性2.2 创建数组arrays2.2.1 情况一:所有元素都知道2.2.2 情况二:知道元素个数不知道元素内容2.2.3 情况三:创建元素有序的array2.3 打印数组arrays二、numpy的数据类型2.1 数据类型2.2 数据类型对象dtype三、numpy数组类型四、
2021-03-07 17:43:55 547
原创 week9 day4 CSS网页布局
week9 day4 CSS网页布局一、网页布局方式二、标准流三、浮动流3.1 什么是脱离文档流?3.2 什么又是半脱离文档流3.3 浮动元素贴靠问题3.4 浮动元素字围现象3.5 浮动元素排版练习3.6 浮动元素高度问题(又称父级坍塌)3.6 清除浮动四、定位流五、练习一、网页布局方式什么是网页布局方式布局可以理解为排版,我们所熟知的文本编辑类工具都有自己的排版方式,比如word,nodpad++等等而网页的布局方式指的就是浏览器这款工具是如何对网页中的元素进行排版的网页布局/排版的三种
2021-03-06 23:47:55 224
原创 week9 day3 CSS属性设置
week9 day3 CSS属性设置一、字体属性二、文本属性三、背景属性四、盒子模型五、盒子模型各部分详解一、字体属性font-weight:文字粗细取值描述normal默认值,标准粗细border粗体border更粗lighter更细100~900设置具体粗细,400等同于normal,而700等同于boldinherit继承父元素字体的粗细值font-style:文字风格属性名描述normal正常,
2021-03-05 14:53:59 236 2
原创 week9 day2 CSS介绍、CSS选择器
week9 day2 CSS介绍、CSS选择器、CSS属性设置一、CSS介绍1.1 什么是CSS1.2 为何要用CSS1.3 如何使用CSS1.3.1 CSS语法1.3.2 CSS四种引入方式1.3.3 注释二、CSS选择器2.1 基本选择器2.1.1 id选择器2.1.2 类选择器2.1.3 标签选择器2.1.4 通配符选择器2.2 组合选择器2.2.1 后代选择器2.2.2 子元素选择器2.2.3 毗邻选择器,CSS2推出(又称相邻兄弟选择器)2.2.4 弟弟选择器,CSS3推出(又称通用兄弟选择器)2
2021-03-03 20:32:31 259 1
原创 week6 day4 并发编程之多线程 代码
week6 day4 并发编程之多线程 代码一、threading模块介绍二、开启线程的两种方式2.1 方式一2.2 方式二:自定义类三、在一个进程下开启多个线程与在一个进程下开设多个子进程的区别四、练习4.1 练习一:之前客户端和服务端并发4.2 练习二:三个任务,一个接受用户输入,一个将用户输入的内容转换成大写,一个将格式化后的结果存入文件五、线程相关的其他方法六、守护线程七、Python GIL(Global Interpreter Lock)7.1 介绍7.2 GIL介绍7.3 GIL与Lock7.
2021-03-03 18:57:07 228 1
原创 week9 day1 HTML简介和常用标签
week9 day1 HTML简介和常用标签一、前端内容介绍二、HTML简介2.1 HTML简介2.2 HTML发展史三、HTML标签与文档结构3.1 HTML标签与文档结构3.2 HTML标签详细语法与注意点3.3 HTML中标签分类3.4 HTML注释四、head内常用标签五、body内常用标签5.1 HTML语义化5.2 字符实体5.3 h 系列标签5.4 p 标签5.5 img 标签5.6 a 标签5.7 列表标签5.8 table 标签5.8.1 表格基础5.8.2 表格属性5.8.3 表格的结构
2021-03-02 21:33:31 244
原创 week6 day3 并发编程之多进程 代码
week6 day3 并发编程之多进程 代码一、multiprocessing模块介绍二、Process类的介绍2.1 创建进程的类2.2 参数介绍2.3 方法介绍2.4 属性介绍三、Process类的使用3.1 创建并开启子进程的两种方式3.2 进程之间的内存空间是隔离的3.3 练习:把之前所学的socket通信编程并发的形式3.4 Process对象的join方法3.5 Process对象的其他方法或者属性(了解)3.6 僵尸进程与孤儿进程3.6.1 僵尸进程3.6.2 孤儿进程四、守护进程五、进程同步
2021-03-02 18:38:22 223 1
原创 week6 day3 并发编程之多进程 理论
week6 day3 并发编程之多进程 理论一、什么是进程?二、进程与程序的区别三、并发与并行3.1 并发:是伪并行,即看起来是同时运行。单个CPU+多道技术就可以实现并发3.2 并行:同时运行,只有具备多个CPU才能实现并行四、同步/异步 and 阻塞/非阻塞(重点)五、进程的创建(了解)六、进程的终止(了解)七、进程的层次结构八、进程的状态九、进程并发的实现一、什么是进程?进程:正在进行的一个过程或者说一个任务。而负责任务执行的则是CPU。举例(单核+多道,实现多个进程的并发执行):egon在一个
2021-03-01 22:20:33 553 5
原创 week6 day4 并发编程之多线程 理论
week6 day4 并发编程之多线程 理论一、什么是线程二、线程的创建开销小三、线程和进程的区别四、为何要用多线程五、多线程的应用举例六、经典的线程模型(了解)七、POSIX线程(了解)八、在用户空间实现的线程(了解)九、在内核空间实现的线程(了解)十、用户级和内核级线程的对比(了解)十一、混合实现(了解)十二、线程小故事一、什么是线程二、线程的创建开销小三、线程和进程的区别四、为何要用多线程五、多线程的应用举例六、经典的线程模型(了解)七、POSIX线程(了解)八、在用户空间实现的线程(
2021-03-01 21:05:49 153
原创 week8 day4 事务隔离机制
week8 day4 事务隔离机制一、事务隔离机制介绍二、未提交读(read uncommitted)三、提交读(read committed)四、可重复读(repeatable reads)五、可序列化(serializable)六、innodb存储引擎一、事务隔离机制介绍事务具有原子性、一致性、隔离性、持久性四大特性,而隔离性顾名思义指的就是事务彼此之间隔离开,多个事务在同时处理一个数据时彼此之间互相不影响,如如果隔离的不够好就有可能会产生脏读、不可重复度、幻读等读现象,为此,隔离性总共分为四种级别
2021-02-26 17:12:50 79
原创 练习:Next-key lock案例
练习:Next-key lock案例# 准备数据create table t1(id int,key idx_id(id))engine=innodb; insert t1values(1),(5),(7),(11); mysql> explain select * from t1 where id=7 for update; -- key字段为idx_id,命中索引,即会采用行锁而不是表锁+----+-------------+-------
2021-02-26 16:03:26 201
原创 week8 day3 数据库锁机制
week8 day3 数据库锁机制一、数据库的锁机制1.1 什么是锁?为什么要加入锁机制?1.2 并发控制二、锁的分类三、MySQL中的行级锁、表级锁、页级锁3.1 行级锁3.2 表级锁(倾向于读)3.3 页级锁四、行级锁之共享锁与排他锁(级别)五、innodb存储引擎的锁机制5.1 行级锁与表级锁的使用区分5.2 三种行锁的算法5.3 死锁问题5.4 什么时候使用表锁5.5 行锁优化建议六、乐观锁与悲观锁6.1 悲观锁6.2 乐观锁一、数据库的锁机制1.1 什么是锁?为什么要加入锁机制?锁是计算机协
2021-02-26 08:57:09 144
原创 week8 day2 数据库读现象
week8 day2 数据库读现象一、数据库读现象1.1 脏读 dirty read1.2 不可重复读 nonrepeatable read1.3 幻像读取 phantom read二、解决方案一、数据库读现象数据库管理软件的“读现象”指的是当多个事务并发执行时,在读取数据方面可能碰到的问题,包括有脏读、不可重复读、幻读。ps:对于一些数据库管理软件会自带相应的机制去解决脏读、不可重复读、幻读等问题,因为这些自带的机制,下述的一些实验现象可能在某一数据库管理软件的默认机制下并不成立,即我们并不能在所有
2021-02-25 22:25:17 80
原创 week8 day1 事务
week8 day1 事务一、事务介绍1.1 什么是事物?1.2 为什么需要事务?二、事务的4个特性三、事务的3种运行模式3.1 自动提交事务(隐式开启、隐式提交)3.2 显示事务(显示开启、显示提交)注意3.3 隐式事务(隐式开启、显示提交)一、事务介绍1.1 什么是事物?事务(transaction),顾名思义就是要做或者所做的事情,数据库事务指的是单个逻辑工作单元执行一系列操作(sql语句)。这些操作要么全部执行,要么全部不执行。1.2 为什么需要事务?将一系列sql放入一个事务中有两个目的
2021-02-25 22:06:21 137
原创 SQL语句中explain各字段含义
SQL语句中explain各字段含义1 id:2 select_type3 type4 table5 possible_keys6 Key key列显示MySQL实际决定使用的键(索引)7 key_len8 ref9 rows10 Extra1 id:包含一组数字,表示查询中执行select子句或操作表的顺序Example(id相同,执行顺序由上至下)如果是子查询,id的序号会递增,id值越大优先级越高,越先被执行id如果相同,可以认为是一组,从上往下顺序执行;在所有组中,id值越大,优
2021-02-25 21:07:48 1065
转载 二叉树、平衡二叉树、B树、B+树
二叉树、平衡二叉树、B树、B+树一、索引介绍二、二叉树、平衡二叉树、B树、B+树2.1 二叉树2.2 平衡二叉树2.3 B树注意:2.4 B+树三、聚集索引与非聚集索引3.1 聚集索引、非聚集索引3.2 利用聚集索引和非聚集索引查找数据3.2.1 利用聚集索引查找数据3.2.2 利用非聚集索引查找数据四、总结一、索引介绍索引这个词,相信大多数人已经相当熟悉了。不过为了文章的完整性,这里再啰嗦一下。索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。 索引最形象的比喻就是图书的目录了
2021-02-25 16:51:55 474
原创 week7 day5 索引原理与慢查询优化
week7 day5 索引原理与慢查询优化一、介绍二、索引的原理三、索引的数据结构四、聚集索引与辅助索引五、MySQL索引管理六、测试索引七、正确使用索引八、联合索引与覆盖索引九、查询优化神器——explain十、慢查询优化的基本步骤十一、慢日志管理十二、innodb存储引擎索引知识小结一、介绍为什么要有索引?一般的应用系统,读取比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然是重中之重
2021-02-25 15:33:23 106 1
原创 week7 day4 视图、触发器、存储过程、函数、流程控制
week7 day4 视图、触发器、存储过程、函数、流程控制一、视图二、触发器(无法由用户自己调用,增删改操作自动触发)三、存储过程(可以由用户自由调用,相当于python中的函数)四、函数五、流程控制一、视图视图是一个虚拟表(非真实存在),其本质是【根据SQL语句获取动态的数据集,并为其命名】,用户使用时只需使用【名称】即可获取结果集,可以将该结果集当做表来使用。当我们创建一个虚拟表的时候会发现存储数据的目录下多了一个表名.frm文件,说明创建虚拟表时只会保存表结构,表数据是来自于其他表的。使用视图
2021-02-25 09:12:44 90
原创 week7 day3 记录相关操作之单表查询
week7 day3 记录相关操作之单表查询1.1 单表查询的用法1.2 关键字的执行优先级(重点)1.3 简单查询1.4 WHERE约束1.5 分组查询GROUP BY1.6 HAVING过滤1.7 查询排序ORDER BY1.8 限制查询的记录数LIMIT1.9 使用正则表达式查询1.1 单表查询的用法select 字段1,字段2,字段3...from 表名where 条件group by fieldhaving 筛选order by fieldlimit 限制条数1.2 关键字的执
2021-02-24 15:03:47 114
原创 week7 day3 记录相关操作
week7 day3 记录相关操作一. 介绍二. 插入数据INSERT(*****)三. 更新数据UPDATE四. 删除数据DELETE五. 查询数据SELECT5.1 单表查询5.1.1 单表查询的用法5.1.2 关键字的执行优先级(重点)5.1.3 简单查询5.1.4 WHERE约束5.1.5 分组查询GROUP BY5.1.6 HAVING过滤5.1.7 查询排序ORDER BY5.1.8 限制查询的记录数LIMIT5.1.9 使用正则表达式查询5.2 多表查询六. 权限管理一. 介绍MySQL数
2021-02-23 21:09:58 74 1
原创 week7 day2 表相关操作
week7 day2 表相关操作一. 存储引擎介绍1.1 什么是存储引擎1.2 MySQL支持的存储引擎1.3 使用存储引擎二. 表介绍三. 创建表四. 查看表结构五. 数据类型5.1 介绍5.2 数值类型5.2.1 整数类型5.2.2 浮点型5.2.3 位数类型(了解)5.3 日期类型5.4 字符串类型5.5 枚举类型与集合类型六. 表完整性约束七. 修改表ALTER TABLE八. 复制表九. 删除表一. 存储引擎介绍存储引擎即表类型,MySQL根据不同的表类型会有不同的处理机制。1.1 什么是存
2021-02-22 21:26:28 230 1
原创 week7 day2 数据库相关操作
week7 day2 数据库一. 系统数据库二. 创建数据库三. 数据库相关操作一. 系统数据库information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、字符信息等。performance_schema: MySQL 5.5开始新增一个数据库:主要用于收集数据库服务器性能参数,记录处理查询请求时发生的各种事件、锁等现象 。mysql: 授权库,主要存储系统用户的权限信息。test: MySQL数据库系统自动创建的测试数据库二.
2021-02-22 18:02:47 55
原创 python垃圾回收机制
python垃圾回收机制一、引入二、什么是垃圾回收机制?三、为什么要使用垃圾回收机制?四、理解GC原理需要储备的知识4.1 堆区与栈区4.2 直接引用与间接引用五、垃圾回收机制原理分析5.1 引用计数5.2 引用计数的问题与解决方案5.2.1 问题一:循环应用5.2.2 解决方案:标记-清除5.2.3 问题二:效率问题5.2.4 解决方案:分代回收一、引入解释器在执行到定义变量的语法时,hi申请内存空间来存放变量的值,而内粗你的容量是有限的,这就涉及到变量值所占用内存空间的回收问题,当一个变量值没有用了
2021-02-10 21:41:17 251 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人