ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب Node.js Design Patterns: Design and implement production-grade Node.js applications using proven patterns and techniques, 3rd Edition

دانلود کتاب Node.js Design Patterns: طراحی و اجرای برنامه های تولیدی Node.js با استفاده از الگوها و تکنیک های اثبات شده ، نسخه 3

Node.js Design Patterns: Design and implement production-grade Node.js applications using proven patterns and techniques, 3rd Edition

مشخصات کتاب

Node.js Design Patterns: Design and implement production-grade Node.js applications using proven patterns and techniques, 3rd Edition

ویرایش:  
نویسندگان:   
سری:  
ISBN (شابک) : 1839214112, 9781839214110 
ناشر: Packt Publishing 
سال نشر: 2020 
تعداد صفحات: 661 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 8 مگابایت 

قیمت کتاب (تومان) : 47,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 13


در صورت تبدیل فایل کتاب Node.js Design Patterns: Design and implement production-grade Node.js applications using proven patterns and techniques, 3rd Edition به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب Node.js Design Patterns: طراحی و اجرای برنامه های تولیدی Node.js با استفاده از الگوها و تکنیک های اثبات شده ، نسخه 3 نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی در مورد کتاب Node.js Design Patterns: طراحی و اجرای برنامه های تولیدی Node.js با استفاده از الگوها و تکنیک های اثبات شده ، نسخه 3



الگوها، تکنیک ها و ترفندهای اثبات شده را برای استفاده کامل از پلتفرم Node.js بیاموزید. اصول طراحی شناخته شده را برای ایجاد برنامه های کاربردی که خوانا، توسعه پذیر هستند و می توانند بزرگ شوند، مسلط شوید.

ویژگی های کلیدی

  • با نحوه ایجاد سرور جامد آشنا شوید. برنامه های جانبی با استفاده از قدرت کامل Node.js 14
  • با نحوه عملکرد Node.js آشنا شوید و یاد بگیرید که چگونه از اجزای اصلی آن و همچنین راه حل های ارائه شده توسط اکوسیستم آن بهره ببرید
  • از اشتباهات رایج اجتناب کنید و از الگوهای اثبات شده برای ایجاد برنامه های Node.js درجه تولید استفاده کنید

توضیحات کتاب

در این کتاب، نحوه پیاده سازی مجموعه ای از بهترین روش ها و الگوهای طراحی برای کمک به شما در ایجاد برنامه های Node.js کارآمد و قوی به راحتی.

ما با بررسی اصول اولیه Node.js، تجزیه و تحلیل معماری رویداد محور ناهمزمان و الگوهای طراحی اساسی آن شروع می کنیم. سپس به شما نشان می‌دهیم که چگونه الگوهای جریان کنترل ناهمزمان را با تماس‌های برگشتی، وعده‌ها و async/wait بسازید. در مرحله بعد، به جریان های Node.js می پردازیم و قدرت آنها را آشکار می کنیم و به شما نشان می دهیم که چگونه از آنها با ظرفیت کامل خود استفاده کنید. جریان‌های زیر تجزیه و تحلیلی از الگوهای مختلف طراحی خلقی، ساختاری و رفتاری است که از جاوا اسکریپت و Node.js نهایت بهره را می‌برد. در نهایت، این کتاب به مفاهیم پیشرفته‌تری مانند جاوا اسکریپت جهانی، مقیاس‌پذیری و الگوهای پیام‌رسانی می‌پردازد تا به شما در ایجاد برنامه‌های کاربردی توزیع‌شده در سطح سازمانی کمک کند.

در طول کتاب، Node.js را در عمل با کمک چندین نمونه واقعی از فناوری‌هایی مانند LevelDB، Redis، RabbitMQ، ZeroMQ و بسیاری دیگر مشاهده خواهید کرد. از آنها برای نشان دادن یک الگو یا تکنیک استفاده می‌شود، اما همچنین به شما معرفی خوبی از اکوسیستم Node.js و مجموعه راه‌حل‌های آن می‌دهند.

