Written by students who passed Immediately available after payment Read online or as PDF Wrong document? Swap it for free 4.6 TrustPilot
logo-home
Summary

Summary I am selling you future books (programming).

Rating
-
Sold
-
Pages
326
Uploaded on
07-10-2023
Written in
2023/2024

I am selling you future books (programming). I will present to you everything you will need in terms of knowledge of any programming language in the form of a book with a lot of useful information for you, and as you also know that programmers have very high salaries, I will help you to be great programmers I wish you a pleasant reading and learning.

Show more Read less
Institution
Course

Content preview

Contents
About ................................................................................................................................................................................... 1
Chapter 1: Getting started with Node.js ............................................................................................................ 2
Section 1.1: Hello World HTTP server ........................................................................................................................... 4
Section 1.2: Hello World command line ....................................................................................................................... 5
Section 1.3: Hello World with Express .......................................................................................................................... 6
Section 1.4: Installing and Running Node.js ................................................................................................................. 6
Section 1.5: Debugging Your NodeJS Application ...................................................................................................... 7
Section 1.6: Hello World basic routing ......................................................................................................................... 7
Section 1.7: Hello World in the REPL ............................................................................................................................ 8
Section 1.8: Deploying your application online ........................................................................................................... 9
Section 1.9: Core modules ............................................................................................................................................. 9
Section 1.10: TLS Socket: server and client ................................................................................................................ 14
Section 1.11: How to get a basic HTTPS web server up and running! ..................................................................... 16
Chapter 2: npm ............................................................................................................................................................ 19
Section 2.1: Installing packages ................................................................................................................................. 19
Section 2.2: Uninstalling packages ............................................................................................................................ 22
Section 2.3: Setting up a package configuration ..................................................................................................... 23
Section 2.4: Running scripts ....................................................................................................................................... 24
Section 2.5: Basic semantic versioning ..................................................................................................................... 24
Section 2.6: Publishing a package ............................................................................................................................. 25
Section 2.7: Removing extraneous packages .......................................................................................................... 26
Section 2.8: Listing currently installed packages ..................................................................................................... 26
Section 2.9: Updating npm and packages ............................................................................................................... 26
Section 2.10: Scopes and repositories ....................................................................................................................... 27
Section 2.11: Linking projects for faster debugging and development .................................................................. 27
Section 2.12: Locking modules to specific versions ................................................................................................. 28
Section 2.13: Setting up for globally installed packages ......................................................................................... 28
Chapter 3: Web Apps With Express .................................................................................................................... 30
Section 3.1: Getting Started ......................................................................................................................................... 30
Section 3.2: Basic routing ........................................................................................................................................... 31
Section 3.3: Modular express application ................................................................................................................. 32
Section 3.4: Using a Template Engine ....................................................................................................................... 33
Section 3.5: JSON API with ExpressJS ....................................................................................................................... 34
Section 3.6: Serving static files ................................................................................................................................... 35
Section 3.7: Adding Middleware ................................................................................................................................. 36
Section 3.8: Error Handling ......................................................................................................................................... 36
Section 3.9: Getting info from the request ................................................................................................................ 37
Section 3.10: Error handling in Express ...................................................................................................................... 38
Section 3.11: Hook: How to execute code before any req and after any res ........................................................ 38
Section 3.12: Setting cookies with cookie-parser ..................................................................................................... 39
Section 3.13: Custom middleware in Express ............................................................................................................ 39
Section 3.14: Named routes in Django-style ............................................................................................................. 39
Section 3.15: Hello World ............................................................................................................................................. 40
Section 3.16: Using middleware and the next callback ............................................................................................ 40
Section 3.17: Error handling ........................................................................................................................................ 42
Section 3.18: Handling POST Requests ...................................................................................................................... 43
Chapter 4: Filesystem I/O ...................................................................................................................................... 45

