網頁應用程式設計--使用 Node 和 Express

Book description

活用 JavaScript 堆疊

“編寫同時具備吸引力與詳實的書籍並不容易,但 Ethan Brown 做到了。在這個主題中,《網頁應用程式設計—使用 Node 和 Express》是我所見過的最佳技術簡介書籍之一。令人印象深刻的是,它的範圍包含所有必備知識,讓你可以使用 Node.js 與 Express 框架以建構可上線的 Web  應用程式。”
-Semmy Purewal Netflix 資深軟體工程師


學習如何以 Express(Node/JavaScript 開發堆疊的關鍵元件)建構動態的 Web 應用程式。在這個實踐指南中,作者 Ethan Brown 將會開發一個虛構的應用程式,用它來公開一個公用的網站及 RESTful API,讓你學會基本知識。你也會學到 Web 架構的最佳做法,協助你使用 Express 建構單網頁、多網頁及混合式 Web app。

Express 在強健的框架及完全無框架之間取得一個平衡點,讓你可以自由地選擇架構。熟悉 JavaScript 的前端及後端工程師都可以透過本書找到新的 Web 開發方式。

• 建構可呈現動態資料的網頁模板系統
• 深入討論請求與回應物件、中介軟體及 URL 路由
• 模擬上線環境以進行測試及開發
• 使用文件資料庫來持久保存,特別是 MongoDB
• 使用 RESTful API 讓其他程式使用你的資源
• 使用驗證、授權與 HTTPS 建構安全的 app
• 整合社交媒體、地理定位及其他第三方服務
• 執行計畫,啟動並維護你的 app
• 學習關鍵的除錯技巧


Ethan Brown 是 Pop Art(位於奧勒岡州波特蘭市的互動行銷機構)的資深軟體工程師。他負責為客戶建構與製作 Web 應用程式,範圍包括小型的業務與國際性的企業。

