Python項目開發實戰(第2版)PDF高清完整版免費下載|百度網盤

来源:https://www.cnblogs.com/sahnhe/archive/2020/07/24/13373799.html
-Advertisement-
Play Games

百度網盤:Python項目開發實戰(第2版)PDF高清完整版免費下載 提取碼:exep 內容簡介 本書來自真正的開發現場,是BePROUD公司眾多極客在真實項目中的經驗總結和智慧結晶。作者從Python的環境搭建開始講起,介紹了Web應用的開發方法、項目管理及審查、測試與高效部署、伺服器調試等內容, ...


百度網盤:Python項目開發實戰(第2版)PDF高清完整版免費下載

提取碼:exep

 

 

內容簡介  

本書來自真正的開發現場,是BePROUD公司眾多極客在真實項目中的經驗總結和智慧結晶。作者從Python的環境搭建開始講起,介紹了Web應用的開發方法、項目管理及審查、測試與高效部署、伺服器調試等內容,儘可能網羅了Python項目開發流程中的方方面面,有助於開發者建立有序生產環境,提高開發效率,讓編程事半功倍。此外,在本書中Python僅僅是一個載體,很多知識點在非Python下也適用。

作者簡介  

日本BePROUD股份有限公司

BePROUD是一家專註於Python開發的公司,因雲集了眾多行業精英而聞名於日本國內。多年來的軟體開發碩果纍纍,其精湛的技術水平,得到了客戶及業界人士的認可和好評。

 

目錄 

