天 | 章节 | 内容梗概 | 学习目标 |
Day 1 | Python开发入门 | Python语言介绍、发展史、与其它语言的对比 | 这一天学完后,你可以写出你的第一个至少能有50行不带bug的Python程序啦。 |
编程语言分类、解释型vs编译型优缺点 |
Python环境安装、Pycharm IDE使用 |
基本语法:变量、常量命名规范、程序执行、编码区别 |
二进制的演化与运算 |
初识编码之ASCII码、GBK、Utf-8 |
实战案例:用户交互小程序 |
数据类型初识:int、str、bool、list |
流程控制:if、elif、else、while语句 |
break vs continue的作用 |
实战案例:猜年龄游戏 |
实战案例:双色球彩票选购 |
Day 2 | 数据类型与文件操作 | 字符编码类别、编码转换 | 这一天学会Python常用的数据类型list\tuple\dict\set的使用,以及知道在什么情况下用什么用的数据类型,同时掌握用Python代码来对文件内容进行增删改查。达到能写出来100行+有逻辑性的代码的能力 |
Python2 vs Python3的编码恩恩怨怨 |
文件IO处理,通过Python对文件实现增删改查 |
实战案例:开发一个文本全局替换命令程序 |
三元表达式 |
十六进制、二进制、八进制、十进制的互相转换 |
数据类型list , tuple , dict , set , str详细讲解 |
实战案例:三级菜单程序开发 |
实战案例: 购物车程序开发 |
Day 3 | 函数编程 | 为什么用函数,函数定义及特性 | 掌握函数的各种用法,使你的代码变的可复用,不再写重复的代码,掌握装饰器、迭代器等高级语法糖,为日后写复杂的数万行的项目打好基础 |
函数语法 |
函数参数、返回值、高阶函数、嵌套函数 |
全局变量与局部变量 |
递归原理与特性 |
通过递归实现斐波那契数列运算 |
名字空间、LEGB、闭包原理 |
迭代器、生成器、列表推导式 |
装饰器作用、原理、与实际应用 |
内置方法:all、sorted、eval、compile、reduce、filter…. |
实战案例:员工信息表程序开发 |
Day 4 | 常用模块 | 模块的跨目录导入 | 这一天掌握Python掌握开发中常用的数十个模块,不要重复造轮子,学会站在别人的肩膀上做出来更nb的功能,今天会有大量的实战小案例让你感受Python模块的强大 |
相对导入与绝对导入 |
常用标准库os、sys、time、datetime、random、re、json、pickle、shelve、shutil、xml学习 |
常用标准库configparser配置文件解析、logging日志、xml处理、subprocess命令交互等模块学习 |
软件开发目录结构规范 |
实战案例:通过random模块生成随机验证码 |
实战案例:通过subprocess模块开发简单ssh命令客户端 |
实战案例:通过logging模块开发日志分析程序 |
实战案例:通过re模块开发可处理加、减、乘、除、拓号的计算器程序 |
实战案例:网站访问日志pv\uv\来源等指标分析 |
Day 5 | 面向对象编程 | 常见编程范式介绍 | 面向对象编程使大型软件的开发变得容易、简单,所以它是所有开发者的必备技能。 这2天老师会从面向对象的基本知识开始讲起,带你逐步掌握什么是类、对象、继承、封装、多态等特性,学会用面向对象的思想开发程序,为日后成为高级程序员打下坚实基础。 |
面向对象介绍及特性 |
类、对象、属性、方法定义 |
类的语法、构造函数的作用 |
成员变量、私有变量、类变量的区别 |
三大特性:封装、继承、多态实例讲解 |
对象的交互、组合 |
静态属性、静态方法、类方法、属性方法 |
实战案例:人狗大战游戏开发 |
Day 6 | 面向对象编程进阶 | 反射的语法及妙用 |
类的双下划方法 |
领域建模 |
如何在程序中使用面向对象思想写程序 |
类的生成原理、MetaClass、__new__的作用、抽象类 |
用type动态创建一个类 |
异常处理 |
实战案例:校园管理系统开发 |
Day 7 | Socket网络编程 | TCP/IP协议介绍 | 学完今天的课,你就可以自己开发一个C/S版的小程序了,比如网络聊天软件、FTP文件共享服务,甚至你都可以自己开发一个web服务器,老强大了 |
Socket原理介绍 |
Socket网络套接字模块学习(socket、socketserver) |
实战案例:通过socket实现文件在不同服务器间发送 |
如何解决socket粘包问题 |
实战案例:远程命令执行客户端开发 |
socketserver源码剖析 |
实战案例:基于C/S架构开发支持多用户在线的FTP服务器,实现文件上传下载、权限管理 |
实现文件发送进度条、断点续传、文件一致性校验、用户加密认证等功能 |
Day 8 | 并发编程 | 操作系统演进介绍 | 今天学习线程、进程、异步IO的原理,并能用多线程、多进程写出来可以并发执行的自动化任务,同时你也会明白以后在什么场景下应该使用多线程,什么场景下使用多进程。 |
多进程之进程理论 |
多进程之开启进程的两种方式 |
多进程之join方法 |
多进程之守护进程 |
多进程之互斥锁 |
多进程之队列 |
多进程之生产者消费者模型 |
多线程之线程理论 |
多线程之开启线程的两种方式 |
多线程之多线程与多进程的区别 |
多线程之Thread对象的其他属性或方法 |
多线程之守护线程 |
多线程之GIL全局解释器锁 |
多线程之死锁现象与递归锁 |
多线程之信号量,Event,定时器 |
多线程之线程queue |
多线程之进程池与线程池 |
协程-协程介绍 |
协程-greenlet模块 |
协程-gevent模块 |
异步IO之asyncio实现并发编程 |
实战案例:基于paramiko+多进程实现主机批量管理系统 |
Day 9 | Mysql数据库开发 | 数据库基本介绍、类型、特性介绍 | 今天老师会带你快速学会Mysql 数据库的表结构设计 、SQL语言CRUD的语法,常用的数据库索引方式,以及如何根据业务需求设计出合理的表结构 |
mysql 数据库安装、连接方式、启动、停止 |
表字段类型、主键约束、表构建语句 |
常用增删改查语句、分组、聚合 |
外键关联、unique字段、表结构修改语法 |
跨表查询,inner join,left join , right join ,full join语法 |
复杂sql语句如group by 、子查询、函数的使用 |
索引原理及作用、普通索引、多列索引、唯一索引、全文索引等 |
基于hash & b+树的实现原理,索引的优缺点剖析 |
事务原理、ACID特性,应用场景讲解 |
如何实现事务回滚 |
触发器的特性、应用场景 |
触发器的增删改查方法 |
视图的作用,为什么用视图?视图的使用场景 |
如何对视图进行增删改查 |
数据库权限管理、用户管理、授权语句 |
数据库备份命令及工具讲解 |
实战案例:基于Mysql+paramiko模块实现主机批量管理系统 |
Day 10 | Web开发-Html\CSS入门 | Http协议原理和HTML介绍 | 今天学习WEB开发必备基础知识 HTML\CSS, 为何自动化课程 要学前端?因为你想实现通过浏览器就可以操作你的自动化工具的话,就必须要掌握前端开发知识 |
HTML标签之html\meta\div\span\a\img\input\pre等使用 |
select\form\textarea\input系列表单的使用 |
列表、超链接、表格、表单元素的使用 |
CSS的基本概念及语法 |
CSS选择器类型及优先级 |
伪类选择器 |
在html中使用css的方法 |
文字、段落属性、背景属性、列表属性、布局属性 |
display与overflow属性的应用及定位 |
掌握定位属性的方向值有运用规范 |
掌握z-index空间位置的运用规范 |
实战案例:小米商城首页开发 |
Day 11 | Web开发-JavaScript基础 | Javascript概述及组成 | 今天花一天时间学会JavaScript, 这样你就可以在页面上实现各种交互操作,写出来各种炫酷的动态交互效果啦 |
JS引用、变量、typeof、数据类型、表达式、运算符讲解 |
流程控制之if、switch、for、跳转、while语句的使用 |
函数、参数、局部变量、数组及编历方式 |
实战案例:用户登陆认证界面开发 |
DOM概念、节点、文档写入 |
查找元素的各种方法 |
节点遍历的各种方式 |
window对象操作、全局作用域、location对象、navigator对象、screen及history对象讲解 |
事件对象、鼠标、键盘、表单事件实例讲解 |
DOMO级、DOM2级事件处理、事件冒泡、阻止事件传递、碰撞检测 |
面向对象、继承、封装、多态、构造函数 |
作用域、闭包、原型 |
实战案例:购物车开发,实现商品浏览、选择商品、加入购物车等功能 |
Day 12 | Jquery/Bootstrap框架 | jQuery介绍与入门 | 会了Jquery +BootStrap你就知道 ,原来写前端是件很容易的事,Jquery是前端流行的JS框架,BootStrap可以使你很容易的搭建出漂亮的页面。今天学完后你就可以做个简单的购物商城啦 |
jQuery选择器 |
jQuery筛选器 |
jQuery属性、文档、样式、扩展、事件、动画 |
实战案例:加载、删除对话框 |
实战案例:单行编辑框 |
实战案例:全选反选取消 |
实战案例:左侧菜单 |
实战案例:Tab菜单 |
实战案例:返回顶部 |
Bootstrap 框架学习 |
响应式布局学习 |
实战案例:购物商城开发 |
Day 13 | Django Web框架 | Web框架原理剖析 | Django是Python最强大的Web框架,可以基于它快速开发你的Web项目,今天学习MVC开发模式,掌握urls\views\tempate\ORM的基本使用,自行开发一个简单主机管理系统 |
Web请求生命周期剖析 |
自行开发一个简单的Web框架 |
MTV\MVC框架介绍 |
Django框架基本使用 |
路由系统url, 精确、模糊匹配模式、url分组 |
视图views、Function based view VS Class based view |
get\post请求方法分别处理 |
通过Template模板语言返回动态数据到前端页面 |
template tags使用 |
HttpResponse\render\redirect等方法使用 |
django orm介绍、models定义语法、各种sql增删改查语句使用 |
FK\M2M\OneToOne\CharField\IntegerField\Datefiled等字段讲解 |
通过makemigrations\migrate命令同步数据 |
实战案例:服务器管理系统开发 |
Day 14 | Django 框架进阶 | Django Cookie & Session | 本日学习Django进阶知识,如cookie&session 、中间件、分页、csrf原理等,并把这些知识 应用到案例《问卷调查系统》中 |
CSRF原理、csrf_token\XSS跨站攻击防护 |
跨站请求伪造原理剖析 |
中间件原理、工作流程、自定义中间件 |
django paginator分页功能,自定义开发分页功能 |
实战案例:问卷调查系统开发 |
Day 15 | Django 框架高级 | cache缓存系统,cache的作用与使用 | 本日学习Django各种高级知识,为开发复杂的web项目做好准备 |
信号事件,通过给models绑定信号来监测数据库改动 |
message组件,通过message实现在前端页面显示消息提示 |
自定义用户认证系统 |
generic foreignkey |
ORM Q查询、F查询、数据聚合等高级语法 |
文件上传、下载 |
集合富文本编辑器 |
实战案例:服务器管理系统开发进阶 |
Day 16 | Redis缓存\RabbitMQ消息队列\Celery异步任务 | Redis缓存系统使用 | 今天学习Redis缓存、RabbitMQ消息队列和Celery异步任务组件,有了这些组件,就可以容易的开发支持高并发、异步执行的项目啦 |
Redis 支持的str \ list \set\hash等类型讲解 |
如何利用bitcount 以最节省空间的方式统计网站当前在线用户 |
如何通过redis订阅发布功能实现批量任务处理 |
RabbitMQ队列原理、特性、安装配置 |
RabbitmQ 1对1队列,fanout\direct\topic模式实例讲解 |
RabbitmQ Exchange各种参数配置 |
实战案例:通过RabbitMQ实现 RPC通信 |
Day 17 | RESTful API设计 | REST框架介绍 | Restful API是最主流的接口开发规范,不按这个规范写接口的都是野生程序员。因为按Restful规范写出来的接口可以充分的考虑接口的可读性、可扩展性等。今日老师将带你写出一套遵循Restful风格的专业API |
RESTful API设计规范 |
DjangoRestFramework框架基本配置 |
序列化\viewset\url配置 |
Serializer & ModelSerialzer源码解析 |
ViewSet & GenericViewSet源码解析 |
基于Session\JWT进行用户认证 |
权限组件 |
Validation 验证器 |
全局错误处理器 |
实战案例:基于drf开发一套符合企业生产环境要求的API系统 |
Day 18~19 | CMDB IT管理系统 | ITIL规范介绍 | 学DevOps必须会CMDB,因为它在IT自动化中发挥着重要的基石作用,如何准确掌握企业IT软硬件资产的动态变更及配置情况,为其它自动化系统提供准确的数据源是构建CMDB时必须考虑的问题,本项目将带你从0开始一步步构建一个可以企业落地的CMDB系统 |
设计符合企业实际需求的CMDB表结构 |
安全API接口开发与使用 |
开发支持windows和linux平台的客户端 |
硬件信息的自动收集、硬件信息变更后会自动在服务端同步更新并纪录变更事件 |
对其它系统开放灵活的api |
设计与开发IT资产的上线、下线、变更流程 |
开发报表功能,可按业务线、资产类型、资产状态等维度对IT资产进行分析并以图表形式展现 |
Day 20~21 | 自动化测试平台开发 | 软件测试基础介绍,软件的生命周期、开发模型与测试模型 | 每一款软件产品在推向市场前,都需要测试人员对产品进行大量的功能测试、性能测试、业务逻辑测试,以确保产品没有bug。 都9102年了,还有很多测试人员依然停留在手工人肉测试的阶段。越是大型的APP应用,功能越负杂,靠人肉鼠标点点点不但效率低下,成本高昂,还容易遗漏重要功能。 通过自动化的测试平台,它可以模拟人的行为,只需要点击几个按键,就可以把你的产品几百甚至几千的功能逻辑快速测试一遍,本项目将带你从0开始开发一个测试平台 ,支持pc端\移动端、接口测试、性能测试,允许用户自行编排测试脚本,自定义各种测试流程。 |
软件的测试分类、单元测试、黑盒、系统测试、集成测试等 |
软件测试计划书、测试力度和评审、缺陷管理 |
DDT数据驱动测试详解 |
详解unittest,断言的使用、源码剖析与扩展unittest相关功能 |
详解mock数据的使用、HTMLTestRunner生成测试报告及发送测试报告邮件 |
selenium集成开发环境与selenium WebDriver的使用 |
selenium的元素定位、等待机制、破解滑动验证与自动化发送邮件 |
selenium的键盘事件、鼠标事件、窗口切换、处理input与alert、hover事件 |
移动端测试介绍与appium的使用 |
appium的元素定位与等待机制 |
TouchAction与MultiAction的使用 |
抓包工具fiddler与postman详解 |
性能测试之jmeter使用 |
接口测试详解 |
测试自动化项目分析 |
测试平台项目搭建及表结构设计 |
接口自动化测试功能的开发 |
基于dwebsocket和多线程批量执行接口用例 |
基于unittest和HTMLTestRunner生成测试报告 |
实现测试报告下载与邮件发送功能 |
在线编写selenium脚本 |
基于OpenCV提供测试脚本屏幕录制功能 |
一键导入导出selenium脚本 |
支持在线多种浏览器并行执行脚本 |
在线编辑并执行移动端脚本 |
在线管理可用测试设备 |
一键启动appium服务 |
在线执行adb等终端命令 |
测试用例数据可视化管理 |
Day 22 | Docker & K8s基础 | Docker概念与核心组件介绍 | Docker是当前最火的DevOps技术栈,各大企业都在大量用Docker来部署应用,本日带你快速入门Docker&K8s |
深入剖析Docker架构 |
Docker镜像常用操作实践 |
容器数据持久化实践与实际场景落地 |
企业项目容器化落地案例 |
Kubernetes架构介绍 |
Kubernetes工作原理及基本概念 |
Kubectl手把手演示及实用技巧 |
Kubernetes安装环境准备 |
如何从零开始快速搭建高可用Kubernetes集群 |
Day 23 | 使用Kubernetes管理业务应用 | Kubernetes常用对象介绍及使用场景说明 | K8s 是Docker的集群管理工具,可以轻松的对几百至数千个节点docker容器的管理、实现业务水平扩展 |
副本控制器、调度器原理剖析 |
业务应用如何在集群中使用服务发现及实现负载均衡 |
Kubernetes集群中如何管理业务的配置文件 |
多副本业务应用数据持久化实践 |
Day 24~25 | DevOps、CICD互联网企业最佳落地实践 | 业务应用资源文件yaml编写 | 这2周将带你使用Docker\K8s + Gitlab+ jekins+ Python脚本实现互联网企业最典型的CI/CD落地 |
如何使用kubernetes管理业务应用生命周期 |
CI/CD技术栈及重点讲解 |
CI/CD过程演示 |
Jenkins介绍及插件使用 |
多分支流水线与Jenkinsfile使用案例演示 |
实践如何利用Shared Library玩转Jenkins |
Jenkins与Kubernetes无缝集成实践 |
演示如何利用Kubernetes的动态Pod运行流水线任务 |
GitLab、Sonarqube配置 |
利用Kubernetes与Jenkins实现完整的开发、测试、生成环境的业务管理实战 |
|
|
|
|
|
|
|
|
|
|
|
|
| 报名Python自动化开发周未班的同学,均赠送官方售价1999元的线上项目实战课程
(课程结束后统一发放) |
|
| 项目实战:审计&主机管理系统开发 | 用户行为审计
底层使用原生ssh、不牺牲ssh使用体验、对用户操作无任何影响
支持对主机进行分组管理
可为运维人员分配指定服务器、指定账号的操作权限
用户登录堡垒后的所有操作均可被记录下来以供日后审计. |
|
主机管理
可对指定数量的机器进行批量命令、文件分发操作,可实时查看操作进度和结果 |
|
计划任务
可以定制计划任务,在指定时间单次或重复执行指定的任务,可以是批量更新、上线、部署等
可查看当前登录用户、近期用户操作命令分析、近期用户登录报表等 |
|
项目实战:分布式监控系统开发 | 同一台主机监控多个服务,不同服务监控间隔不同 |
|
监控多种设备 |
|
批量监控主机 |
|
设定告警级别 |
|
不同服务设定不同告警级别 |
|
不同告警 发送不同用户 |
|
告警自动升级 |
|
告警的自动恢复 |
|
长期监控数据存储的优化 |
|
监控数据前端画图实现 |
|
基于http+restful架构开发,实现水平扩展,可轻松实现分布式监控,支持上万监控节点 |
|
项目实战:代码发布系统开发 | celery分布式任务管理 |
|
指定时间定时发布任务 |
|
静态文件、SQL、代码版本控制 |
|
自动快速回滚 |
|
灰度发布 |
|
git版本管理 |
|
文件解压缩 |
|
本地环境编译扩展java、vue等 |
|
服务器远程管理工具使用和原理剖析 |
|
saltstack |
|
ansible |
|
paramiko |
|
基于线程池批量执行远程任务 |
|
FTP、HTTP包管理 |
|
百万级服务器代码部署实现思路 |
|
前端框架VUE学习 | 流行前端框架Vue\React\AngularJS介绍及对比 |
|
Vue架构剖析、mvvm开发思想 |
|
Vue数据绑定与计算属性、条件渲染 |
|
类与样式绑定、表单控件绑定、事件绑定 |
|
webpack使用 |
|
vue-router使用 |
|
vuex单向数据流与应用结构 |
|
vuex actions与mutations热重载 |
|
实战案例:vue 单页面博客系统开发 |
|
项目实战:路飞学城项目开发 | 路飞学城项目需求分析和讨论 |
|
前后端分离项目架构及表结构设计 |
|
基于django+django-rest-framework+mysql+vue+jenkins开发部署 |
|
OAuth2 token 认证,使用 oauth2_provider 实现登陆会话信息的保持 |
|
采用rest_framework 序列化以及自定义验证对请求数据合法性进行校验和认证 |
|
滑动验证码使用 geetest 配合注册 防止频繁对发送验证码API的请求 |
|
手机验证码服务API开发 |
|
支持微信、QQ等第三方登录 |
|
API访问接口速率限制 |
|
资讯点赞、点踩、收藏、更换头像、提问、评论等功能开发 |
|
课程优惠券、通用优惠券、用户贝里支付策略 |
|
支持支付宝、微信、银联支付 |
|
开发在线看课程视频,倍速播放功能 |
|
支持在线交作业、在线课程练习功能 |
|
定时任务:订单超过24小时未付款关闭、优惠券过期自动变更状态等 |
|
学员未按时交作业自动扣奖学金,导师未及时批改作业自动扣辅导费 |
|
微信开发:针对关注微信服务号的学员,各种业务操作对用户进行微信通知 |
|
为学员、导师、管理员、班主任开发不同的界面,不同角色间通过权限进行限制访问 |
|
开发后台课程管理、会员管理、学员管理、导师管理、导师分配 、订单管理、评论管理、作业管理等功能 |
|
爬虫开发实战 | 爬虫实现原理介绍 |
|
验证码自动识别 |
|
高并发百万数据量爬虫处理方案 |
|
request模块学习及常用参数介绍 |
|
实战案例: |
|
- 自动登录抽屉新热榜并对新闻点赞 |
|
- 自动登录Github |
|
- 爬取汽车之家新闻咨询信息 |
|
BeautifulSoup模块学习 |
|
高性能IO相关模块:asyncio、aiohttp、Twisted学习 |
|
利用gevent协程模块自定义开发一个高并发异步非阻塞的爬虫框架 |
|
Selenium自动化测试框架入门 |
|
PhantomJS快速上手 |
|
图片滑动验证码实现原理剖析 |
|
实战案例:爬取抖音、豆瓣电影、知乎、LOL英雄皮肤、QQ空间等20+案例 |
|
scrapy框架介绍 |
|
scrapy程序创建及运行 |
|
scrapy基本使用及选择器、url学习 |
|
通过Scrapy发送post,get请求 |
|
scrapy自定义去重规则 |
|
scrapy持久化之pipeline |
|
scrapy基于下载中间件实现代理 |
|
scrapy定制https证书 |
|
scrapy-redis分布式爬虫 |
|
scrapy框架及源码剖析 |
|
实战案例: |
|
- 优酷、爱奇艺VIP视频免费下载 |
|
- 拉勾网获取职位信息,并实现自动简历投递 |
|
- 破解滑动验证码 |
|
- 破解web微信,通过爬虫登录微信,实现更换头像、获取联系人列表、给好友发送消息等 |
|
常用算法&数据结构&设计模式 | 算法思想介绍 |
|
算法时间复杂度、空间复杂度讲解 |
|
排序LowB三人组之冒泡、选择排序、插入排序实例讲解 |
|
排序牛B三人组快排、堆排序、归并排序实例讲解 |
|
其他排序如折半、希尔排序、计数排序、基数排序实例讲解 |
|
二叉树数据机构讲解、完全二叉树、链式存储、顺序存储、大顶堆、小顶堆讲解 |
|
各种排序算法复杂度对比、优缺点 |
|
算法常见面试题剖析 |
|
常用数据结构散列、堆、栈、链表、二叉树等讲解 |
|
高级算法如动态规划、贪婪算法、分摊分析、矩阵运算、线性规划、最短路径等介绍 |
|
设计模式介绍、作用、分类 |
|
常见设计模式实例讲解,如工厂模式、单例模式、享元模式、代理模式、组合模式、观察者模式、策略模式、责任链模式、适配器模式等 |
|