会员   密码 您忘记密码了吗?
1,580,216 本书已上架      购物流程 | 常见问题 | 联系我们 | 关于我们 | 用户协议

有店 App


当前分类

商品分类

浏览历史

当前位置: 首页 > 简体书 > GraphQL實戰:寫給全棧工程師們
GraphQL實戰:寫給全棧工程師們
上一张
下一张
prev next

GraphQL實戰:寫給全棧工程師們

作者: 王北南
出版社: 機械工業出版社
出版日期: 2019-07-01
商品库存: 点击查询库存
以上库存为海外库存属流动性。
可选择“空运”或“海运”配送,空运费每件商品是RM14。
配送时间:空运约8~12个工作天,海运约30个工作天。
(以上预计配送时间不包括出版社库存不足需调货及尚未出版的新品)
定价:   NT354.00
市场价格: RM63.64
本店售价: RM56.64
购买数量:
collect Add to cart Add booking
详细介绍 商品属性 商品标记
內容簡介

《GraphQL實戰——寫給全棧工程師們》以當下流行的移動互聯網應用開發為切入點,結合作者多年的前後端實際架構經驗,針對目前互聯網上程式師們對GraphQL的疑問和誤解,並輔以業界真實案例,對前後端設計中的難點要點分別加以介紹。在前端,本書重點講述了如何提升使用者體驗和回應速度;在後端,主要講解了在高併發海量資料環境下的設計與優化;最後,還介紹了如何讓GraphQL與大資料平臺整合來訓練機器學習模型。
 
《GraphQL實戰——寫給全棧工程師們》內容涵蓋前端、後端和大資料平臺開發,非常適合全棧程式師閱讀,也可作為前端程式師、後端程式師、大資料工程師、演算法工程師和技術型產品經理提升知識儲備的參考書。


作者介紹


目錄

導讀—本書為快速學習設計
第1章 GraphQL API設計和全棧開發1
1.1 什麼是GraphQL2
1.2 分散式系統2
1.2.1 擴展性3
1.2.2 可靠性3
1.2.3 遠端資源分享4
1.2.4 更強的處理能力4
1.3 C/S架構與API4
1.3.1 C/S架構4
1.3.2 前端與後端5
1.3.3 全棧程式師5
1.3.4 應用程式介面6
1.4 RESTful API的起源與特點7
1.4.1 倉庫保管員的窘境7
1.4.2 REST無狀態的好處8
1.4.3 RESTful API是否真的無狀態8
1.4.4 RESTful API是否是資料傳輸協議9
1.4.5 RESTful API的好處是什麼9
1.5 RESTful API的主要問題10
1.5.1 資料定制的問題10
1.5.2 多次請求的問題10
1.5.3 異常處理的問題10
1.5.4 返回資料格式未知的問題11
1.5.5 請求Endpoint和方式過多的問題11
1.6 GraphQL如何解決RESTful API的問題11
1.6.1 GraphQL可以自由定制資料11
1.6.2 GraphQL可以把多次請求合併為一個12
1.6.3 GraphQL錯誤以及異常資訊明確12
1.6.4 GraphQL返回資料的形式和查詢請求同構13
1.6.5 GraphQL使用單一的Endpoint14
1.6.6 GraphQL替代了什麼14
1.7 GraphQL引發的疑慮15
1.7.1 GraphQL是否還是RESTful15
1.7.2 GraphQL增大了後端系統設計的難度15
1.7.3 GraphQL是否會帶來後端性能問題15
1.7.4 遷移到GraphQL的代價16
1.7.5 GraphQL是該前端驅動還是後端驅動16
1.8 GraphQL全棧框架的選用16
1.8.1 Relay17
1.8.2 Apollo17
 
