Python自動化運維微職位課程大綱
內容模塊章知識點學習安排預期達到的目標
一、課程準備:了解課程和學習計算機基礎
A、課程目標
1. 你為什么學編程
2. 本課程的目標
B、課程簡介與工具
1. 全程實踐的課程
2. 最基礎工具的安裝
3. 項目介紹
C、課程教學體系
1. 動態定制計劃
2. 講師與班主任全程督導
3. 每周直播答疑
4. 虛擬項目組
5. 面試與未來學習指南
D、學習最佳實踐
1. 怎么聽課
2. 怎么記筆記
3. 怎么做項目
4. KV編程論
E、計算機基礎
1. 計算機與信息處理
2. 程序的本質
3. 現代操作系統概覽
4. CPU的工作原理
5. 數據存儲的層次結構
6. 編譯系統的運行過程
F、常見面試題
G、打造編程環境
1. 使用Anaconda安裝虛擬環境
2. conda基本命令簡介
3. 用快捷命令玩轉多環境下的Python
4. jupyter會是你的好朋友
5. 我該用哪個IDE寫代碼
二、Python基礎:從第一行代碼到掌握Python
A、成長型項目
1. 為什么叫成長型項目
2. Python程序的運行過程
3. Python腳本的常用結構
4. 伴你終身的代碼規范
5. 基本數據類型:int、str、bool
6. 基本數據結構list
B、字符串與數字
1. 字符串的增刪改查
2. 判斷是否數字或字符串
3. 案例: 打印乘法表
4. 案例:token生成器
C、基本數據結構dict、set,tuple
1. 案例: 翻譯小程序
2. 案例: 單位轉換器
3. 項目:備忘錄v0.24
D、控制程序的每個角落
1. 哪一句代碼是真的
2. if語句一家子
3. for循環
4. while也循環
5. 案例:21點
6. 項目:備忘錄v0.25
E、了解函數的來龍去脈
1. 為什么需要函數
2. KV編程論:解釋函數
3. 幾種參數的用法
4. 你了解作用域嗎?
5. 程序出了異常怎么辦?
6. 案例:登錄驗證命令行版
7. 案例:密碼生成器
8. 項目:備忘錄v0.26
F、給你想要的正則表達式
1. KV編程論:各種模式匹配都只是代數
2. 匹配一次還是多次
3. 如果想分組匹配怎么辦
4. 匹配要不要貪心一點
5. 正則匹配可以直接換掉內容嗎?
6. 案例:找找她的聯系方式
7. 案例:登錄驗證正則版
8. 項目:備忘錄v0.27
G、面向對象大法好
1. KV編程論:類與對象
2. 如何定義一個類
3. 方法中的self是怎么回事
4. 特殊方法
5. 面向對象的三大特征都是什么?
6. 元編程
7. 7種可調用對象
8. 反射都能用來干什么?
9. 案例:汽車工廠
10. 案例:簡易聊天機器人
11. 項目:備忘錄v0.2
H、擴展:好程序都是debug出來的
I、擴展:用git管理代碼
J、面試常見問題
三、Python進階:讓工作開始自動化
A、管理目錄與文件
1. 探索整個目錄樹
2. 命名管理
3. 只想要我要的文件格式
4. 怎么壓縮備份多個文件
5. 案例:代碼備份機
B、處理任意格式的文本文件
1. KV編程論:讀寫文件就這幾下
2. 案例:日志分析器
3. 項目:備忘錄v0.32
C、熟練操作各種辦公文件
1. word文檔快速編輯
2. excel文件讀寫套路
3. pdf文件怎么辦?
4. 案例:用代碼寫word情書
5. 案例:表格與文本轉換器
6. 項目:51備忘錄v0.33
D、給程序加點日志
1. 要日志有什么用?
2. 日志有哪些級別
3. 日志的輸出控制
4. 案例:交通信號燈
5. 項目:51備忘錄v0.34
E、自由管理時間
1. 工程中那些地方需要時間?
2. 常用時間模塊有哪些?
3. 案例:2B鬧鐘
4. 案例:時間轉換器
5. 項目:51備忘錄v0.35
F、JSON和API會是你的好伙伴
1. json其實還是文本
2. API會對你造成多大影響?
3. 案例:定制天氣預報
4. 案例:博客詞頻統計
5. 項目:51備忘錄v0.36
G、怎么發郵件
1. 郵件的幾個要素
2. 來吧!給我發個郵件
3. 案例:會員注冊提醒
4. 項目:51備忘錄v0.37
H、用Python來PS照片?
1. 圖像的基礎知識
2. 用Python玩轉圖像
3. 案例:mini照片管理系統
4. 項目:51備忘錄v0.38
I、是時候做個小爬蟲了
1. 8哥警告你,要守法!
2. 訓練爬蟲
3. 爬蟲有哪些姿勢
4. 案例:差評分析
J、很多時候,不用自己造輪子
1. map,filter,reduce的應用
2. collections里面的幾個有用方法
3. lambda表達式很好玩
4. 這些代碼可以一行搞定
5. 項目:51備忘錄v0.310
K、迭代器,生成器,裝飾器
1. Iterator和Generator的關系
2. 裝飾器的多種用途
3. 案例:驗證登錄狀態
4. 項目:51備忘錄v0.311
L、擴展:如果你想寫個界面
M、擴展:可以開始讀源碼了
N、面試常見問題
四、web基礎:為網絡服務開發做好準備
A、包,模塊,庫,框架,傻傻分不清?
1、包,模塊,庫,框架的區別
B、網絡通信與服務器
1. 從搜索關鍵詞到頁面展現的整個流程
2. HTTP,HTTPS的特點和區 別3. DNS的原理
4. TCP/IP協議介紹
5. TCP與UDP編程
6. Socket原理與簡單應用
7. 案例:socket讀寫練習
8. 服務器與WSGI簡介
9. 把nginx用起來
10. 案例:寫個最簡單服務器
C、異步編程
1. 了解進程間通信
2. 多線程與多進程的用法
3. 協程的好處與用法
4. 開始使用async,await
5. HTTP框架aiohttp
6. 案例:異步爬蟲用
D、Python控制服務器
1. 復習shell命令
2. 使用subprocess操作命令
3. paramiko能幫我們做什么
4. 案例:文件上傳下載
E、使用Python操作數據庫
1. 為什么需要數據庫
2. SQL的常用命令
3. MySQL的安裝與使用
4. 事務的概念
5. 數據庫的關聯
6. 各種查詢的用法
7. 數據的索引
8. ORM與SQLAlchemy的安裝與應用
9. 案例:使用Python操作mysql進行增刪改查
10. NoSQL的概念
11. 學習MongoDB
12. 案例:pymongo操作MongoDB
13. Redis第一次登場
14. redis的常見操作
15. 案例:統計用戶數
F、常用網絡服務中間件
1. 緩存系統Memcached
2. Redis也能做為緩存系統
3. redis的訂閱發布功能
4. 企業級消息系統
5RitaMbQbitMQ的幾種Exchange原理
6. RabbitMQ的主機管理
7. 案例:通過RabbitMQ實現 RPC通信
8. 任務調度神器Celery
9. 案例:簡單任務調度
G、web應用的歷史與特點
1. web2.0簡介
2. web應用的分類
3. 瀏覽器工作原理
4. 瀏覽器的歷史變遷
5. 現代web應用的特點
H、HTML5登上歷史舞臺
1. 終于開始寫網站了
2. 那么多重復代碼真的一個個敲嗎?
3. 網頁都有哪些元素
4. HTML5的各種實體
5. 元素使用原則
6. 你的頁面你做主
7. 表格的制作與修改
8. 表單的多種玩法
9. 案例:雙十一的購物車-選貨
10. 項目:備忘錄v0.49
I、CSS3為你的網頁增光添彩
1. CSS的演化
2. KV編程論:盒模型
3. 選擇器的多種格式CSS3為你的網頁增光添彩
4. 各種邊框與背景
5. 修改文本樣式
6. 調整各種圖片
7. 開始你的自定義網頁布局
8. 各種單位轉換真是讓人頭大
9. 網頁動畫見過吧
10. 案例:蛙兒子的明信片
11. 案例:畫一只會動的小動物
12. 項目:51備忘錄v0.410
J、JavaScript與ES6/7讓網頁動起來
1. JS工作原理
2. ES6/7到底是誰?
3. 該學習DOM了
4. JS的基本用法
5. 用JS探索頁面每個元素
6. 才學習沒多久就忘記var
7. 字符串的各種操作
8. 解構賦值是什么意思?
9. 來認識一下箭頭函數
10. Ajax已經是老黃歷了
11. ES6的異步操作
12. JS也有class?
13. JS還有import呢!
14. 案例:雙十一的購物車-清空
15. 項目:備忘錄v0.411
K、擴展:漸進增強,移動優先原則(選修)
擴展:加密與解密
擴展:web性能優化
面試常見問題
五、web前端框架:給你的前端代碼加點料
A、工程化前段項目
1. 為什么要工程化
2. SASS是什么
3. gulp的作用
4. nodejs基本概念
5. webpack對工程的作用
B、流行框架:Vue
1. Vue的特點與快速上手
2. 理解模版
3. Vue的頁面渲染與綁定
4. Vue的事件處理
5. 使用component組件化開發
6. 自定義指令的用法
7. 路由vue-router的用法
8. 使用vuex進行狀態管理
9. vue的UI庫哪個好用?
10. 項目:備忘錄v1.0-Vue版
13. 項目:后臺管理系統-Vue版
擴展:Google出品的Angular框架快速入門(選修)
擴展:是時候使用開發者工具了
面試常見問題
六、web后端框架:網絡服務的基石
A、全身肌肉的Django
1. Django的安裝與快速上手
2. MTV架構
3. 工程的配置管理
4. URL的規則應用
5. 模版的概念
6. 模版與視圖交互
7. 模版的繼承關系
8. Django的ORM
9. Model的設計與操作
10. Django與數據庫進行交互:QuerySet
11. 表單提交
12. 靜態文件管理
13. Django的REST API框架
14. Django的后臺管理
15. 使用xadmin替換Django的默認后臺
16. 案例:登錄與注冊功能
17. 案例:文件上傳
18. 項目:51備忘錄v1.0-Django版
19. 項目:電子商城-Django版
B、REST API與安全
前后端分離簡介
REST API的作用
跨域與安全
項目:51備忘錄v1.0(Django+ Vue)
擴展:簡約不簡單的Flask(選修)
擴展:更為小巧的hug
面試常見問題
七、項目實戰:
Python+Hadoop實現大數據應用,為企業提供大數量級統計
A、Python+Hadoop實現大數據應用
Hadoop概念簡介(大數據和云計算時代到來整合其中,簡略)
Hadoop集群安裝部署(多點)
Hadoop MR簡介
H(aMdoapoRpe運d行uc第e)一個自帶MR程序 (檢驗集群成功)
Python和 Hadoop streaming的關系
Python編寫第一個Map代碼
Python編寫第一個Reduce代碼
Python實現第一個WordCountMR程序
Python其他大數據相關開源框架企
業模擬環境場景搭建+介紹(開源站點+壓力測試)
企業模擬環境 日志格式定位(LNMP環境)
Python 最終結合大數據實現站點數據分析 案例一
Python 最終結合大數據實現站點數據分析 案例二
Python 最終結合大數據實現站點數據分析 案例三
八、項目實戰:Python + Jenkins實現企業級持續集成
Python + Jenkins實現企業級持續集成
介紹持續集成的概念
Python + Jenkins實現
企業級持續集成
上線模擬部署環境的搭建(基于LNMP環境)
白盒測試介紹
Jenkins簡介和服務端搭建
Jenkins按 預發布+生產環境 分Jobs
Jenkins結合hadoop實現大數據集成
GIT簡介+GIT server搭建(為線上代碼倉庫)
GIT+Jenkins 實現trigger機制
jPoybthson+Jenkins實現灰度發布
Python+Jenkins實現上線發布
Python+Jenkins實現發布校驗
Python+Jenkins實現代碼回退
Python+Jenkins實現大數據校驗
討論持續集成 對運維和企業運行的重要性
九、項目實戰:Python+prometheus 實現企業級日志監控
Python+prometheus 實現企業級日志監控
企業級日志監控的重要性
Python+prometheus
實現企業級日志監控
日志源+日志格式準備工作
Python實現日志實時第一步Tail -F功能
Python實現單點日志實時分析+二次處理
Python單獨實現多點日志分析+二次處理+匯總
Python單點日志處理能力 橫向比較 (跟其他腳本語言)
Python+logstash實現日志匯總P
ython+logstash實現日志集中二次處理
python+logstash+grafana實現企業級日志監控報警 案例一
python+logstash+grafana實現企業級日志監控報警 案例二
十、項目實戰:
python實現kafka消息列隊
python實現kafka消息列隊
kafka消息列隊簡介
用python實現kafka消息列隊
kafka消息列隊環境搭建
zookeeper簡介以及搭建
生產者和消費者的概念
Python實現kafka生產者
Python實現kafka消費者
消息列隊在企業中的重要性以及運維相關支持
十一、項目實戰:Python實現CMDB 企業資源管理平臺
Python 實現CMDB企業資源管理平臺
CMDB概念簡介
用Python 實現CMDB
企業資源管理平臺
CMDB在運維架構中的核心地位
開源CMDB搭建
Python實現CMDB中間件
Python從零設計和開發自己的CMDB平臺
十二、敏捷開發與架構:工作必備與進階技能
敏捷開發流程敏捷開發的概念以及常用工具
1.理解敏捷開發的概念,掌握常用工具
2.了解git的團隊合作技巧,結對編程使用git協作開發
git的團隊合作技巧,結對編程開發
微服務與架構docker的使用以及容器云簡介






