Python高级运维开发实战培训大纲
一、python基础
1、编程语言介绍
2、Python基础,介绍历史、发展情况及现状
3、Python安装、环境准备
4、编程风格、语法要求、变量格式等
5、编写用户交互脚本
6、读取用户输入
7、基本流程控制,if..else/for x in…/while True
8、程序流程控制二,break\continue\ 嵌套循环
9、项目实践:编写用户登录认证程序
※实现用户名密码登陆,输入错误3次后锁定用户,多用户在线
二、Python 数据类型应该及IO处理
1、python I/O交互
2、处理文件、通过Python修改及处理文件内容
3、项目实践:编写员工信息查询程序
※读取员工信息数据库,支持模糊查询,支持动态添加、修改、删除员工信息
4、列表
5、元组、集合
6、字典的概念、语法、使用
7、程序实践
8、项目实践:编写信用卡ATM机程序,自动计息,自动扣款,带对账单功能
※提供消费购物接口,取款需自动扣除手续费,每月底生成电子对帐单,延迟还款需计利息
三、函数及模块构建大型程序基础
1、Python模块的介绍与使用
2、常用模块介绍
3、Pickle 序列化(实现内存数据在不同程序间共享)
4、自定制模块
5、异常处理,try….except
6、自定义异常类
7、Python函数概念、语法
8、函数参数
10、函数处理多个参数、默认参数
11、Return
12、正则表达式
13、迭代器和生成器
14、lambda 函数使用
15、装饰器、Yield使用
16、项目实践:编写备份程序,具备常规备份、增量备份、差异备份功能
四、面向对象编程开发
1、面向对象编程基础
2、类的基本语法
3、编写类练习小程序
4、类的初始化
5、类下面的函数使用
6、类的调用
7、类的继承
8、项目实践:安红恋爱游戏程序
※练习使用面向对象的思维设计并编写程序
9、项目实战一、模拟人生游戏
※设定两个故事场景,场景可以穿插衔接,人物之间有关系和互动并且互相影响,根据不同用户的玩法实现开放式结局
进阶篇:
五、SOCKET网络开发 1、Socket 介绍
2、Python socket 语法
3、简单的socket 交互程序
4、Socket Server的开发与使用
5、多线程非阻塞并发自处理
6、练习程序:用SOCKET模拟实现SSH客户端功能
6、项目实战二、开发FTP服务器\客户端软件
※分别开发服务器端和客户端,通过Socket模块实现网络通信,模拟实现FTP主要的文件下载、上传功能、实现多用户并发在线使用。
六、基于数据库的运维审计系统开发
1、项目实战三、开发运维审计服务器,实现公司全网用户操作审计需求
※开发一个堡垒机,实现用户可以通过WEB 和命令行登录到所有LINUX服务器上,纪录所有用户命令操作
2、项目实战四、通过Python脚本连接MYSQL数据库实现数据自动入库、更新
3、项目实战五、开发C/S架构备份服务器,实现远程备份
※使用PYTHON SOCKET模块实现文件的远程压缩传输
七、开发监控软件
1、项目实战六、编写类Nagios监控软件框架
2、编写监控服务器server 端
3、实现自动监控、自动报警
4、编写监控客户端
5、可监控自定义进程、服务
6、使用Python SNMP模块获取并处理服务器信息
7、使用Paramiko模块管理Linux 服务器
八、多线程及运维批量部署程序开发
1、Python 多线程程序开发使用
2、项目实战七、开发实现对上千台服务器的批量管理,分发指令、文件传送的运维管理程序
※用多线程的方式并发连接登录多台LINUX服务器,实现并发命令操作、文件分发,实时结果返回,并可根据服务器性能控制线程量,千台机器改密码1分钟完成。
高级篇:
九、WEB开发基础
1、HTML/JavaScript基础
2、WEB JS Package BootStrap 介绍与使用
※通过BootsStrap 样式制作精美清新的WEB页面
3、使用JSON(实现不同程序间内存数据交换)
4、JQuery/Ajax 基础与使用
※实现页面部分内容与后台交互并实时刷新页面
十、WEB开发进阶及Python web框架学习
1、Python WEB 架构Django的介绍、使用
2、Django manage.py
3、Django 视图
4、Django models使用Mysql数据库
5、Django 模板
6、Django url
7、Django Admin
8、编写前后台动态交互页面
十一、企业项目实战八--开发BBS论坛软件
1、实现多用户同时在线
2、实现发贴、回复、评论功能
3、接入微博、QQ等SNS社交软件登录发帖接口
十二、企业大项目实战九--开发WEB在线聊天室软件
1、实现多用户同时在线聊天
2、单个用户可以同时打开多窗口进入多个聊天室聊天
3、通过JQUERY实现前台聊天页面的优化
4、实现类似WEB QQ的使用效果
十三、企业项目大实战十--编写类 puppet 开源运维批量管理软件(TriAquae)
1、开发 WEB 页面批量管理服务器
2、实现页面批量执行命令,后台实时返回结果
※上千台机器并发执行任务,瞬间实时返回结果
3、实现 WEB 版本服务器监控功能
※监控服务器基本状态、服务器性能并画图,集合Highchart HTML5画图插件
4、实现页面实时监控并报警(完爆Nagios)
5、实现硬件资产的自动收集和管理
※通过自动化脚本自动收集硬件信息,写入数据库并前台实现更新
6、实现按用户、按组、按机房等管理软件使用权限
※实现不同运维人员使用不同等级的权限管理不同的远程机器 |