آنچه خواهید آموخت

  • با استفاده از فراخوان‌ها، وعده‌ها و نحو async/wait با نوشتن کد ناهمزمان راحت شوید
  • جریان‌های Leverage Node.js برای ایجاد خطوط لوله پردازش ناهمزمان مبتنی بر داده‌ها
  • به خوبی پیاده‌سازی کنید -الگوهای طراحی نرم افزار شناخته شده برای ایجاد برنامه های کاربردی درجه تولید
  • کد را بین Node.js و مرورگر به اشتراک بگذارید و از مزیت جاوا اسکریپت تمام پشته استفاده کنید
  • میکروسرویس ها و سیستم های توزیع شده را بسازید و مقیاس دهید. Node.js
  • از Node.js در ارتباط با سایر فناوری‌های قدرتمند مانند Redis، RabbitMQ، ZeroMQ و LevelDB استفاده کنید

این کتاب برای چه کسی است

این کتاب برای توسعه‌دهندگان و معماران نرم‌افزاری است که برخی از دانش اولیه اولیه جاوا اسکریپت و Node.js را دارند و اکنون می‌خواهند بیشترین بهره را از این فناوری‌ها از نظر بهره‌وری، کیفیت طراحی و مقیاس‌پذیری ببرند. متخصصان نرم افزار با تجربه متوسط ​​در Node.js و جاوا اسکریپت نیز الگوها و تکنیک های پیشرفته تر ارائه شده در این کتاب را ارزشمند خواهند یافت.

این کتاب فرض می‌کند که شما درک متوسطی از توسعه برنامه‌های کاربردی وب، پایگاه‌های داده و اصول طراحی نرم‌افزار دارید.

فهرست محتوا

  1. The Node .js Platform
  2. سیستم ماژول
  3. تماسها و رویدادها
  4. الگوهای جریان کنترل ناهمزمان با پاسخ به تماس
  5. الگوهای جریان کنترل ناهمزمان با وعده و Async/Await
  6. کدنویسی با جریان
  7. الگوهای طراحی خلاقانه
  8. الگوهای طراحی ساختاری
  9. الگوهای طراحی رفتاری
  10. جاوا اسکریپت جهانی برای برنامه های کاربردی وب
  11. دستورالعمل های پیشرفته
  12. مقیاس پذیری و الگوهای معماری
  13. پیام رسانی و الگوهای یکپارچه سازی

توضیحاتی درمورد کتاب به خارجی

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.

Table of Contents

  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


فهرست مطالب

Cover
Copyright
Packt Page
Contributors
Table of Contents
Preface
Chapter 1: The Node.js Platform
	The Node.js philosophy
		Small core
		Small modules
		Small surface area
		Simplicity and pragmatism
	How Node.js works
		I/O is slow
		Blocking I/O
		Non-blocking I/O
		Event demultiplexing
		The reactor pattern
		Libuv, the I/O engine of Node.js
		The recipe for Node.js
	JavaScript in Node.js
		Run the latest JavaScript with confidence
		The module system
		Full access to operating system services
		Running native code
	Summary
Chapter 2: The Module System
	The need for modules
	Module systems in JavaScript and Node.js
	The module system and its patterns
		The revealing module pattern
	CommonJS modules
		A homemade module loader
		Defining a module
		module.exports versus exports
		The require function is synchronous
		The resolving algorithm
		The module cache
		Circular dependencies
	Module definition patterns
		Named exports
		Exporting a function
		Exporting a class
		Exporting an instance
		Modifying other modules or the global scope
	ESM: ECMAScript modules
		Using ESM in Node.js
		Named exports and imports
		Default exports and imports
		Mixed exports
		Module identifiers
		Async imports
		Module loading in depth
			Loading phases
			Read-only live bindings
			Circular dependency resolution
		Modifying other modules
	ESM and CommonJS differences and interoperability
		ESM runs in strict mode
		Missing references in ESM
		Interoperability
	Summary
Chapter 3: Callbacks and Events
	The Callback pattern
		The continuation-passing style
			Synchronous CPS
			Asynchronous CPS
			Non-CPS callbacks
		Synchronous or asynchronous?
			An unpredictable function
			Unleashing Zalgo
			Using synchronous APIs
			Guaranteeing asynchronicity with deferred execution
		Node.js callback conventions
			The callback comes last
			Any error always comes first
			Propagating errors
			Uncaught exceptions
	The Observer pattern
		The EventEmitter
		Creating and using the EventEmitter
		Propagating errors
		Making any object observable
		EventEmitter and memory leaks
		Synchronous and asynchronous events
		EventEmitter versus callbacks
		Combining callbacks and events
	Summary
	Exercises
