-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
4/1 新書到! 3/25 新書到! 12/20新書到! 12/13 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Go Web程式設計

( 簡體 字)
作者:[新加坡]鄭兆雄(Sau Sheong Chang)類別:1. -> 程式設計 -> Go語言
譯者:
出版社:人民郵電出版社Go Web程式設計 3dWoo書號: 48153
詢問書籍請說出此書號!

缺書
NT售價: 395

出版日:12/8/2017
頁數:290
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787115322470
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:


本書全面介紹使用Go語言開發Web應用所需的全部基本概念,並詳細講解如何運用現代設計原則使用Go語言構建Web應用。本書通過大量的實例介紹核心概念(如處理請求和發送回應、範本引擎和資料持久化),並深入討論更多高級主題(如併發、Web應用程式測試以及部署到標準系統伺服器和PaaS提供商)。

本書以一個網路論壇為例,講解如何使用請求處理器、多工器、範本引擎、存儲系統等核心元件構建一個Go Web應用,然後在這一應用的基礎上,構建出相應的Web服務。值得一提的是,本書在介紹Go Web開發方法時,基本上只用到Go語言自帶的標準庫,而不會用到任何特定的Web框架,讀者學到的知識將不會局限於特定的框架,即使將來需要用到現成的框架或者自行構建框架,仍然會從本書中獲益。本書除了講解具體的Web開發方法,還介紹如何對Go Web應用進行測試,如何使用Go的併發特性提高Web應用的性能,以及如何在Heroku、Google App Engine、Digital Ocean等雲平臺上部署Go Web應用;此外,書中還傳授一些Go Web開發方面的經驗和提示。這些重要的實踐知識將幫助讀者快速成為真正具有生產力的Go Web開發者。

閱讀本書需要讀者具備基本的Go語言程式設計技能並掌握Go語言的語法。本書適合所有想用Go語言進行Web開發的讀者閱讀,無論是Web開發的初學者還是入行已久的開發者都會在閱讀本書的過程中有所收穫。
目錄:


第 一部分 Go與Web應用

第 1章 Go與Web應用 3

1.1 使用Go語言構建Web應用 3

1.1.1 Go與可擴展Web應用 4

1.1.2 Go與模組化Web應用 4

1.1.3 Go與可維護的Web應用 5

1.1.4 Go與高性能Web應用 5

1.2 Web應用的工作原理 6

1.3 HTTP簡介 7

1.4 Web應用的誕生 8

1.5 HTTP請求 9

1.5.1 請求方法 10

1.5.2 安全的請求方法 11

1.5.3 冪等的請求方法 11

1.5.4 流覽器對請求方法的支援 11

1.5.5 請求首部 12

1.6 HTTP回應 13

1.6.1 回應狀態碼 13

1.6.2 回應首部 14

1.7 URI 15

1.8 HTTP/2簡介 16

1.9 Web應用的各個組成部分 16

1.9.1 處理器 17

1.9.2 範本引擎 18

1.10 Hello Go 18

1.11 小結 21


第 2章 ChitChat論壇 23

2.1 ChitChat簡介 23

2.2 應用設計 24

2.3 資料模型 26

2.4 請求的接收與處理 27

2.4.1 多工器 27

2.4.2 服務靜態檔 29

2.4.3 創建處理器函數 29

2.4.4 使用cookie進行存取控制 30

2.5 使用範本生成HTML回應 33

2.6 安裝PostgreSQL 38

2.6.1 在Linux或FreeBSD系統上安裝 38

2.6.2 在Mac OS X系統上安裝 39

2.6.3 在Windows系統上安裝 39

2.7 連接資料庫 39

2.8 啟動伺服器 44

2.9 Web應用運作流程回顧 45

2.10 小結 46


第 二部分 Web應用的基本組成部分

第3章 接收請求 49

3.1 Go的net/http標準庫 49

3.2 使用Go構建伺服器 51

3.2.1 Go Web伺服器 51

3.2.2 通過HTTPS提供服務 53

3.3 處理器和處理器函數 56

3.3.1 處理請求 56

3.3.2 使用多個處理器 58

3.3.3 處理器函數 59

3.3.4 串聯多個處理器和處理器函數 61

3.3.5 ServeMux和DefaultServeMux 65

3.3.6 使用其他多工器 66

3.4 使用HTTP/2 68

3.5 小結 70


第4章 處理請求 72

