PDF Guide Node Andrew Mead V3
PDF-Guide
PDF-Guide-Node
PDF-Guide-Node-Andrew-Mead-v3
PDF-Guide-Node-Andrew-Mead-v3
PDF-Guide-Node-Andrew-Mead-v3
User Manual:
Open the PDF directly: View PDF
Page Count: 125 [warning: Documents this large are best viewed by clicking the View PDF Link!]
- Section 1: Welcome
- Section 2: Installing and Exploring Node.js
- Section 3: Node.js Module System
- Section 4: File System and Command Line Args
- Lesson 1: Section Intro
- Lesson 2: Getting Input from Users
- Lesson 3: Argument Parsing with Yargs: Part I
- Lesson 4: Argument Parsing with Yargs: Part II
- Lesson 5: Storing Data with JSON
- Lesson 6: Adding a Note
- Lesson 7: Removing a Note
- Lesson 8: ES6 Aside: Arrow Functions
- Lesson 9: Refactoring to Use Arrow Functions
- Lesson 10: Listing Notes
- Lesson 11: Reading a Note
- Section 5: Debugging Node.js
- Section 6: Asynchronous Node.js
- Lesson 1: Section Intro
- Lesson 2: Asynchronous Basics
- Lesson 3: Call Stack, Callback Queue, and Event Loop
- Lesson 4: Making HTTP Requests
- Lesson 5: Customizing HTTP Requests
- Lesson 6: An HTTP Request Challenge
- Lesson 7: Handling Errors
- Lesson 8: The Callback Function
- Lesson 9: Callback Abstraction
- Lesson 10: Callback Abstraction Challenge
- Lesson 11: Callback Chaining
- Lesson 12: ES6 Aside: Object Property Shorthand and Destructuring
- Lesson 13: Destructuring and Property Shorthand Challenge
- Lesson 14: Bonus: HTTP Requests Without a Library
- Section 7: Web Servers
- Lesson 1: Section Intro
- Lesson 2: Hello Express!
- Lesson 3: Serving up HTML and JSON
- Lesson 4: Serving up Static Assets
- Lesson 5: Serving up CSS, JS, Images, and More
- Lesson 6: Dynamic Pages with Templating
- Lesson 7: Customizing the Views Directory
- Lesson 8: Advanced Templating
- Lesson 9: 404 Pages
- Lesson 10: Styling the Application: Part I
- Lesson 11: Styling the Application: Part II
- Section 7: Accessing API from Browser
- Section 7: Application Deployment
- Lesson 1: Section Intro
- Lesson 2: Joining Heroku and GitHub
- Lesson 3: Version Control with Git
- Lesson 4: Exploring Git
- Lesson 5: Integrating Git
- Lesson 6: Setting up SSH Keys
- Lesson 7: Pushing Code to GitHub
- Lesson 8: Deploying Node.js to Heroku
- Lesson 9: New Feature Deployment Workflow
- Lesson 10: Avoiding Global Modules
- Section 10: MongoDB and Promises
- Lesson 1: Section Intro
- Lesson 2: MongoDB and NoSQL Databases
- Lesson 3: Installing MongoDB on macOS and Linux
- Lesson 4: Installing MongoDB on Windows
- Lesson 5: Installing Database GUI Viewer
- Lesson 6: Connecting and Inserting Documents
- Lesson 7: Inserting Documents
- Lesson 8: The ObjectID
- Lesson 9: Querying Documents
- Lesson 10: Promises
- Lesson 11: Updating Documents
- Lesson 12: Deleting Documents
- Section 11: REST APIs and Mongoose
- Lesson 1: Section Intro
- Lesson 2: Setting up Mongoose
- Lesson 3: Creating a Mongoose Model
- Lesson 4: Data Validation and Sanitization: Part I
- Lesson 5: Data Validation and Sanitization: Part II
- Lesson 6: Structuring a REST API
- Lesson 7: Installing Postman
- Lesson 8: Resource Creation Endpoints: Part I
- Lesson 9: Resource Creation Endpoints: Part II
- Lesson 10: Resource Reading Endpoints: Part I
- Lesson 11: Resource Reading Endpoints: Part II
- Lesson 12: Promise Chaining
- Lesson 13: Promise Chaining Challenge
- Lesson 14: Async/Await
- Lesson 15: Async/Await: Part II
- Lesson 16: Integrating Async/Await
- Lesson 17: Resource Updating Endpoints: Part I
- Lesson 18: Resource Updating Endpoints: Part II
- Lesson 19: Resource Deleting Endpoints
- Lesson 20: Separate Route Files
- Section 12: API Authentication and Security
- Lesson 1: Section Intro
- Lesson 2: Securely Storing Passwords: Part I
- Hashing Passwords with Bcrypt
- Lesson 3: Securely Storing Passwords: Part II
- Lesson 4: Logging in Users
- Lesson 5: JSON Web Tokens
- Lesson 6: Generating Authentication Tokens
- Lesson 7: Express Middleware
- Lesson 8: Accepting Authentication Tokens
- Lesson 9: Advanced Postman
- Lesson 10: Logging Out
- Lesson 11: Hiding Private Data
- Lesson 12: Authenticating User Endpoints
- Lesson 13: The User/Task Relationship
- Lesson 14: Authenticating Task Endpoints
- Lesson 15: Cascade Delete Tasks
- Section 13: Sorting, Pagination, and Filtering
- Section 14: File Uploads
- Section 15: Sending Emails
- Section 16: Testing Node.js
- Lesson 1: Section Intro
- Lesson 2: Jest Testing Framework
- Lesson 3: Writing Tests and Assertions
- Lesson 4: Writing Your Own Tests
- Lesson 5: Testing Asynchronous Code
- Lesson 6: Testing an Express Application: Part I
- Lesson 7: Testing an Express Application: Part II
- Lesson 8: Jest Setup and Teardown
- Lesson 9: Testing with Authentication
- Lesson 10: Advanced Assertions
- Lesson 11: Mocking Libraries
- Lesson 12: Wrapping up User Tests
- Lesson 13: Setup Task Test Suite
- Lesson 14: Testing with Task Data
- Lesson 15: Bonus: Extra Test Ideas
- Section 17: Real-Time Web Applications with Socket.io
- Lesson 1: Section Intro
- Lesson 2: Creating the Chat App Project
- Lesson 3: WebSockets
- Lesson 4: Getting Started with Socket.io
- Lesson 5: Socket.io Events
- Lesson 6: Socket.io Events Challenge
- Lesson 7: Broadcasting Events
- Lesson 8: Sharing Your Location
- Lesson 9: Event Acknowledgements
- Lesson 10: Form and Button States
- Lesson 11: Rendering Messages
- Lesson 12: Rendering Location Messages
- Lesson 13: Working with Time
- Lesson 14: Timestamps for Location Messages
- Lesson 15: Styling the Chat App
- Lesson 16: Join Page
- Lesson 17: Socket.io Rooms
- Lesson 18: Storing Users: Part I
- Lesson 19: Storing Users: Part II
- Lesson 20: Tracking Users Joining and Leaving
- Lesson 21: Sending Messages to Rooms
- Lesson 22: Rendering User List
- Lesson 23: Automatic Scrolling
- Lesson 24: Deploying the Chat Application