第1部分 Python開發入門  1
第1章 Python入門  2
1.1 安裝Python  2
1.1.1 安裝deb包  3
1.1.2 安裝第三方包  4
1.1.3 virtualenv的使用方法  5
1.1.4 多版本Python的使用  7
1.2 安裝Mercurial  9
1.2.1 Mercurial概述  10
1.2.2 安裝Mercurial  10
1.2.3 創建版本庫  11
1.2.4 文件操作  12
1.3 編輯器與輔助開發工具  14
1.3.1 編輯器  14
1.3.2 開發輔助工具  20
1.4 小結  22
第2章 開發Web應用  24
2.1 瞭解Web應用  24
2.1.1 Web應用是什麼  24
2.1.2 Web應用與桌面應用的區別  25
2.1.3 Web應用的機制  25
2.2 前置準備  28
2.2.1 關於Flask  28
2.2.2 安裝Flask  28
2.3 Web應用的開發流程  29
2.4 明確要開發什麼應用  30
2.4.1 留言板應用的需求  30
2.4.2 明確必備的功能  30
2.4.3 明確必備的頁面  31
2.5 頁面設計  31
2.5.1 確定成品頁面的形式  31
2.5.2 編寫HTML和CSS  32
2.6 實現功能  37
2.6.1 保存留言數據  37
2.6.2 獲取已保存的留言列表  38
2.6.3 用模板引擎顯示頁面  39
2.6.4 準備評論接收方的URL  42
2.6.5 調整模板的輸出  43
2.7 查看運行情況  45
2.8 小結  47
第3章 Python項目的結構與包的創建  48
3.1 Python項目  48
3.2 環境與工具  49
3.2.1 用virtualenv搭建獨立環境  49
3.2.2 用pip安裝程式包  55
3.2.3 小結  62
3.3 文件結構與發佈程式包  62
3.3.1 編寫setup.py  62
3.3.2 留言板的項目結構  64
3.3.3 setup.py與MANIFEST.in——設置程式包信息與捆綁的文件  65
3.3.4 setup.py——創建執行命令  69
3.3.5 python setup.py sdist——創建源碼發佈程式包  71
3.3.6 提交至版本庫  71
3.3.7 README.rst——開發環境設置流程  73
3.3.8 變更依賴包  75
3.3.9 通過requirements.txt固定開發版本  77
3.3.10 python setup.py bdist_wheel——製作用於wheel發佈的程式包  78
3.3.11 上傳到PyPI並公開  79
3.3.12 小結  85
3.4 小結  86
第2部分 團隊開發的周期  87
第4章 面向團隊開發的工具  88
4.1 問題跟蹤系統  88
4.1.1 Redmine  88
4.1.2 安裝Redmine  89
4.1.3 Redmine的設置  91
4.1.4 插件  93
4.2 版本控制系統  94
4.2.1 Mercurial與Redmine的聯動  94
4.2.2 用於生成版本庫的插件  95
4.3 聊天系統  97
4.3.1 Slack  97
4.3.2 Slack的特點  98
4.3.3 Slack做不到的事  101
4.3.4 Slack的註冊  102
4.4 對團隊開發有幫助的工具  102
4.4.1 Dropbox  102
4.4.2 Google Drive  102
4.5 小結  103
第5章 項目管理與審查  104
5.1 項目管理與問題的區分使用  104
5.1.1 項目管理的前置準備工作  104
5.1.2 創建問題  105
5.1.3 整理問題  107
5.1.4 分割問題  107
5.2 問題模板  108
5.2.1 安裝插件  108
5.2.2 問題模板的使用方法  109
5.2.3 Global Issue Templates  111
5.2.4 問題模板示例  112
5.3 問題驅動開發  114
5.3.1 別急著敲代碼,先建問題  114
5.3.2 創建與問題編號同名的分支  115
5.3.3 讓發佈與分支相對應  115
5.3.4 分支的合併  116
5.4 審查  117
5.4.1 為什麼需要審查  117
5.4.2 審查委托:代碼審查篇  118
5.4.3 審查委托:作業審查篇  119
5.4.4 實施審查:代碼審查篇  120
5.4.5 實施審查:作業審查篇  123
5.5 小結  123
第6章 用Mercurial管理源碼  125
6.1 Mercurial版本庫的管理與設置  125
6.1.1 伺服器上的Uinx用戶群設置  125
6.1.2 創建版本庫  126
6.1.3 hgrc的設置  127
6.1.4 使用設置好的版本庫  127
6.1.5 使用hgweb建立簡易中央版本庫  127
6.2 靈活使用“鉤子”  128
6.2.1 鉤子功能的設置方法  129
6.2.2 嘗試鉤子腳本  129
6.2.3 鉤子事件  130
6.2.4 鉤子功能的執行時機  131
6.2.5 編寫鉤子腳本  134
6.3 分支的操作  136
6.4 關於合併  137
6.4.1 未發生衝突的合併  138
6.4.2 合併時發生衝突以及用文本編輯器解決衝突的方法  140
6.4.3 合併的類型與衝突  143
6.4.4 用GUI的合併工具進行合併  144
6.5 GUI客戶端  147
6.5.1 GUI客戶端的介紹  147
6.5.2 GUI客戶端的優點  149
6.5.3 GUI客戶端的缺點  151
6.6 考慮實際運用的BePROUD Mercurial Workflow  152
6.6.1 概述  152
6.6.2 背景  152
6.6.3 版本庫的結構  153
6.6.4 提交源碼  154
6.6.5 提交設計  156
6.6.6 分支的合併  157
6.6.7 集成分支  158
6.7 小結  160
第7章 完備文檔的基礎  162
7.1 要記得給項目寫文檔  162
7.1.1 寫文檔時不想做的事  162
7.1.2 什麼樣的狀態讓人想寫文檔  164
7.2 Sphinx的基礎與安裝  165
7.2.1 Sphinx的安裝  166
7.2.2 reStructuredText入門  167
7.2.3 用Sphinx寫結構化文檔的流程  169
7.2.4 Sphinx擴展  174
7.3 導入Sphinx可解決的問題與新出現的問題  175
7.3.1 由於是純文本,所以能在平時用的編輯器上寫文檔  176
7.3.2 信息與視圖相分離,所以能集中精神編輯內容,不用顧慮裝飾等外觀問題  176
7.3.3 可根據一個源碼輸出PDF等多種格式  179
7.3.4 通過結構化,文檔可分成幾個文件來寫  180
7.3.5 能用Mercurial等輕鬆實現版本管理  181
7.3.6 API參考手冊與程式的管理一體化  182
7.3.7 通過Web瀏覽器共用  184
7.3.8 導入Sphinx後仍存在的問題  185
7.4 文檔集的創建與使用  186
7.4.1 什麼是文檔集  186
7.4.2 項目所需文檔的一覽表  187
7.4.3 面向項目組長、經理  187
7.4.4 面向設計者  189
7.4.5 面向開發者  189
7.4.6 面向客戶  189
7.5 小結  190
第8章 模塊分割設計與單元測試  191
8.1 模塊分割設計  191
8.1.1 功能設計  191
8.1.2 構成Web應用的組件  192
8.1.3 組件設計  194
8.1.4 模塊與程式包  195
8.2 測試  197
8.2.1 測試的種類  197
8.2.2 編寫單元測試  198
8.2.3 從單元測試中剔除環境依賴  209
8.2.4 用WebTest做功能測試  215
8.3 通過測試改良設計  219
8.4 推進測試自動化  221
8.4.1 用tox自動生成執行測試的環境  221
8.4.2 可重覆使用的測試環境  223
8.5 小結  223
第9章 Python封裝及其運用  224
9.1 使用程式包  224
9.1.1 程式包的版本指定  224
9.1.2 從非PyPI伺服器安裝程式包  226
9.1.3 程式包的發佈格式  228
9.1.4 生成wheelhouse的方法  230
9.1.5 從wheelhouse安裝  231
9.2 巧用程式包  232
9.2.1 私密發佈  232
9.2.2 巧用requirements.txt  232
9.2.3 requirements.txt層級化  233
9.2.4 為部署和CI+tox準備的requiremests  234
9.2.5 通過requirements.txt指定庫的版本  235
9.3 小結  236
第10章 用Jenkins持續集成  237
10.1 什麼是持續集成  237
10.1.1 持續集成的簡介  237
10.1.2 Jenkins簡介  239
10.2 Jenkins的安裝  239
10.2.1 安裝Jenkins主體程式  239
10.2.2 本章將用到的Jenkins插件  240
10.3 執行測試代碼  241
10.3.1 讓Jenkins運行簡單的測試代碼  241
10.3.2 添加Job  242
10.3.3 Job的成功與失敗  244
10.4 測試結果輸出到報告  246
10.4.1 安裝pytest  246
10.4.2 調用pytest命令  246
10.4.3 根據pytest更改Jenkins的設置  246
10.5 顯示覆蓋率報告  247
10.5.1 安裝pytest-cov  248
10.5.2 從pytest獲取覆蓋率  248
10.5.3 讀取覆蓋率報告  248
10.6 執行Django的測試  250
10.6.1 安裝Python模塊  250
10.6.2 Django的調整  251
10.6.3 示例代碼  251
10.6.4 Jenkins的調整  255
10.6.5 “構建後操作”選項卡的設置  257
10.7 通過Jenkins構建文檔  260
10.7.1 安裝Sphinx  261
10.7.2 在Jenkins添加Job  261
10.7.3 Sphinx構建發出警告時令Job失敗  261
10.7.4 查看成果  262
10.7.5 通過Task Scanner Plugin管理TODO  263
10.7.6 Task Scanner Plugin的設置示例  264
10.8 Jenkins進階技巧  265
10.8.1 好用的功能  265
10.8.2 進一步改善  267
10.9 小結  268
第3部分 服務公開  269
第11章 環境搭建與部署的自動化  270
11.1 確定所需環境的內容  270
11.1.1 網路結構  270
11.1.2 伺服器搭建內容的結構化  272
11.1.3 用戶的設置  273
11.1.4 選定程式包  274
11.1.5 中間件的設置  277
11.1.6 部署  280
11.2 用Ansible實現自動化作業  282
11.2.1 Ansible簡介  282
11.2.2 文件結構  287
11.2.3 執行Ansible  288
11.2.4 與最初確定的結構相對應  288
11.2.5 將各步驟Ansible化  289
11.2.6 整理Ansible的執行環境  295
11.3 小結  296
第12章 應用的性能改善  298
12.1 Web應用的性能  298
12.1.1 Web應用面對大量集中請求時會產生哪些問題  298
12.1.2 針對高負荷的對策  299
12.2 評估留言板應用的性能  300
12.2.1 什麼是應用的性能  300
12.2.2 安裝ApacheBench  300
12.2.3 用ApachBench評估性能  301
12.3 gunicorn簡介  303
12.3.1 安裝gunicorn  304
12.3.2 在gunicorn上運行應用  304
12.4 nginx簡介  306
12.4.1 安裝nginx  306
12.4.2 檢測nginx的性能  307
12.5 在nginx和gunicorn上運行應用  310
12.5.1 gunicorn的設置  310
12.5.2 nginx的設置  310
12.5.3 評估nginx+gunicorn的性能  311
12.5.4 性能比較  312
12.6 小結  313
第4部分 加速開發的技巧  315
第13章 讓測試為我們服務  316
13.1 認識現狀:測試的客觀環境  316
13.2 將測試導入開發各個階段  317
13.2.1 文檔的測試(審查)  317
13.2.2 測試設計的編寫方法(輸入與輸出)  320
13.2.3 測試的實施與測試階段的輪換(做什麼,做多少)  323
13.3 小結:測試並不可怕  326
第14章 輕鬆使用Django  327
14.1 Django簡介  327
14.1.1 Django的安裝  327
14.1.2 Django的架構  327
14.1.3 Django的文檔  331
14.2 資料庫的遷移  331
14.2.1 什麼是資料庫的遷移  331
14.2.2 Django的遷移功能  332
14.3 fixture replacement  339
14.3.1 什麼是測試配置器  339
14.3.2 幾種不便使用預設配置器的情況  342
14.3.3 如何使用factory_boy  343
14.3.4 消除“不便使用預設配置器的情況”  345
14.4 Django Debug Toolbar  346
14.5 小結  353
第15章 方便好用的Python模塊  355
15.1 輕鬆計算日期  355
15.1.1 日期計算的複雜性  355
15.1.2 導入dateutil  357
15.2 簡化模型的映射  359
15.2.1 模型映射的必要性  359
15.2.2 映射規則的結構化與重覆利用  360
15.2.3 導入bpmappers  363
15.2.4 與Django聯動  366
15.2.5 編寫JSON API  367
15.3 圖像處理  369
15.3.1 安裝Pillow  369
15.3.2 圖像格式轉換  371
15.3.3 改變圖像尺寸  372
15.3.4 剪裁圖像  374
15.3.5 對圖像進行濾鏡處理  375
15.4 數據加密  377
15.4.1 安裝PyCrypto  377
15.4.2 通用加密系統的加密及解密  377
15.4.3 公鑰加密系統(RSA)的加密與解密  378
15.5 使用Twitter的API  382
15.5.1 導入tweepy  382
15.5.2 添加應用與獲取用戶密鑰  382
15.5.3 獲取訪問令牌  385
15.5.4 調用Twitter API  385
15.5.5 編寫用Twitter認證的系統  387
15.6 使用REST API  393
15.6.1 REST簡介  394
15.6.2 導入Requests  394
15.6.3 導入測試伺服器  394
15.6.4 發送GET請求  396
15.6.5 發送POST請求  397
15.6.6 發送JSON格式的POST請求  398
15.6.7 使用GET/POST之外的HTTP方法  399
15.7 小結  400
附錄  401
附錄A VirtualBox的設置  402
A.1 安裝VirtualBox  402
A.2 新建虛擬機  403
A.3 備份虛擬機  404
附錄B OS(Ubuntu)的設置  407
B.1 安裝Ubuntu  407
B.2 SSH的設置  417
B.3 中文的設置  419
B.4 添加用戶  419
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 點擊此處進入網盤下載地址 提取碼:o39n 全書共有20章,書中的簡介如下: 本書旨在讓你儘快學會 Python ,以便能夠編寫能正確運行的程式 —— 游戲、數據可視化和 Web 應用程式,同時掌握讓你終身受益的基本編程知識。本書適合任何年齡的讀者閱讀,它不要求你有任何 Python 編程經驗,甚至 ...
  • 點擊此處進入網盤下載地址 提取碼:btqx 作者介紹: 馬修·羅塞爾(MatthewA.Russell),DigitalReasoningSystems公司的技術副總裁和Zaffra公司的負責人,是熱愛數據挖掘、開源和Web應用技術的電腦科學家。他也是《Dojo:TheDofinitiveGuid ...
  • Python爬蟲開發與項目實戰從基本的爬蟲原理開始講解,通過介紹Pthyon編程語言與HTML基礎知識引領讀者入門,之後根據當前風起雲涌的雲計算、大數據熱潮,重點講述了雲計算的相關內容及其在爬蟲中的應用,進而介紹如何設計自己的爬蟲應用。主要內容分為基礎篇、中級篇、深入篇,基礎篇包括Python編程基 ...
  • 本篇要學習的內容和知識結構概覽 函數的參數及其傳遞方式 1. 函數參數傳遞方式 傳值: 傳變數值: 將實參記憶體中的內容拷貝一份給形參, 兩者是不同的兩塊記憶體 傳地址值: 將實參所對應的記憶體空間的地址值給形參, 形參是一個指針, 指向實參所對應的記憶體空間 傳引用: 形參是對實參的引用, 形參和實參是同 ...
  • K近鄰演算法(KNN,K-NearestNeighbor)是機器學習或數據分析中最基礎、也是最簡單的演算法之一,這個演算法的思路就如同它字面上的意思“K個最近的鄰居”,想要得到某個樣本的某個特征的值(一個樣本通常有多個特征),就需要找到距離它最近的K個樣本,然後根據這些樣本的該特征的近似值作為它的特征值。 ...
  • 百度雲盤:Python入門經典以解決計算問題為導向的Python編程實踐PDF高清完整版免費下載 提取碼:6e8d 內容簡介 《Python入門經典:以解決計算問題為導向的Python編程實踐》是一本系統而科學的Python入門教程,美國密歇根州立大學等多所美國知名高校採用其作為編程語言的入門教材, ...
  • 大量使用的對象,重覆的創建和銷毀,很耗費性能,這個時候就要使用對象池技術。 ...
  • 一、函數嵌套 1.函數的嵌套調用 在調用一個函數的過程中又調用其他函數 將一個大工能拆解成很多小功能 每個函數名都是全局變數,可以在全局有效 2.函數的嵌套定義 在函數內定義其他函數 子函數只能能在函數中被使用,子函數名只在局部有效 最外層函數相當於一個容器,裝了很多子函數 3.函數的嵌套調用和嵌套 ...
