歷時(shí)一個(gè)月,騰訊認(rèn)證python全套項(xiàng)目實(shí)戰(zhàn)筆記,終于整理出來了
前言
之前拿到一份關(guān)于騰訊認(rèn)證的python的全套項(xiàng)目實(shí)戰(zhàn)腦圖,于是歷時(shí)花費(fèi)一個(gè)月,終于是熬夜加點(diǎn)的給肝出來了,先用typora全部寫出來,然后再導(dǎo)出成PDF文件,目前已經(jīng)完全搞定。

總共劃分內(nèi)容為(七大模塊):

一丶python語(yǔ)法必修
主要有三大模塊內(nèi)容,分別是:python語(yǔ)法編程丶python并發(fā)編程丶python數(shù)據(jù)庫(kù)編程
1.python語(yǔ)法編程篇
包含:python3基礎(chǔ)入門,列表與元組,字符串和字典,條件丶循環(huán)和其他語(yǔ)句,函數(shù),面向?qū)ο?,異常與文件處理八個(gè)模塊


2.python并發(fā)編程篇

包含:網(wǎng)絡(luò)編程,多線程,多進(jìn)程,協(xié)程四個(gè)方面
網(wǎng)絡(luò)編程就有:TCP/IP簡(jiǎn)介和網(wǎng)絡(luò)設(shè)計(jì)模塊
多線程有:線程和進(jìn)程,使用線程,多線程全局變量,共享全局變量,互斥鎖,死鎖,線程池等
多進(jìn)程有:進(jìn)程狀態(tài),線程的創(chuàng)建,進(jìn)程線程對(duì)比,通信和進(jìn)程池創(chuàng)建
協(xié)程:協(xié)程的意,asyncio事件循環(huán),await,異步爬蟲,異步操作MySQL等

3.python數(shù)據(jù)庫(kù)編程
概述MySQL丶Redis丶MongoDB三種數(shù)據(jù)庫(kù)

MySQL:基礎(chǔ)丶進(jìn)階查詢丶高級(jí)應(yīng)用丶MySQL ORM框架-SQLAIchemy
Redis:服務(wù)端和客戶端基本操作命令,數(shù)據(jù)操作,python操作Redis
MongoDB:database的基礎(chǔ)命令,集合的基礎(chǔ)命令,數(shù)據(jù)類型和操作,牽引,聚合操作,數(shù)據(jù)備份和回復(fù),pymongo的操作

二丶機(jī)器學(xué)習(xí)
機(jī)器學(xué)習(xí)包含了兩大模塊,分別是機(jī)器學(xué)習(xí)算法和機(jī)器學(xué)習(xí)應(yīng)用項(xiàng)目

1.機(jī)器學(xué)習(xí)算法
線性回歸算法,K-Means算法,樸素貝葉斯,集成算法


2.機(jī)器學(xué)習(xí)應(yīng)用項(xiàng)目

機(jī)器人開發(fā)環(huán)境
ROS客戶端
人工智能講解
開發(fā)跟蹤機(jī)器人
機(jī)器人建圖和導(dǎo)航
智能安保機(jī)器人開發(fā)
神經(jīng)網(wǎng)絡(luò)應(yīng)用
基于ROS開發(fā)多機(jī)器人
類腦計(jì)算和深度強(qiáng)化學(xué)習(xí)

三丶全棧開發(fā)體系
全棧開發(fā)包含了三大模塊。分別是web網(wǎng)頁(yè)開發(fā),后端架構(gòu)開發(fā)和性能調(diào)優(yōu)

1.web網(wǎng)頁(yè)開發(fā)
web網(wǎng)頁(yè)開發(fā)分為:
HTML
CSS
JQuery
vue


2.后端架構(gòu)開發(fā)
本篇我將主要分為三個(gè)階段來講述后端架構(gòu)開發(fā),分別是
1.Django初級(jí)
安裝Django以及創(chuàng)建
運(yùn)行和創(chuàng)建Django應(yīng)用程序
Django視圖-模板-模型
Django管理員站點(diǎn)
2.Django進(jìn)階
Django視圖分類
Django模板繼承
Django表單
Django中間件和信號(hào)
3.Django高級(jí)
Django性能優(yōu)化
Django安全性


3.性能調(diào)優(yōu)
這方面內(nèi)容比較多,分別從五個(gè)方向展開講述,分別是存儲(chǔ)層調(diào)優(yōu),celery異步任務(wù),Django緩存機(jī)制,Nginx服務(wù),Django對(duì)SDK開發(fā)以及Docker容器