Table of contents

  1. 封面
  2. 書名頁
  3. 授權聲明頁
  4. 獻給
  5. 目錄 (1/2)
  6. 目錄 (2/2)
  7. 前言
  8. 第一章 Express 簡介
  9. JavaScript 革命
  10. Express 簡介
  11. Express 的歷史概要
  12. 升級為Express 4.0
  13. Node:新型的網頁伺服器
  14. Node 生態系統
  15. 認證
  16. 第二章 開始使用Node
  17. 取得Node
  18. 使用終端機
  19. 編輯器
  20. npm
  21. 使用Node 來建立一個簡單的Web 伺服器
  22. Hello World
  23. 事件驅動編程
  24. 路由
  25. 傳送靜態資源
  26. 前進Express
  27. 第三章 使用Express 來節省時間
  28. 鷹架
  29. Meadowlark Travel 網站
  30. 初始步驟
  31. View 與版面配置
  32. 靜態檔案與View
  33. View 裡面的動態內容
  34. 結論
  35. 第四章 整理
  36. 最佳做法
  37. 版本控制
  38. 如何在本書中使用Git
  39. 如果你要按照書本自行輸入
  40. 如果你使用官方的存放庫來跟著做
  41. npm 套件
  42. 專案中繼資料
  43. Node 模組
  44. 第五章 品質確認
  45. QA:是否值得?
  46. 邏輯與外觀
  47. 測試類型
  48. QA 技術概要
  49. 運行你的伺服器
  50. 網頁測試
  51. 跨網頁測試
  52. 邏輯測試
  53. Lint
  54. 連結檢查
  55. 使用Grunt 進行自動化
  56. 持續整合(CI)
  57. 第六章 請求與回應物件
  58. URL 的各個部分
  59. HTTP 請求方法
  60. 請求標頭
  61. 回應標頭
  62. 網際網路媒體類型
  63. 請求內文
  64. 參數
  65. 請求物件
  66. 回應物件
  67. 取得更多資訊
  68. 開始烹調
  69. 顯示內容
  70. 處理表單
  71. 提供API
  72. 第七章 使用Handlebars 來製作樣板
  73. 除了這一條規則之外,就沒有絕對的規則了
  74. 選擇模板引擎
  75. Jade:一種不同的做法
  76. Handlebars 基礎
  77. 註解
  78. 區塊
  79. 伺服器端模板
  80. 視圖與版面配置
  81. 在Express 中使用版面配置(或不使用)
  82. Partials
  83. Sections
  84. 將你的模板最佳化
  85. 用戶端Handlebars
  86. 結論
  87. 第八章 表單處理
  88. 將用戶端資料傳給伺服器
  89. HTML 表單
  90. 編碼
  91. 不同的表單處理方式
  92. 使用Express 處理表單
  93. 處理AJAX 表單
  94. 檔案上傳
  95. jQuery 檔案上傳
  96. 第九章 Cookie 與期程
  97. 外部認證
  98. Express 裡的Cookie
  99. 檢查Cookies
  100. 期程
  101. 記憶儲存
  102. 使用期程
  103. 使用期程來實作閃爍訊息
  104. 期程要用在哪裡
  105. 第十章 中介軟體
  106. 常用的中介軟體
  107. 第三方中介軟體
  108. 第十一章 傳送Email
  109. SMTP、MSA 與MTA
  110. 接收Email
  111. Email 標頭
  112. Email 格式
  113. HTML Email
  114. Nodemailer
  115. 傳送Mail
  116. 傳送郵件給多個收件者
  117. 較佳的大量Email 選項
  118. 傳送HTML Email
  119. HTML Email 內的圖像
  120. 使用Views 來傳送HTML Email
  121. 封裝Email 功能
  122. 把Email 當成網站監控工具
  123. 第十二章 生產考量
  124. 執行環境
  125. 環境專用設定
  126. 擴展你的網站
  127. 使用App 叢集向外擴展
  128. 處理未捕獲的例外狀況
  129. 以多個伺服器向外擴展
  130. 監測你的網站
  131. 第三方工作時間監控程式
  132. 應用程式故障
  133. 壓力測試
  134. 第十三章 持久保存
  135. 檔案系統持久保存
  136. 雲端持久保存
  137. 資料庫持久保存
  138. 關於效能
  139. 設定MongoDB
  140. Mongoose
  141. 使用Mongoose 連結資料庫
  142. 建立架構與模型
  143. 播下初始資料
  144. 取回資料
  145. 添加資料
  146. 使用MongoDB 來做期程存儲
  147. 第十四章 路由
  148. 路由與SEO
  149. 子網域
  150. 路由處理程式都是中介軟體
  151. 路由路徑與正規表達式
  152. 路由參數
  153. 組織路由
  154. 在模組內宣告路由
  155. 以邏輯的方式來將處理程式群組化
  156. 自動轉譯視圖
  157. 其他的路由組織方法
  158. 第十五章 REST API 與JSON
  159. JSON 與XML
  160. 我們的API
  161. API 錯誤回報
  162. 跨來源資源共享(CORS)
  163. 我們的資料存儲
  164. 我們的測試
  165. 使用Express 來提供API
  166. 使用REST 外掛程式
  167. 使用子網域
  168. 第十六章 靜態內容
  169. 效能注意事項
  170. 對你的網站進行未來驗證
  171. 靜態對應
  172. 視圖中的靜態資源
  173. CSS 內的靜態資源
  174. 伺服器端JavaScript 的靜態資源
  175. 用戶端JavaScript 的靜態資源
  176. 傳送靜態資源
  177. 改變你的靜態內容
  178. 統合與壓縮
  179. 在開發模式下,跳過統合與壓縮
  180. 關於第三方程式
  181. QA
  182. 結論
  183. 第十七章 用Express 實作MVC
  184. Model
  185. View Model
  186. Controller
  187. 結論
  188. 第十八章 安全
  189. HTTPS
  190. 製作你自己的憑證
  191. 使用免費的憑證授權
  192. 購買憑證
  193. 啟用HTTPS 供Express App 使用
  194. 連接埠備註
  195. HTTPS 與代理伺服器
  196. 跨網站請求偽造
  197. 驗證
  198. 驗證VS. 授權
  199. 密碼的問題
  200. 第三方驗證
  201. 在你的資料庫中儲存使用者
  202. 驗證VS. 註冊,使用者體驗
  203. 設定Passport (1/2)
  204. 設定Passport (2/2)
  205. 角色授權
  206. 添加額外的授權提供者
  207. 結論
  208. 第十九章 整合第三方API
  209. 社群媒體
  210. 社群媒體外掛與網站效能
  211. 搜尋推文
  212. 呈現推文
  213. 地理編碼
  214. 使用Google 地理編碼
  215. 將你的資料地理編碼
  216. 顯示地圖
  217. 提高用戶端性能
  218. 氣象資料
  219. 結論
  220. 第二十章 除錯
  221. 除錯的第一原則
  222. 利用REPL 與主控台
  223. 使用Node 的內建除錯程式
  224. Node Inspector
  225. 對非同步函式除錯
  226. Express 除錯
  227. 第二十一章 開張
  228. 網域註冊及託管
  229. 網域名稱系統
  230. 安全
  231. 頂級網域
  232. 子網域
  233. 域名伺服器
  234. 主機
  235. 部署
  236. 結論
  237. 第二十二章 維護
  238. 維護的原則
  239. 使用原始碼控制
  240. 使用問題追蹤器
  241. 養成良好的衛生習慣
  242. 不要拖延
  243. 執行例行的QA 檢查
  244. 監視器分析
  245. 效能最佳化
  246. 優先追蹤潛在客戶
  247. 防止“看不見”的錯誤
  248. 程式碼重複使用及重構
  249. 私用npm 註冊表
  250. 中介軟體
  251. 結論
  252. 第二十三章 其他資源
  253. 線上文件
  254. 期刊
  255. Stack Overflow
  256. 貢獻Express
  257. 結論
  258. 索引 (1/4)
  259. 索引 (2/4)
  260. 索引 (3/4)
  261. 索引 (4/4)
  262. 關於作者
  263. 出版記事