, Section 4.1: Asynchronously Read from Files ........................................................................................................... 45
Section 4.2: Listing Directory Contents with readdir or readdirSync ..................................................................... 45
Section 4.3: Copying files by piping streams ............................................................................................................ 46
Section 4.4: Reading from a file synchronously ...................................................................................................... 47
Section 4.5: Check Permissions of a File or Directory ............................................................................................. 47
Section 4.6: Checking if a file or a directory exists .................................................................................................. 48
Section 4.7: Determining the line count of a text file ............................................................................................... 49
Section 4.8: Reading a file line by line ....................................................................................................................... 49
Section 4.9: Avoiding race conditions when creating or using an existing directory ........................................... 49
Section 4.10: Cloning a file using streams ................................................................................................................. 50
Section 4.11: Writing to a file using writeFile or writeFileSync ................................................................................. 51
Section 4.12: Changing contents of a text file .......................................................................................................... 51
Section 4.13: Deleting a file using unlink or unlinkSync ........................................................................................... 52
Section 4.14: Reading a file into a Buer using streams ......................................................................................... 52
Chapter 5: Exporting and Consuming Modules ........................................................................................... 53
Section 5.1: Creating a hello-world.js module ........................................................................................................... 53
Section 5.2: Loading and using a module ................................................................................................................ 54
Section 5.3: Folder as a module ................................................................................................................................. 55
Section 5.4: Every module injected only once .......................................................................................................... 55
Section 5.5: Module loading from node_modules ................................................................................................... 56
Section 5.6: Building your own modules ................................................................................................................... 56
Section 5.7: Invalidating the module cache .............................................................................................................. 57
Chapter 6: Exporting and Importing Module in node.js .......................................................................... 58
Section 6.1: Exporting with ES6 syntax ...................................................................................................................... 58
Section 6.2: Using a simple module in node.js ......................................................................................................... 58
Chapter 7: How modules are loaded ................................................................................................................ 59
Section 7.1: Global Mode ............................................................................................................................................. 59
Section 7.2: Loading modules .................................................................................................................................... 59
Chapter 8: Cluster Module ..................................................................................................................................... 60
Section 8.1: Hello World .............................................................................................................................................. 60
Section 8.2: Cluster Example ...................................................................................................................................... 60
Chapter 9: Readline ................................................................................................................................................... 62
Section 9.1: Line-by-line file reading .......................................................................................................................... 62
Section 9.2: Prompting user input via CLI ................................................................................................................. 62
Chapter 10: package.json ....................................................................................................................................... 63
Section 10.1: Exploring package.json ......................................................................................................................... 63
Section 10.2: Scripts ..................................................................................................................................................... 66
Section 10.3: Basic project definition ......................................................................................................................... 67
Section 10.4: Dependencies ........................................................................................................................................ 67
Section 10.5: Extended project definition .................................................................................................................. 68
Chapter 11: Event Emitters ..................................................................................................................................... 69
Section 11.1: Basics ....................................................................................................................................................... 69
Section 11.2: Get the names of the events that are subscribed to .......................................................................... 69
Section 11.3: HTTP Analytics through an Event Emitter ........................................................................................... 70
Section 11.4: Get the number of listeners registered to listen for a specific event ............................................... 70
Chapter 12: Autoreload on changes .................................................................................................................. 72
Section 12.1: Autoreload on source code changes using nodemon ....................................................................... 72
Section 12.2: Browsersync .......................................................................................................................................... 72
Chapter 13: Environment ......................................................................................................................................... 74

, Section 13.1: Accessing environment variables ......................................................................................................... 74
Section 13.2: process.argv command line arguments ............................................................................................. 74
Section 13.3: Loading environment properties from a "property file" ................................................................... 75
Section 13.4: Using dierent Properties/Configuration for dierent environments like dev, qa, staging etc
................................................................................................................................................................................ 75
Chapter 14: Callback to Promise ........................................................................................................................ 77
Section 14.1: Promisifying a callback ......................................................................................................................... 77
Section 14.2: Manually promisifying a callback ........................................................................................................ 77
Section 14.3: setTimeout promisified ......................................................................................................................... 78
Chapter 15: Executing files or commands with Child Processes ......................................................... 79
Section 15.1: Spawning a new process to execute a command .............................................................................. 79
Section 15.2: Spawning a shell to execute a command ........................................................................................... 79
Section 15.3: Spawning a process to run an executable ......................................................................................... 80
Chapter 16: Exception handling ........................................................................................................................... 82
Section 16.1: Handling Exception In Node.Js ............................................................................................................. 82
Section 16.2: Unhanded Exception Management ..................................................................................................... 83
Section 16.3: Errors and Promises .............................................................................................................................. 84
Chapter 17: Keep a node application constantly running ..................................................................... 86
Section 17.1: Use PM2 as a process manager ........................................................................................................... 86
Section 17.2: Running and stopping a Forever daemon ......................................................................................... 87
Section 17.3: Continuous running with nohup ........................................................................................................... 88
Chapter 18: Uninstalling Node.js ......................................................................................................................... 89
Section 18.1: Completely uninstall Node.js on Mac OSX ........................................................................................... 89
Section 18.2: Uninstall Node.js on Windows .............................................................................................................. 89
Chapter 19: nvm - Node Version Manager ..................................................................................................... 90
Section 19.1: Install NVM .............................................................................................................................................. 90
Section 19.2: Check NVM version ............................................................................................................................... 90
Section 19.3: Installing an specific Node version ...................................................................................................... 90
Section 19.4: Using an already installed node version ............................................................................................ 90
Section 19.5: Install nvm on Mac OSX ........................................................................................................................ 91
Section 19.6: Run any arbitrary command in a subshell with the desired version of node ................................. 91
Section 19.7: Setting alias for node version .............................................................................................................. 92
Chapter 20: http .......................................................................................................................................................... 93
Section 20.1: http server .............................................................................................................................................. 93
Section 20.2: http client .............................................................................................................................................. 94
Chapter 21: Using Streams ..................................................................................................................................... 95
Section 21.1: Read Data from TextFile with Streams ............................................................................................... 95
Section 21.2: Piping streams ....................................................................................................................................... 95
Section 21.3: Creating your own readable/writable stream ................................................................................... 96
Section 21.4: Why Streams? ....................................................................................................................................... 97
Chapter 22: Deploying Node.js applications in production ................................................................... 99
Section 22.1: Setting NODE_ENV="production" ........................................................................................................ 99
Section 22.2: Manage app with process manager ................................................................................................ 100
Section 22.3: Deployment using process manager ............................................................................................... 100
Section 22.4: Deployment using PM2 ...................................................................................................................... 101
Section 22.5: Using dierent Properties/Configuration for dierent environments like dev, qa, staging etc
............................................................................................................................................................................. 102
Section 22.6: Taking advantage of clusters ........................................................................................................... 103
Chapter 23: Securing Node.js applications .................................................................................................. 104

, Section 23.1: SSL/TLS in Node.js .............................................................................................................................. 104
Section 23.2: Preventing Cross Site Request Forgery (CSRF) .............................................................................. 104
Section 23.3: Setting up an HTTPS server .............................................................................................................. 105
Section 23.4: Using HTTPS ....................................................................................................................................... 107
Section 23.5: Secure express.js 3 Application ......................................................................................................... 107
Chapter 24: Mongoose Library ......................................................................................................................... 109
Section 24.1: Connect to MongoDB Using Mongoose ........................................................................................... 109
Section 24.2: Find Data in MongoDB Using Mongoose, Express.js Routes and $text Operator ....................... 109
Section 24.3: Save Data to MongoDB using Mongoose and Express.js Routes ................................................. 111
Section 24.4: Find Data in MongoDB Using Mongoose and Express.js Routes .................................................. 113
Section 24.5: Useful Mongoose functions ............................................................................................................... 115
Section 24.6: Indexes in models ............................................................................................................................... 115
Section 24.7: find data in mongodb using promises ............................................................................................. 117
Chapter 25: async.js ................................................................................................................................................ 120
Section 25.1: Parallel : multi-tasking ........................................................................................................................ 120
Section 25.2: async.each(To handle array of data eciently) ............................................................................ 121
Section 25.3: Series : independent mono-tasking .................................................................................................. 122
Section 25.4: Waterfall : dependent mono-tasking ............................................................................................... 123
Section 25.5: async.times(To handle for loop in better way) ............................................................................... 124
Section 25.6: async.series(To handle events one by one) .................................................................................... 124
Chapter 26: File upload .......................................................................................................................................... 125
Section 26.1: Single File Upload using multer ......................................................................................................... 125
Section 26.2: Using formidable module .................................................................................................................. 126
Chapter 27: Socket.io communication ........................................................................................................... 128
Section 27.1: "Hello world!" with socket messages ................................................................................................. 128
Chapter 28: Mongodb integration ................................................................................................................... 129
Section 28.1: Simple connect .................................................................................................................................... 129
Section 28.2: Simple connect, using promises ....................................................................................................... 129
Section 28.3: Connect to MongoDB ......................................................................................................................... 129
Section 28.4: Insert a document .............................................................................................................................. 130
Section 28.5: Read a collection ................................................................................................................................ 131
Section 28.6: Update a document ........................................................................................................................... 131
Section 28.7: Delete a document ............................................................................................................................. 132
Section 28.8: Delete multiple documents ............................................................................................................... 132
Chapter 29: Handling POST request in Node.js ......................................................................................... 134
Section 29.1: Sample node.js server that just handles POST requests ................................................................ 134
Chapter 30: Simple REST based CRUD API .................................................................................................. 135
Section 30.1: REST API for CRUD in Express 3+ ...................................................................................................... 135
Chapter 31: Template frameworks .................................................................................................................. 136
Section 31.1: Nunjucks ................................................................................................................................................ 136
Chapter 32: Node.js Architecture & Inner Workings ............................................................................... 138
Section 32.1: Node.js - under the hood .................................................................................................................... 138
Section 32.2: Node.js - in motion ............................................................................................................................. 138
Chapter 33: Debugging Node.js application ............................................................................................... 139
Section 33.1: Core node.js debugger and node inspector ..................................................................................... 139
Chapter 34: Node server without framework ........................................................................................... 142
Section 34.1: Framework-less node server ............................................................................................................. 142
Section 34.2: Overcoming CORS Issues .................................................................................................................. 143

Written for

Institution
Course

Document information

Uploaded on
October 7, 2023
Number of pages
326
Written in
2023/2024
Type
SUMMARY

Subjects

$8.49
Get access to the full document:

Wrong document? Swap it for free Within 14 days of purchase and before downloading, you can choose a different document. You can simply spend the amount again.
Written by students who passed
Immediately available after payment
Read online or as PDF

Get to know the seller
Seller avatar
Michael2030

Get to know the seller

Seller avatar
Michael2030 Published
Follow You need to be logged in order to follow users or courses
Sold
-
Member since
2 year
Number of followers
0
Documents
44
Last sold
-
programming books

I am selling you future books (programming). I will present to you everything you will need in terms of knowledge of any programming language in the form of a book with a lot of useful information for you, and as you also know that programmers have very high salaries, I will help you to be great programmers I wish you a pleasant reading and learning.

0.0

0 reviews

5
0
4
0
3
0
2
0
1
0

Recently viewed by you

Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their tests and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can instantly pick a different document that better fits what you're looking for.

Pay as you like, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Working on your references?

Create accurate citations in APA, MLA and Harvard with our free citation generator.

Working on your references?

Frequently asked questions