黑马程序员课程:python开发就业班 2024
├─ 【1】Python初级(必学)
│ ├─ 【01】Python基础语法(必学)

│ │ ├─ 第10节 公共的方法
│ │ │ ├─ 17-公共操作之运算符加号.mp4
│ │ │ ├─ 18-公共操作之运算符乘号.mp4
│ │ │ ├─ 19-公共操作之运算符判断数据是否存在.mp4
│ │ │ ├─ 20-公共方法之len.mp4
│ │ │ ├─ 21-公共方法之del.mp4
│ │ │ ├─ 22-公共方法之max和min.mp4
│ │ │ ├─ 23-公共方法之range.mp4
│ │ │ ├─ 24-公共方法之enumerate.mp4
│ │ │ └─ 25-容器类型转换.mp4
│ │ ├─ 第11节 推导式
│ │ │ ├─ 26-了解推导式.mp4
│ │ │ ├─ 27-while循环创建有规律的列表.mp4
│ │ │ ├─ 28-for循环创建有规律的列表.mp4
│ │ │ ├─ 29-体验列表推导式.mp4
│ │ │ ├─ 30-带if的列表推导式.mp4
│ │ │ ├─ 31-多for实现列表推导式.mp4
│ │ │ ├─ 32-体验字典推导式.mp4
│ │ │ ├─ 33-合并两个列表为字典.mp4
│ │ │ ├─ 34-提取字典中目标数据.mp4
│ │ │ ├─ 35-集合.mp4
│ │ │ └─ 36-推导式总结.mp4
│ │ ├─ 第12节 函数基础
│ │ │ ├─ 01-了解函数.mp4
│ │ │ ├─ 02-函数的使用步骤.mp4
│ │ │ ├─ 03-快速体验函数.mp4
│ │ │ ├─ 04-函数的注意事项.mp4
│ │ │ ├─ 05-函数的参数的作用.mp4
│ │ │ ├─ 06-体验函数返回值.mp4
│ │ │ ├─ 07-return的特点.mp4
│ │ │ ├─ 08-函数返回值的应用.mp4
│ │ │ ├─ 09-函数的说明文档.mp4
│ │ │ ├─ 10-函数嵌套调用.mp4
│ │ │ ├─ 11-函数嵌套调用应用之打印横线图形01.mp4
│ │ │ ├─ 12-函数嵌套调用应用之打印横线图形02.mp4
│ │ │ ├─ 13-函数嵌套调用应用之函数计算01(公众号:福星网络科技).mp4
│ │ │ ├─ 14-函数嵌套调用应用之函数计算02.mp4
│ │ │ └─ 15-函数的总结.mp4
│ │ ├─ 第13节 函数提高
│ │ │ ├─ 16-函数二学习目标简介.mp4
│ │ │ ├─ 17-局部变量.mp4
│ │ │ ├─ 18-访问全局变量.mp4
│ │ │ ├─ 19-修改全局变量.mp4
│ │ │ ├─ 20-多函数执行流程.mp4
│ │ │ ├─ 21-返回值作为参数传递.mp4
│ │ │ ├─ 22-函数的返回值.mp4
│ │ │ ├─ 23-函数参数之位置参数.mp4
│ │ │ ├─ 24-关键字参数.mp4
│ │ │ ├─ 25-缺省参数.mp4
│ │ │ ├─ 26-不定长参数之位置参数.mp4
│ │ │ ├─ 27-不定长参数之关键字参数.mp4
│ │ │ ├─ 28-元组拆包.mp4
│ │ │ ├─ 29-字典拆包.mp4
│ │ │ ├─ 30-交换变量的值之方法一.mp4
│ │ │ ├─ 31-交换变量的值之方法二.mp4
│ │ │ ├─ 32-了解引用之不可变类型.mp4
│ │ │ ├─ 33-了解引用之可变类型.mp4
│ │ │ ├─ 34-引用当做实参传入.mp4
│ │ │ ├─ 35-可变和不可变类型.mp4
│ │ │ └─ 36-函数二总结.mp4
│ │ ├─ 第14节 函数应用:学员管理系统
│ │ │ ├─ 01-函数加强简介.mp4
│ │ │ ├─ 02-学员管理系统需求和步骤分析.mp4
│ │ │ ├─ 03-学员管理系统框架搭建.mp4
│ │ │ ├─ 04-代码调优.mp4
│ │ │ ├─ 05-学员管理系统数据形式的分析.mp4
│ │ │ ├─ 06-添加学员功能分析.mp4
│ │ │ ├─ 07-添加学员之用户输入.mp4
│ │ │ ├─ 08-添加学员之新增数据.mp4
│ │ │ ├─ 09-添加学员之重名提示.mp4
│ │ │ ├─ 10-删除学员思路分析.mp4
│ │ │ ├─ 11-删除学员代码实现.mp4
│ │ │ ├─ 课后学习-12-修改学员思路分析.mp4
│ │ │ ├─ 课后学习-13-修改学员代码实现.mp4
│ │ │ ├─ 课后学习-14-查询学员思路分析.mp4
│ │ │ ├─ 课后学习-15-查询学员代码实现.mp4
│ │ │ ├─ 课后学习-16-显示所有学员信息.mp4
│ │ │ └─ 课后学习-17-退出系统.mp4
│ │ ├─ 第15节 递归函数和匿名函数
│ │ │ ├─ 18-了解递归.mp4
│ │ │ ├─ 19-递归之回顾函数返回值.mp4
│ │ │ ├─ 20-递归代码实现.mp4
│ │ │ ├─ 21-递归的执行流程.mp4
│ │ │ ├─ 22-递归出口问题.mp4
│ │ │ ├─ 23-了解lambda.mp4
│ │ │ ├─ 24-体验lambda.mp4
│ │ │ ├─ 25-lambda实例之计算两个数字累加和.mp4
│ │ │ ├─ 26-lambda参数之无参数.mp4
│ │ │ ├─ 27-lambda参数之一个参数.mp4
│ │ │ ├─ 28-lambda参数之默认参数.mp4
│ │ │ ├─ 29-lambda参数之args.mp4
│ │ │ ├─ 30-lambda参数之kwargs.mp4
│ │ │ ├─ 31-lambda应用之带判断的lambda.mp4
│ │ │ └─ 32-列表内字典数据排序.mp4
│ │ ├─ 第16节 内置函数
│ │ │ ├─ 33-了解高阶函数.mp4
│ │ │ ├─ 34-abs和round.mp4
│ │ │ ├─ 35-体验高阶函数的思路分析.mp4
│ │ │ ├─ 36-体验高阶函数的代码实现.mp4
│ │ │ ├─ 37-内置高阶函数之map.mp4
│ │ │ ├─ 38-内置高阶函数之reduce.mp4
│ │ │ ├─ 39-内置高阶函数之filter.mp4
│ │ │ └─ 40-函数加强总结.mp4
│ │ ├─ 第17节 文件操作
│ │ │ ├─ 01-了解文件操作.mp4
│ │ │ ├─ 02-体验文件操作步骤.mp4
│ │ │ ├─ 03-访问模式特点01.mp4
│ │ │ ├─ 04-读取函数之read.mp4
│ │ │ ├─ 05-读取函数之readlines.mp4
│ │ │ ├─ 06-读取函数之readline.mp4
│ │ │ ├─ 07-访问模式特点02.mp4
│ │ │ ├─ 08-访问模式特点02之代码测试.mp4
│ │ │ ├─ 09-seek函数.mp4
│ │ │ ├─ 10-文件备份的作用.mp4
│ │ │ ├─ 11-文件备份思路分析.mp4
│ │ │ ├─ 12-文件备份之接收用户输入.mp4
│ │ │ ├─ 13-文件备份之规划文件名.mp4
│ │ │ ├─ 14-文件备份之数据写入.mp4
│ │ │ ├─ 15-文件备份之限制有效文件名备份.mp4
│ │ │ ├─ 16-文件操作函数.mp4
│ │ │ ├─ 17-文件夹操作函数之创建和删除.mp4
│ │ │ ├─ 18-文件夹操作函数之路径相关函数.mp4
│ │ │ ├─ 19-文件夹操作函数之rename.mp4
│ │ │ ├─ 20-批量重命名之添加字符串.mp4
│ │ │ ├─ 21-批量重命名之添加和删除字符串.mp4
│ │ │ └─ 22-文件总结.mp4
│ │ ├─ 第1节 开发环境安装介绍
│ │ │ ├─ 01-计算机组成.mp4
│ │ │ ├─ 02-Python简介.mp4
│ │ │ ├─ 03-课程介绍.mp4
│ │ │ ├─ 04-解释器的作用和分类.mp4
│ │ │ ├─ 05-Python解释器的下载和安装.mp4
│ │ │ ├─ 06-PyCharm的作用.mp4
│ │ │ ├─ 07-下载和安装PyCharm.mp4
│ │ │ ├─ 08-新建项目.mp4
│ │ │ ├─ 09-新建书写运行文件.mp4
│ │ │ ├─ 10-PyCharm界面设置.mp4
│ │ │ ├─ 11-PyCharm修改解释器.mp4
│ │ │ ├─ 12-PyCharm项目管理.mp4
│ │ │ └─ 13-PyCharm总结.mp4
│ │ ├─ 第2节 变量和数据类型
│ │ │ ├─ 14-注释.mp4
│ │ │ ├─ 15-变量的作用.mp4
│ │ │ ├─ 16-定义变量.mp4
│ │ │ ├─ 17-使用变量.mp4
│ │ │ ├─ 18-认识bug.mp4
│ │ │ ├─ 19-Debug工具.mp4
│ │ │ ├─ 20-认识数据类型.mp4
│ │ │ ├─ 21-变量章节总结.mp4
│ │ │ ├─ 22-输出_认识格式化符号.mp4
│ │ │ ├─ 23-输出_格式化符号基础使用方法.mp4
│ │ │ ├─ 24-输出_格式化符号高级使用方法.mp4
│ │ │ ├─ 25-输出_拓展格式化字符串.mp4
│ │ │ ├─ 26-输出_f-格式化字符串.mp4
│ │ │ ├─ 27-输出_转义字符.mp4
│ │ │ ├─ 28-输出_print结束符.mp4
│ │ │ └─ 29-输出总结.mp4
│ │ ├─ 第3节 数据类型转换和运算符
│ │ │ ├─ 01-了解输入.mp4
│ │ │ ├─ 02-输入功能实现.mp4
│ │ │ ├─ 03-体验数据类型转换.mp4
│ │ │ ├─ 04-数据类型转换函数.mp4
│ │ │ ├─ 05-总结数据类型的转换.mp4
│ │ │ ├─ 06-PyCharm交互式开发.mp4
│ │ │ ├─ 07-运算符的分类.mp4
│ │ │ ├─ 08-算数运算符.mp4
│ │ │ ├─ 09-赋值运算符.mp4
│ │ │ ├─ 10-复合赋值运算符.mp4
│ │ │ ├─ 11-复合赋值注意点.mp4
│ │ │ ├─ 12-比较运算符.mp4
│ │ │ ├─ 13-逻辑运算符.mp4
│ │ │ ├─ 14-逻辑运算符书写习惯.mp4
│ │ │ ├─ 15-数字的逻辑运算.mp4
│ │ │ └─ 16-运算符总结.mp4
│ │ ├─ 第4节 if语句
│ │ │ ├─ 17-if的作用和语法.mp4
│ │ │ ├─ 18-体验if.mp4
│ │ │ ├─ 19-网吧上网(简单版).mp4
│ │ │ ├─ 20-网吧上网(进阶版).mp4
│ │ │ ├─ 21-if..else.mp4
│ │ │ ├─ 22-if语句执行流程.mp4
│ │ │ ├─ 23-多重判断的作用和语法.mp4
│ │ │ ├─ 24-体验多重判断.mp4
│ │ │ ├─ 25-elif的执行流程.mp4
│ │ │ ├─ 26-拓展:条件写法.mp4
│ │ │ ├─ 27-if嵌套的作用和语法.mp4
│ │ │ ├─ 28-if嵌套案例:判断能否上车.mp4
│ │ │ ├─ 29-if嵌套案例:判断是否能坐下.mp4
│ │ │ ├─ 30-if嵌套执行流程.mp4
│ │ │ ├─ 31-猜拳游戏的步骤分析.mp4
│ │ │ ├─ 32-猜拳游戏功能实现.mp4
│ │ │ ├─ 33-随机数.mp4
│ │ │ ├─ 34-猜拳游戏:随机数.mp4
│ │ │ ├─ 35-三目运算符.mp4
│ │ │ └─ 36-if章节总结.mp4
│ │ ├─ 第5节 while循环
│ │ │ ├─ 01-循环章节课程介绍.mp4
│ │ │ ├─ 02-了解循环.mp4
│ │ │ ├─ 03-while的语法和体验.mp4
│ │ │ ├─ 04-计数器书写习惯.mp4
│ │ │ ├─ 05-循环的执行流程.mp4
│ │ │ ├─ 06-循环应用1:1-100累加.mp4
│ │ │ ├─ 07-循环应用1:1-100偶数累加和方法1.mp4
│ │ │ ├─ 08-循环应用1:1-100偶数累加和方法2.mp4
│ │ │ ├─ 09-循环的注意事项.mp4
│ │ │ ├─ 10-了解break和continue.mp4
│ │ │ ├─ 11-break.mp4
│ │ │ ├─ 12-continue.mp4
│ │ │ ├─ 13-while循环嵌套的作用和语法.mp4
│ │ │ ├─ 14-while循环嵌套快速体验.mp4
│ │ │ ├─ 15-循环的执行流程.mp4
│ │ │ ├─ 16-while循环嵌套应用之打印星号(正方形).mp4
│ │ │ ├─ 17-while循环嵌套应用之打印星号(三角形).mp4
│ │ │ └─ 18-while循环嵌套应用之九九乘法表.mp4
│ │ ├─ 第6节 for循环
│ │ │ ├─ 19-for循环语法和体验.mp4
│ │ │ ├─ 20-break退出for循环.mp4
│ │ │ ├─ 21-continue退出for循环.mp4
│ │ │ ├─ 22-循环的else简介.mp4
│ │ │ ├─ 23-while...else.mp4
│ │ │ ├─ 24-while..else之break.mp4
│ │ │ ├─ 25-while..else之continue.mp4
│ │ │ ├─ 26-for...else.mp4
│ │ │ ├─ 27-for...else之break和continue.mp4
│ │ │ └─ 28-总结.mp4
│ │ ├─ 第7节 字符串
│ │ │ ├─ 1-学习字符串的必要性.mp4
│ │ │ ├─ 10-字符串常用操作方法之修改(常用).mp4
│ │ │ ├─ 11-字符串常用操作方法之修改之大小写转换.mp4
│ │ │ ├─ 12-字符串常用操作方法之修改之删除空白字符.mp4
│ │ │ ├─ 13-字符串常用操作方法之修改之字符串对齐.mp4
│ │ │ ├─ 14-字符串常用操作方法之判断开头或结尾.mp4
│ │ │ ├─ 15-字符串常用操作方法之判断.mp4
│ │ │ ├─ 16-字符串总结.mp4
│ │ │ ├─ 2-认识字符串.mp4
│ │ │ ├─ 3-字符串输出.mp4
│ │ │ ├─ 4-字符串输入.mp4
│ │ │ ├─ 5-下标.mp4
│ │ │ ├─ 6-切片简介.mp4
│ │ │ ├─ 7-体验切片.mp4
│ │ │ ├─ 8-字符串常用方法简介.mp4
│ │ │ └─ 9-字符串常用操作方法之查找.mp4
│ │ ├─ 第8节 列表和元组
│ │ │ ├─ 17-列表简介.mp4
│ │ │ ├─ 18-下标.mp4
│ │ │ ├─ 19-查找函数.mp4
│ │ │ ├─ 20-判断是否存在.mp4
│ │ │ ├─ 21-体验案例-判断是否存在.mp4
│ │ │ ├─ 22-列表增加数据之append.mp4
│ │ │ ├─ 23-列表增加数据之extend.mp4
│ │ │ ├─ 24-列表增加数据之insert.mp4
│ │ │ ├─ 25-列表删除数据.mp4
│ │ │ ├─ 26-列表修改数据.mp4
│ │ │ ├─ 27-列表复制数据.mp4
│ │ │ ├─ 28-列表的遍历之while.mp4
│ │ │ ├─ 29-列表的遍历之for.mp4
│ │ │ ├─ 30-列表嵌套.mp4
│ │ │ ├─ 31-随机分配办公室的步骤分析.mp4
│ │ │ ├─ 32-随机分配办公室的实现代码.mp4
│ │ │ ├─ 33-列表总结.mp4
│ │ │ ├─ 34-体验元组.mp4
│ │ │ ├─ 35-定义元组.mp4
│ │ │ ├─ 36-元组常见操作之查找.mp4
│ │ │ ├─ 37-元组数据的修改操作.mp4
│ │ │ └─ 38-元组的总结.mp4
│ │ └─ 第9节 字典和集合
│ │ ├─ 01-字典的应用场景.mp4
│ │ ├─ 02-创建字典的语法.mp4
│ │ ├─ 03-字典常用操作之新增.mp4
│ │ ├─ 04-字典常用操作之删除.mp4
│ │ ├─ 05-字典常用操作之修改.mp4
│ │ ├─ 06-字典常用操作之查找.mp4
│ │ ├─ 07-字典的循环遍历之key.mp4
│ │ ├─ 08-字典的循环遍历之value.mp4
│ │ ├─ 09-字典的循环遍历之键值对.mp4
│ │ ├─ 10-字典的循环遍历之键值对(拆包).mp4
│ │ ├─ 11-字典的总结.mp4
│ │ ├─ 12-创建集合.mp4
│ │ ├─ 13-集合常见操作之增加数据.mp4
│ │ ├─ 14-集合常见操作之删除数据.mp4
│ │ ├─ 15-集合常见操作之查找数据.mp4
│ │ └─ 16-集合总结.mp4
│ ├─ 【02】面向对象编程(必学)
│ │ ├─ 第1节 面向对象基础
│ │ │ ├─ 1-了解面向对象.mp4
│ │ │ ├─ 10-体验魔法方法init.mp4
│ │ │ ├─ 11-带参数的init代码书写(替换原11和12).mp4
│ │ │ ├─ 12-魔法方法str.mp4
│ │ │ ├─ 13-魔法方法del.mp4
│ │ │ ├─ 2-了解类和对象的关系.mp4
│ │ │ ├─ 3-类和对象的语法.mp4
│ │ │ ├─ 4-体验类和对象.mp4
│ │ │ ├─ 5-类里面的self.mp4
│ │ │ ├─ 6-一个类创建多个对象.mp4
│ │ │ ├─ 7-类外面添加对象属性.mp4
│ │ │ ├─ 8-类外面获取对象属性.mp4
│ │ │ └─ 9-类里面获取对象属性.mp4
│ │ ├─ 第2节 应用:烤地瓜
│ │ │ ├─ 01-了解烤地瓜案例需求.mp4
│ │ │ ├─ 02-烤地瓜案例步骤分析.mp4
│ │ │ ├─ 03-烤地瓜init方法.mp4
│ │ │ ├─ 04-烤地瓜方法cook.mp4
│ │ │ ├─ 05-烤地瓜案例魔法方法str.mp4
│ │ │ ├─ 06-创建对象测试属性和方法.mp4
│ │ │ └─ 07-烤地瓜添加调料.mp4
│ │ ├─ 第3节 应用:搬家具
│ │ │ ├─ 01-搬家具需求和步骤分析.mp4
│ │ │ ├─ 02-搬家具之家具类.mp4
│ │ │ ├─ 03- 搬家具之房屋类.mp4
│ │ │ ├─ 04-搬家具之添加容纳家具思路分析.mp4
│ │ │ ├─ 05-搬家具之容纳家具函数.mp4
│ │ │ └─ 06-面向对象基础部分总结.mp4
│ │ ├─ 第4节 继承
│ │ │ ├─ 01-了解继承.mp4
│ │ │ ├─ 02-拓展经典类和新式类.mp4
│ │ │ ├─ 03-体验继承.mp4
│ │ │ ├─ 04-单继承.mp4
│ │ │ ├─ 05-多继承.mp4
│ │ │ ├─ 06-子类重写父类同名属性和方法.mp4
│ │ │ ├─ 07-拓展_mro顺序.mp4
│ │ │ ├─ 08-子类调用父类同名方法和属性之思路分析.mp4
│ │ │ ├─ 09-子类调用父类同名方法和属性之代码实现.mp4
│ │ │ ├─ 10-多层继承.mp4
│ │ │ ├─ 11-super()方法作用.mp4
│ │ │ ├─ 12-super方法写法.mp4
│ │ │ ├─ 13-定义私有属性和方法.mp4
│ │ │ ├─ 14-获取和修改私有属性值.mp4
│ │ │ └─ 15-继承总结.mp4
│ │ ├─ 第5节 多态、类方法、类属性
│ │ │ ├─ 01-了解面向对象三大特性.mp4
│ │ │ ├─ 02-了解多态.mp4
│ │ │ ├─ 03-体验多态思路分析.mp4
│ │ │ ├─ 04-代码实现多态.mp4
│ │ │ ├─ 05-设置和访问类属性.mp4
│ │ │ ├─ 06-修改类属性.mp4
│ │ │ ├─ 07-类方法.mp4
│ │ │ ├─ 08-静态方法.mp4
│ │ │ └─ 09-面向对象其他总结.mp4
│ │ ├─ 第6节 异常
│ │ │ ├─ 10-了解异常.mp4
│ │ │ ├─ 11-体验异常.mp4
│ │ │ ├─ 12-了解异常类型.mp4
│ │ │ ├─ 13-捕获指定异常类型.mp4
│ │ │ ├─ 14-捕获多个指定异常类型.mp4
│ │ │ ├─ 15-捕获异常描述信息.mp4
│ │ │ ├─ 16-捕获所有异常.mp4
│ │ │ ├─ 17-异常的else.mp4
│ │ │ ├─ 18-异常的finally.mp4
│ │ │ ├─ 19-拓展命令提示符运行py文件.mp4
│ │ │ ├─ 20-异常传递的思路分析.mp4
│ │ │ ├─ 21-异常传递的代码实现.mp4
│ │ │ ├─ 22-自定义异常的作用.mp4
│ │ │ ├─ 23-自定义异常思路分析.mp4
│ │ │ ├─ 24-自定义异常代码实现之异常类.mp4
│ │ │ ├─ 25-自定义异常代码实现之捕获异常.mp4
│ │ │ └─ 26-异常总结.mp4
│ │ ├─ 第7节 模块和包
│ │ │ ├─ 01-了解模块.mp4
│ │ │ ├─ 02-导入模块之方法一.mp4
│ │ │ ├─ 03-导入模块之方法二.mp4
│ │ │ ├─ 04-导入模块之方法三.mp4
│ │ │ ├─ 05-定义别名.mp4
│ │ │ ├─ 06-了解制作模块.mp4
│ │ │ ├─ 07-制作模块之定义模块.mp4
│ │ │ ├─ 08-制作模块之测试和调用模块.mp4
│ │ │ ├─ 09-了解模块定位顺序.mp4
│ │ │ ├─ 10-模块定位顺序之注意点1.mp4
│ │ │ ├─ 11-模块定位顺序之注意点2.mp4
│ │ │ ├─ 12-拓展:名字重复的严重性.mp4
│ │ │ ├─ 13-all列表.mp4
│ │ │ ├─ 14-了解包.mp4
│ │ │ ├─ 15-制作包.mp4
│ │ │ ├─ 16-导入包之方法一.mp4
│ │ │ ├─ 17-导入包之方法二.mp4
│ │ │ └─ 18-模块和包的总结.mp4
│ │ └─ 第8节 案例-面向对象版学员管理系统
│ │ ├─ 19-章节介绍.mp4
│ │ ├─ 20-介绍系统需求.mp4
│ │ ├─ 21-准备程序文件.mp4
│ │ ├─ 22-定义学员类.mp4
│ │ ├─ 23-了解管理系统的需求.mp4
│ │ ├─ 24-定义管理系统类.mp4
│ │ ├─ 25-管理系统框架需求和步骤.mp4
│ │ ├─ 26-管理系统框架之程序入口函数.mp4
│ │ ├─ 27-管理系统框架之定义系统功能函数.mp4
│ │ ├─ 28-程序入口文件功能实现.mp4
│ │ ├─ 29-添加学员功能.mp4
│ │ ├─ 30-删除学员功能.mp4
│ │ ├─ 31-修改学员信息.mp4
│ │ ├─ 课后学习-32-查询学员信息.mp4
│ │ ├─ 课后学习-33-显示所有学员信息.mp4
│ │ ├─ 课后学习-34-保存学员信息需求和注意事项.mp4
│ │ ├─ 课后学习-35-拓展__dict__.mp4
│ │ ├─ 课后学习-36-保存学员信息.mp4
│ │ ├─ 课后学习-37-加载学员信息思路.mp4
│ │ ├─ 课后学习-38-加载学员信息.mp4
│ │ └─ 课后学习-39-学员管理系统涵盖知识点总结.mp4
│ └─ Python1和2编程(课件和源码).7z
├─ 【2】python中级(必学)
│ ├─ 【01】linux基础命令
│ │ ├─ 1.0-python大纲.mp4
│ │ ├─ 1.1-操作系统.mp4
│ │ ├─ 1.10-终端命令的格式说明.mp4
│ │ ├─ 1.11-查看命令帮助.mp4
│ │ ├─ 1.12-ls命令选项.mp4
│ │ ├─ 1.13-mkdir和rm命令选项.mp4
│ │ ├─ 1.14-cp和mv命令选项.mp4
│ │ ├─ 1.2-虚拟机软件.mp4
│ │ ├─ 1.3-Ubuntu操作系统.mp4
│ │ ├─ 1.4-Linux内核和发行版.mp4
│ │ ├─ 1.5-查看目录命令.mp4
│ │ ├─ 1.6-切换目录命令.mp4
│ │ ├─ 1.7-绝对路径和相对路径.mp4
│ │ ├─ 1.8-创建、删除文件和目录.mp4
│ │ └─ 1.9-复制、移动文件和目录.mp4
│ ├─ 【02】linux高级命令
│ │ ├─ 16-重定向.mp4
│ │ ├─ 17-第1天知识点回顾.mp4
│ │ ├─ 18-查看文件内容命令.mp4
│ │ ├─ 19-软链接.mp4
│ │ ├─ 20-硬连接.mp4
│ │ ├─ 21-文本搜索命令.mp4
│ │ ├─ 22-查找文件命令.mp4
│ │ ├─ 23-压缩和解压缩命令.mp4
│ │ ├─ 24-文件权限命令.mp4
│ │ ├─ 25-获取管理权限的相关命令.mp4
│ │ ├─ 26-用户相关操作.mp4
│ │ ├─ 27-用户组相关操作.mp4
│ │ ├─ 28-第2天知识点回顾.mp4
│ │ ├─ 29-cp命令选项-a的使用.mp4
│ │ ├─ 30-远程登录.mp4
│ │ └─ 31-远程拷贝.mp4
│ ├─ 【03】多任务线程(2)
│ │ ├─ 01-线程的介绍.mp4
│ │ ├─ 02-多线程的使用.mp4
│ │ ├─ 03-线程执行带有参数的任务.mp4
│ │ ├─ 04-线程之间执行是无序的.mp4
│ │ ├─ 05-主线程会等待子线程执行结束再结束.mp4
│ │ ├─ 06-线程之间共享全局变量.mp4
│ │ ├─ 07-线程之间共享全局变量数据出现错误问题.mp4
│ │ ├─ 08-互斥锁.mp4
│ │ ├─ 09-死锁.mp4
│ │ ├─ 10-进程和线程的对比.mp4
│ │ └─ 11-第4天知识点回顾.mp4
│ ├─ 【03】多任务进程(1)
│ │ ├─ 01-编辑器vim的介绍.mp4
│ │ ├─ 02-编辑器vim的使用.mp4
│ │ ├─ 03-软件的安装.mp4
│ │ ├─ 04-软件的卸载.mp4
│ │ ├─ 05-多任务的介绍.mp4
│ │ ├─ 06-进程.mp4
│ │ ├─ 07-多进程的使用.mp4
│ │ ├─ 08-获取进程编号.mp4
│ │ ├─ 09-进程执行带有参数的任务.mp4
│ │ ├─ 10-第3天知识点回顾.mp4
│ │ ├─ 11-进程之间不共享全局变量.mp4
│ │ └─ 12-主进程会等待所有的子进程执行完成以后再退出.mp4
│ ├─ 【04】 网络编程
│ │ ├─ 01-ip地址的介绍.mp4
│ │ ├─ 02-端口和端口号的介绍.mp4
│ │ ├─ 03-tcp的介绍.mp4
│ │ ├─ 04-socket的介绍.mp4
│ │ ├─ 05-tcp网络应用程序的开发流程.mp4
│ │ ├─ 06-tcp客户端程序开发.mp4
│ │ ├─ 07-tcp服务端程序的开发.mp4
│ │ ├─ 08-设置端口号复用.mp4
│ │ ├─ 09-tcp网络应用程序的注意点.mp4
│ │ ├─ 10-tcp服务端服务于多个客户端.mp4
│ │ ├─ 11-多人版tcp服务端程序.mp4
│ │ ├─ 12-socket之send和recv的原理剖析.mp4
│ │ └─ 13-第5天知识点回顾.mp4
│ ├─ 【05】http和web服务器
│ │ ├─ 01-http协议的介绍.mp4
│ │ ├─ 02-URL的介绍.mp4
│ │ ├─ 03-开发者工具的介绍.mp4
│ │ ├─ 04-http.mp4
│ │ ├─ 05-http.mp4
│ │ ├─ 06-http响应报文.mp4
│ │ ├─ 07-状态码介绍.mp4
│ │ ├─ 08-搭建python自带的静态web服务器.mp4
│ │ ├─ 09-静态web服务器-返回固定页面.mp4
│ │ ├─ 10-静态web服务器-返回指定页面.mp4
│ │ ├─ 11-静态web服务器-返回404页面.mp4
│ │ ├─ 12-第6天知识点回顾.mp4
│ │ ├─ 13-静态web服务器-多任务版.mp4
│ │ ├─ 14-静态web服务器-面向对象版.mp4
│ │ ├─ 15-获取终端命令行参数.mp4
│ │ └─ 16-静态web服务器-命令行启动动态绑定端口号.mp4
│ ├─ 【06】html和css前端开发
│ │ ├─ 01-html的介绍.mp4
│ │ ├─ 02-html的基本结构.mp4
│ │ ├─ 03-vscode使用.mp4
│ │ ├─ 04-常见的html标签.mp4
│ │ ├─ 05-资源路径.mp4
│ │ ├─ 06-列表标签.mp4
│ │ ├─ 07-表格标签.mp4
│ │ ├─ 08-表单标签和标签元素标签.mp4
│ │ ├─ 09-表单提交.mp4
│ │ ├─ 10-第7天知识点回顾.mp4
│ │ ├─ 11-css的介绍.mp4
│ │ ├─ 12-css样式表三种使用方式.mp4
│ │ ├─ 13-标签、类、层级选择器.mp4
│ │ ├─ 14-id、组、伪类选择器.mp4
│ │ ├─ 15-常用布局样式属性.mp4
│ │ ├─ 16-常用文本的样式属性.mp4
│ │ ├─ 17-元素溢出.mp4
│ │ ├─ 18-css显示特性.mp4
│ │ └─ 19-盒子模型.mp4
│ ├─ 【07】JavaScript基础
│ │ ├─ 01-JavaScript的介绍.mp4
│ │ ├─ 02-JavaScript的使用.mp4
│ │ ├─ 03-定义和数据类型.mp4
│ │ ├─ 04-的定义和函数的调用.mp4
│ │ ├─ 05-作用域.mp4
│ │ ├─ 06-判断结合比较运算符.mp4
│ │ ├─ 07-判断结合逻辑运算符.mp4
│ │ ├─ 08-取标签元素.mp4
│ │ ├─ 09-签属性的获取和设置.mp4
│ │ ├─ 10-设置标签内容(innerHTML).mp4
│ │ ├─ 11-的定义和数组的操作.mp4
│ │ ├─ 12-循环语句.mp4
│ │ ├─ 13-字符串拼接.mp4
│ │ ├─ 14-定时器.mp4
│ │ └─ 15-第8天知识点回顾.mp4
│ ├─ 【08】 JQuery
│ │ ├─ 01-jquery的介绍.mp4
│ │ ├─ 02-jquery的使用.mp4
│ │ ├─ 03-jquery选择器.mp4
│ │ ├─ 04-选择集过滤.mp4
│ │ ├─ 05-选择集的转移.mp4
│ │ ├─ 06-获取和设置标签内容.mp4
│ │ ├─ 07-获取和设置标签属性.mp4
│ │ ├─ 08-jquery事件.mp4
│ │ ├─ 09-事件代理.mp4
│ │ ├─ 10-JavaScript对象.mp4
│ │ ├─ 11-json数据格式的介绍.mp4
│ │ ├─ 12-ajax的介绍.mp4
│ │ ├─ 13-ajax的使用发送get请求.mp4
│ │ ├─ 14-ajax的使用法术post请求.mp4
│ │ └─ 15-第8天知识点回顾.mp4
│ ├─ 【09】Mysql数据库的基本使用
│ │ ├─ 01-数据库的介绍.mp4
│ │ ├─ 02-关系型数据库管理系统的介绍.mp4
│ │ ├─ 03-数据库的安装.mp4
│ │ ├─ 04-数据类型和约束.mp4
│ │ ├─ 05-第10天知识点回顾.mp4
│ │ ├─ 06-Navicat的使用.mp4
│ │ ├─ 07-登录和退出MySQL数据库.mp4
│ │ ├─ 08-数据库操作的SQL语句.mp4
│ │ ├─ 09-表结构操作的SQL语句.mp4
│ │ ├─ 10-表数据操作的SQL语句.mp4
│ │ ├─ 11-as和distinct关键字.mp4
│ │ ├─ 12-where条件语句-比较运算符.mp4
│ │ ├─ 13-where条件语句-逻辑运算符.mp4
│ │ ├─ 14-where条件语句-模糊查询.mp4
│ │ ├─ 15-where条件语句-范围查询.mp4
│ │ ├─ 16-where条件语句-空判断查询.mp4
│ │ ├─ 17-排序.mp4
│ │ ├─ 18-分页查询.mp4
│ │ └─ 19-聚合函数.mp4
│ ├─ 【10】Mysql数据库的条件查询
│ │ ├─ 20-分组查询.mp4
│ │ ├─ 21-内连接查询.mp4
│ │ ├─ 22-左连接查询.mp4
│ │ ├─ 23-右连接查询.mp4
│ │ ├─ 24-自连接查询.mp4
│ │ ├─ 25-子查询.mp4
│ │ ├─ 26-远程登录mysql数据库(拓展).mp4
│ │ ├─ 27-第11天知识点回顾.mp4
│ │ ├─ 28-数据库设计之三范式的介绍.mp4
│ │ ├─ 29-E-R模型的介绍.mp4
│ │ ├─ 30-外键SQL语句的编写.mp4
│ │ └─ 31-演练-分组和聚合函数的组合使用.mp4
│ ├─ 【11】Mysql数据的高级使用
│ │ ├─ 32-将查询结果插入到其它表中.mp4
│ │ ├─ 33-使用连接更新表中某个字段数据.mp4
│ │ ├─ 34-创建表并给某个字段添加数据.mp4
│ │ ├─ 35-修改goods表结构.mp4
│ │ ├─ 36-pymysql的查询语句操作.mp4
│ │ ├─ 37-pymsql对数据库的增删改操作.mp4
│ │ ├─ 38-sql注入和防止sql注入.mp4
│ │ ├─ 39-pymysql防止sql注入的多个参数使用.mp4
│ │ ├─ 40-事务的介绍.mp4
│ │ ├─ 41-事务的使用.mp4
│ │ ├─ 42-第12天知识点回顾.mp4
│ │ ├─ 43-索引.mp4
│ │ └─ 44-联合索引.mp4
│ ├─ 【12】闭包和装饰器
│ │ ├─ 01-闭包.mp4
│ │ ├─ 02-闭包的使用.mp4
│ │ ├─ 03-修改闭包内使用的外部变量.mp4
│ │ ├─ 04-装饰器.mp4
│ │ ├─ 05-装饰器的使用.mp4
│ │ ├─ 06-通用的装饰器.mp4
│ │ ├─ 07-多个装饰器的使用.mp4
│ │ ├─ 08-带有参数的装饰器.mp4
│ │ ├─ 09-类装饰器.mp4
│ │ ├─ 10-第13天知识点回顾.mp4
│ │ ├─ 加薇898459190拉进资源群.jpg
│ │ └─ 迅雷app扫码进群,或者迅雷搜索群号:1142461721.jpg
│ ├─ 【13】mini-web框架
│ │ ├─ 01-web框架介绍.mp4
│ │ ├─ 02-web框架开发-获取处理结果.mp4
│ │ ├─ 03-web框架开发-拼接响应报文发送给浏览器.mp4
│ │ ├─ 04-模板替换功能.mp4
│ │ ├─ 05-路由列表的开发.mp4
│ │ ├─ 06-装饰器方式的添加路由.mp4
│ │ ├─ 07-显示股票信息页面的开发.mp4
│ │ ├─ 08-个人中心数据接口的开发.mp4
│ │ ├─ 09-ajax请求数据渲染个人中心页面.mp4
│ │ ├─ 10-logging日志.mp4
│ │ ├─ 11-logging日志在项目中使用.mp4
│ │ └─ 12-第14天知识点回顾.mp4
│ ├─ 【14】 正则表达式
│ │ ├─ 01-property属性-装饰器方式的使用.mp4
│ │ ├─ 02-property属性-类属性的方式使用.mp4
│ │ ├─ 03-with语句的使用.mp4
│ │ ├─ 04-自定义上下文管理器.mp4
│ │ ├─ 05-自定义上下文管理器-装饰器方式实现.mp4
│ │ ├─ 06-生成器的两种创建方式.mp4
│ │ ├─ 07-生成器的使用场景.mp4
│ │ ├─ 08-浅拷贝.mp4
│ │ ├─ 09-深拷贝.mp4
│ │ ├─ 10-正则表达式的介绍.mp4
│ │ ├─ 11-re模块的使用.mp4
│ │ ├─ 12-匹配单个字符.mp4
│ │ ├─ 13-匹配多个字符.mp4
│ │ ├─ 14-匹配开头和结尾.mp4
│ │ └─ 15-匹配分组.mp4
│ └─ 【15】python实用编程技巧进阶(附赠:建议学习)
│ ├─ 第2章 数据结构相关话题
│ │ ├─ 2-1 在列表,字典,集合中条件筛选数据.mov
│ │ ├─ 2-2 3 4命名,统计,字典.mov
│ │ ├─ 2-5 快速找到多个字典中公共键.mov
│ │ ├─ 2-6 让字典保持有序.mov
│ │ └─ 2-7 实现用户历史记录功能.mov
│ ├─ 第3章 迭代器与生成器相关话题
│ │ ├─ 3-1 2实现可迭代和迭代器对象.mov
│ │ ├─ 3-3 使用生成器函数实现迭代对象.mov
│ │ ├─ 3-4 5进行反向迭代及实现反向迭代.mov
│ │ └─ 3-6 在一个for语句中迭代多个可迭代对象.mov
│ ├─ 第4章 字符串处理相关话题
│ │ ├─ 4-1 拆分含有多种分割符字符串.mov
│ │ ├─ 4-2 3 判断字符串a是否以字符串b开头或结尾.mov
│ │ ├─ 4-4 将多个小字符串拼接成大字符串.mov
│ │ ├─ 4-5 将字符串左右居中对齐.mov
│ │ └─ 4-6 去掉字符串中不需要的字符.mov
│ ├─ 第5章 文件IO操作相关话题
│ │ ├─ 5-1 读取文本文件.mov
│ │ ├─ 5-2 处理二进制文件.mov
│ │ ├─ 5-3 4设置文件的缓冲及文件映射.mov
│ │ ├─ 5-5 访问文件的状态.mov
│ │ └─ 5-6 使用临时文件.mov
│ ├─ 第6章 数据编码与处理器相关话题
│ │ ├─ 6-1 如何读写csv数据.mov
│ │ ├─ 6-2 如何读写json数据.mov
│ │ ├─ 6-3 如何解析简单的xml文档.mov
│ │ ├─ 6-4 如何构建xml文档.mov
│ │ └─ 6-5 如何读写excel文件.mov
│ ├─ 第7章 类与对象相关话题
│ │ ├─ 7-1 派生内置不可以变类型并修改实例化行为.mov
│ │ ├─ 7-2 3创建大量实例节省内存及让对象支持上下管理.mov
│ │ ├─ 7-4 5创建可以管理的对象属性及让类支持比较操作.mov
│ │ ├─ 7-6 7使用描述符对实例属性做类型检查和在数据结构中管理内存 .mov
│ │ └─ 7-8 通过实例方法名字的字符串调用方法.mov
│ ├─ 第8章 多线程与多进程相关话题
│ │ ├─ 8-1 如何使用多线程.mov
│ │ ├─ 8-2 如何线程间通信.mov
│ │ ├─ 8-3 如何在线程间进行事件通知.mov
│ │ ├─ 8-4 如何使用线程本地数据.mov
│ │ ├─ 8-5 如何使用线程池.mov
│ │ └─ 8-6 如何使用多进程.mov
│ └─ 第10章【本套课程附带源代码】.7z
├─ 【3】python中高级课程(推荐)
│ ├─ 【01】商城项目1
│ │ ├─ 第10节 用户中心
│ │ │ ├─ 01-回顾.mp4
│ │ │ ├─ 01-回顾和反馈.mp4
│ │ │ ├─ 02-用户中心之收货地址-新增地址-定义用户地址模型类.mp4
│ │ │ ├─ 02-用户中心之添加和验证邮箱-定义发送邮件任务.mp4
│ │ │ ├─ 03-用户中心之收货地址-新增地址-接口设计和定义.mp4
│ │ │ ├─ 03-用户中心之添加和验证邮箱-发送邮箱验证邮件.mp4
│ │ │ ├─ 04-用户中心之收货地址-新增地址-保存地址数据.mp4
│ │ │ ├─ 04-用户中心之添加和验证邮箱-生成邮箱激活链接.mp4
│ │ │ ├─ 05-用户中心之收货地址-新增地址-保存地址数据时设置默认地址.mp4
│ │ │ ├─ 05-用户中心之添加和验证邮箱-Celery错误重试机制.mp4
│ │ │ ├─ 06-用户中心之收货地址-新增地址-响应新增地址数据.mp4
│ │ │ ├─ 06-用户中心之添加和验证邮箱-补充Celery worker的工作模式.mp4
│ │ │ ├─ 07-用户中心之收货地址-内容介绍.mp4
│ │ │ ├─ 07-用户中心之收货地址-新增地址-判断用户地址数量是否超过上限.mp4
│ │ │ ├─ 08-用户中心之收货地址-展示地址.mp4
│ │ │ ├─ 08-用户中心之收货地址-省市区三级联动-展示收货地址.mp4
│ │ │ ├─ 09-用户中心之收货地址-更新地址.mp4
│ │ │ ├─ 09-用户中心之收货地址-省市区三级联动-准备省市区模型和数据.mp4
│ │ │ ├─ 10-用户中心之内容介绍.mp4
│ │ │ ├─ 10-用户中心之收货地址-删除地址.mp4
│ │ │ ├─ 10-用户中心之收货地址-省市区三级联动-查询省市区数据接口设计.mp4
│ │ │ ├─ 11-用户中心之收货地址-省市区三级联动-查询省级模型列表.mp4
│ │ │ ├─ 11-用户中心之收货地址-设置默认地址.mp4
│ │ │ ├─ 11-用户中心之用户基本信息-逻辑分析.mp4
│ │ │ ├─ 12-用户中心之收货地址-更新地址标题.mp4
│ │ │ ├─ 12-用户中心之收货地址-省市区三级联动-将省级模型列表转成字典列表.mp4
│ │ │ ├─ 12-用户中心之用户基本信息-用户模型类补充email_active字段.mp4
│ │ │ ├─ 13-用户中心之收货地址-省市区三级联动-查询城市或区县数据.mp4
│ │ │ ├─ 13-用户中心之用户基本信息-查询并渲染用户基本信息.mp4
│ │ │ ├─ 14-用户中心之收货地址-省市区三级联动-缓存介绍.mp4
│ │ │ ├─ 14-用户中心之添加和验证邮箱-添加邮箱接口设计和定义.mp4
│ │ │ ├─ 15-用户中心之收货地址-省市区三级联动-缓存省市区数据.mp4
│ │ │ ├─ 15-用户中心之添加和验证邮箱-添加邮箱后端逻辑(未判断是否登录).mp4
│ │ │ ├─ 16-用户中心之添加和验证邮箱-Django发送邮件流程分析.mp4
│ │ │ ├─ 16-用户中心之添加和验证邮箱-添加邮箱后端逻辑(自定义LoginRequiredJSONMixin).mp4
│ │ │ ├─ 17-用户中心之添加和验证邮箱-准备发邮件服务器.mp4
│ │ │ └─ 18-内容总结.mp4
│ │ ├─ 第11节 商品数据库表设计
│ │ │ ├─ 01-商品之内容介绍.mp4
│ │ │ ├─ 02-商品之商品数据库表设计-SPU和SKU.mp4
│ │ │ ├─ 03-商品之商品数据库表设计-首页广告类别表分析.mp4
│ │ │ ├─ 04-商品之商品数据库表设计-首页广告数据库表迁移.mp4
│ │ │ ├─ 05-商品之商品数据库表设计-商品分类表分析.mp4
│ │ │ ├─ 06-商品之商品数据库表设计-商品品牌-SPU-SKU表分析.mp4
│ │ │ └─ 07-商品之商品数据库表设计-商品SKU-SKU图片表分析.mp4
│ │ ├─ 第12节 准备商品数据
│ │ │ ├─ 01-回顾和商品规格表分析.mp4
│ │ │ ├─ 02-商品之商品数据库表设计-商品数据库表迁移.mp4
│ │ │ ├─ 03-商品之准备商品数据-商品图片存储方案说明.mp4
│ │ │ ├─ 04-商品之准备商品数据-FastDFS架构和工作机制介绍.mp4
│ │ │ ├─ 05-商品之准备商品数据-FastDFS索引介绍.mp4
│ │ │ ├─ 06-商品之准备商品数据-Docker介绍.mp4
│ │ │ ├─ 07-商品之准备商品数据-Docker安装.mp4
│ │ │ ├─ 08-商品之准备商品数据-Docker镜像操作.mp4
│ │ │ ├─ 09-商品之准备商品数据-Docker容器操作.mp4
│ │ │ ├─ 10-商品之准备商品数据-Docker安装运行FastDFS.mp4
│ │ │ ├─ 11-商品之准备商品数据-FastDFS客户端上传文件-准备fdfs_client扩展包.mp4
│ │ │ ├─ 12-商品之准备商品数据-FastDFS客户端上传文件-使用方式演示.mp4
│ │ │ ├─ 13-商品之准备商品数据-FastDFS客户端上传文件-解决No space left on device.mp4
│ │ │ └─ 14-商品之准备商品数据-FastDFS客户端上传文件-录入商品数据和图片数据.mp4
│ │ ├─ 第13节 商品-首页广告
│ │ │ ├─ 01-回顾和反馈.mp4
│ │ │ ├─ 02-商品之首页广告-展示首页商品分类-二级和三级类别.mp4
│ │ │ ├─ 03-商品之首页广告-展示首页商品广告.mp4
│ │ │ ├─ 04-商品之首页广告-自定义Django文件存储类-Django文件存储类url()方法介绍.mp4
│ │ │ ├─ 05-商品之首页广告-自定义Django文件存储类-初步实现未优化.mp4
│ │ │ ├─ 06-反馈-没有默认地址页面出错.mp4
│ │ │ ├─ 07-商品之首页广告-自定义Django文件存储类-初始化方法优化完成.mp4
│ │ │ ├─ 08-商品之首页广告-展示首页商品分类-分析首页商品分类数据结构.mp4
│ │ │ └─ 09-商品之首页广告-展示首页商品分类-查询商品分类频道数据.mp4
│ │ ├─ 第14节 商品列表页
│ │ │ ├─ 01-反馈和回顾.mp4
│ │ │ ├─ 02-商品之商品列表页-渲染商品列表数据-分页和排序渲染.mp4
│ │ │ ├─ 03-商品之商品列表页-渲染商品列表数据-前端分页器渲染.mp4
│ │ │ ├─ 04-商品之商品列表页-查询和渲染商品热销排行.mp4
│ │ │ ├─ 05-商品之商品列表页-页面组成结构分析.mp4
│ │ │ ├─ 06-商品之商品列表页-接口设计和定义.mp4
│ │ │ ├─ 07-商品之商品列表页-封装获取商品分类的方法.mp4
│ │ │ ├─ 08-商品之商品列表页-查询面包屑导航.mp4
│ │ │ ├─ 09-商品之商品列表页-排序查询.mp4
│ │ │ └─ 10-商品之商品列表页-分页查询.mp4
│ │ ├─ 第15节 商品搜索
│ │ │ ├─ 01-商品之商品搜索-全文检索方案Elasticsearch-全文检索介绍和搜索引擎原理.mp4
│ │ │ ├─ 02-商品之商品搜索-全文检索方案Elasticsearch-Elasticsearch介绍和安装.mp4
│ │ │ ├─ 03-商品之商品搜索-全文检索方案Elasticsearch-Haystack介绍和安装配置.mp4
│ │ │ ├─ 04-商品之商品搜索-全文检索方案Elasticsearch-Haystack扩展建立索引.mp4
│ │ │ └─ 05-商品之商品搜索-查询和渲染搜索结果.mp4
│ │ ├─ 第16节 商品详情页
│ │ │ ├─ 01-反馈.mp4
│ │ │ ├─ 02-商品之商品详情页-列表页跳转到详情页.mp4
│ │ │ ├─ 03-商品之商品详情页-用户浏览记录-设计浏览记录存储方案.mp4
│ │ │ ├─ 04-商品之商品详情页-用户浏览记录-保存浏览记录.mp4
│ │ │ ├─ 05-商品之商品详情页-用户浏览记录-查询浏览记录.mp4
│ │ │ ├─ 06-商品之商品详情页-页面构造分析+接口设计和定义.mp4
│ │ │ ├─ 07-商品之商品详情页-展示详情页数据-商品分类+面包屑导航+热销排行.mp4
│ │ │ ├─ 08-商品之商品详情页-展示详情页数据-SKU和规格数据.mp4
│ │ │ ├─ 09-商品之商品详情页-统计分类商品的访问量-接口设计和定义.mp4
│ │ │ └─ 10-商品之商品详情页-统计分类商品的访问量-后端逻辑实现.mp4
│ │ ├─ 第17节 购物车
│ │ │ ├─ 01-回顾和反馈.mp4
│ │ │ ├─ 02-购物车之展示商品页面简单购物车-说明.mp4
│ │ │ ├─ 03-购物车之存储方案-登录用户购物车存储方案.mp4
│ │ │ ├─ 04-购物车之存储方案-未登录用户购物车存储方案.mp4
│ │ │ ├─ 05-购物车之购物车管理-保存购物车-接口设计和定义.mp4
│ │ │ ├─ 06-购物车之购物车管理-保存购物车-接受和校验参数.mp4
│ │ │ ├─ 07-购物车之购物车管理-保存购物车-判断用户是否登录.mp4
│ │ │ ├─ 08-购物车之购物车管理-保存购物车-用户已登录保存redis购物车.mp4
│ │ │ ├─ 09-购物车之购物车管理-保存购物车-用户未登录保存cookie购物车.mp4
│ │ │ ├─ 10-购物车之购物车管理-展示购物车-接口设计和定义.mp4
│ │ │ ├─ 11-购物车之购物车管理-展示购物车-用户已登录查询redis购物车.mp4
│ │ │ ├─ 12-购物车之购物车管理-展示购物车-用户已登录查询cookie购物车.mp4
│ │ │ ├─ 13-购物车之购物车管理-修改购物车-用户已登录修改redis购物车.mp4
│ │ │ ├─ 14-购物车之购物车管理-修改购物车-用户未登录修改cookie购物车.mp4
│ │ │ ├─ 15-购物车之购物车管理-删除购物车-用户已登录删除redis购物车.mp4
│ │ │ ├─ 16-购物车之购物车管理-删除购物车-用户未登录删除cookie购物车.mp4
│ │ │ ├─ 17-购物车之购物车管理-全选购物车-用户已登录全选redis购物车.mp4
│ │ │ ├─ 18-购物车之购物车管理-全选购物车-用户未登录全选cookie购物车.mp4
│ │ │ ├─ 19-购物车之购物车管理-合并购物车-业务逻辑分析和准备.mp4
│ │ │ └─ 20-购物车之购物车管理-合并购物车-业务逻辑实现(有BUG).mp4
│ │ ├─ 第18节 订单
│ │ │ ├─ 01-回顾和反馈.mp4
│ │ │ ├─ 02-订单之提交订单-MySQL事务隔离级别.mp4
│ │ │ ├─ 03-订单之结算订单-后端接口准.mp4
│ │ │ ├─ 04-订单之结算订单-后端逻辑实现.mp4
│ │ │ ├─ 05-订单之提交订单-保存订单基本信息.mp4
│ │ │ ├─ 06-订单之提交订单-保存订单商品信息.mp4
│ │ │ ├─ 07-订单之提交订单-展示提交订单成功页面.mp4
│ │ │ ├─ 08-订单之提交订单-Django中事务的使用.mp4
│ │ │ ├─ 09-订单之提交订单-使用事务保存订单数据.mp4
│ │ │ ├─ 10-订单之提交订单-并发下单问题演示和解决方案.mp4
│ │ │ └─ 11-订单之提交订单-使用乐观锁并发下单.mp4
│ │ ├─ 第19节 对接支付宝
│ │ │ ├─ 01-支付之支付宝介绍-沙箱应用介绍.mp4
│ │ │ ├─ 02-支付之支付宝介绍-快速接入介绍.mp4
│ │ │ ├─ 03-支付之支付宝介绍-SDK和API.mp4
│ │ │ ├─ 04-支付之支付宝介绍-配置密钥.mp4
│ │ │ ├─ 05-支付之对接支付宝系统-订单支付.mp4
│ │ │ └─ 06-支付之对接支付宝系统-保存订单支付结果.mp4
│ │ ├─ 第1节 商城项目准备
│ │ │ ├─ 01项目简介.mp4
│ │ │ ├─ 02-项目准备之项目开发流程.mp4
│ │ │ ├─ 03-项目准备之项目需求分析-需求分析.mp4
│ │ │ ├─ 04-项目准备之项目需求分析-归纳主要模块.mp4
│ │ │ ├─ 05-项目准备之项目架构设计-项目开发模式.mp4
│ │ │ ├─ 06-项目准备之项目介绍-项目架构设计.mp4
│ │ │ ├─ 07-项目准备之工程创建和配置-创建工程-创建远程仓库.mp4
│ │ │ ├─ 08-项目准备之工程创建和配置-创建工程-创建美多商城工程.mp4
│ │ │ ├─ 09-项目准备之工程创建和配置-配置开发环境.mp4
│ │ │ ├─ 10-项目准备之工程创建和配置-配置Jinja2模板引擎.mp4
│ │ │ ├─ 11-项目准备之工程创建和配置-配置MySQL数据库.mp4
│ │ │ ├─ 12-项目准备之工程创建和配置-配置Redis数据库.mp4
│ │ │ ├─ 13-项目准备之工程创建和配置-配置工程日志.mp4
│ │ │ ├─ 14-项目准备之工程创建和配置-Git管理日志文件.mp4
│ │ │ ├─ 15-项目准备之工程创建和配置-配置前端静态文件.mp4
│ │ │ └─ 16-项目准备之小结.mp4
│ │ ├─ 第20节 性能优化
│ │ │ ├─ 07-性能优化之页面静态化介绍.mp4
│ │ │ ├─ 08-性能优化之首页广告页面静态化-工具方法静态化实现.mp4
│ │ │ ├─ 09-性能优化之首页广告页面静态化-定时任务静态化首页.mp4
│ │ │ ├─ 10-性能优化之商品详情页面静态化-静态化方案说明.mp4
│ │ │ ├─ 11-性能优化之商品详情页面静态化-python脚本批量静态化.mp4
│ │ │ ├─ 12-性能优化之MySQL读写分离-MySQL主从同步介绍.mp4
│ │ │ ├─ 13-性能优化之MySQL读写分离-Docker安装运行MySQL从机.mp4
│ │ │ ├─ 14-性能优化之MySQL读写分离-实现冷备份.mp4
│ │ │ ├─ 15-性能优化之MySQL读写分离-实现热备份.mp4
│ │ │ ├─ 16-性能优化之MySQL读写分离-Django实现MySQL读写分离.mp4
│ │ │ └─ 17-商品规格解析.mp4
│ │ ├─ 第2节 用户模型类
│ │ │ ├─ 01-用户注册之展示用户注册页面-创建用户模块子应用.mp4
│ │ │ ├─ 02-用户注册之展示用户注册页面和子应用-总结.mp4
│ │ │ ├─ 03-用户注册之展示用户注册页面-追加导包路径.mp4
│ │ │ ├─ 04-用户注册之展示用户注册页面.mp4
│ │ │ ├─ 05-用户注册之用户模型类-Django默认用户认证系统.mp4
│ │ │ ├─ 06-用户注册之用户模型类-Django默认用户模型类.mp4
│ │ │ ├─ 07-用户注册之用户模型类-自定义用户模型类.mp4
│ │ │ └─ 08-用户注册之用户模型类-迁移自定义用户模型类.mp4
│ │ ├─ 第3节 用户注册前端
│ │ │ ├─ 09-用户注册之用户注册业务实现-内容介绍.mp4
│ │ │ ├─ 10-用户注册之用户注册业务实现-用户注册业务逻辑分析.mp4
│ │ │ ├─ 11-用户注册之用户注册业务实现-用户注册接口设计和定义.mp4
│ │ │ ├─ 12-用户注册之用户注册业务实现-用户注册前端逻辑-Vue和HTML(用户名和密码).mp4
│ │ │ ├─ 13-用户注册之用户注册业务实现-用户注册前端逻辑-Vue和HTML(其他数据).mp4
│ │ │ ├─ 14-用户注册之用户注册业务实现-用户注册前端逻辑-Vue和JS(绑定数据变量).mp4
│ │ │ ├─ 15-用户注册之用户注册业务实现-用户注册前端逻辑-修改Vue读取变量的语法.mp4
│ │ │ ├─ 16-用户注册之用户注册业务实现--用户注册前端逻辑小结.mp4
│ │ │ └─ 17-内容总结.mp4
│ │ ├─ 第4节 用户注册后端
│ │ │ ├─ 01-回顾和反馈.mp4
│ │ │ ├─ 02-用户注册之用户注册业务实现-用户注册后端逻辑-接收参数.mp4
│ │ │ ├─ 03-用户注册之用户注册业务实现-用户注册后端逻辑-校验参数.mp4
│ │ │ ├─ 04-用户注册之用户注册业务实现-用户注册后端逻辑-保存注册数据.mp4
│ │ │ ├─ 05-用户注册之用户注册业务实现-用户注册后端逻辑-响应结果.mp4
│ │ │ ├─ 06-用户注册之用户注册业务实现-用户注册后端逻辑-渲染错误提示信息.mp4
│ │ │ ├─ 07-用户注册之用户注册业务实现-用户注册后端逻辑-实现状态保持.mp4
│ │ │ ├─ 08-用户注册之用户注册业务实现-用户名重复注册-逻辑分析.mp4
│ │ │ ├─ 09-用户注册之用户注册业务实现-用户名重复注册-接口设计和定义.mp4
│ │ │ ├─ 10-用户注册之用户注册业务实现-用户名重复注册-后端逻辑实现.mp4
│ │ │ ├─ 11-用户注册之用户注册业务实现-用户名重复注册-前端逻辑实现.mp4
│ │ │ └─ 12-内容总结.mp4
│ │ ├─ 第5节 图片验证码
│ │ │ └─ 04-验证码之图形验证码-过期时间数字处理.mp4
│ │ ├─ 第6节 短信验证码
│ │ │ ├─ 01-验证码之短信验证码-内容介绍.mp4
│ │ │ ├─ 02-验证码之短信验证码-业务逻辑分析.mp4
│ │ │ ├─ 03-验证码之短信验证码-容联云通讯-短信平台介绍.mp4
│ │ │ ├─ 04-验证码之短信验证码-容联云通讯-短信SDK测试.mp4
│ │ │ ├─ 05-验证码之短信验证码-容联云通讯-封装发送短信单例类.mp4
│ │ │ ├─ 06-验证码之短信验证码-容联云通讯-封装发送短信验证码的单例方法.mp4
│ │ │ ├─ 07-验证码之短信验证码-后端逻辑-接口设计和定义.mp4
│ │ │ ├─ 08-验证码之短信验证码-后端逻辑-接受和校验参数.mp4
│ │ │ ├─ 09-验证码之短信验证码-后端逻辑-对比图形验证码.mp4
│ │ │ ├─ 10-验证码之短信验证码-后端逻辑-发送短信验证码.mp4
│ │ │ ├─ 11-回顾和反馈.mp4
│ │ │ ├─ 12-验证码之短信验证码-前端逻辑-axios发送Ajax请求获取短信验证码.mp4
│ │ │ ├─ 13-验证码之短信验证码-前端逻辑-代码优化.mp4
│ │ │ ├─ 14-验证码之短信验证码-前端逻辑-展示60秒倒计时.mp4
│ │ │ ├─ 15-验证码之短信验证码-手动输出日志记录短信验证码.mp4
│ │ │ ├─ 16-验证码之短信验证码-补充注册时短信验证逻辑.mp4
│ │ │ ├─ 17-验证码之短信验证码-避免频繁发送短信验证码-逻辑分析.mp4
│ │ │ ├─ 18-验证码之短信验证码-避免频繁发送短信验证码-前后端逻辑实现.mp4
│ │ │ └─ 19-验证码之短信验证码-pipeline操作Redis数据库.mp4
│ │ ├─ 第7节 异步发送短信验证码
│ │ │ ├─ 01-验证码之异步方案Celery-生产者消费者设计模式介绍.mp4
│ │ │ ├─ 02-验证码之异步方案Celery-Celery介绍.mp4
│ │ │ ├─ 03-验证码之异步方案Celery-Celery使用-创建Celery实例并加载配置.mp4
│ │ │ ├─ 04-验证码之异步方案Celery-Celery使用-定义发送短信任务.mp4
│ │ │ ├─ 05-验证码之异步方案Celery-Celery使用-启动Celery.mp4
│ │ │ ├─ 06-验证码之异步方案Celery-Celery使用-调用发送短信任务.mp4
│ │ │ └─ 07-验证码之异步方案Celery-小结.mp4
│ │ ├─ 第8节 用户登录
│ │ │ ├─ 01-用户登录之内容介绍.mp4
│ │ │ ├─ 02-用户登录之用户名登录之业务逻辑分析.mp4
│ │ │ ├─ 03-用户登录之用户名登录-接口设计和定义.mp4
│ │ │ ├─ 04-用户登录之用户名登录-后端逻辑.mp4
│ │ │ ├─ 05-用户登录之用户认证原理分析.mp4
│ │ │ ├─ 06-用户登录之多账号登录-自定义用户认证后端.mp4
│ │ │ ├─ 07-回顾和反馈.mp4
│ │ │ ├─ 08-用户登录之首页用户名展示-方案介绍.mp4
│ │ │ ├─ 09-用户登录之首页用户名展示-方案实现.mp4
│ │ │ ├─ 10-用户登录之退出登录.mp4
│ │ │ ├─ 11-用户登录之判断用户是否登录-展示用户中心页面.mp4
│ │ │ ├─ 12-用户登录之判断用户是否登录-LoginRequiredMixin使用.mp4
│ │ │ └─ 13-用户登录之判断用户是否登录-LoginRequiredMixin中next参数的使用.mp4
│ │ └─ 第9节 qq登录
│ │ ├─ 01-回顾和反馈.mp4
│ │ ├─ 02-openid绑定用户流程.mp4
│ │ ├─ 03-用户登录之QQ登录-openid是否绑定用户的处理-判断openid是否绑定过用户.mp4
│ │ ├─ 04-用户登录之QQ登录-openid是否绑定用户的处理-openid已绑定用户的处理-直接登入美多商城.mp4
│ │ ├─ 05-用户登录之QQ登录-openid是否绑定用户的处理-openid未绑定用户的处理-展示绑定用户页面.mp4
│ │ ├─ 06-用户登录之QQ登录-openid是否绑定用户的处理-openid未绑定用户的处理-openid渲染到页面.mp4
│ │ ├─ 07-用户登录之QQ登录-openid是否绑定用户的处理-openid未绑定用户的处理-openid序列化.mp4
│ │ ├─ 08-用户登录之QQ登录-openid是否绑定用户的处理-openid未绑定用户的处理-判断openid是否有效.mp4
│ │ ├─ 08-用户登录之QQ登录-内容和效果说明.mp4
│ │ ├─ 09-用户登录之QQ登录-openid是否绑定用户的处理-openid未绑定用户的处理-openid绑定美多商城用户.mp4
│ │ ├─ 09-用户登录之QQ登录-开发文档-获取Authorization Code.mp4
│ │ ├─ 10-用户登录之QQ登录-开发文档-通过Authorization Code获取Access Token.mp4
│ │ ├─ 11-用户登录之QQ登录-开发文档-通过Access Token获取OpenID.mp4
│ │ ├─ 12-用户登录之QQ登录-开发文档-QQ登录流程分析.mp4
│ │ ├─ 13-用户登录之QQ登录-定义QQ登录模型类.mp4
│ │ ├─ 14-QQ登录工具QQLoginTool.mp4
│ │ ├─ 15-用户登录之QQ登录-OAuth2.0认证获取openid-获取QQ登录扫码页面.mp4
│ │ ├─ 16-用户登录之QQ登录-OAuth2.0认证获取openid-配置域名.mp4
│ │ ├─ 17-用户登录之QQ登录-OAuth2.0认证获取openid-获取code.mp4
│ │ ├─ 18-用户登录之QQ登录-OAuth2.0认证获取openid-获取access_token和openid.mp4
│ │ └─ 19-内容总结.mp4
│ ├─ 【02】DRF框架
│ │ ├─ 第1节 Django REST framework 简介
│ │ │ ├─ 1-项目介绍.mp4
│ │ │ ├─ 2-前后端分离和不分离的说明.mp4
│ │ │ ├─ 3-前后端分离和不分离的过程演示.mp4
│ │ │ ├─ 4-web接口的定义说明.mp4
│ │ │ ├─ 5-restful风格接口说明.mp4
│ │ │ └─ 6-restful风格接口定义和使用.mp4
│ │ ├─ 第2节 序列化和反序列化
│ │ │ ├─ 1-回顾.mp4
│ │ │ ├─ 10-保存图书的代码实现.mp4
│ │ │ ├─ 10-反序列化的更新方法的使用.mp4
│ │ │ ├─ 11-模型类序列化器的使用.mp4
│ │ │ ├─ 11-获取单一数据,更新,删除代码实现.mp4
│ │ │ ├─ 12-修改增加选项参数的使用.mp4
│ │ │ ├─ 12-序列化和反序列化说明.mp4
│ │ │ ├─ 13-drf介绍.mp4
│ │ │ ├─ 13-模型类序列化器和一般序列化器的对比.mp4
│ │ │ ├─ 14-序列化的基本使用.mp4
│ │ │ ├─ 14-总结.mp4
│ │ │ ├─ 15-源代码说明.mp4
│ │ │ ├─ 2-美多商城简单回顾.mp4
│ │ │ ├─ 3-面向对象回顾.mp4
│ │ │ ├─ 4-嵌套序列化返回的使用.mp4
│ │ │ ├─ 5-选项参数验证的使用.mp4
│ │ │ ├─ 6-read_only和write_only的使用.mp4
│ │ │ ├─ 7-图书数据导入.mp4
│ │ │ ├─ 7-自定义验证方法的使用.mp4
│ │ │ ├─ 8-反序列化验证使用小结.mp4
│ │ │ ├─ 8-图书增删改查的接口定义.mp4
│ │ │ ├─ 9-反序列化保存方法的使用.mp4
│ │ │ └─ 9-获取所有图书的代码实现.mp4
│ │ ├─ 第3节 视图
│ │ │ ├─ 1-回顾.mp4
│ │ │ ├─ 10-自定义方法路由匹配规则说明.mp4
│ │ │ ├─ 11-genericviewset的使用.mp4
│ │ │ ├─ 12-modelviewset的使用.mp4
│ │ │ ├─ 13-自定生成路由的方法使用.mp4
│ │ │ ├─ 14-action装饰器的使用.mp4
│ │ │ ├─ 15-SimpleRouter和DefaultRouter的区别说明.mp4
│ │ │ ├─ 16-self.action属性的说明.mp4
│ │ │ ├─ 17-drf框架封装演示说明.mp4
│ │ │ ├─ 18-总结.mp4
│ │ │ ├─ 2-两个基本类视图的说明.mp4
│ │ │ ├─ 3-APIView的使用.mp4
│ │ │ ├─ 4-genericaoiview的使用.mp4
│ │ │ ├─ 5-五个拓展类的说明.mp4
│ │ │ ├─ 6-拓展类的使用.mp4
│ │ │ ├─ 7-拓展类的子类使用.mp4
│ │ │ ├─ 8-视图集的说明.mp4
│ │ │ └─ 9-viewset的使用.mp4
│ │ ├─ 第4节 其他功能
│ │ │ ├─ 1-回顾.mp4
│ │ │ ├─ 10-自动生成接口文档.mp4
│ │ │ ├─ 2-其他功能介绍.mp4
│ │ │ ├─ 3-requests模块简单使用.mp4
│ │ │ ├─ 4-认证和权限的使用.mp4
│ │ │ ├─ 5-限流的使用.mp4
│ │ │ ├─ 6-过滤的使用.mp4
│ │ │ ├─ 7-排序使用.mp4
│ │ │ ├─ 8-分页使用.mp4
│ │ │ └─ 9-异常处理.mp4
│ │ └─ 第5节 vue组件
│ │ ├─ 1-回顾.mp4
│ │ ├─ 11-vue的简单回顾.mp4
│ │ ├─ 12-全局组件的使用.mp4
│ │ ├─ 13-局部组件使用.mp4
│ │ ├─ 14-组件的数据绑定.mp4
│ │ ├─ 15-父组件给子组件传值.mp4
│ │ ├─ 16-子组件给父组件传值.mp4
│ │ ├─ 17-多个组件间的使用.mp4
│ │ ├─ 18-单文件组件介绍.mp4
│ │ ├─ 19-单文件组件使用.mp4
│ │ ├─ 2-多个单文件组件嵌套使用.mp4
│ │ ├─ 3-多个单问价你组件的路由的使用.mp4
│ │ ├─ 4-emelent-ui的使用.mp4
│ │ ├─ 5-vue-cli的使用说明.mp4
│ │ └─ 6-dist的使用说明.mp4
│ ├─ 【03】商城后台
│ │ ├─ 第1节 项目环境搭建
│ │ │ ├─ 1-后台功能效果展示 .mp4
│ │ │ ├─ 2-代码仓库的创建 .mp4
│ │ │ ├─ 3-数据的导入 .mp4
│ │ │ └─ 4-后台应用的创建 .mp4
│ │ ├─ 第2节 管理员登录
│ │ │ ├─ 1-回顾 .mp4
│ │ │ ├─ 11-跨域问题的解决 .mp4
│ │ │ ├─ 12-session机制的说明 .mp4
│ │ │ ├─ 13-token机制的说明 .mp4
│ │ │ ├─ 14-jwt-token的构成 .mp4
│ │ │ ├─ 15-签证信息部分说明 .mp4
│ │ │ ├─ 16-jwt-token的优点说明 .mp4
│ │ │ ├─ 17-算法说明 .mp4
│ │ │ ├─ 18-总结回顾 .mp4
│ │ │ ├─ 2-登录业务逻辑分析 .mp4
│ │ │ ├─ 3-JWT实现登录功能 .mp4
│ │ │ ├─ 4-urls模版文件的配置 .mp4
│ │ │ ├─ 5-paycharm远程开发 .mp4
│ │ │ ├─ 6-重写JWT返回结果方法 .mp4
│ │ │ ├─ 7-增加后台登录业务逻辑 .mp4
│ │ │ ├─ 8-前端token值得保存和获取 .mp4
│ │ │ └─ 9-验证方法的说明 .mp4
│ │ ├─ 第3节 数据统计
│ │ │ ├─ 10-用户总量统计分析 .mp4
│ │ │ ├─ 11-用户总量统计的实现 .mp4
│ │ │ ├─ 12-日增用户代码实现 .mp4
│ │ │ ├─ 13-日活用户统计 .mp4
│ │ │ ├─ 14-下单用户统计 .mp4
│ │ │ ├─ 15-日期比对说明 .mp4
│ │ │ ├─ 16-月增用户的统计分析 .mp4
│ │ │ ├─ 17-月增用户代码实现 .mp4
│ │ │ └─ 18-日分类访问量统计 .mp4
│ │ ├─ 第4节 用户管理
│ │ │ ├─ 1-回顾 .mp4
│ │ │ ├─ 10-改写create方法完成密码加密 .mp4
│ │ │ ├─ 2-获取用户数据的逻辑分析 .mp4
│ │ │ ├─ 3-获取用户数据的代码实现 .mp4
│ │ │ ├─ 4-改写分页器返回结方法 .mp4
│ │ │ ├─ 5-改写获取查询集的方法 .mp4
│ │ │ ├─ 6-保存用户的逻辑分析 .mp4
│ │ │ ├─ 7-保存用户数据的代码实现 .mp4
│ │ │ └─ 9-改写序列化器完成保存验证 .mp4
│ │ ├─ 第5节 商品管理
│ │ │ ├─ 1-回顾 .mp4
│ │ │ ├─ 1-回顾_1 .mp4
│ │ │ ├─ 10-sku表的功能分析 .mp4
│ │ │ ├─ 11-保存sku表---获取sku三级分类数据 .mp4
│ │ │ ├─ 11-规格表逻辑分析 .mp4
│ │ │ ├─ 12-保存sku表数据---获取回个信息的分析 .mp4
│ │ │ ├─ 12-获取规格表数据 .mp4
│ │ │ ├─ 13-改写序列化器返回规格表数据 .mp4
│ │ │ ├─ 13-获取规格信息的代码实现 .mp4
│ │ │ ├─ 14-获取spu表数据的逻辑分析 .mp4
│ │ │ ├─ 15-获取spu表数据的代码实现 .mp4
│ │ │ ├─ 16-获取图片表数据的代码实现 .mp4
│ │ │ ├─ 2-保存sku时修改序列化器字段 .mp4
│ │ │ ├─ 2-保存图片--获取sku数据 .mp4
│ │ │ ├─ 3-保存图片功能分析 .mp4
│ │ │ ├─ 3-商品规格信息获取的说明 .mp4
│ │ │ ├─ 4-fastDFS的客户端的使用 .mp4
│ │ │ ├─ 4-使用事务保存sku数据 .mp4
│ │ │ ├─ 5-保存业务逻辑的代码实现 .mp4
│ │ │ ├─ 5-获取sku详情信息的逻辑分析 .mp4
│ │ │ ├─ 6-使用事务更新sku表 .mp4
│ │ │ ├─ 6-保存上传图片代码封装序列化器 .mp4
│ │ │ ├─ 7-更新和删除的业务逻辑实现 .mp4
│ │ │ ├─ 7-查询sku数据的代码实现 .mp4
│ │ │ ├─ 8-异步调用生成静态页面的方法 .mp4
│ │ │ ├─ 8-详情页静态化异步任务方法的封装 .mp4
│ │ │ └─ 9-异步任务的使用 .mp4
│ │ └─ 第7节 系统管理
│ │ ├─ 1-回顾 .mp4
│ │ ├─ 10-部署-项目文件的上传及nginx的配置文件修改 .mp4
│ │ ├─ 11-查看nginx连接信息配置静态页面 .mp4
│ │ ├─ 12-获取权限表数据代码实现 .mp4
│ │ ├─ 12-配置uwsgi启动django服务 .mp4
│ │ ├─ 13-整体回顾 .mp4
│ │ ├─ 13-重新打包前端文件,配置nginx静态服务 .mp4
│ │ ├─ 2-获取权限类类型的代码实现 .mp4
│ │ ├─ 3-权限表的保存和更新代码实现 .mp4
│ │ ├─ 4-分组表的数据的获取 .mp4
│ │ ├─ 5-分组表获取权限信息 .mp4
│ │ ├─ 6-管理员用户的数据获取 .mp4
│ │ ├─ 7-获取管理员分组信息 .mp4
│ │ ├─ 8-保存更新管理员用户 .mp4
│ │ └─ 9-后台简单回顾 .mp4
│ ├─ 【04】项目部署
│ │ ├─ 第1节 项目部署基础
│ │ │ ├─ 1-回顾总结.mp4
│ │ │ ├─ 2-项目周期的介绍.mp4
│ │ │ └─ 3-部署流程说明.mp4
│ │ ├─ 第2节 nginx
│ │ │ ├─ 10-alias和root的使用.mp4
│ │ │ ├─ 11-访问权限的控制.mp4
│ │ │ ├─ 12-反向代理的使用.mp4
│ │ │ ├─ 13-负载均衡的使用.mp4
│ │ │ ├─ 14-日志的使用.mp4
│ │ │ ├─ 4-nginx的介绍.mp4
│ │ │ ├─ 5-nginx的安装及目录介绍.mp4
│ │ │ ├─ 6-远程连接配置.mp4
│ │ │ ├─ 7-nginx配置段说明.mp4
│ │ │ ├─ 8-路径匹配优先级说明.mp4
│ │ │ └─ 9-try_fiels和rerurn的使用.mp4
│ │ ├─ 第3节 Docker
│ │ │ ├─ 1-回顾 .mp4
│ │ │ ├─ 10-docker部署流程演示 .mp4
│ │ │ ├─ 11-docker部署流程回顾 .mp4
│ │ │ ├─ 12-私有仓库的搭建 .mp4
│ │ │ ├─ 13-数据卷的使用 .mp4
│ │ │ ├─ 14-数据卷容器的使用 .mp4
│ │ │ ├─ 15-数据操作指令 .mp4
│ │ │ ├─ 16-网络管理 .mp4
│ │ │ ├─ 17-小结 .mp4
│ │ │ ├─ 2-add和copy属性的使用 .mp4
│ │ │ ├─ 2-docker的介绍 .mp4
│ │ │ ├─ 3-docker的安装及目录介绍 .mp4
│ │ │ ├─ 4-docker加速器的配置 .mp4
│ │ │ ├─ 5-docker镜像资源的操作 .mp4
│ │ │ ├─ 6-域名解析说明 .mp4
│ │ │ ├─ 7-doker的容器的操作 .mp4
│ │ │ ├─ 8-脚本形式批量删除 .mp4
│ │ │ └─ 9-镜像和容器的小结 .mp4
│ │ ├─ 第4节 Docker进阶
│ │ │ ├─ 1-回顾 .mp4
│ │ │ ├─ 2-add和copy属性的使用 .mp4
│ │ │ ├─ 3-run和env的使用 .mp4
│ │ │ ├─ 4-workdir的使用 .mp4
│ │ │ ├─ 5-expose和entrypoint使用 .mp4
│ │ │ ├─ 6-docker部署流程演示 .mp4
│ │ │ ├─ 7-共享网络说明 .mp4
│ │ │ └─ 8-dockerfile的介绍及简单使用 .mp4
│ │ └─ 第5节 部署
│ │ ├─ 01-项目架构演变说明 .mp4
│ │ ├─ 02-运营术语说明 .mp4
│ │ ├─ 03-网站优化分析 .mp4
│ │ ├─ 04-实训说明 .mp4
│ │ └─ 05-项目拓展 .mp4
│ ├─ 【05】flask框架
│ │ ├─ 第1节 flask工程搭建和配置
│ │ │ ├─ 01_学习方法与学习目标.mp4
│ │ │ ├─ 02_Flask框架介绍.mp4
│ │ │ ├─ 03_框架对比.mp4
│ │ │ ├─ 04_环境安装 .mp4
│ │ │ ├─ 05_helloworld程序编写 .mp4
│ │ │ ├─ 06_Flask对象初始化参数 .mp4
│ │ │ ├─ 07_Flask对象初始化参数2 .mp4
│ │ │ ├─ 08_Flask工程配置加载的方式 .mp4
│ │ │ ├─ 09_从配置对象与配置文件加载 .mp4
│ │ │ ├─ 10_从环境变量加载配置 .mp4
│ │ │ ├─ 11_工程中Flask配置的实践方法 .mp4
│ │ │ ├─ 12_工程中Flask配置实践方法演示bug的解决说明 .mp4
│ │ │ ├─ 13_flask新版运行方式 .mp4
│ │ │ └─ 14_Pycharm运行新版flask方式 .mp4
│ │ ├─ 第2节 路由和蓝图
│ │ │ ├─ 15_Flask查询路由的方式 .mp4
│ │ │ ├─ 16_构造获取全部路由信息的接口 .mp4
│ │ │ ├─ 17_options请求方式与CORS跨域解决原理 .mp4
│ │ │ ├─ 18_使用methods限制请求方式 .mp4
│ │ │ ├─ 19_蓝图说明 .mp4
│ │ │ ├─ 20_蓝图的定义 .mp4
│ │ │ └─ 21_蓝图扩展与总结 .mp4
│ │ ├─ 第3节 请求和响应
│ │ │ ├─ 01_复习 .mp4
│ │ │ ├─ 02_问题说明 .mp4
│ │ │ ├─ 03_url路径参数获取 .mp4
│ │ │ ├─ 04_转换器的使用 .mp4
│ │ │ ├─ 05_request对象的使用 .mp4
│ │ │ ├─ 06_模板响应 .mp4
│ │ │ ├─ 07_重定向与jsonify .mp4
│ │ │ ├─ 08_构造响应状态码和响应头 .mp4
│ │ │ ├─ 09_cookie使用 .mp4
│ │ │ └─ 10_session使用 .mp4
│ │ └─ 第4节 请求钩子和上下文
│ │ ├─ 11_abort的使用 .mp4
│ │ ├─ 12_异常捕获处理 .mp4
│ │ ├─ 13_中间件说明 .mp4
│ │ ├─ 14_请求钩子的使用 .mp4
│ │ ├─ 15_上下文背景说明 .mp4
│ │ ├─ 16_current_app使用 .mp4
│ │ ├─ 17_g对象的使用 .mp4
│ │ ├─ 18_综合认证设计思路 .mp4
│ │ ├─ 19_综合认证实现 .mp4
│ │ ├─ 20_独立使用Flask上下文的方式 .mp4
│ │ └─ 21_原理扩展与作业说明 .mp4
│ ├─ 【06】头条项目2
│ │ ├─ 第10节 APScheduler定时任务
│ │ │ ├─ 01_复习与每日反馈.mp4
│ │ │ ├─ 02_修正统计数据的定时任务背景与思路.mp4
│ │ │ ├─ 03_认识APScheduler.mp4
│ │ │ ├─ 04_触发器_执行器_存储器_调度器说明.mp4
│ │ │ ├─ 05_创建头条定时任务的启动文件.mp4
│ │ │ ├─ 06_定时任务的其他操作方法说明.mp4
│ │ │ ├─ 07_修正统计数据定时任务数据库查询编写.mp4
│ │ │ ├─ 08_修正统计数据redis设置编写.mp4
│ │ │ ├─ 09_改写使用继承方式复用代码.mp4
│ │ │ ├─ 10_在定时任务中补充Flask运行环境说明.mp4
│ │ │ ├─ 11_添加Flask应用上下文环境.mp4
│ │ │ ├─ 12_定时任务测试.mp4
│ │ │ └─ 13_关于导包路径的说明.mp4
│ │ ├─ 第11节 RPC
│ │ │ ├─ 01_复习与每日反馈.mp4
│ │ │ ├─ 02_rpc说明.mp4
│ │ │ ├─ 03_使用protobuf定义推荐接口.mp4
│ │ │ ├─ 04_protobuf语法.mp4
│ │ │ ├─ 05_编辑生成python代码.mp4
│ │ │ ├─ 06_rpc接口服务端调用方法代码实现.mp4
│ │ │ ├─ 07_rpc接口服务端服务器代码编写.mp4
│ │ │ ├─ 08_rpc接口客户端调用编写与测试.mp4
│ │ │ ├─ 09_头条项目首页接口rpc调用编写.mp4
│ │ │ ├─ 14_RPC的背景.mp4
│ │ │ ├─ 15_RPC通讯的底层过程.mp4
│ │ │ ├─ 16_gRPC说明.mp4
│ │ │ ├─ 17_使用RPC的方法.mp4
│ │ │ ├─ 18_APScheduler总结说明.mp4
│ │ │ ├─ 19_修正统计数据的定时任务的第二种实现(推荐).mp4
│ │ │ └─ 20_日志说明.mp4
│ │ ├─ 第12节 即时通讯
│ │ │ ├─ 01_复习与每日反馈.mp4
│ │ │ ├─ 02_socketio服务器api函数使用说明.mp4
│ │ │ ├─ 03_socketio服务器编写.mp4
│ │ │ ├─ 04_聊天事件处理编写.mp4
│ │ │ ├─ 05_服务器代码结构调整.mp4
│ │ │ ├─ 06_调试工具的使用与演示.mp4
│ │ │ ├─ 07_用户关注业务包含消息推送的完整流程分析.mp4
│ │ │ ├─ 08_socketio服务器与flask中使用消息队列管理对象的方法.mp4
│ │ │ ├─ 09_引入rabbimq的说明及关注通知需要用户身份的分析.mp4
│ │ │ ├─ 10_即时通信说明介绍.mp4
│ │ │ ├─ 10_通知推送场景的socketio服务编写.mp4
│ │ │ ├─ 11_关注通知推送的演示.mp4
│ │ │ ├─ 11_在线推送技术说明.mp4
│ │ │ ├─ 12_websocket与tcp和http的关系.mp4
│ │ │ ├─ 13_socketio介绍.mp4
│ │ │ ├─ 14_socketio服务器选择.mp4
│ │ │ └─ 15_协程.mp4
│ │ ├─ 第13节 Elasticsearch
│ │ │ ├─ 01_复习与每日反馈.mp4
│ │ │ ├─ 02_es课程知识说明.mp4
│ │ │ ├─ 03_ik中文分析器使用.mp4
│ │ │ ├─ 03_索引库的增删查.mp4
│ │ │ ├─ 04_索引库类型映射的创建与查询.mp4
│ │ │ ├─ 05_索引库类型映射修改的方法.mp4
│ │ │ ├─ 06_文档数据的增删改查.mp4
│ │ │ ├─ 07_logstash导入工具使用.mp4
│ │ │ ├─ 08_基本查询方法.mp4
│ │ │ ├─ 09_高级查询方法.mp4
│ │ │ ├─ 10_python直接操作elasticsearch的方法.mp4
│ │ │ ├─ 11_文章搜索接口实现.mp4
│ │ │ ├─ 12_elasticsearch简介.mp4
│ │ │ ├─ 12_es库中数据新增的问题.mp4
│ │ │ ├─ 13_倒排索引原理.mp4
│ │ │ ├─ 13_创建自动补全索引库.mp4
│ │ │ ├─ 14_分析标准化与相关性排序说明.mp4
│ │ │ ├─ 14_自动补全的使用与实现.mp4
│ │ │ └─ 15_elasticsearch集群说明与curl使用.mp4
│ │ ├─ 第14节 单元测试
│ │ │ ├─ 15_单元测试与断言assert使用.mp4
│ │ │ ├─ 16_单元测试的编写思路.mp4
│ │ │ ├─ 17_搜索建议接口单元测试编写.mp4
│ │ │ └─ 18_单元测试总结.mp4
│ │ ├─ 第1节 项目介绍
│ │ │ ├─ 01_复习.mp4
│ │ │ ├─ 02_每日反馈.mp4
│ │ │ ├─ 03_flask_restful第一个程序.mp4
│ │ │ ├─ 04_restful扩展中使用蓝图.mp4
│ │ │ ├─ 05_视图使用装饰器的方式.mp4
│ │ │ ├─ 06_装饰器演示结果分析.mp4
│ │ │ ├─ 07_RequestParser工具说明.mp4
│ │ │ ├─ 08_requestparser参数说明.mp4
│ │ │ ├─ 09_marshall工具说明.mp4
│ │ │ ├─ 10_自定义json格式说明.mp4
│ │ │ ├─ 11_课程说明.mp4
│ │ │ ├─ 12_Pycharm配置远程调试.mp4
│ │ │ ├─ 13_产品原型图与UI图说明.mp4
│ │ │ ├─ 14_技术架构说明.mp4
│ │ │ ├─ 15_开发团队与开发工具.mp4
│ │ │ └─ 16_数据库作业说明.mp4
│ │ ├─ 第2节 数据库的设计
│ │ │ ├─ 01_复习.mp4
│ │ │ ├─ 02_数据库设计数据保存分析.mp4
│ │ │ ├─ 03_关于主键.mp4
│ │ │ ├─ 04_用户频道分析.mp4
│ │ │ ├─ 05_关于数据库几点问题说明.mp4
│ │ │ ├─ 06_范式设计与反范式设计.mp4
│ │ │ ├─ 07_时间与状态设计.mp4
│ │ │ ├─ 08_json类型的使用.mp4
│ │ │ ├─ 09_表的复用与自关联.mp4
│ │ │ ├─ 10_表设计补充.mp4
│ │ │ ├─ 11_整型说明.mp4
│ │ │ ├─ 12_字符串类型说明.mp4
│ │ │ ├─ 13_字段的其他参数说明.mp4
│ │ │ ├─ 14_索引说明.mp4
│ │ │ └─ 15_数据库引擎.mp4
│ │ ├─ 第3节 SQLAlchemy
│ │ │ ├─ 01_复习.mp4
│ │ │ ├─ 02_外键方式关联查询说明.mp4
│ │ │ ├─ 03_第一种关联查询的演示.mp4
│ │ │ ├─ 04_返回多值的列表.mp4
│ │ │ ├─ 05_使用foregin函数的关联查询.mp4
│ │ │ ├─ 06_join查询的使用.mp4
│ │ │ ├─ 07_join查询的语法说明.mp4
│ │ │ ├─ 08_更新与删除.mp4
│ │ │ ├─ 09_flask-sqlalchemy事务.mp4
│ │ │ ├─ 16_orm理解.mp4
│ │ │ ├─ 17_sqlalchemy数据库连接配置.mp4
│ │ │ ├─ 18_认识sqlalchemy模型类映射.mp4
│ │ │ ├─ 19_模型类映射构建编写.mp4
│ │ │ ├─ 20_使用模型类进行数据库操作的方式.mp4
│ │ │ ├─ 21_新增数据语法.mp4
│ │ │ ├─ 22_基础查询语法.mp4
│ │ │ ├─ 23_过滤查询语法.mp4
│ │ │ ├─ 24_综合查询方式.mp4
│ │ │ ├─ 25_查询优化.mp4
│ │ │ └─ 26_分组聚合查询.mp4
│ │ ├─ 第4节 数据库优化
│ │ │ ├─ 10_复制集与分布式集群.mp4
│ │ │ ├─ 11_MySQL主从同步原理.mp4
│ │ │ ├─ 12_读写分离对事务的影响.mp4
│ │ │ ├─ 13_数据库分库分表.mp4
│ │ │ ├─ 14_分布式id.mp4
│ │ │ ├─ 15_数据库索引原理.mp4
│ │ │ └─ 16_数据库优化总结.mp4
│ │ ├─ 第5节 redis
│ │ │ ├─ 01_复习.mp4
│ │ │ ├─ 02_每日反馈.mp4
│ │ │ ├─ 03_redis复习.mp4
│ │ │ ├─ 04_redis事务.mp4
│ │ │ ├─ 05_watch指令.mp4
│ │ │ ├─ 06_redis持久化.mp4
│ │ │ ├─ 07_redis主从.mp4
│ │ │ ├─ 08_redis哨兵介绍.mp4
│ │ │ ├─ 09_哨兵的配置运行.mp4
│ │ │ ├─ 10_redis哨兵的使用演示.mp4
│ │ │ ├─ 11_redis cluster集群方案.mp4
│ │ │ └─ 12_redis cluster使用.mp4
│ │ ├─ 第6节 git工作流
│ │ │ ├─ 01_复习.mp4
│ │ │ ├─ 02_每日反馈.mp4
│ │ │ ├─ 03_工程目录说明与运行.mp4
│ │ │ ├─ 04_项目运行的pycharm配置.mp4
│ │ │ ├─ 05_debug方法与tail命令.mp4
│ │ │ ├─ 13_gitflow工作流介绍.mp4
│ │ │ ├─ 14_分支流开发流程.mp4
│ │ │ ├─ 15_解决git冲突方式一.mp4
│ │ │ └─ 16_解决git冲突方式二.mp4
│ │ ├─ 第7节 JWT
│ │ │ ├─ 01_复习.mp4
│ │ │ ├─ 02_问题说明.mp4
│ │ │ ├─ 03_token禁用需求与解决思路.mp4
│ │ │ ├─ 04_token禁用的代码实现思路.mp4
│ │ │ ├─ 06_jws与jwe.mp4
│ │ │ ├─ 07_pyjwt的使用与封装.mp4
│ │ │ ├─ 08_jws的保护机制说明.mp4
│ │ │ ├─ 09_jwt刷新机制说明.mp4
│ │ │ ├─ 10_认证实现思路分析.mp4
│ │ │ ├─ 11_注册登录视图逻辑说明.mp4
│ │ │ ├─ 12_雪花算法id生成与redis连接的配置.mp4
│ │ │ ├─ 13_token生成方法编写.mp4
│ │ │ ├─ 14_生成token接口测试.mp4
│ │ │ ├─ 15_认证的请求钩子与装饰器使用.mp4
│ │ │ └─ 16_刷新接口编写.mp4
│ │ ├─ 第8节 OSS对象存储
│ │ │ ├─ 05_文件存储服务需求与第三方服务说明.mp4
│ │ │ ├─ 06_使用七牛云服务的通讯流程说明.mp4
│ │ │ ├─ 07_上传七牛云工具函数封装.mp4
│ │ │ ├─ 08_封装上传工具的测试说明.mp4
│ │ │ ├─ 09_远程复制文件scp的使用.mp4
│ │ │ ├─ 10_上传图片测试.mp4
│ │ │ ├─ 11_上传图片测试bug解决.mp4
│ │ │ ├─ 12_用户头像上传接口设计.mp4
│ │ │ ├─ 13_上传头像接口编写.mp4
│ │ │ ├─ 14_上传头像接口测试.mp4
│ │ │ ├─ 15_接口管理平台接口录入.mp4
│ │ │ └─ 16_cdn简介.mp4
│ │ └─ 第9节 缓存
│ │ ├─ 01_复习.mp4
│ │ ├─ 01_复习与每日反馈.mp4
│ │ ├─ 02_每日反馈.mp4
│ │ ├─ 02_缓存的架构认识.mp4
│ │ ├─ 03_头条项目中缓存的应用.mp4
│ │ ├─ 03_缓存类工具的封装思想.mp4
│ │ ├─ 04_缓存的数据内容.mp4
│ │ ├─ 04_缓存类的构造方式.mp4
│ │ ├─ 05_关于项目使用的缓存数据库对象的思路说明.mp4
│ │ ├─ 05_用户基本信息缓存类get方法编写.mp4
│ │ ├─ 06_数据保存类型的可选方式.mp4
│ │ ├─ 06_缓存数据有效期的设置.mp4
│ │ ├─ 07_缓存数据有效期的作用.mp4
│ │ ├─ 07_缓存类的异常处理.mp4
│ │ ├─ 08_redis的过期策略.mp4
│ │ ├─ 08_缓存清除与判断用户是否存在的编写.mp4
│ │ ├─ 09_内存淘汰策略的两种算法思想.mp4
│ │ ├─ 09_获取用户个人信息接口编写.mp4
│ │ ├─ 10_redis的内存淘汰策略.mp4
│ │ ├─ 10_用户个人信息接口测试.mp4
│ │ ├─ 11_统计数据redis存储类构建思路.mp4
│ │ ├─ 11_缓存操作的使用模式.mp4
│ │ ├─ 12_用户文章数量存储类实现.mp4
│ │ ├─ 12_缓存更新方式.mp4
│ │ ├─ 13_统计数据存储类封装.mp4
│ │ ├─ 13_缓存穿透与缓存雪崩.mp4
│ │ ├─ 14_redis中保存的统计数据修正问题说明.mp4
│ │ ├─ 14_头条项目用户缓存数据设计.mp4
│ │ ├─ 15_头条项目用户关注缓存数据设计.mp4
│ │ ├─ 16_头条项目redis持久保存数据设计.mp4
│ │ └─ 17_缓存背景说明.mp4
│ ├─ 【07】推荐系统基础
│ │ ├─ 第1节 推荐系统简介
│ │ │ ├─ 01_内容介绍.mp4
│ │ │ ├─ 02_推荐系统概念.mp4
│ │ │ ├─ 03_推荐和web区别.mp4
│ │ │ ├─ 04_大数据lambda架构介绍.mp4
│ │ │ ├─ 05_推荐算法架构.mp4
│ │ │ ├─ 06_推荐整体流程说明.mp4
│ │ │ ├─ 07_推荐模型构建流程.mp4
│ │ │ ├─ 08_协同过滤的基本思路.mp4
│ │ │ ├─ 09_相似度计算的方法.mp4
│ │ │ ├─ 10_协同过滤通过杰卡德相似度计算推荐结果案例.mp4
│ │ │ ├─ 11_协同过滤_连续评分数据通过皮尔逊相关系数计算相似度.mp4
│ │ │ ├─ 12_基于模型的协同过滤算法.mp4
│ │ │ ├─ 13_基于模型的推荐算法_矩阵分解.mp4
│ │ │ ├─ 14_推荐系统的评估_准确性和覆盖率.mp4
│ │ │ ├─ 15_推荐系统的评估_探索与利用问题.mp4
│ │ │ ├─ 16_推荐系统的评估实践.mp4
│ │ │ ├─ 17_推荐系统的冷启动_用户冷启动.mp4
│ │ │ ├─ 18_推荐系统的冷启动_物品冷启动和系统冷启动.mp4
│ │ │ ├─ 19_基于内容推荐介绍.mp4
│ │ │ ├─ 20_基于内容推荐和基于物品协同过滤区别.mp4
│ │ │ ├─ 21_电影评分预测案例_思路分析.mp4
│ │ │ ├─ 22_电影评分预测案例_关键代码实现.mp4
│ │ │ ├─ 23_电影评分预测案例_基于物品的协同过滤.mp4
│ │ │ └─ 24_内容回顾.mp4
│ │ ├─ 第2节 推荐算法
│ │ │ ├─ 01_baseline概念介绍.mp4
│ │ │ ├─ 02_baseline_梯度下降优化代码分析.mp4
│ │ │ ├─ 03_baseline梯度下降优化实现.mp4
│ │ │ ├─ 04_baseline_数据集拆分和指标评估分析.mp4
│ │ │ ├─ 05_baseline_数据集拆分和指标评估实现.mp4
│ │ │ ├─ 06_baseline_交替最小二乘法思路分析.mp4
│ │ │ ├─ 07_baseline_交替最小二乘法完成.mp4
│ │ │ ├─ 08_LFM原理和损失优化.mp4
│ │ │ ├─ 09_LFM推导分析.mp4
│ │ │ ├─ 10_LFM代码实现.mp4
│ │ │ ├─ 11_基于内容推荐概述.mp4
│ │ │ ├─ 12_使用tf-idf进行关键词提取.mp4
│ │ │ ├─ 13_数据合并.mp4
│ │ │ ├─ 14_TF-idf为每一部电影提取关键词.mp4
│ │ │ ├─ 15_用户画像的建立.mp4
│ │ │ ├─ 16_基于内容推荐过程回顾.mp4
│ │ │ ├─ 17_word2Vec词向量模型建立并推荐电影.mp4
│ │ │ ├─ 18_词向量回顾.mp4
│ │ │ └─ 19_虚拟机配置说明.mp4
│ │ ├─ 第3节 Hadoop
│ │ │ ├─ 01_内容回顾.mp4
│ │ │ ├─ 02_Hadoop概念和发展过程.mp4
│ │ │ ├─ 03_Hadoop组件介绍_HDFS.mp4
│ │ │ ├─ 04_Hadoop组件介绍_MapReduce.mp4
│ │ │ ├─ 05_Hadoop组件介绍_YARN.mp4
│ │ │ ├─ 06_hdfs启动和常用shell指令.mp4
│ │ │ ├─ 07_hdfs架构介绍.mp4
│ │ │ ├─ 08_hdfs的安装.mp4
│ │ │ ├─ 09_yarn作用.mp4
│ │ │ ├─ 10_yarn的架构.mp4
│ │ │ ├─ 11_上午内容回顾.mp4
│ │ │ ├─ 12_mapreduce介绍&hadoopstreaming实现mapreduce.mp4
│ │ │ ├─ 13_MRJob简介.mp4
│ │ │ ├─ 14_MRJob实现wordcount.mp4
│ │ │ ├─ 15_MRJob案例_topn统计.mp4
│ │ │ ├─ 16_MRJob案例_文件join.mp4
│ │ │ ├─ 17_mapreduce执行过程说明.mp4
│ │ │ ├─ 18_mapreduce架构.mp4
│ │ │ ├─ 19_hadoop生态介绍.mp4
│ │ │ ├─ 20_hdfs的读写流程.mp4
│ │ │ ├─ 21_大数据框架发行版选择问题.mp4
│ │ │ ├─ 22_大数据和互联网产品配合.mp4
│ │ │ └─ 23_数据分析工作示例.mp4
│ │ ├─ 第4节 Hive&HBase
│ │ │ ├─ 01_内容回顾.mp4
│ │ │ ├─ 02_Hive的概念.mp4
│ │ │ ├─ 03_Hive的架构.mp4
│ │ │ ├─ 04_HQL和传统关系型数据库对比.mp4
│ │ │ ├─ 05_Hive的安装.mp4
│ │ │ ├─ 06_Hive的基本使用.mp4
│ │ │ ├─ 07_Hive的内部表和外部表.mp4
│ │ │ ├─ 08_Hive的分区表.mp4
│ │ │ ├─ 09_Hive的自定义函数.mp4
│ │ │ ├─ 10_Hive综合案例说明.mp4
│ │ │ ├─ 11_Hive综合案例实现.mp4
│ │ │ ├─ 12_Hive内容总结.mp4
│ │ │ ├─ 13_sqoop简介.mp4
│ │ │ ├─ 14_sqoop导入mysql数据到hdfs.mp4
│ │ │ ├─ 15_Hbase概念.mp4
│ │ │ ├─ 16_Hbase的事务和CAP定理.mp4
│ │ │ ├─ 17_Hbase的基础架构.mp4
│ │ │ └─ 18_Hbase回顾.mp4
│ │ ├─ 第5节 Spark_core
│ │ │ ├─ 01_内容回顾.mp4
│ │ │ ├─ 02_spark简介.mp4
│ │ │ ├─ 03_spark的wordcount体验.mp4
│ │ │ ├─ 04_spark中RDD概念的介绍.mp4
│ │ │ ├─ 05_RDD的创建_parallelize方式.mp4
│ │ │ ├─ 06_RDD的三类算子介绍.mp4
│ │ │ ├─ 07_RDD的算子练习_transformation.mp4
│ │ │ ├─ 08_RDD的算子练习_action.mp4
│ │ │ ├─ 09_pycharm链接centos远程提交代码.mp4
│ │ │ ├─ 10_spark案例wordcount.mp4
│ │ │ ├─ 11_spark案例pvuv&topn统计思路分析.mp4
│ │ │ ├─ 12_spark案例pvuv&topn统计案例完成.mp4
│ │ │ ├─ 13_spark案例ip统计分析.mp4
│ │ │ ├─ 14_spark案例ip统计代码问题说明.mp4
│ │ │ ├─ 15_spark案例ip统计完成.mp4
│ │ │ ├─ 16_sparkstandalone模式角色说明.mp4
│ │ │ ├─ 17_spark的安装.mp4
│ │ │ ├─ 18_spark_core回顾.mp4
│ │ │ ├─ 19_HBase回顾.mp4
│ │ │ ├─ 20_HBase_shell介绍.mp4
│ │ │ ├─ 21_HBase表设计案例.mp4
│ │ │ ├─ 22_hive_on_HBase介绍.mp4
│ │ │ ├─ 23_happybase操作hbase.mp4
│ │ │ └─ 24_重点回顾.mp4
│ │ ├─ 第6节 Spark_sql&Spark_streaming
│ │ │ ├─ 01_内容回顾.mp4
│ │ │ ├─ 02_SparkSQl介绍.mp4
│ │ │ ├─ 03_SparkSQL中dataframe介绍.mp4
│ │ │ ├─ 04_远程连接jupyternotebook&RDD创建DataFrame.mp4
│ │ │ ├─ 05_从CSV文件读取数据创建DataFrame.mp4
│ │ │ ├─ 06_SparkSQL的DataFrame常用API练习.mp4
│ │ │ ├─ 07_SparkSQL的DataFrame常用API总结.mp4
│ │ │ ├─ 08_SparkSQL从内存中加载JSON数据.mp4
│ │ │ ├─ 09_SparkSQL从文件中加载JSON数据.mp4
│ │ │ ├─ 10_数据清洗案例_数据去重.mp4
│ │ │ ├─ 11_数据清洗案例_缺失值处理.mp4
│ │ │ ├─ 12_数据清洗案例_异常值处理.mp4
│ │ │ ├─ 13_sparkSQL回顾.mp4
│ │ │ ├─ 14_sparkstreaming简介.mp4
│ │ │ ├─ 15_sparkstreaming组件介绍.mp4
│ │ │ ├─ 16_sparkstreaming的wordcount案例.mp4
│ │ │ ├─ 17_sparkstreaming的有状态操作_updatestatebykey.mp4
│ │ │ ├─ 18_sparkstreaming的有状态操作_window操作.mp4
│ │ │ ├─ 19_sparkstreaming内容回顾.mp4
│ │ │ ├─ 20_算法相关内容回顾.mp4
│ │ │ └─ 21_框架相关内容回顾.mp4
│ │ ├─ 第7节 推荐系统案例
│ │ │ ├─ 01_内容回顾.mp4
│ │ │ ├─ 02_数据集分析_逻辑回归模型创建分析.mp4
│ │ │ ├─ 03_数据集分析_协同过滤模型创建.mp4
│ │ │ ├─ 04_Pandas拆分数据.mp4
│ │ │ ├─ 05_用户行为数据情况分析.mp4
│ │ │ ├─ 06_用户类别ALS模型训练_评分数据处理.mp4
│ │ │ ├─ 07_用户类别ALS模型训练完成.mp4
│ │ │ ├─ 08_通过spark进行onehot编码.mp4
│ │ │ ├─ 09_根据时间划分训练集测试集.mp4
│ │ │ ├─ 10_用户特征数据缺失值处理分析.mp4
│ │ │ ├─ 11_sparkMLlib创建随机森林模型预测缺失值_clip.mp4
│ │ │ ├─ 12_缺失值预测完毕数据回填.mp4
│ │ │ ├─ 13_CTR预估数据准备完成.mp4
│ │ │ ├─ 14_SparkML训练逻辑回归模型说明.mp4
│ │ │ ├─ 15_SparkML训练CTR预估模型_数据合并.mp4
│ │ │ ├─ 16_SparkML训练CTR预估模型训练和结果说明.mp4
│ │ │ ├─ 17_根据用户喜好的类别找到对应的商品进行召回并缓存.mp4
│ │ │ ├─ 18_离线推荐实时推荐说明.mp4
│ │ │ ├─ 19_实时推荐完成.mp4
│ │ │ ├─ 20_推荐命令行运行效果展示.mp4
│ │ │ ├─ 21_推荐过程回顾&问题说明.mp4
│ │ │ └─ 22_内容回顾.mp4
│ │ └─ 推荐系统基础(资料).7z
│ ├─ 【08】头条推荐系统
│ │ ├─ 第1节 头条-框架介绍
│ │ │ ├─ 01_黑马头条推荐架构与业务流.mp4
│ │ │ ├─ 02_开发环境介绍.mp4
│ │ │ ├─ 03_业务数据介绍.mp4
│ │ │ ├─ 04_数据库迁移介绍.mp4
│ │ │ ├─ 05_数据库迁移案例.mp4
│ │ │ ├─ 06_迁移脚本定时运行.mp4
│ │ │ ├─ 07_用户行为收集介绍.mp4
│ │ │ ├─ 08_supervisor管理.mp4
│ │ │ ├─ 09_进程管理添加.mp4
│ │ │ ├─ 10_用户行为收集结果.mp4
│ │ │ ├─ 11_离线画像构建.mp4
│ │ │ ├─ 12_文章数据合并.mp4
│ │ │ ├─ 13_文章数据合并2.mp4
│ │ │ ├─ 14_tfidf结果计算.mp4
│ │ │ ├─ 15_结果解析.mp4
│ │ │ ├─ 16_texrank计算.mp4
│ │ │ └─ 17_总结.mp4
│ │ ├─ 第2节 头条-离线计算更新Item画像
│ │ │ ├─ 01_复习.mp4
│ │ │ ├─ 02_文章画像增量更新:离线增量文章画像更新代码介绍.mp4
│ │ │ ├─ 03_文章画像增量更新:APschedule增量更新设置.mp4
│ │ │ ├─ 04_文章画像增量更新:supervisor添加离线文章更新.mp4
│ │ │ ├─ 05_文章向量:word2vec介绍.mp4
│ │ │ ├─ 06_文章向量:频道的word2vec模型训练保存.mp4
│ │ │ ├─ 07_文章向量:词向量合并.mp4
│ │ │ ├─ 08_文章向量:词向量平均值计算.mp4
│ │ │ ├─ 09_文章相似度:相似度计算LSH介绍.mp4
│ │ │ ├─ 10_文章相似度:处理不同频道文章向量类型.mp4
│ │ │ ├─ 11_文章相似度:BRPLSH相似度计算.mp4
│ │ │ ├─ 12_文章相似度:相似度结果存储.mp4
│ │ │ ├─ 13_文章相似度增量更新与文章更新总结.mp4
│ │ │ ├─ 14_用户画像介绍.mp4
│ │ │ ├─ 15_用户行为日志关联.mp4
│ │ │ └─ zxds.mp4
│ │ ├─ 第3节 头条-离线用户召回集与排序计算
│ │ │ ├─ 01_复习.mp4
│ │ │ ├─ 02_用户画像:用户行为原始数据处理.mp4
│ │ │ ├─ 03_用户画像:行为数据合并处理写入基础行为表.mp4
│ │ │ ├─ 04_用户画像:存储介绍.mp4
│ │ │ ├─ 05_用户画像:用户画像文章标签获取.mp4
│ │ │ ├─ 06_用户画像:标签权重计算.mp4
│ │ │ ├─ 07_用户画像总结.mp4
│ │ │ ├─ 08_用户画像:用户基本信息存储画像.mp4
│ │ │ ├─ 09_用户画像:完整代码分析与更新设置.mp4
│ │ │ ├─ 10_离线用户模型召回:黑马召回排序流程以及方案介绍.mp4
│ │ │ ├─ 11_离线用户模型召回:用户召回表设计以及历史召回表.mp4
│ │ │ ├─ 12_离线用户模型召回:召回步骤分析以及ALS模型复习.mp4
│ │ │ ├─ 13_离线用户模型召回:用户点击行为数据处理.mp4
│ │ │ ├─ 14_离线用户模型召回:ALS推荐以及结果处理.mp4
│ │ │ ├─ 15_离线用户模型召回:召回结果存储以及历史召回过滤.mp4
│ │ │ ├─ 16_离线用户内容召回:文章内容相似推荐以及结果存储.mp4
│ │ │ └─ 17_离线用户多路召回定时更新.mp4
│ │ ├─ 第4节 头条-实时计算业务
│ │ │ ├─ 01_复习.mp4
│ │ │ ├─ 02_离线排序业务介绍.mp4
│ │ │ ├─ 03_排序模型样本特征构造.mp4
│ │ │ ├─ 04_用户关键词权重处理问题解决.mp4