《Go Web編程》
基本信息
作者: 謝孟軍
出版社:電子工業出版社
ISBN:9787121200915
上架時間:2013-5-13
出版日期:2013 年6月
開本:16開
頁碼:352
版次:1-1
所屬分類:計算機

更多關於 》》》《
Go Web編程》
內容簡介
計算機書籍
《go web編程》介紹如何用go語言進行web應用的開發,將go語言的特性與web開發實戰組合到一起,幫讀者成功地構建跨平台的應用程序,節省go語言開發web的寶貴時間。有了這些針對真實問題的解決方案放在手邊,大多數編程難題都會迎刃而解。
在本書中,讀者可以更加方便地找到各種編程問題的解決方案,內容涵蓋文本處理、表單處理、session管理、數據庫交互、加/解密、國際化和標准化,以及程序的部署維護等運維方面的知識,最后還介紹了一個快速開發的框架幫助您迅速進入go語言的web開發。
目錄
《go web編程》
第1章 go語言環境配置1
1.1 go語言安裝1
go語言的三種安裝方式1
go語言源碼安裝2
go語言標准包安裝2
第三方工具安裝5
1.2 gopath與工作空間5
gopath設置5
應用目錄結構6
編譯應用7
獲取遠程包8
程序的整體結構8
1.3 go語言命令9
go語言命令9
go build10
go clean10
go fmt11
go get11
go install12
go test12
go doc12
其他命令12
1.4 go語言開發工具13
liteide13
sublime text16
vim19
emacs20
eclipse23
intellij idea26
1.5 總結29
第2章 go語言基礎30
2.1 你好,go30
程序30
詳解31
小結31
2.2 go語言基礎32
定義變量32
常量33
內置基礎類型33
一些技巧36
array、slice、map37
2.3 流程和函數44
流程控制44
函數48
2.4 struct類型57
struct57
2.5 面向對象62
method62
2.6 interface70
interface70
2.7 並發80
goroutine80
channels81
buffered channels82
range和close83
select84
超時85
runtime goroutine85
2.8 總結85
第3章 web基礎87
3.1 web工作方式87
url和dns解析88
http協議詳解90
請求實例95
3.2 go語言搭建一個web服務器95
http包建立web服務器96
3.3 go語言如何使web工作97
web工作方式的幾個概念97
分析http包運行機制98
3.4 go語言的http包詳解100
conn的goroutine100
servemux的自定義100
go語言代碼的執行流程102
3.5 總結103
第4章 表單104
4.1 處理表單的輸入104
4.2 驗證表單的輸入107
必填字段107
數字108
中文108
英文109
電子郵件地址109
手機號碼109
下拉菜單109
單選按鈕110
復選框110
日期和時間111
身份證號碼111
4.3 預防跨站腳本112
4.4 防止多次遞交表單113
4.5 處理文件上傳115
客戶端上傳文件117
4.6 總結119
第5章 訪問數據庫120
5.1 database/sql接口120
sql.register120
driver.driver121
driver.conn122
driver.stmt122
driver.tx123
driver.execer123
driver.result123
driver.rows123
driver.rowsaffected124
driver.value124
driver.valueconverter124
driver.valuer125
database/sql125
5.2 使用mysql數據庫125
mysql驅動126
示例代碼126
5.3 使用sqlite數據庫129
驅動129
實例代碼129
5.4 使用postgresql數據庫131
驅動131
實例代碼132
5.5 使用beedb庫進行orm開發134
安裝134
如何初始化135
插入數據136
更新數據136
查詢數據137
刪除數據138
關聯查詢138
group by和having139
進一步的發展139
5.6 nosql數據庫操作139
redis140
mongodb141
5.7 總結143
第6章 session和數據存儲144
6.1 session和cookie144
cookie146
session147
小結148
6.2 go語言如何使用session148
session創建過程149
go語言實現session管理149
6.3 session存儲154
6.4 預防session劫持157
session劫持過程157
session劫持防范160
6.5 總結161
第7章 文本處理162
7.1 xml處理162
解析xml163
輸出xml165
7.2 json處理168
解析json168
生成json171
7.3 正則處理173
通過正則判斷是否匹配174
通過正則獲取內容175
7.4 模板處理179
什么是模板179
go語言模板使用180
模板中如何插入數據180
must操作186
嵌套模板186
小結188
7.5 文件操作188
目錄操作188
文件操作189
7.6 字符串處理191
字符串操作191
字符串轉換193
7.7 總結194
第8章 web服務195
8.1 socket編程195
什么是socket196
socket如何通信196
socket基礎知識197
tcp socket198
udp socket202
小結204
8.2 websocket204
websocket原理205
go語言實現websocket206
8.3 rest209
什么是rest209
restful的實現211
小結213
8.4 rpc213
rpc工作原理214
go rpc215
小結223
8.5 總結223
第9章 安全與加密224
9.1 預防csrf攻擊224
什么是csrf224
csrf的原理225
如何預防csrf226
總結227
9.2 確保輸入過濾228
識別數據228
過濾數據228
區分過濾數據229
小結230
9.3 避免xss攻擊230
什么是xss230
xss的原理231
如何預防xss232
小結232
9.4 避免sql注入232
什么是sql注入232
sql注入實例233
如何預防sql注入234
小結234
9.5 存儲密碼235
普通方案235
進階方案236
專家方案237
總結237
9.6 加密和解密數據237
base64加解密238
高級加解密238
小結240
9.7 總結240
第10章 國際化和本地化241
10.1 設置默認地區241
什么是locale241
設置locale242
小結244
10.2 本地化資源244
本地化文本信息244
本地化日期和時間246
本地化貨幣值246
本地化視圖和資源247
小結248
10.3 國際化站點248
管理多個本地包248
自動加載本地包249
template mapfunc250
小結252
10.4 總結252
第11章 錯誤處理,調試和測試253
11.1 錯誤處理253
error類型254
自定義error255
錯誤處理256
小結258
11.2 使用gdb調試258
gdb調試簡介259
常用命令259
調試過程261
小結264
11.3 go語言怎么寫測試用例264
如何編寫測試用例265
如何編寫壓力測試267
小結268
11.4 總結268
第12章 部署與維護269
12.1 應用日志269
seelog介紹269
基於seelog的自定義日志處理270
發生錯誤發送郵件272
使用應用日志273
小結273
12.2 網站錯誤處理273
錯誤處理的目標274
如何處理錯誤275
如何處理異常277
小結277
12.3 應用部署278
daemon278
supervisord280
小結282
12.4 備份和恢復283
應用備份283
mysql備份284
mysql恢復287
redis備份287
redis恢復287
小結287
12.5 總結287
第13章 如何設計一個web框架289
13.1 項目規划289
gopath以及項目設置289
應用程序流程圖290
目錄結構291
框架設計291
總結291
13.2 自定義路由器設計292
http路由292
默認的路由實現292
beego框架路由實現293
13.4 日志和配置設計298
日志和配置的重要性298
beego的日志設計298
beego的配置設計301
應用指南303
13.5 實現博客的增刪改303
博客目錄304
博客路由304
數據庫結構304
控制器305
model層306
view層307
13.6 總結309
第14章 擴展web框架310
14.1 靜態文件支持310
beego靜態文件實現和設置310
bootstrap集成311
14.2 session支持312
session集成312
session使用314
14.3 表單及驗證支持315
表單和驗證315
表單類型316
表單驗證316
14.4 用戶認證318
http basic和http digest認證318
oauth和oauth2的認證319
自定義認證321
14.5 多語言支持324
i18n集成324
多語言開發使用325
14.6 pprof支持326
beego支持pprof326
使用入門327
14.7 小結329
附錄a 參考資料330