Node.js design patterns :: design and implement production-grade Node.js applications using proven tatterns and techniques /
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 start by teaching you how to master the basics of Node.js development, such as its module systems and its event-driven asynchronou...
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Elektronisch E-Book |
Sprache: | English |
Veröffentlicht: |
Birmingham :
Packt Publishing,
2020.
|
Ausgabe: | Third edition. |
Schlagworte: | |
Online-Zugang: | Volltext |
Zusammenfassung: | 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 start by teaching you how to master the basics of Node.js development, such as its module systems and its event-driven asynchronous programming style. Next, you will learn how ... |
Beschreibung: | Includes index. |
Beschreibung: | 1 online resource |
ISBN: | 1839210443 9781839210440 |
Internformat
MARC
LEADER | 00000cam a2200000 i 4500 | ||
---|---|---|---|
001 | ZDB-4-EBA-on1192415913 | ||
003 | OCoLC | ||
005 | 20241004212047.0 | ||
006 | m d | ||
007 | cr ||||||||||| | ||
008 | 200806s2020 enk o 001 0 eng d | ||
040 | |a YDX |b eng |c YDX |d EBLCP |d N$T |d UKAHL |d OCLCF |d OCLCO |d CPV |d OCLCQ |d OCLCO |d TMA |d OCLCQ | ||
019 | |a 1181992522 |a 1182839690 |a 1191081184 | ||
020 | |a 1839210443 |q (electronic bk.) | ||
020 | |a 9781839210440 |q (electronic bk.) | ||
035 | |a (OCoLC)1192415913 |z (OCoLC)1181992522 |z (OCoLC)1182839690 |z (OCoLC)1191081184 | ||
050 | 4 | |a QA76.73.J39 |b C37 2020eb | |
082 | 7 | |a 005.2762 |2 23 | |
049 | |a MAIN | ||
100 | 1 | |a Casciaro, Mario, |e author. | |
245 | 1 | 0 | |a Node.js design patterns : |b design and implement production-grade Node.js applications using proven tatterns and techniques / |c Mario Casciaro, Luciano Mammino. |
250 | |a Third edition. | ||
264 | 1 | |a Birmingham : |b Packt Publishing, |c 2020. | |
300 | |a 1 online resource | ||
336 | |a text |b txt |2 rdacontent | ||
337 | |a computer |b c |2 rdamedia | ||
338 | |a online resource |b cr |2 rdacarrier | ||
500 | |a Includes index. | ||
505 | 0 | |a 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 | |
505 | 8 | |a 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 | |
505 | 8 | |a 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 | |
505 | 8 | |a 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 | |
505 | 8 | |a 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 | |
520 | |a 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 start by teaching you how to master the basics of Node.js development, such as its module systems and its event-driven asynchronous programming style. Next, you will learn how ... | ||
630 | 0 | 0 | |a Node.js. |0 http://id.loc.gov/authorities/names/n2013024269 |
630 | 0 | 7 | |a Node.js |2 fast |
650 | 0 | |a JavaScript (Computer program language) |0 http://id.loc.gov/authorities/subjects/sh96004880 | |
650 | 0 | |a Internet programming. |0 http://id.loc.gov/authorities/subjects/sh96009904 | |
650 | 6 | |a JavaScript (Langage de programmation) | |
650 | 6 | |a Programmation Internet. | |
650 | 7 | |a Internet programming |2 fast | |
650 | 7 | |a JavaScript (Computer program language) |2 fast | |
700 | 1 | |a Mammino, Luciano, |e author. | |
776 | 0 | 8 | |i Print version: |a Casciaro, Mario |t Node. js Design Patterns : Design and Implement Production-Grade Node. js Applications Using Proven Patterns and Techniques, 3rd Edition |d Birmingham : Packt Publishing, Limited,c2020 |
856 | 4 | 0 | |l FWS01 |p ZDB-4-EBA |q FWS_PDA_EBA |u https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=2548570 |3 Volltext |
938 | |a YBP Library Services |b YANK |n 301413360 | ||
938 | |a ProQuest Ebook Central |b EBLB |n EBL6273822 | ||
938 | |a EBSCOhost |b EBSC |n 2548570 | ||
938 | |a Askews and Holts Library Services |b ASKH |n BDZ0045928913 | ||
994 | |a 92 |b GEBAY | ||
912 | |a ZDB-4-EBA | ||
049 | |a DE-863 |
Datensatz im Suchindex
DE-BY-FWS_katkey | ZDB-4-EBA-on1192415913 |
---|---|
_version_ | 1816882528125976576 |
adam_text | |
any_adam_object | |
author | Casciaro, Mario Mammino, Luciano |
author_facet | Casciaro, Mario Mammino, Luciano |
author_role | aut aut |
author_sort | Casciaro, Mario |
author_variant | m c mc l m lm |
building | Verbundindex |
bvnumber | localFWS |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.73.J39 C37 2020eb |
callnumber-search | QA76.73.J39 C37 2020eb |
callnumber-sort | QA 276.73 J39 C37 42020EB |
callnumber-subject | QA - Mathematics |
collection | ZDB-4-EBA |
contents | 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 |
ctrlnum | (OCoLC)1192415913 |
dewey-full | 005.2762 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.2762 |
dewey-search | 005.2762 |
dewey-sort | 15.2762 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
edition | Third edition. |
format | Electronic eBook |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>05595cam a2200565 i 4500</leader><controlfield tag="001">ZDB-4-EBA-on1192415913</controlfield><controlfield tag="003">OCoLC</controlfield><controlfield tag="005">20241004212047.0</controlfield><controlfield tag="006">m d </controlfield><controlfield tag="007">cr |||||||||||</controlfield><controlfield tag="008">200806s2020 enk o 001 0 eng d</controlfield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">YDX</subfield><subfield code="b">eng</subfield><subfield code="c">YDX</subfield><subfield code="d">EBLCP</subfield><subfield code="d">N$T</subfield><subfield code="d">UKAHL</subfield><subfield code="d">OCLCF</subfield><subfield code="d">OCLCO</subfield><subfield code="d">CPV</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">OCLCO</subfield><subfield code="d">TMA</subfield><subfield code="d">OCLCQ</subfield></datafield><datafield tag="019" ind1=" " ind2=" "><subfield code="a">1181992522</subfield><subfield code="a">1182839690</subfield><subfield code="a">1191081184</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1839210443</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781839210440</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1192415913</subfield><subfield code="z">(OCoLC)1181992522</subfield><subfield code="z">(OCoLC)1182839690</subfield><subfield code="z">(OCoLC)1191081184</subfield></datafield><datafield tag="050" ind1=" " ind2="4"><subfield code="a">QA76.73.J39</subfield><subfield code="b">C37 2020eb</subfield></datafield><datafield tag="082" ind1="7" ind2=" "><subfield code="a">005.2762</subfield><subfield code="2">23</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">MAIN</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Casciaro, Mario,</subfield><subfield code="e">author.</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Node.js design patterns :</subfield><subfield code="b">design and implement production-grade Node.js applications using proven tatterns and techniques /</subfield><subfield code="c">Mario Casciaro, Luciano Mammino.</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">Third edition.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Birmingham :</subfield><subfield code="b">Packt Publishing,</subfield><subfield code="c">2020.</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 online resource</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="a">text</subfield><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="a">computer</subfield><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="a">online resource</subfield><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Includes index.</subfield></datafield><datafield tag="505" ind1="0" ind2=" "><subfield code="a">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</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">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</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">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</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">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</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">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</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">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 start by teaching you how to master the basics of Node.js development, such as its module systems and its event-driven asynchronous programming style. Next, you will learn how ...</subfield></datafield><datafield tag="630" ind1="0" ind2="0"><subfield code="a">Node.js.</subfield><subfield code="0">http://id.loc.gov/authorities/names/n2013024269</subfield></datafield><datafield tag="630" ind1="0" ind2="7"><subfield code="a">Node.js</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">JavaScript (Computer program language)</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh96004880</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Internet programming.</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh96009904</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">JavaScript (Langage de programmation)</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Programmation Internet.</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Internet programming</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">JavaScript (Computer program language)</subfield><subfield code="2">fast</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Mammino, Luciano,</subfield><subfield code="e">author.</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Print version:</subfield><subfield code="a">Casciaro, Mario</subfield><subfield code="t">Node. js Design Patterns : Design and Implement Production-Grade Node. js Applications Using Proven Patterns and Techniques, 3rd Edition</subfield><subfield code="d">Birmingham : Packt Publishing, Limited,c2020</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="l">FWS01</subfield><subfield code="p">ZDB-4-EBA</subfield><subfield code="q">FWS_PDA_EBA</subfield><subfield code="u">https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=2548570</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">YBP Library Services</subfield><subfield code="b">YANK</subfield><subfield code="n">301413360</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">ProQuest Ebook Central</subfield><subfield code="b">EBLB</subfield><subfield code="n">EBL6273822</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">EBSCOhost</subfield><subfield code="b">EBSC</subfield><subfield code="n">2548570</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">Askews and Holts Library Services</subfield><subfield code="b">ASKH</subfield><subfield code="n">BDZ0045928913</subfield></datafield><datafield tag="994" ind1=" " ind2=" "><subfield code="a">92</subfield><subfield code="b">GEBAY</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-4-EBA</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-863</subfield></datafield></record></collection> |
id | ZDB-4-EBA-on1192415913 |
illustrated | Not Illustrated |
indexdate | 2024-11-27T13:30:02Z |
institution | BVB |
isbn | 1839210443 9781839210440 |
language | English |
oclc_num | 1192415913 |
open_access_boolean | |
owner | MAIN DE-863 DE-BY-FWS |
owner_facet | MAIN DE-863 DE-BY-FWS |
physical | 1 online resource |
psigel | ZDB-4-EBA |
publishDate | 2020 |
publishDateSearch | 2020 |
publishDateSort | 2020 |
publisher | Packt Publishing, |
record_format | marc |
spelling | Casciaro, Mario, author. Node.js design patterns : design and implement production-grade Node.js applications using proven tatterns and techniques / Mario Casciaro, Luciano Mammino. Third edition. Birmingham : Packt Publishing, 2020. 1 online resource text txt rdacontent computer c rdamedia online resource cr rdacarrier Includes index. 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 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 start by teaching you how to master the basics of Node.js development, such as its module systems and its event-driven asynchronous programming style. Next, you will learn how ... Node.js. http://id.loc.gov/authorities/names/n2013024269 Node.js fast JavaScript (Computer program language) http://id.loc.gov/authorities/subjects/sh96004880 Internet programming. http://id.loc.gov/authorities/subjects/sh96009904 JavaScript (Langage de programmation) Programmation Internet. Internet programming fast JavaScript (Computer program language) fast Mammino, Luciano, author. Print version: Casciaro, Mario Node. js Design Patterns : Design and Implement Production-Grade Node. js Applications Using Proven Patterns and Techniques, 3rd Edition Birmingham : Packt Publishing, Limited,c2020 FWS01 ZDB-4-EBA FWS_PDA_EBA https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=2548570 Volltext |
spellingShingle | Casciaro, Mario Mammino, Luciano Node.js design patterns : design and implement production-grade Node.js applications using proven tatterns and techniques / 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 Node.js. http://id.loc.gov/authorities/names/n2013024269 Node.js fast JavaScript (Computer program language) http://id.loc.gov/authorities/subjects/sh96004880 Internet programming. http://id.loc.gov/authorities/subjects/sh96009904 JavaScript (Langage de programmation) Programmation Internet. Internet programming fast JavaScript (Computer program language) fast |
subject_GND | http://id.loc.gov/authorities/names/n2013024269 http://id.loc.gov/authorities/subjects/sh96004880 http://id.loc.gov/authorities/subjects/sh96009904 |
title | Node.js design patterns : design and implement production-grade Node.js applications using proven tatterns and techniques / |
title_auth | Node.js design patterns : design and implement production-grade Node.js applications using proven tatterns and techniques / |
title_exact_search | Node.js design patterns : design and implement production-grade Node.js applications using proven tatterns and techniques / |
title_full | Node.js design patterns : design and implement production-grade Node.js applications using proven tatterns and techniques / Mario Casciaro, Luciano Mammino. |
title_fullStr | Node.js design patterns : design and implement production-grade Node.js applications using proven tatterns and techniques / Mario Casciaro, Luciano Mammino. |
title_full_unstemmed | Node.js design patterns : design and implement production-grade Node.js applications using proven tatterns and techniques / Mario Casciaro, Luciano Mammino. |
title_short | Node.js design patterns : |
title_sort | node js design patterns design and implement production grade node js applications using proven tatterns and techniques |
title_sub | design and implement production-grade Node.js applications using proven tatterns and techniques / |
topic | Node.js. http://id.loc.gov/authorities/names/n2013024269 Node.js fast JavaScript (Computer program language) http://id.loc.gov/authorities/subjects/sh96004880 Internet programming. http://id.loc.gov/authorities/subjects/sh96009904 JavaScript (Langage de programmation) Programmation Internet. Internet programming fast JavaScript (Computer program language) fast |
topic_facet | Node.js. Node.js JavaScript (Computer program language) Internet programming. JavaScript (Langage de programmation) Programmation Internet. Internet programming |
url | https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=2548570 |
work_keys_str_mv | AT casciaromario nodejsdesignpatternsdesignandimplementproductiongradenodejsapplicationsusingproventatternsandtechniques AT mamminoluciano nodejsdesignpatternsdesignandimplementproductiongradenodejsapplicationsusingproventatternsandtechniques |