trestles / book-nodejs-web-development-4e

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

book-nodejs-web-development-4e

terms

  • async p47
  • error-first-callback p47

1. About Node.js

  • Threaded versus event-driven architecture p14
  • Performance and utilization p17
  • Embracing advances in the Javascript language p22
  • Deploying ES2015/2016/2017/2018 JavaScript code p24
  • Node.js, the microservice architecture, and easily testable systems p25

2. Setting Up Node.js

  • System Requirements p27
  • Installing Node.js using package managers p28
  • Installing multiple Node.js instances with nvm
  • Conversion to async functions and the Promise paradigm p47
    • In the previous section we discussed the util.promisify and its ability to convert a callback-oriented function into one that returns a Promise. p47
  • Launching a server with Node.js p48

3. Node.js Modules

  • Demonstrating module-level encapsulation p69

4. HTTP Servers and Clients p97

  • Sending and Receiving events with EventEmitters p97
  • Javascript classes and class inheritance p98
  • The EventEmitter Class p99
  • The EventEmitter theory p101
  • HTTP server applicatons p103
  • ES2015 multiline and template strings p106
  • HTTP Sniffer - listening to the HTTP conversation p108
  • Web application frameworks p110
  • Getting started with Express p111
  • Walking through the default Express application p116
    • The Express middleware p120
  • Making HTTP Client requests p134
  • Callling a REST backend service from an Express application p136
  • Implementing a simple REST server with Express p137
  • Refactoring the Fibonacci application for REST p140

5. Your First Express Application p145

  • Promises, async functions, and Express router functions p145
  • Promises and error handling p148
  • Flattening our asynchronous code p149
  • Promises and generators birthed async functions p149
  • Express and the MVC paradigm p153
  • Theming your Express application p171

6. Implementing the Mobile First Paradigm p177

  • Problem - the Notes app isn't mobile friendly p178
  • Mobile-first paradigm p179
  • Using TWitter Bootstrap for the Notes application p181
    • Setting it up p183
    • Adding Bootstrap to application templates p183
    • Alternative layout frameworks p185
  • Flexbox and CSS Grids p185
  • Mobile-first design for the Notes application p186
  • Building a customized bootstrap p198
  • Summary p204

7. Data Storage and Retrieval

  • Data storage and asynchronous code p207
  • Logging p208
    • Request logging with Morgan p209
    • Debugging Messages p211
    • Capturing stdout and stderr
    • Uncaught exceptions p212
    • Unhandled Promise rejections p213
  • Using the ES6 module format p213
    • Rewriting app.js as an ES6 module p213
    • Rewriting bin/www as an ES6 module p216
    • Rewriting models code as ES6 modules p216
    • Rewriting router modules as ES6 modules p218

8. Multiuser Authentication the Microservice Way p251

9. Dynamic Client/Server Interaction with Socket.IO

10. Deploying Node.js Applications p331

  • Notes application architecture and deployment considerations p332
  • Traditional Linux Node.js service deployment p333
  • Node.js microservice deployment with Docker p345
  • Summary p389

11. Unit Testing and Functional Testing p391

  • Testsing REST backend services p414

12. Security p435

About