Product information

  • Title: 網頁應用程式設計--使用 Node 和 Express
  • Author(s): Ethan Brown
  • Release date: December 2014
  • Publisher(s): GoTop Information, Inc.
  • ISBN: 9789863474371

You might also like

book

HTML5與JAVASCRIPT WEB APPS開發實務

by Wesley Hales

「本書是行動 web 開發者必備的最新書籍,其內容來自行動 web 駭客的前線,滿載著得之不易的實用知識。如果你正試圖尋找專案的框架,並意圖征服瘋狂的行動領域的話,本書絕對不會讓你失望。」 —Brian LeRoux, Adobe,PhoneGap/Apache Cordova 開發者 搭起 Web 與行動 Web 之間的橋樑 本書以實作的方式,教你使用 …

book

Google系统架构解密: 构建安全可靠的系统

by Heather Adkins, Betsy Beyer, Paul Blankinship, Piotr Lewandowski, Ana Oprea, Adam Stubblefield

如何保证大型分布式服务能够安全、可靠地运行?拥有亿级用户和复杂业务场景的Google让这件事看起来很简单,但事实并非如此。在本书中,Google的SRE团队和安全团队分享了他们的前沿经验和真知灼见,并展示了互联网级别的服务如何保障安全性和可靠性。 随着DevSecOps日渐兴起,这本从Google和整个行业的经验中提炼方法论的书,将帮助你洞悉软件系统的安全可靠之道。你将通过以下几点来学习如何构建安全、可靠的系统。 系统架构设计策略 推荐采用的编程、测试和调试实践 预防和响应事故,以及从事故中恢复 让团队高效合作的文化

book

Swift 人工智能实战:从基础理论到AI 驱动的应用程序开发

by Mars Geldard, Jonathon Manning, Paris Buttfield-Addison, Tim Nugent

这本实用的书为所有程序员和开发人员提供了使用Swift进行AI和机器学习开发的一站式服务,让他们可以在iOS、macOS、tvOS和watchOS的Swift应用中创建并实现基于AI和机器学习的功能。你将学习如何使用强大的AI软件构建应用功能,从而识别图像,进行预测,生成内容,进行推荐等。 对所有开发人员而言,AI越来越重要,即使你不是数据科学家或数学家,也可以在应用程序中使用AI。本书探索基于Swift的AI和机器学习技术,并讨论了AI驱动功能用在哪些场景下以及如何才有意义。书中使用了诸如基于Python的TuriCreate(来自苹果公司)和Swift for TensorFlow(来自谷歌)等工具。 本书的主要内容如下: 基础知识和工具:学习AI基础知识,将任务应用于模型,以及学习如何构建或查找数据集。 基于任务的AI:构建视觉、音频、文本、运动和增强相关的功能,了解如何转换现有模型。 超越:探索基于任务的实践背后的理论,探索AI和机器学习方法,并学习如何从头开始构建应用。

book

JQUERY UI使用者介面設計

by Eric Sarrion

有了jQuery UI函式庫,您就能在設計使用者介面的時候發揮jQuery的威力與標準,達成互動元素、動畫以及能夠套用佈景主題的小工具。這本簡潔、充滿程式碼的指南將示範如何發揮HTML5欠缺的互動功能,包含頁籤、手風琴選單、對話盒。您也將學會如何撰寫常見但複雜的功能,像是管理拖放動作、自動完成欄位內容,讓使用者更容易與您的網站互動。 本書可協助您快速導覽jQuery UI能夠如何改進HTML頁面,之後隨著各獨立章節深入解說每個元件。如果您是網頁開發者或設計者,希望以新功能充實您的網站—但目前還無法深入JavaScript的話,jQuery UI就是您必備的工具。 本書涵蓋下列1.8版的延伸功能 •頁籤管理 •手風琴選單 •對話盒 •按鈕 •進度條 •滑桿 •日期選擇器 •自動完成欄位內容 •管理拖放動作 •選取元素、調整元素大小、切換元素 …