Chapter 4: Asynchronous Control Flow Patterns with Callbacks
	The difficulties of asynchronous programming
		Creating a simple web spider
		Callback hell
	Callback best practices and control flow patterns
		Callback discipline
		Applying the callback discipline
		Sequential execution
			Executing a known set of tasks in sequence
			Sequential iteration
		Parallel execution
			Web spider version 3
			The pattern
			Fixing race conditions with concurrent tasks
		Limited parallel execution
			Limiting concurrency
			Globally limiting concurrency
	The async library
	Summary
	Exercises
Chapter 5: Asynchronous Control Flow Patterns with Promises and Async/Await
	Promises
		What is a promise?
		Promises/A+ and thenables
		The promise API
		Creating a promise
		Promisification
		Sequential execution and iteration
		Parallel execution
		Limited parallel execution
			Implementing the TaskQueue class with promises
			Updating the web spider
	Async/await
		Async functions and the await expression
		Error handling with async/await
			A unified try...catch experience
			The "return" versus "return await" trap
		Sequential execution and iteration
			Antipattern – using async/await with Array.forEach for serial execution
		Parallel execution
		Limited parallel execution
	The problem with infinite recursive promise resolution chains
	Summary
	Exercises
Chapter 6: Coding with Streams
	Discovering the importance of streams
		Buffering versus streaming
		Spatial efficiency
			Gzipping using a buffered API
			Gzipping using streams
		Time efficiency
		Composability
			Adding client-side encryption
			Adding server-side decryption
	Getting started with streams
		Anatomy of streams
		Readable streams
			Reading from a stream
			Implementing Readable streams
		Writable streams
			Writing to a stream
			Backpressure
			Implementing Writable streams
		Duplex streams
		Transform streams
			Implementing Transform streams
			Filtering and aggregating data with Transform streams
		PassThrough streams
			Observability
			Late piping
		Lazy streams
		Connecting streams using pipes
			Pipes and error handling
			Better error handling with pipeline()
	Asynchronous control flow patterns with streams
		Sequential execution
		Unordered parallel execution
			Implementing an unordered parallel stream
			Implementing a URL status monitoring application
		Unordered limited parallel execution
		Ordered parallel execution
	Piping patterns
		Combining streams
			Implementing a combined stream
		Forking streams
			Implementing a multiple checksum generator
		Merging streams
			Merging text files
		Multiplexing and demultiplexing
			Building a remote logger
			Multiplexing and demultiplexing object streams
	Summary
	Exercises
Chapter 7: Creational Design Patterns
	Factory
		Decoupling object creation and implementation
		A mechanism to enforce encapsulation
		Building a simple code profiler
		In the wild
	Builder
		Implementing a URL object builder
		In the wild
	Revealing Constructor
		Building an immutable buffer
		In the wild
	Singleton
	Wiring modules
		Singleton dependencies
		Dependency Injection
	Summary
	Exercises
Chapter 8: Structural Design Patterns
	Proxy
		Techniques for implementing proxies
			Object composition
			Object augmentation
			The built-in Proxy object
			A comparison of the different proxying techniques
		Creating a logging Writable stream
		Change observer with Proxy
		In the wild
	Decorator
		Techniques for implementing decorators
			Composition
			Object augmentation
			Decorating with the Proxy object
		Decorating a LevelUP database
			Introducing LevelUP and LevelDB
			Implementing a LevelUP plugin
		In the wild
	The line between proxy and decorator
	Adapter
		Using LevelUP through the filesystem API
		In the wild
	Summary
	Exercises
Chapter 9: Behavioral Design Patterns
	Strategy
		Multi-format configuration objects
		In the wild
	State
		Implementing a basic failsafe socket
	Template
		A configuration manager template
		In the wild
	Iterator
		The iterator protocol
		The iterable protocol
		Iterators and iterables as a native JavaScript interface
		Generators
			Generators in theory
			A simple generator function
			Controlling a generator iterator
			How to use generators in place of iterators
		Async iterators
		Async generators
		Async iterators and Node.js streams
		In the wild
	Middleware
		Middleware in Express
		Middleware as a pattern
		Creating a middleware framework for ZeroMQ
			The Middleware Manager
			Implementing the middleware to process messages
			Using the ZeroMQ middleware framework
		In the wild
	Command
		The Task pattern
		A more complex command
	Summary
	Exercises
