课程主题:
Python
高级运维开发实战
课程讲师:
Alex
老师,
triaquae python
开源运维管理软件创始人,知名
IT
公司运维开发架构师
课程安排:
每周六一天全天(早
9:00--
最晚持续
21
:
00
开课时间:
暂定
2014.05.17
,人数小班
15-25
人。
开课地点:
北京市昌平线沙河地铁青年创业大厦
(北五环外
距中关村半小时车程
)
学习要求:
具备一定的运维基础,最好有
6
个月以上的实际
linux
运维或相关程序开发经验。赠送全部讲课视频,确保学习效果最大化。我们提供了入学测试题。见附件!
课程列表:
基础篇:
一、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
开发基础
3
、
HTML/JavaScript
基础
4
、
WEB JS Package BootStrap
介绍与使用
※通过
BootsStrap
样式制作精美清新的
WEB
页面
5
、使用
JSON
(实现不同程序间内存数据交换)
6
、
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
、编写前后台动态交互页面
Python
运维开发企业项目实战
(
web
及运维软件开发)
十一、企业项目实战八
--
开发
BBS
论坛软件
1
、实现多用户同时在线
2
、实现发贴、回复、评论功能
3
、接入微博、
等
SNS
社交软件登录发帖接口
十二、企业大项目实战九
--
开发
WEB
在线聊天室软件
1
、
实现多用户同时在线聊天
2
、
单个用户可以同时打开多窗口进入多个聊天室聊天
3
、
通过
JQUERY
实现前台聊天页面的优化
4
、
实现类似
WEB QQ
的使用效果
十三、企业项目大实战十
--
编写类
puppet
开源运维批量管理软件(
TriAquae
)
1
、开发
WEB
页面批量管理服务器
2
、实现页面批量执行命令,后台实时返回结果
※上千台机器并发执行任务,瞬间实时返回结果
3
、实现
WEB
版本服务器监控功能
※监控服务器基本状态、服务器性能并画图
,
集合
Highchart HTML5
画图插件
4
、实现页面实时监控并报警(完爆
Nagios
)
5
、实现硬件资产的自动收集和管理
※通过自动化脚本自动收集硬件信息,写入数据库并前台实现更新
6
、实现按用户、按组、按机房等管理软件使用权限
※实现不同运维人员使用不同等级的权限管理不同的远程机器
7
、课程总结、回顾、期末学生开发运维软件大作业实战
8
、期末开发运维软件大作业重点讲解,答疑。