4.1 請求和回應 72

4.1.1 Request結構 73

4.1.2 請求URL 73

4.1.3 請求首部 74

4.1.4 請求主體 76

4.2 Go與HTML表單 77

4.2.1 Form欄位 79

4.2.2 PostForm欄位 80

4.2.3 MultipartForm欄位 81

4.2.4 文件 83

4.2.5 處理帶有JSON主體的POST請求 85

4.3 ResponseWriter 86

4.4 cookie 91

4.4.1 Go與cookie 91

4.4.2 將cookie發送到流覽器 92

4.4.3 從流覽器裡面獲取cookie 94

4.4.4 使用cookie實現閃現消息 96

4.5 小結 99


第5章 內容展示 100

5.1 範本引擎 100

5.2 Go的範本引擎 102

5.2.1 對範本進行語法分析 104

5.2.2 執行範本 105

5.3 動作 106

5.3.1 條件動作 106

5.3.2 反覆運算動作 108

5.3.3 設置動作 109

5.3.4 包含動作 111

5.4 參數、變數和管道 113

5.5 函數 114

5.6 上下文感知 116

5.6.1 防禦XSS攻擊 119

5.6.2 不對HTML進行轉義 121

5.7 嵌套範本 122

5.8 通過塊動作定義預設範本 126

5.9 小結 127


第6章 存儲資料 128

6.1 記憶體存儲 128

6.2 檔存儲 131

6.2.1 讀取和寫入CSV文件 133

6.2.2 gob包 135

6.3 Go與SQL 137

6.3.1 設置資料庫 138

6.3.2 連接資料庫 140

6.3.3 創建帖子 142

6.3.4 獲取帖子 144

6.3.5 更新帖子 145

6.3.6 刪除帖子 145

6.3.7 一次獲取多篇帖子 146

6.4 Go與SQL的關係 147

6.4.1 設置資料庫 147

6.4.2 一對多關聯性 150

6.5 Go與關係映射器 152

6.5.1 Sqlx 152

6.5.2 Gorm 154

6.6 小結 157


第三部分 實戰演練

第7章 Go Web服務 161

7.1 Web服務簡介 161

7.2 基於SOAP的Web服務簡介 163

7.3 基於REST的Web服務簡介 166

7.3.1 將動作轉換為資源 168

7.3.2 將動作轉換為資源的屬性 169

7.4 通過Go分析和創建XML 169

7.4.1 分析XML 169

7.4.2 創建XML 177

7.5 通過Go分析和創建JSON 180

7.5.1 分析JSON 181

7.5.2 創建JSON 184

7.6 創建Go Web服務 187

7.7 小結 194


第8章 應用測試 196

8.1 Go與測試 196

8.2 使用Go進行單元測試 197

8.2.1 跳過測試用例 201

8.2.2 以並行方式運行測試 202

8.2.3 基準測試 203

8.3 使用Go進行HTTP測試 206

8.4 測試替身以及依賴注入 210

8.5 協力廠商Go測試庫 217

8.5.1 Gocheck測試包簡介 217

8.5.2 Ginkgo測試框架簡介 223

8.6 小結 228


第9章 發揮Go的併發優勢 230

9.1 併發與並行的區別 230

9.2 goroutine 232

9.2.1 使用goroutine 232

9.2.2 goroutine與性能 235

9.2.3 等待goroutine 238

9.3 通道 239

9.3.1 通過通道實現同步 240

9.3.2 通過通道實現消息傳遞 242

9.3.3 有緩衝通道 243

9.3.4 從多個通道中選擇 244

9.4 在Web應用中使用併發 247

9.4.1 創建馬賽克圖片 248

9.4.2 馬賽克圖片Web應用 251

9.4.3 併發版馬賽克圖片生成Web應用 254

9.5 小結 262


第 10章 Go的部署 263

10.1 將應用部署到獨立的 伺服器 264

10.2 將應用部署到 Heroku 270

10.3 將應用部署到Google App Engine 273

10.4 將應用部署到 Docker 278

10.4.1 什麼是Docker 278

10.4.2 安裝Docker 279

10.4.3 Docker的理念與 組件 280

10.4.4 Docker化一個Go Web 應用 281

10.4.5 將Docker容器推送到 互聯網 283

10.5 部署方法之間的 對比 286

10.6 小結 287


附錄 安裝和設置Go 288
序: