Nodejs
Course Number: JAV-142
Duration: 2 days (13 hours)
Format: Live, hands-on
Node.js Training Overview
Accelebrate’s Server-side JavaScript with Node.js and Express training teaches experienced JavaScript developers how to create server-side applications with JavaScript and Node.js, culminating with an MVC application built on the Express framework that queries databases and calls back-end web services.
Location and Pricing
Accelebrate offers instructor-led enterprise training for groups of 3 or more online or at your site. Most Accelebrate classes can be flexibly scheduled for your group, including delivery in half-day segments across a week or set of weeks. To receive a customized proposal and price quote for private corporate training on-site or online, please contact us.
In addition, some Web Development courses are available as live, online classes for individuals.
Objectives
- Learn why server-side JavaScript is useful
- Install Node.js
- Learn how Node.js is architected to allow high scalability with asynchronous code
- Create basic web applications with Node.js
- Automate tasks with Gulp
- Interface to a PostgreSQL and MongoDB database and a web service
- Build an HTTP server using the core modules in Node.js
- Build an HTTP server using the core modules in Node.js
- Create modules to organize the server
- Test the reliability of the application with unit tests
- Convert the application to an MVC framework using Express
Prerequisites
Node.js training attendees should have a thorough knowledge of JavaScript. They should be familiar with web server application design concepts (such as accessing databases and SOA concepts), as well as basic HTML and CSS.
Outline
- The Node.js framework
- Installing Node.js
- Using Node.js to execute scripts
- The Node Package Manager
- Creating a Project/Package
- The package.json configuration file
- Global vs. local package installation
- Package Lock Files
- Installing, Uninstalling, and Upgrading Packages
- Configuring Script Commands
- NPM and NPX Commands
- The HTTP protocol
- Using the HTTP Module
- Building an HTTP server
- Rendering a response
- Processing query strings
- Configuring TLS
- Synchronous vs. asynchronous I/O
- Path and directory operations
- __dirname and __filename
- Asynchronous file reads and writes
- Modularization
- The CommonJS and ES2015 Module specifications
- Defining modules with exports
- Modules are singletons
- Creating a package
- Module scope and construction
- Using Representational State Transfer
- The Model-View-Controller pattern
- Defining Jade (or Handlebars) templates
- Building a Front-end Controller
- Defining Routes
- Creating Actions
- Configuring Express to use Jade (or Handlebars)
- Using REST
- Reading POST data
- Building Pages with Jade (or Handlebars)
- Adding Middleware
- Static Content
- Request Body
- Cookies
- CORS
- Writing Middleware
- How Node.js connects to databases
- RDBMS databases and NoSQL databases
- Connecting to RDBMS (PostgreSQL) and NoSQL databases (MongoDB)
- Performing CRUD operations
- Building client requests to web services
- What is Unit Testing?
- Unit Testing Frameworks and Libraries
- Jest Unit Testing Framework
- Tests and Test Suites
- Setup/Teardown Functions
- Assertions, Mocks, and Spies
- Production Deployment of Node.js App
- PM2 Process Manager
- Containerization of Node.js App
Training Materials
All JavaScript training attendees receive comprehensive courseware.
Software Requirements
- A recent version of Google Chrome or Mozilla Firefox
- A local installation of Node.js
- Admin/root or sudoer privileges to install additional features during the class
- A JavaScript development tool of your choice
- Additional lab files that Accelebrate will provide