1.存儲(chǔ)層調(diào)優(yōu)
數(shù)據(jù)庫(kù)設(shè)計(jì)
數(shù)據(jù)庫(kù)查詢優(yōu)化
緩存和數(shù)據(jù)庫(kù)復(fù)制
2.celery異步任務(wù)
使用異步任務(wù)
設(shè)置任務(wù)超時(shí)時(shí)間
密集型任務(wù)的并行化
任務(wù)結(jié)果緩存
消息隊(duì)列的優(yōu)化
3.Django緩存機(jī)制
開啟緩存
緩存鍵設(shè)計(jì)
使用緩存框架
緩存優(yōu)化和清理機(jī)制
4.Nginx服務(wù)
合理配置
使用Nginx高級(jí)功能
監(jiān)控和優(yōu)化Nginx
5.Django對(duì)SDK開發(fā)
創(chuàng)建Django SDK項(xiàng)目
創(chuàng)建Django SDK應(yīng)用程序和視圖函數(shù),路由
進(jìn)行Django性能調(diào)優(yōu)
6.Docker容器
Docker容器基本知識(shí)
使用docker部署全棧應(yīng)用和性能調(diào)優(yōu)

四丶大數(shù)據(jù)體系
大數(shù)據(jù)體系本章從:數(shù)據(jù)分析,Hadoop,spark三大模塊開始講述

1.數(shù)據(jù)分析篇

1.Numpy篇
numpy函數(shù)介紹
numpy通用函數(shù)
5W字numpy圖文講解

2.panda核心介紹
pandas展示
panda基礎(chǔ)
series和Index
pandas數(shù)據(jù)可視化

3.Matplotlib和數(shù)據(jù)可視化
Matplotlib簡(jiǎn)介及圖表窗口
圖表基本元素
Matplotlib圖表的樣式參數(shù)
Matplotlib刻度、圖表輸出丶注解

2.Hadoop篇
1.對(duì)Hadoop的認(rèn)識(shí)
Hadoop介紹,版本,特點(diǎn),組成
HDFS,YARN,MapReduce,三者的關(guān)系
大數(shù)據(jù)處理過程
2.Hadoop之配置java與hadoop環(huán)境
打開虛擬機(jī)連接xshell
進(jìn)入到我們安裝軟件的文件夾
配置java的JDK的環(huán)境變量
解壓縮Hadoop的壓縮包
配置Hadoop的環(huán)境變量
3.Hadoop之文件復(fù)制scp和同步rsync
scp介紹命令
拷貝文件
rsync介紹命令
4.Hadoop之SSH免密登錄
SSH原理
配置SSH
5.Hadoop之集群配置和啟動(dòng)集群(完全分布式)
集群部署
配置文件
分發(fā)文件
啟動(dòng)集群

3.spark
spark概述
spark core
spark sql
spark內(nèi)核原理

五丶爬蟲工程師
本篇內(nèi)容容量大,主要從5個(gè)大模塊上百個(gè)小知識(shí)點(diǎn)開啟講述:采集功底,自動(dòng)化抓包,源碼框架,爬蟲集群部署和JavaScript逆向

1.采集功底專題篇

1.網(wǎng)絡(luò)請(qǐng)求
request源碼解析,常用方法
data/json/param參數(shù)傳遞
隧道代理使用,證書異常處理
httpx源碼解析和常用方法
httpx上下文處理和異步請(qǐng)求
2.數(shù)據(jù)解析
正則表達(dá)式原理
分組和通用匹配
貪婪和非貪婪模式
findall/match/search方法
xpath語(yǔ)法學(xué)習(xí)
xpath定位文章數(shù)據(jù)
基于bs4的環(huán)境搭建
bs4節(jié)點(diǎn)-屬性-層級(jí)選擇器
數(shù)據(jù)入庫(kù)
3.數(shù)據(jù)入庫(kù)
MySQL表結(jié)構(gòu)設(shè)計(jì)
MySQL數(shù)據(jù)寫入規(guī)范
MySQL動(dòng)態(tài)傳參和對(duì)接爬蟲實(shí)戰(zhàn)
MongoDB數(shù)據(jù)寫入規(guī)范
MongoDB數(shù)據(jù)異常處理
爬蟲對(duì)接MongoDB
JSON對(duì)象和數(shù)組以及數(shù)據(jù)編碼

