Node.js Design Patterns - Design and implement production-grade Node.js applications using proven patterns and techniques, 3/e (Paperback)

Casciaro, Mario, Mammino, Luciano

買這商品的人也買了...

商品描述

Learn proven patterns, techniques, and tricks to take full advantage of the Node.js platform. Master well-known design principles to create applications that are readable, extensible, and that can grow big.

Key Features

  • Learn how to create solid server-side applications by leveraging the full power of Node.js 14
  • Understand how Node.js works and learn how to take full advantage of its core components as well as the solutions offered by its ecosystem
  • Avoid common mistakes and use proven patterns to create production grade Node.js applications

Book Description

In this book, we will show you how to implement a series of best practices and design patterns to help you create efficient and robust Node.js applications with ease.

We kick off by exploring the basics of Node.js, analyzing its asynchronous event driven architecture and its fundamental design patterns. We then show you how to build asynchronous control flow patterns with callbacks, promises and async/await. Next, we dive into Node.js streams, unveiling their power and showing you how to use them at their full capacity. Following streams is an analysis of different creational, structural, and behavioral design patterns that take full advantage of JavaScript and Node.js. Lastly, the book dives into more advanced concepts such as Universal JavaScript, scalability and messaging patterns to help you build enterprise-grade distributed applications.

Throughout the book, you'll see Node.js in action with the help of several real-life examples leveraging technologies such as LevelDB, Redis, RabbitMQ, ZeroMQ, and many others. They will be used to demonstrate a pattern or technique, but they will also give you a great introduction to the Node.js ecosystem and its set of solutions.

What you will learn

  • Become comfortable with writing asynchronous code by leveraging callbacks, promises, and the async/await syntax
  • Leverage Node.js streams to create data-driven asynchronous processing pipelines
  • Implement well-known software design patterns to create production grade applications
  • Share code between Node.js and the browser and take advantage of full-stack JavaScript
  • Build and scale microservices and distributed systems powered by Node.js
  • Use Node.js in conjunction with other powerful technologies such as Redis, RabbitMQ, ZeroMQ, and LevelDB

Who this book is for

This book is for developers and software architects who have some prior basic knowledge of JavaScript and Node.js and now want to get the most out of these technologies in terms of productivity, design quality, and scalability. Software professionals with intermediate experience in Node.js and JavaScript will also find valuable the more advanced patterns and techniques presented in this book.

This book assumes that you have an intermediate understanding of web application development, databases, and software design principles.

商品描述(中文翻譯)

學習證實有效的模式、技巧和技巧,充分利用Node.js平台。掌握著名的設計原則,創建可讀性強、可擴展且能夠擴展的應用程序。

主要特點:

- 通過充分利用Node.js 14的強大功能,學習如何創建穩固的服務器端應用程序。
- 了解Node.js的工作原理,並學習如何充分利用其核心組件以及其生態系統提供的解決方案。
- 避免常見錯誤,使用證實有效的模式創建生產級Node.js應用程序。

書籍描述:

在本書中,我們將向您展示如何實施一系列最佳實踐和設計模式,以幫助您輕鬆創建高效且堅固的Node.js應用程序。

我們首先探索Node.js的基礎知識,分析其異步事件驅動架構和基本設計模式。然後,我們向您展示如何使用回調、承諾和async/await來構建異步控制流模式。接下來,我們深入研究Node.js流,揭示其強大之處,並向您展示如何充分利用它們。在流之後,我們分析了不同的創建、結構和行為設計模式,充分利用JavaScript和Node.js。最後,本書深入探討了更高級的概念,如通用JavaScript、可擴展性和消息模式,以幫助您構建企業級分佈式應用程序。

在整本書中,您將通過幾個實際示例看到Node.js的實際應用,利用LevelDB、Redis、RabbitMQ、ZeroMQ等技術來展示模式或技術,同時也將為您介紹Node.js生態系統及其解決方案。

您將學到什麼:

- 通過利用回調、承諾和async/await語法,熟悉編寫異步代碼。
- 利用Node.js流創建數據驅動的異步處理管道。
- 實施著名的軟件設計模式,創建生產級應用程序。
- 在Node.js和瀏覽器之間共享代碼,充分利用全棧JavaScript。
- 使用Node.js與Redis、RabbitMQ、ZeroMQ和LevelDB等強大技術結合使用。
- 使用Node.js構建和擴展微服務和分佈式系統。

本書適合對JavaScript和Node.js具有一些基本知識的開發人員和軟件架構師,現在希望在生產力、設計質量和可擴展性方面充分利用這些技術的人。在Node.js和JavaScript方面具有中級經驗的軟件專業人員也會發現本書中介紹的更高級模式和技術非常有價值。

本書假設您對Web應用程序開發、數據庫和軟件設計原則有中級理解。

作者簡介

Mario Casciaro is a software engineer and entrepreneur. Mario worked at IBM for a number of years, first in Rome, then in Dublin Software Lab. He currently splits his time between Var7 Technologies-his own software company-and his role as lead engineer at D4H Technologies where he creates software for emergency response teams.

Luciano Mammino wrote his first line of code at the age of 12 on his father's old i386. Since then he has never stopped coding. He is currently working at FabFitFun as principal software engineer where he builds microservices to serve millions of users every day. Luciano also runs bespoke training courses to foster serverless adoption and Fullstack Bulletin, a free weekly newsletter for full-stack developers.

作者簡介(中文翻譯)

Mario Casciaro是一位軟體工程師和企業家。Mario在IBM工作了多年,先在羅馬,後來在都柏林軟體實驗室。他目前將時間分配在他自己的軟體公司Var7 Technologies和他在D4H Technologies的首席工程師角色之間,他在那裡為應急響應團隊創建軟體。

Luciano Mammino在12歲時在他父親的舊i386上寫下了他的第一行程式碼。從那時起,他從未停止過編碼。他目前在FabFitFun擔任首席軟體工程師,他在那裡建立微服務以服務每天數百萬用戶。Luciano還開設定制培訓課程,以促進無伺服器採用,並經營著一個免費的每週電子報Fullstack Bulletin,專為全棧開發人員提供資訊。

目錄大綱

  1. The Node.js Platform
  2. The Module System
  3. Callbacks and Events
  4. Asynchronous Control Flow Patterns with Callbacks
  5. Asynchronous Control Flow Patterns with Promises and Async/Await
  6. Coding with Streams
  7. Creational Design Patterns
  8. Structural Design Patterns
  9. Behavioral Design Patterns
  10. Universal JavaScript for Web Applications
  11. Advanced Recipes
  12. Scalability and Architectural Patterns
  13. Messaging and Integration Patterns

目錄大綱(中文翻譯)

- Node.js 平台
- 模組系統
- 回呼函式與事件
- 使用回呼函式的非同步控制流程模式
- 使用 Promises 和 Async/Await 的非同步控制流程模式
- 使用串流進行編碼
- 創建型設計模式
- 結構型設計模式
- 行為型設計模式
- 網頁應用程式的通用 JavaScript
- 進階範例
- 擴展性和架構模式
- 訊息和整合模式