第2章 GraphQL初體驗—電商API設計18
2.1 基本開發環境的搭建19
2.2 和GraphQL互動20
2.2.1 即時交互介面GraphiQL的使用20
2.2.2 通過curl發送請求21
2.2.3 使用協力廠商用戶端21
2.3 Schema與定義資料類型22
2.3.1 強類型的查詢語言22
2.3.2 伺服器端的Schema23
2.3.3 標量類型24
2.3.4 自訂複雜類型25
2.3.5 枚舉26
2.3.6 清單以及物件的清單27
2.4 定義操作28
2.4.1 唯讀查詢操作28
2.4.2 可寫修改操作30
2.4.3 訂閱操作31
2.4.4 傳遞輸入類型31
2.4.5 操作也是欄位33
2.5 精煉資料模型與操作33
2.5.1 介面和繼承33
2.5.2 聯合35
2.6 精煉查詢36
2.6.1 使用變數36
2.6.2 使用別名37
2.6.3 使用片段38
2.6.4 類型條件39
2.6.5 使用Directive40
2.6.6 後端工程師的福音41
2.7 簡單資料驗證41
2.7.1 必填值的驗證42
2.7.2 標量值的驗證42
 
第3章 電商網站前端開發44
3.1 GraphQL前端開發要點45
3.1.1 前端開發的主要任務45
3.1.2 前端開發的難點46
3.1.3 前端技術的選型46
3.2 前端React項目初始化47
3.2.1 React特點簡介47
3.2.2 React 整合GraphQL前端系統設計48
3.2.3 創建React前端工程49
3.2.4 安裝Apollo用戶端49
3.2.5 初始化GraphQL用戶端50
3.2.6 手動發送查詢51
3.3 唯讀資料的React UI元件51
3.3.1 構建GraphQL Query查詢51
3.3.2 定義清單元素元件52
3.3.3 定義清單組件52
3.3.4 綁定靜態查詢和UI元件53
3.3.5 使用Query元件54
3.3.6 從Query元件中接收一個參數55
3.3.7 資料的接收以及出錯處理56
3.3.8 手動刷新57
3.4 修改資料的React UI元件57
3.4.1 定義一個帶有變數的Mutation操作58
3.4.2 使用Mutation UI元件58
3.5 支持訂閱59
3.5.1 什麼時候使用訂閱59
3.5.2 訂閱是如何實現的60
3.6 本地數據60
 
第4章 基於Node.js的GraphQL後端61
4.1 GraphQL後端架構思想62
4.1.1 “薄”層設計62
4.1.2 “門戶”設計64
4.1.3 面向業務設計64
4.2 GraphQL層的職責與實現65
4.2.1 GraphQL層的職責65
4.2.2 GraphQL層的實現65
4.2.3 Resolver函數與分治策略67
4.3 Apollo GraphQL後端框架68
4.3.1 依賴庫的安裝68
4.3.2 定義和解析Schema69
4.3.3 綁定處理查詢操作函數69
4.4 詳解Resolver函數72
4.4.1 Resolver的各種返回類型72
4.4.2 Resolve一個類型72
4.4.3 Resolve一個複雜類型欄位73
4.4.4 Resolve一個標量欄位75
4.4.5 Resolve一個自訂標量欄位77
4.4.6 Resolve一個列表80
4.5 GraphQL後端驗證以及錯誤處理81
4.5.1 簡單方式81
4.5.2 使用自訂標量類型進行驗證82
4.6 非同步IO84
4.6.1 基於非同步非阻塞IO的JavaScript實現84
4.6.2 同步還是非同步85
4.6.3 非同步Resolver85
4.7 使用JavaScript開發後端服務的問題86
 
第5章 基於Go語言協程的GraphQL服務88
5.1 使用協程和上下文89
5.1.1 使用協程的原因89
5.1.2 協程和GraphQL服務90
5.1.3 上下文和作用域90
5.1.4 派生上下文91
5.2 Go語言的Web服務和中介軟體92
5.2.1 構建Web服務92
5.2.2 Web服務中介軟體93
5.2.3 基於中介軟體的後端架構94
5.2.4 資料收集中介軟體95
5.2.5 資料庫會話中介軟體95