2.自動(dòng)化抓包
自動(dòng)化抓包分為:selenium采集,pyppeteer采集,Charles抓包,mitmproxy
Selenium介紹
Selenium安裝
Selenium基本使用和高級(jí)用法
抓包獲取數(shù)據(jù)
pyppeteer請(qǐng)求實(shí)戰(zhàn)案例
Charles替換CSS和JS文件
mitmproxy腳本編寫- 數(shù)據(jù)截取-代理響應(yīng)

3.框架源碼專題
框架源碼主要從4個(gè)方向講述:scrapy框架,feadper,Scrapy_redis,,爬蟲集群部署

1.框架基本使用
安裝Scrapy以及創(chuàng)建Scrapy項(xiàng)目
定義爬蟲提取數(shù)據(jù)
提取數(shù)據(jù)定義數(shù)據(jù)存儲(chǔ)
運(yùn)行爬蟲
scrapy功能學(xué)習(xí)
Selector數(shù)據(jù)處理
xpath選擇器
CSS選擇器
scrapy對(duì)接MySQL
Scrapy對(duì)接MongoDB
Scrapy文件存儲(chǔ)
scrapy中間件
Scrapy中的中間件類型
中間件的執(zhí)行順序以及編寫和配置
常見的中間件應(yīng)用場(chǎng)景
2.feapder
feapder任務(wù)調(diào)度機(jī)制
Feapder中間件實(shí)現(xiàn)異常處理
框架對(duì)接selenium實(shí)現(xiàn)自動(dòng)化
feapder分布式采集

3.爬蟲集群部署
scrapyd框架
環(huán)境部署
scrapyd API處理爬蟲
scrapyd多任務(wù)管理
gerapy部署爬蟲
gerapy環(huán)境搭建
gerapy服務(wù)器部署
gerapy打包框架項(xiàng)目
feapder部署
feapder應(yīng)用場(chǎng)景和原理
feapder鏡像拉取
docker部署feapder部署環(huán)境
feapder部署scrapy項(xiàng)目

4.JavaScript逆向

本系列將從九個(gè)方面講解JavaScript逆向?qū)n}1.瀏覽器調(diào)試
js作用域
瀏覽器對(duì)象屬性
瀏覽器控制臺(tái)
2.國(guó)標(biāo)哈希算法
sha1算法
sha256算法
sha512算法
md5
hmac算法
python和JavaScript實(shí)現(xiàn)
3.國(guó)標(biāo)對(duì)稱加密
DES算法
AES算法
crypto-js模塊使用
pycryptodome
4. 國(guó)標(biāo)非對(duì)稱加密
RAS算法原理
非對(duì)稱特征
JavaScript算法還原
ras模塊
jesencrypt
5.webpack模塊打包
webpack打包原理
webpack構(gòu)造形式
全局導(dǎo)出加密函數(shù)
6.JS混淆
JavaScript壓縮 混淆原理
OB混淆特性
OB混淆JavaScript
7.cookie反爬處理
cookie加解密原理
cookie和session機(jī)制
cookie hook技巧
acw_sc_v2調(diào)試
8.AST抽象語(yǔ)法樹
AST 技術(shù)介紹
字符串和編碼還原
evaluate方法學(xué)習(xí)
JavaScript實(shí)戰(zhàn)解混淆
9.JS安全產(chǎn)品攻防
瑞數(shù)
acw_sc_v2

六丶APP逆向
APP逆向?qū)n}主要講解:java語(yǔ)法編程,NDK,HOOK和APP RPC

1.java語(yǔ)法編程
java語(yǔ)法搭建
java基礎(chǔ)語(yǔ)法和數(shù)據(jù)類型
java控制流程
java數(shù)據(jù)類型
java數(shù)據(jù)結(jié)構(gòu),面向?qū)ο?/p>
java繼承關(guān)系鏈
java包的概念
2.NDK開發(fā)
NDK數(shù)據(jù)類型
java反射和NDK結(jié)合
JNI調(diào)用java函數(shù)對(duì)象和訪問java方法和類

3.hook專題
Frida Hook
Frida構(gòu)造數(shù)組-對(duì)象
Frida與脫殼
Frida Hook殼與插件dex
Frida編譯源碼
Frida檢測(cè)反調(diào)試
APP脫殼
smail語(yǔ)法

4.APP RPC

frida rpc插件編寫
使用frida遠(yuǎn)程調(diào)用java代碼
sekiro框架源碼拆解

七丶爬蟲實(shí)戰(zhàn)
第七章主要是一些爬蟲實(shí)戰(zhàn)的視頻