Chapter 10: Universal JavaScript for Web Applications
	Sharing code with the browser
		JavaScript modules in a cross-platform context
			Module bundlers
			How a module bundler works
			Using webpack
	Fundamentals of cross-platform development
		Runtime code branching
			Challenges of runtime code branching
		Build-time code branching
		Module swapping
		Design patterns for cross-platform development
	A brief introduction to React
		Hello React
		Alternatives to react.createElement
		Stateful components
	Creating a Universal JavaScript app
		Frontend-only app
		Server-side rendering
		Asynchronous data retrieval
		Universal data retrieval
			Two-pass rendering
			Async pages
			Implementing async pages
	Summary
Chapter 11: Advanced Recipes
	Dealing with asynchronously initialized components
		The issue with asynchronously initialized components
			Local initialization check
			Delayed startup
		Pre-initialization queues
		In the wild
	Asynchronous request batching and caching
		What's asynchronous request batching?
		Optimal asynchronous request caching
		An API server without caching or batching
		Batching and caching with promises
			Batching requests in the total sales web server
			Caching requests in the total sales web server
			Notes about implementing caching mechanisms
	Canceling asynchronous operations
		A basic recipe for creating cancelable functions
		Wrapping asynchronous invocations
		Cancelable async functions with generators
	Running CPU-bound tasks
		Solving the subset sum problem
		Interleaving with setImmediate
			Interleaving the steps of the subset sum algorithm
			Considerations on the interleaving approach
		Using external processes
			Delegating the subset sum task to an external process
			Considerations for the multi-process approach
		Using worker threads
			Running the subset sum task in a worker thread
		Running CPU-bound tasks in production
	Summary
	Exercises
Chapter 12: Scalability and Architectural Patterns
	An introduction to application scaling
		Scaling Node.js applications
		The three dimensions of scalability
	Cloning and load balancing
		The cluster module
			Notes on the behavior of the cluster module
			Building a simple HTTP server
			Scaling with the cluster module
			Resiliency and availability with the cluster module
			Zero-downtime restart
		Dealing with stateful communications
			Sharing the state across multiple instances
			Sticky load balancing
		Scaling with a reverse proxy
			Load balancing with Nginx
		Dynamic horizontal scaling
			Using a service registry
			Implementing a dynamic load balancer with http-proxy and Consul
		Peer-to-peer load balancing
			Implementing an HTTP client that can balance requests across multiple servers
		Scaling applications using containers
			What is a container?
			Creating and running a container with Docker
			What is Kubernetes?
			Deploying and scaling an application on Kubernetes
	Decomposing complex applications
		Monolithic architecture
		The microservice architecture
			An example of a microservice architecture
			Microservices – advantages and disadvantages
		Integration patterns in a microservice architecture
			The API proxy
			API orchestration
			Integration with a message broker
	Summary
	Exercises
Chapter 13: Messaging and Integration Patterns
	Fundamentals of a messaging system
		One way versus request/reply patterns
		Message types
			Command Messages
			Event Messages
			Document Messages
		Asynchronous messaging, queues, and streams
		Peer-to-peer or broker-based messaging
	Publish/Subscribe pattern
		Building a minimalist real-time chat application
			Implementing the server side
			Implementing the client side
			Running and scaling the chat application
		Using Redis as a simple message broker
		Peer-to-peer Publish/Subscribe with ZeroMQ
			Introducing ZeroMQ
			Designing a peer-to-peer architecture for the chat server
			Using the ZeroMQ PUB/SUB sockets
		Reliable message delivery with queues
			Introducing AMQP
			Durable subscribers with AMQP and RabbitMQ
		Reliable messaging with streams
			Characteristics of a streaming platform
			Streams versus message queues
			Implementing the chat application using Redis Streams
	Task distribution patterns
		The ZeroMQ Fanout/Fanin pattern
			PUSH/PULL sockets
			Building a distributed hashsum cracker with ZeroMQ
		Pipelines and competing consumers in AMQP
			Point-to-point communications and competing consumers
			Implementing the hashsum cracker using AMQP
		Distributing tasks with Redis Streams
			Redis consumer groups
			Implementing the hashsum cracker using Redis Streams
	Request/Reply patterns
		Correlation Identifier
			Implementing a request/reply abstraction using correlation identifiers
		Return address
			Implementing the Return Address pattern in AMQP
	Summary
	Exercises
Other Books You May Enjoy
Index




نظرات کاربران