一周排行
    -Advertisement-
    Play Games
  • C#TMS系統代碼-基礎頁面BaseCity學習 本人純新手,剛進公司跟領導報道,我說我是java全棧,他問我會不會C#,我說大學學過,他說這個TMS系統就給你來管了。外包已經把代碼給我了,這幾天先把增刪改查的代碼背一下,說不定後面就要趕鴨子上架了 Service頁面 //using => impo ...
  • 委托與事件 委托 委托的定義 委托是C#中的一種類型,用於存儲對方法的引用。它允許將方法作為參數傳遞給其他方法,實現回調、事件處理和動態調用等功能。通俗來講,就是委托包含方法的記憶體地址,方法匹配與委托相同的簽名,因此通過使用正確的參數類型來調用方法。 委托的特性 引用方法:委托允許存儲對方法的引用, ...
  • 前言 這幾天閑來沒事看看ABP vNext的文檔和源碼,關於關於依賴註入(屬性註入)這塊兒產生了興趣。 我們都知道。Volo.ABP 依賴註入容器使用了第三方組件Autofac實現的。有三種註入方式,構造函數註入和方法註入和屬性註入。 ABP的屬性註入原則參考如下: 這時候我就開始疑惑了,因為我知道 ...
  • C#TMS系統代碼-業務頁面ShippingNotice學習 學一個業務頁面,ok,領導開完會就被裁掉了,很突然啊,他收拾東西的時候我還以為他要旅游提前請假了,還在尋思為什麼回家連自己買的幾箱飲料都要叫跑腿帶走,怕被偷嗎?還好我在他開會之前拿了兩瓶芬達 感覺感覺前面的BaseCity差不太多,這邊的 ...
  • 概述:在C#中,通過`Expression`類、`AndAlso`和`OrElse`方法可組合兩個`Expression<Func<T, bool>>`,實現多條件動態查詢。通過創建表達式樹,可輕鬆構建複雜的查詢條件。 在C#中,可以使用AndAlso和OrElse方法組合兩個Expression< ...
  • 閑來無聊在我的Biwen.QuickApi中實現一下極簡的事件匯流排,其實代碼還是蠻簡單的,對於初學者可能有些幫助 就貼出來,有什麼不足的地方也歡迎板磚交流~ 首先定義一個事件約定的空介面 public interface IEvent{} 然後定義事件訂閱者介面 public interface I ...
  • 1. 案例 成某三甲醫預約系統, 該項目在2024年初進行上線測試,在正常運行了兩天後,業務系統報錯:The connection pool has been exhausted, either raise MaxPoolSize (currently 800) or Timeout (curren ...
  • 背景 我們有些工具在 Web 版中已經有了很好的實踐,而在 WPF 中重新開發也是一種費時費力的操作,那麼直接集成則是最省事省力的方法了。 思路解釋 為什麼要使用 WPF?莫問為什麼,老 C# 開發的堅持,另外因為 Windows 上已經裝了 Webview2/edge 整體打包比 electron ...
  • EDP是一套集組織架構,許可權框架【功能許可權,操作許可權,數據訪問許可權,WebApi許可權】,自動化日誌,動態Interface,WebApi管理等基礎功能於一體的,基於.net的企業應用開發框架。通過友好的編碼方式實現數據行、列許可權的管控。 ...
  • .Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 實測可以完整運行在 win7sp1/win10/win11. 如果用其他工具打包,還可以運行在mac/linux下, 傳送門BlazorHybrid 發佈為無依賴包方式 安裝 WebView2Runtime 1.57 M ...