實戰Python Flask開發

    基礎知識x物件偵測x機器學習應用

    收集中
    US$19.36

    內容簡介


    從如何建立一個Web應用程式到API與部署,獻給工程師與資料科學家的Flask入門書

    本書說明如何使用Python的框架Flask進行Web應用程式的開發。從最簡單的迷你應用程式開始,逐步建立起諮詢表單,整合資料庫的應用,加入認證功能,逐步發展成一支功能完整的應用程式。你可以從這個過程當中學到如何使用Flask進行開發。

    第二篇將會開發一個可以從識別照片中有哪些東西的物件偵測程式,並說明如何將其轉換為Web API。此外,還會將圖像識別的主題延伸到識別手寫字,並說明如何在程式開發中應用機器學習的技術。

    【本書主要內容】
    ● Flask的基礎知識和開發
    ○ 建立查詢表格和資料庫應用程式
    ○ 建立認證功能
    ○ 建立物件偵測程式
    ● 建立和部署API
    ○ 將物體檢測應用程式轉換為網路API
    ○ 作為Web API對外發佈
    ● 機器學習API開發
    ○ 從分析程式碼開發機器學習API的過程和方法。

    【誰適合閱讀本書】
    .想要用Python開Web應用程式的工程師
    .對機器學習感興趣的web開發人員
    .只用過Python進行分析的人。
    .希望能夠自行開發Web應用程式與API的資料科學家

    作者介紹


    佐藤昌基
    隸屬Techtouch股份有限公司。曾經開發網路廣告/SNS問卷相關的網路服務,身為科技主席/敏捷大師,參與並完成多數網路服務。歷經不動產科技新創事業的CTO後,進入目前的公司就職,主要負責後端開發工程。

    平田哲也
    隸屬Classi股份有限公司。曾於E-learning事業公司,負責維運/開發大型資格學校的LMS。後來出國深造,就讀倫敦大學學院教育研究院(UCL IOE)Knowledge Lab研究所,專攻Learning Analytics。回國後,進入目前的公司就職,主要使用Python、Flask、Google Cloud(Google Cloud Platform:GCP),從事AI/ML產品開發、基礎設施架構、MLOps。曾於Python Conference Taiwan、Python Conference US等海外會議,登台演講。


    寺田學
    一般社團法人PyCon JP的理事長、Plone Foundation Ambassador、CMS Communications股份有限公司的代表人、NVDA日本語團隊成員、一般社團法人Python工程人員培訓推廣協會的顧問理事、PSF Fellow Member 2019Q3 & Contributing member。主要從事Python網路相關業務的諮詢顧問、構築架設,熱心投入Python的相關教育、演講。自2010年積極參與日本國內的Python社群,致力於舉辦PyCon JP,亦從事其他的OSS活動。作為Plone的核心技術專家(Committer),也有參與Plone的開發。

    目錄


    【第0篇 緒論】
    第0章 Flask 的概要與環境架設
    0.1 Flask 的設計思維
    0.2 為何要使用 Flask
    0.3 Python 網路框架的比較
    0.4 環境架設

    【第1篇 Flask 入門】
    第1章 建立最基礎的應用程式 - Flask 的基礎知識
    1.1 MVT(Model、View、Template)模型
    1.2 建立最基礎的應用程式
    1.3 建立諮詢表單
    1.4 Cookie
    1.5 Session
    1.6 Response

    第2章 建立資料庫應用程式
    2.1 目錄架構
    2.2 啟動應用程式 - 使用 Blueprint
    2.3 設置 SQLAlchemy
    2,4 操作資料庫
    2.5 建立使用資料庫的 CRUD 應用程式
    2.6 模板的通用化與繼承
    2.7 設定組態

    第3章 建立驗證功能
    3.1 準備建立的驗證功能與目錄架構
    3.2 應用程式登錄驗證功能
    3.3 建立註冊功能
    3.4 建立登入功能
    3.5 建立登出功能

    【第2篇 Flask 實踐 1 - 開發物件偵測應用程式】
    第4章 應用程式的規格與準備
    4.1 物件偵測應用程式的規格
    4.2 目錄架構
    4.3 登錄物件偵測應用程式

    第5章 建立圖片列表頁面
    5.1 建立 UserImage 模型
    5.2 建立圖片列表頁面的端點
    5.3 建立圖片列表頁面的模板
    5.4 SQLAlchemy 的表格連結與關聯性建立

    第6章 建立註冊與登入頁面
    6.1 修改註冊頁面的端點
    6.2 建立通用標頭
    6.3 修改註冊頁面的模板
    6.4 修改登入頁面的端點
    6.5 修改登入頁面的模板
    6.6 確認註冊/登入頁面的運作情況

    第7章 建立圖片上傳頁面
    7.1 指定圖片上傳目的地
    7.2 建立顯示圖片的端點
    7.3 圖片列表頁面增加圖片上傳頁面的連結與圖片列表
    7.4 建立圖片上傳頁面的表單類別
    7.5 建立圖片上傳頁面的端點
    7.6 建立圖片上傳頁面的模板
    7.7 確認圖片上傳頁面的運作情況

    第8章 建立物件偵測功能
    8.1 建立 UserImageTags 模型
    8.2 建立物件偵測功能的表單類別
    8.3 設置物件偵測功能的程式庫
    8.4 建立物件偵測功能的端點
    8.5 在圖片列表頁面顯示標記訊息
    8.6 在圖片列表頁面顯示【檢測】按鈕與標記訊息
    8.7 確認物件偵測功能的運作情況
    8.8 建立圖片刪除功能

    第9章 建立搜尋功能
    9.1 建立圖片搜尋功能的端點
    9.2 建立圖片搜尋功能的模板
    9.3 確認圖片搜尋功能的運作情況

    第10章 建立自訂錯誤頁面
    10.1 建立自訂錯誤頁面的端點
    10.2 建立自訂錯誤頁面的模板
    10.3 確認自訂錯誤頁面的顯示內容

    第11章 建立單元測試
    11.1 嘗試使用pytest
    11.2 pytest 的 fixture 夾具
    11.3 建立物件偵測應用程式的測試

    【第3篇 Flask 實踐 2 - 建立/部署物件偵測功能的 API】
    第12章 網路 API 的概要
    12.1 World Wide Web(WWW)與 API 的意義
    12.2 表示資源位置的網址功用
    12.3 HTTP 方法的 CRUD 資源操作

    第13章 物件偵測 API 的規格
    13.1 物件偵測 API 的處理流程
    13.2 安裝 PyTorch 與儲存已學習模型

    第14章 實作物件偵測 API
    14.1 物件偵測 API 的目錄架構與模組
    14.2 準備實作
    14.3 實作 1|編寫 API 的啟動程式碼
    14.4 實作 2|編寫資料準備/前處理/後處理的程式碼
    14.5 實作 3|編寫已學習模型的執行程式碼
    14.6 實作 4|實作路由建置

    第15章 部署物件偵測應用程式
    15.1 Docker 的概要
    15.2 Cloud Run 的概要
    15.3 Dock 的使用準備
    15.4 Cloud Run 的使用準備
    15.5 步驟1|Google Cloud 的 configuration 初始設定
    15.6 步驟2|製作 Dockerfile
    15.7 步驟3|建置 Docker 映像檔
    15.8 步驟4|將 Docker 映像檔加入 GCR
    15.9 步驟5|部署至 Cloud Run

    【第4篇 開發機器學習 API】
    第16章 機器學習的概要
    16.1 機器學習的相關概念
    16.2 機器學習處理的資料
    16.3 機器學習處理的任務
    16.4 演算法的數學式和程式碼表達
    16.5 機器學習利用的 Python 程式庫
    16.6 以 Python 程式庫實踐邏輯迴歸

    第17章 機器學習 API 的開發程序與實踐
    17.1 選定最佳的機器學習演算法/模型
    17.2 實作機器學習演算法/模型
    17.3 機器學習 API 的規格
    17.4 準備開發
    17.5 實作程序 1|編寫分析腳本的產品程式碼
    17.6 實作程序 2|建立產品程式碼的 API
    17.7 確認正常運作的情況
    17.8 機器學習 API 到機器學習的基礎設施、MLOps

    索引
    作者/監修者簡介

    章节目录

    • 1-1
      封面頁
    • 1-2
      書名頁
    • 1-3
    • 1-4
      目錄
    • 1-5
      第 0 篇 緒論
    • 1-6
      第0章 Flask的概要與環境架設
    • 1-7
      0.1 Flask 的設計思維
    • 1-8
      0.2 為何要使用Flask
    • 1-9
      0.3 Python 網路框架的比較
    • 1-10
      Django
    • 1-11
      Bottle
    • 1-12
      FastAPI
    • 1-13
      0.4 環境架設
    • 1-14
      安裝Python
    • 1-15
      在本地電腦建立虛擬環境
    • 1-16
      安裝Flask
    • 1-17
      flask 指令
    • 1-18
      安裝Visual Studio Code
    • 1-19
      使用程式碼檢查器、格式器
    • 1-20
      使用VSCode 套用Python 虛擬環境
    • 1-21
      .gitignore
    • 1-22
      第 1 篇 Flask 入門
    • 1-23
      第1章 建立最基礎的應用程式-Flask的基礎知識
    • 1-24
      1.1 MVT(Model、View、Template)模型
    • 1-25
      1.2 建立最基礎的應用程式
    • 1-26
      建立工作目錄
    • 1-27
      啟動應用程式
    • 1-28
      何謂除錯模式?
    • 1-29
      使用.env 設定環境變數
    • 1-30
      應用程式路由
    • 1-31
      使用路由建置
    • 1-32
      使用模板引擎
    • 1-33
      使用url_for 函數產生網址
    • 1-34
      使用靜態檔案
    • 1-35
      應用程式內文與請求內文
    • 1-36
      1.3 建立諮詢表單
    • 1-37
      諮詢表單的規格
    • 1-38
      PRG 模式
    • 1-39
      請求與重新導向
    • 1-40
      Flash 訊息
    • 1-41
      日誌記錄(Logging)
    • 1-42
      傳送郵件
    • 1-43
      1.4 Cookie
    • 1-44
      1.5 Session
    • 1-45
      1.6 Response
    • 1-46
      本章總結
    • 1-47
      第2章建立資料庫應用程式
    • 1-48
      2.1 目錄架構
    • 1-49
      2.2 啟動應用程式——使用Blueprint
    • 1-50
      ❶ 建立CRUD 應用程式的模組
    • 1-51
      ❷ 修改環境變數FLASK_APP 的路徑
    • 1-52
      ❸ 建立端點
    • 1-53
      ❹ 建立模板
    • 1-54
      ❺ 建立靜態檔案
    • 1-55
      ❻ 模板加載CSS
    • 1-56
      ❼ 確認運作情況
    • 1-57
      2.3 設置SQLAlchemy
    • 1-58
      安裝擴充功能
    • 1-59
      flask-sqlalchemy 與flask-migrate 的使用準備
    • 1-60
      2.4 操作資料庫
    • 1-61
      定義模型
    • 1-62
      資料庫的初始化與遷移
    • 1-63
      SQLAlchemy 基本的資料操作
    • 1-64
      2.5 建立使用資料庫的CRUD 應用程式
    • 1-65
      使用表單的擴充功能
    • 1-66
      新增使用者
    • 1-67
      顯示使用者列表
    • 1-68
      編輯使用者
    • 1-69
      刪除使用者
    • 1-70
      2.6 模板的通用化與繼承
    • 1-71
      建立通用的模板
    • 1-72
      修改使用者列表頁面
    • 1-73
      修改新增使用者頁面與編輯使用者頁面
    • 1-74
      2.7 設定組態
    • 1-75
      使用from_object 的方法
    • 1-76
      其他加載組態的方法
    • 1-77
      本章總結
    • 1-78
      第3章 建立驗證功能
    • 1-79
      3.1 準備建立的驗證功能與目錄架構
    • 1-80
      3.2 應用程式登錄驗證功能
    • 1-81
      使用Blueprint 登錄驗證功能
    • 1-82
      建立驗證功能的端點
    • 1-83
      建立確認驗證功能的模板
    • 1-84
      建立「確認驗證頁面內容」的頁面
    • 1-85
      確認運作情況
    • 1-86
      3.3 建立註冊功能
    • 1-87
      聯動flask-login
    • 1-88
      建立註冊功能的表單類別
    • 1-89
      修改User 模型
    • 1-90
      建立註冊功能的端點
    • 1-91
      建立註冊功能的模板
    • 1-92
      修改為必須登入crud 應用程式
    • 1-93
      確認運作情況
    • 1-94
      3.4 建立登入功能
    • 1-95
      建立登入功能的表單類別
    • 1-96
      建立登入功能的端點
    • 1-97
      建立登入功能的模板
    • 1-98
      確認運作情況
    • 1-99
      3.5 建立登出功能
    • 1-100
      確認運作情況
    • 1-101
      顯示登入狀態
    • 1-102
      本章總結
    • 1-103
      第2篇Flask實踐① 開發物件偵測應用程式
    • 1-104
      如果從第2 篇開始閱讀
    • 1-105
      第4章 應用程式的規格與準備
    • 1-106
      4.1 物件偵測應用程式的規格
    • 1-107
      圖片列表頁面
    • 1-108
      驗證頁面
    • 1-109
      圖片上傳頁面
    • 1-110
      物件偵測頁面
    • 1-111
      圖片搜尋頁面
    • 1-112
      自訂錯誤頁面
    • 1-113
      4.2 目錄架構
    • 1-114
      4.3 登錄物件偵測應用程式
    • 1-115
      建立圖片列表頁面的端點
    • 1-116
      建立圖片列表頁面的模板
    • 1-117
      確認運作情況
    • 1-118
      本章總結
    • 1-119
      第5章 建立圖片列表頁面
    • 1-120
      5.1 建立UserImage 模型
    • 1-121
      5.2 建立圖片列表頁面的端點
    • 1-122
      5.3 建立圖片列表頁面的模板
    • 1-123
      5.4 SQLAlchemy 的表格連結與關聯性建立
    • 1-124
      使用SQL 連結表格
    • 1-125
      確認SQL 的事前準備
    • 1-126
      關聯性建立
    • 1-127
      本章總結
    • 1-128
      第6章 建立註冊與登入頁面
    • 1-129
      6.1 修改註冊頁面的端點
    • 1-130
      6.2 建立通用標頭
    • 1-131
      6.3 修改註冊頁面的模板
    • 1-132
      6.4 修改登入頁面的端點
    • 1-133
      6.5 修改登入頁面的模板
    • 1-134
      6.6 確認註冊/登入頁面的運作情況
    • 1-135
      本章總結
    • 1-136
      第7章 建立圖片上傳頁面
    • 1-137
      7.1 指定圖片上傳目的地
    • 1-138
      7.2 建立顯示圖片的端點
    • 1-139
      7.3 圖片列表頁面增加圖片上傳頁面的連結與圖片列表
    • 1-140
      7.4 建立圖片上傳頁面的表單類別
    • 1-141
      7.5 建立圖片上傳頁面的端點
    • 1-142
      7.6 建立圖片上傳頁面的模板
    • 1-143
      7.7 確認圖片上傳頁面的運作情況
    • 1-144
      本章總結
    • 1-145
      第8章 建立物件偵測功能
    • 1-146
      8.1 建立UserImageTags 模型
    • 1-147
      8.2 建立物件偵測功能的表單類別
    • 1-148
      8.3 設置物件偵測功能的程式庫
    • 1-149
      8.4 建立物件偵測功能的端點
    • 1-150
      8.5 在圖片列表頁面顯示標記訊息
    • 1-151
      8.6 在圖片列表頁面顯示【檢測】按鈕與標記訊息
    • 1-152
      8.7 確認物件偵測功能的運作情況
    • 1-153
      8.8 建立圖片刪除功能
    • 1-154
      建立圖片刪除功能的表單類別
    • 1-155
      建立圖片刪除功能的端點
    • 1-156
      圖片列表頁面的端點增加刪除表單
    • 1-157
      圖片列表頁面顯示【刪除】按鈕
    • 1-158
      確認圖片刪除功能的運作情況
    • 1-159
      本章總結
    • 1-160
      第9章 建立搜尋功能
    • 1-161
      9.1 建立圖片搜尋功能的端點
    • 1-162
      9.2 建立圖片搜尋功能的模板
    • 1-163
      9.3 確認圖片搜尋功能的運作情況
    • 1-164
      本章總結
    • 1-165
      第10章 建立自訂錯誤頁面
    • 1-166
      10.1 建立自訂錯誤頁面的端點
    • 1-167
      10.2 建立自訂錯誤頁面的模板
    • 1-168
      10.3 確認自訂錯誤頁面的顯示內容
    • 1-169
      本章總結
    • 1-170
      第11章 建立單元測試
    • 1-171
      11.1 嘗試使用pytest
    • 1-172
      安裝pytest
    • 1-173
      目錄架構與命名規則
    • 1-174
      執行測試
    • 1-175
      確認未通過測試時的運作情況
    • 1-176
      僅執行1 個測試
    • 1-177
      11.2 pytest 的fixture 夾具
    • 1-178
      以conftest.py 共用fixture
    • 1-179
      11.3 建立物件偵測應用程式的測試
    • 1-180
      設定測試用的圖片上傳目錄
    • 1-181
      修改測試fixture
    • 1-182
      測試圖片列表頁面
    • 1-183
      測試圖片上傳頁面
    • 1-184
      測試物件偵測與標記搜尋功能
    • 1-185
      測試圖片刪除功能
    • 1-186
      測試自訂錯誤頁面
    • 1-187
      輸出測試覆蓋率
    • 1-188
      以HTML 格式輸出測試覆蓋率
    • 1-189
      本章與第2 篇的總結
    • 1-190
      第3篇Flask實踐② 建立/部署物件偵測功能的API
    • 1-191
      第12章 網路API的概要
    • 1-192
      12.1 World Wide Web(WWW)與API 的意義
    • 1-193
      客戶端與伺服器
    • 1-194
      API 與JSON
    • 1-195
      12.2 表示資源位置的網址功用
    • 1-196
      URL
    • 1-197
      URI
    • 1-198
      URN
    • 1-199
      12.3 HTTP 方法的CRUD 資源操作
    • 1-200
      本章總結
    • 1-201
      第13章 物件偵測API的規格
    • 1-202
      13.1 物件偵測API 的處理流程
    • 1-203
      13.2 安裝PyTorch 與儲存已學習模型
    • 1-204
      安裝PyTorch
    • 1-205
      儲存已學習模型
    • 1-206
      本章總結
    • 1-207
      第14章 實作物件偵測API
    • 1-208
      14.1 物件偵測API 的目錄架構與模組
    • 1-209
      __init__.py
    • 1-210
      14.2 準備實作
    • 1-211
      14.3 實作1 |編寫API 的啟動程式碼
    • 1-212
      加載組態並建立Flask 應用程式
    • 1-213
      編寫通用的設定內容
    • 1-214
      確認運作情況
    • 1-215
      14.4 實作2 |編寫資料準備/前處理/後處理的程式碼
    • 1-216
      準備資料
    • 1-217
      前處理
    • 1-218
      後處理
    • 1-219
      14.5 實作3 |編寫已學習模型的執行程式碼
    • 1-220
      14.6 實作4 |實作路由建置
    • 1-221
      確認運作情況
    • 1-222
      本章總結
    • 1-223
      第15章 部署物件偵測應用程式
    • 1-224
      15.1 Docker 的概要
    • 1-225
      虛擬化技術
    • 1-226
      15.2 Cloud Run 的概要
    • 1-227
      特徵
    • 1-228
      15.3 Docker 的使用準備
    • 1-229
      安裝Docker Desktop
    • 1-230
      啟動Docker Desktop
    • 1-231
      15.4 Cloud Run 的使用準備
    • 1-232
      ❶ 建立Google Cloud 免費帳戶
    • 1-233
      ❷ 建立Google Cloud 的專案
    • 1-234
      ❸ 啟用Cloud Run API 與Container Registry API
    • 1-235
      ❹ 安裝Cloud SDK
    • 1-236
      15.5 步驟1 | Google Cloud 的configuration 初始設定
    • 1-237
      15.6 步驟2 |製作Dockerfile
    • 1-238
      15.7 步驟3|建置Docker 映像檔
    • 1-239
      確認建立的映像檔
    • 1-240
      15.8 步驟4 |將Docker 映像檔加入GCR
    • 1-241
      確認上傳情況
    • 1-242
      15.9 步驟5 |部署至Cloud Run
    • 1-243
      本章總結
    • 1-244
      第4篇開發機器學習API
    • 1-245
      第16章 機器學習的概要
    • 1-246
      16.1 機器學習的相關概念
    • 1-247
      16.2 機器學習處理的資料
    • 1-248
      16.3 機器學習處理的任務
    • 1-249
      統計(Statistics)
    • 1-250
      機器學習(Machine Learning)
    • 1-251
      16.4 演算法的數學式和程式碼表達
    • 1-252
      16.5 機器學習利用的Python 程式庫
    • 1-253
      程式庫與軟體框架
    • 1-254
      16.6 以Python 程式庫實踐邏輯迴歸
    • 1-255
      邏輯迴歸
    • 1-256
      S 型函數的數學式
    • 1-257
      交叉熵誤差(cross entropy error)的數學式
    • 1-258
      梯度下降法的數學式
    • 1-259
      使用NumPy 的邏輯迴歸
    • 1-260
      使用scikit-learn 的邏輯迴歸
    • 1-261
      本章總結
    • 1-262
      第17章 機器學習API的開發程序與實踐
    • 1-263
      17.1 選定最佳的機器學習演算法/模型
    • 1-264
      17.2 實作機器學習演算法/模型
    • 1-265
      實作程序
    • 1-266
      17.3 機器學習API 的規格
    • 1-267
      17.4 準備開發
    • 1-268
      安裝程式庫
    • 1-269
      確認目錄
    • 1-270
      17.5 實作程序1 |編寫分析腳本的產品程式碼
    • 1-271
      1.1 程式碼解讀/程式碼文字敘述
    • 1-272
      1.2 函數劃分/模組劃分
    • 1-273
      1.3 重新構建
    • 1-274
      17.6 實作程序2 |建立產品程式碼的API
    • 1-275
      2.1 路由建置——制定網址(端點)的命名規則
    • 1-276
      2.2 錯誤檢查——定義錯誤碼與錯誤訊息
    • 1-277
      2.3 請求檢查——實作驗證程式碼
    • 1-278
      17.7 確認正常運作的情況
    • 1-279
      17.8 由機器學習API 到機器學習的基礎設施、MLOps
    • 1-280
      本章總結
    • 1-281
      索引
    • 1-282
      作者/監修者簡介
    • 1-283
      版權頁
    • 1-284
      封底頁

    常见问答

    您可以透過手機、平板或是電腦登入 HiSKIO 平台,在【我的學習】>【我的書籍】頁面,選擇想看的電子書。

    猜你喜欢

    用户评价

    | 收集中

    销售方案