第1周
(4月1日-4月7日)
第1节 Python开班仪式及职业指导
01-Python语言历史及职业发展
02-Python自动化开发网络班开班说明
第2节 Python开发之运维基础(一)
01-Linux系统入门
02-Linux系统基础
03-Linux系统操作
04-Linux基本命令
05-Linux命令历史与帮助信息
第3节 Python开发之运维基础(二)
01-Linux文件系统
02-Linux文件系统基础操作1
03-Linux文件系统基础操作2
04-Linux管道及用户管理
05-Linux用户管理基础
第4节 Python开发之运维基础(三)
01-Linux文件权限模型
02-Linux文本处理工具1
03-Linux文本处理工具2
04-Linux文本处理工具3
05-Linux程序包管理
第2周
(4月8日-4月14日)
第5节 Python环境安装与基础语法
01-Linux环境部署pyenv安装
02-pyenv使用和开发环境搭建
03-计算机体系和语言分类
04-python基础和原反补码及表达式
05-GC、分支、循环
第6节 课程习题精讲(1)与Python列表
01-位数打印练习和else子句
02-习题正方形打印
03-阶乘和求质数
04-数字处理和列表等内存模型
05-列表的基本操作
第7节 课程习题精讲(2)
01-九九乘法表各种实现
02-九九乘法表变体和菱形变体打印
03-斐波那契数列、素数、猴子吃桃问题精讲
第3周
(4月15日-4月21日)
第8节 Python列表和元组
01-列表乘法反转排序
02-浅拷贝深拷贝和随机数
03-元组和命名元组
04-排序问题的多种解法和冒泡法
第9节 课程习题精讲(3)与字符串操作
01-质数多种解法及效率
02-杨辉三角基本解法和补零法
03-杨辉三角对称解法和单行列表解法
04-字符串join和分割
第10节 字符串与切片
01-字符串替换查找排版格式化
02-字符串习题讲解
03-bytes和bytearray及编码
04-切片
第4周
(4月22日-4月28日)
第11节 课程习题精讲(4)与Set集合
01-杨辉三角解法
02-转置矩阵解法
03-重复数据统计讲解
04-IPython使用和封装解构
05-Set操作和hash
第12节 集合运算与字典
01-集合运算
02-字典概念
03-字典遍历和删除注意事项
04-缺省字典、有序字典和字典习题讲解
第13节 解析式和生成器表达式
01-时间模块使用
02-列表解析式习题和生成器表达式
03-集合和字典解析式
04-选择排序
05-内建函数
第5周
(4月29日-5月5日)
第14节 Python函数(一)定义和参数
01-函数定义传参和默认值
02-可变参数
03-keyword-only参数和参数解构
04-函数习题打印三角
05-插入排序
第15节 Python函数(二)返回值和作用域
01-函数的返回值
02-函数作用域
03-global、nonlocal和闭包
04-默认值的本质
05-LEGB和函数的销毁
第16节 Python函数(三)递归和匿名函数
01-递归
02-递归习题
03-匿名函数、生成器
04-树基本概念
第6周
(5月6日-5月12日)
第17节 Python高阶函数与装饰器
01-高阶函数和柯里化
02-无参装饰器
03-带参装饰器
第18节 Python类型注解和functools模块
01-类型注解
02-functools之reduce和偏函数
03-lru_cache
第19节 函数综合习题讲解
01-字典扁平化和base64编码实现
02-求最大公共子串
03-装饰器习题cache和命令分发器实现
第7周
(5月13日-5月19日)
第20节 Python文件IO(一)文件操作
01-文件编码
02-文件的模式
03-文件指针操作
04-缓冲区
05-文件对象的读写方法
06-上下文管理
第21节 Python文件IO(二)路径操作
01-习题base64解码
02-习题命令分发器、copy和单词统计
03-StringIO和BytesIO和os.path
04-Path对象基本操作
05-通配和文件操作
第22节 Python文件IO(三)高级文件操作和序列化
01-shutil模块使用
02-csv模块使用
03-ini文件操作
04-序列化和反序列化及pickle
05-msgpack使用
第8周
(5月20日-5月26日)
第23节 argparse模块和堆排序
01-习题单词统计进阶、配置文件转换、ls命令实现1
02-ls命令实现2
03-习题打印树和二叉树遍历
04-堆排序及算法实现
第24节 正则表达式和re模块
01-正则表达式元字符和重复
02-正则的分组断言贪婪非贪婪
03-正则习题
04-Python的re模块使用
第25节 Python日志分析(一)
01-正则表达式习题讲解
02-日志数据提取
03-正则数据提取和数据载入
04-时间窗口函数实现
第26节 Python日志分析(二)
01-生产者消费者模型
02-Queue使用和分发器实现
03-代码合并和分析
04-useragent分析
第9周
(5月27日-6月2日)
第27节 Python面向对象(一)
01-面向对象概述
02-类定义和初始化
03-实例变量和类变量及实例属性访问顺序
04-类方法和静态方法装饰器
05-访问控制、猴子补丁、属性装饰器、对象销毁
第28节 Python面向对象(二)
01-习题随机数生成、坐标打印、车辆管理类
02-习题温度转换和购物车实现
03-单继承
第29节 Python面向对象(三)
01-二分bisect
02-古典类新式类和MRO
03-Mixin
04-PEP
第10周
(6月3日-6月9日)
第30节 Python面向对象进阶(一)
01-dir的作用
02-实例化、hash和equal
03-bool和可视化
04-运算符重载
05-容器化魔术方法
第31节 Python面向对象进阶(二)
01-习题单双向链表实现
02-可调用对象
03-上下文管理
第32节 Python面向对象进阶(三)
01-反射基本概念
02-反射的魔术方法和实例属性搜索顺序
03-描述器概念
04-描述器应用
第11周
(6月10日-6月16日)
第33节 Python异常处理
01-习题链表容器化和property描述器实现
02-异常概念、产生和捕获
03-异常的继承、子句、嵌套、总结
第34节 Python模块化
01-slots、反向方法、生成器交互
02-import和from语句使用
03-模块加载搜索和主模块用途
04-包
05-绝对导入、相对导入
第35节 Python包管理与Git版本管理
01-python包管理和打包分发
02-插件化开发和接口
03-Gogs安装
04-Git由来和基本概念操作
05-Git操作增删改检出重置比较
06-Git的Push和Clone
07-Git分支和工作流管理
第12周
(6月17日-6月23日)
第36节 Python进程和线程(一)
01-并发及其解决方案
02-进程和线程以及线程的创建和传参
03-线程属性和方法及start、run的区别
第37节 Python进程和线程(二) 01-线程安全和daemon
02-join和daemon线程的总结
03-thread-local和Timer
04线程同步之Event
05-Event总结
第38节 Python进程和线程(三) 01-Lock锁
02-RLock和Condition
03-Barrier
04-barrier、semaphore和GIL
第39节 Python进程和线程(四) 01-多进程编程
02-concurrent.futures使用
03-logging的级别、格式字符串、层次结构
04-日志流、Formater、Filter
第13周
(6月24日-6月30日)
第40节 Python开发之网络基础
01-网络原理1
02-网络原理2
03-TCPIP协议
04-TCPIP协议
05-IP协议和地址
第41节 Python开发之网络基础与Web
01-网络地址和路由
02-网络配置
03-网络通信和socket
04-http协议
05-LVS基础
第42节 Python开发之负载均衡与反向代理技术
01-LVS工作原理
02-LVS工作实现
03-nginx和IO模型
04-nginx
05-nginx反向代理
第14周
(7月1日-7月7日)
第43节 Python开发之MYSQL数据库(一)
01-数据库原理
02-MYSQL基础
03-源码编译安装Mysql
04-数据库和表管理
05-SQL语言
第44节 Python开发之MYSQL数据库(二)
01-SELECT单表和多表查询
02-多表查询和函数存储过程
03-用户和权限管理
04-存储引擎和数据库选项变量
05-查询缓存和索引
第45节 Python开发之MYSQL数据库(三)
01-数据库优化策略
02-数据库并发控制
03-各种日志
04-备份还原
05-数据库的主从复制
第15周
(7月8日-7月14日)
第46节 Python网络编程(一)
01-socket基础和TCP编程
02-TCP群聊Server端编程
03-socket常用方法和makefile使用
04-TCP客户端编程和群聊客户端实现
第47节 Python网络编程(二)
01-UDP编程和群聊UDPServer
02-群聊UDP服务端客户端实现和心跳机制
03-socketserver模块
第48节 Python网络编程(三)
01-socketserver版群聊实现
02-同步异步阻塞非阻塞概念和各种IO模型
03-IO多路复用库selectors使用
04-IO多路复用版群聊实现
05-asyncio和aiohttp
第16周
(7月15日-7月21日)
第49节 Python数据库编程(一)
01-数据库发展史
02-数据库技术发展和分类
03-SQL的DCL和DDL
04-主键外键索引约束视图
05-CRUD和分页条件排序去重聚合分组及子查询
第50节 Python数据库编程(二)
01-自然连接内外连接自连接
02-事务ACID和隔离级别
03-事务实验和数据仓库、存储过程、触发器
04-Pymysql使用
05-元编程
第51节 Python数据库编程(三)
01-SQLAlchemy引擎实体会话
02-SQLAlchemy的CRUD
03-实例的State
04-条件查询分页和排序
05-消费者方法聚合分组关联查询
第17周
(7月22日-7月28日)
第52节 前端开发之ES6入门(一)
01-前端开发技术概述
02-前端开发发展和开发环境搭建
03-JS标识符类型转换字符串和数值
04-运算符三目运算符逗号表达式生成器
第53节 前端开发之ES6入门(二)
01-分支循环
02-匿名函数和高阶函数
03-箭头函数、传参、作用域和异常处理
04-JS新旧类构造、静态方法和this的问题
05-高阶类
第54节 前端开发之ES6入门(三)
01-解构和数组操作
02-对象操作
03-Promise的基本使用
04-JS模块化
05-React项目构建
第18周
(7月29日-8月4日)
第55节 前后端分离博客项目(一)react框架
01-虚拟DOM和JSX
02-组件状态State
03-组件属性props
04-组件生命周期
05-无状态组件和高阶组件
06-HTML
第56节 前后端分离博客项目(二)WSGI
01-BS、Cookie、URL
02-HTTP报文
03-WSGI原理
04-WSGI的APP实现及接口规范
05-核心表设计
06-Django项目构建、Model类构建、迁移
第57节 前后端分离博客项目(三)Django模板
01-后台管理和路由
02-GET和POST调试、模板原理
03-Django模板DTL使用
04-模板习题和注册功能基本实现
05-邮箱验证和日志配置
第19周
(8月5日-8月11日)
第58节 前后端分离博客项目(四)Django模型
01-模板打印九九方阵和自定义filter
02-查询集切片过滤器
03-查询表达式、和Session-Cookie机制、JWT
04-密码安全问题和登录接口实现
05-登录功能实现和认证装饰器
第59节 前后端分离博客项目(五)Django中间件
01-Django认证、中间件和jwt过期
02-博文接口、Model类实现和迁移、URL配置
03-pub和get接口实现
04-分页实现和校验函数抽象
05-CSS
第60节 前后端分离博客项目(六)前端路由和Mobx
01-jQuery
02-前端路由和登录、注册组件实现
03-登录接口实现和同步异步调用详解
04-Mobx使用和localstore持久化技术
第61节 前后端分离博客项目(七)核心业务开发与项目部署
01-注册功能实现和高阶组件装饰器
02-导航栏布局和博文发布
03-博文发布功能实现
04-博客列表显示功能实现
05-分页和详情页实现
06-博客项目部署和MVC
第20周
(8月12日-8月18日)
第62节 爬虫(一)requests
01-爬虫概述、Robots协议
02-urllib库使用
03urllib3和requests库使用
第63节 爬虫(二)XPath和Bs4解析
01-XPath概念和实例
02-lxml爬取口碑榜和bs4基本概念
03-Bs4遍历文档树和搜索过滤器
04-find系方法参数、css选择器、Jsonpath
第64节 爬虫(三)消息队列和分布式爬虫
01-RabbitMQ安装、管理和名词解释
02-队列和工作队列模式及Pika编程
03-发布订阅模式和路由模式编程
04-Topic模式编程和消息中间件作用
05-模拟登陆和多线程异步爬虫
06-RabbitMQ选型和类封装
07-RabbitMQ类应用实现异步爬虫
第21周
(8月19日-8月25日)
第65节 爬虫(四)Selenium
01-PhantomJS和Selenium简单应用
02-异步请求处理和下拉框处理
03-模拟登陆和页面等待
第66节 爬虫(五)redis和scrapy
01-scrapy框架概述和编程流程
02-HTML和URL提取、豆瓣读书爬虫编写
03-代理豆瓣图书爬虫
04-Redis服务和字符串类型
05-字符串和位操作
06-列表和哈希类型的操作和实例
07-集合、有序集合操作和实例
08-Redis持久化方案
09-Redis主从复制、高可用和3.0集群
10-scrapy-redis组件使用和豆瓣影评爬取
第22周
(8月26日-9月1日)
第67节 任务调度系统(一)
01-paramiko库使用
02-ansible开发和mschedule框架设计
03-滚动日志和执行器实现
04-消息模块设计和实现
第68节 任务调度系统(二)
01-Agent通信模块和zerorpc及断开重连机制
02-Master基本模块实现和数据设计
03-Master端数据存储设计和实现
04-任务接受、分派和Agent执行实现
05-result接口实现和WEB端开发实现
06-Zookeeper伪分布式安装配置
07-kazoo库使用和watcher
第23周
(9月2日-9月8日)
第69节 任务流系统(一)
01-图的基本概念
02-有向无环图设计和分析
03-业务核心概要设计
04-执行引擎设计、模型构建和单例模式
第70节 任务流系统(二)
01-DAG创建代码实现
02-Kahn算法实现1
03-Kahn算法实现2
04-启动的详细设计和流程启动实现
05-节点输入参数和脚本填充实现
第71节 任务流系统(三)
01-执行器实现
02-业务自动流转实现
03-可视化和Flask
第24周
(9月9日-9月15日)
第72节 CMDB资产管理(一)
01-CMDB概念及传统设计缺陷
02-虚拟表设计
03-实体表设计
04-表关系详解
05-字段类型约束的代码实现
06-限制和缓存实现
第73节 CMDB资产管理(二)
01-约束和外键设计
02-DDL设计
03-Model实现和日志处理
04-接口设计与实现
第25周
(9月16日-9月22日)
第74节 WSGI和自己写框架(一)
01-BS开发和HTTP协议
02-WSGI概述和APP端开发
03-类Flask框架请求封装
04-Response使用及wsgify装饰器
第75节 WSGI和自己写框架(二)
01-路由注册和路由正则匹配
02-路由正则分组和Method过滤
03-路由分组和字典属性化
第76节 WSGI和自己写框架(三)
01-路由配置简化
02-模板原理
03-Jinja2模板技术
04-模块化、Json、拦截器和发布
第26周
(9月23日-9月29日)
第77节 马哥 精讲 Elastic Stack
01-搜索引擎基础
02-Elasticsearch基础
03-Logstash基础
04-Logstash进阶
05-Logstash和Kibana