Advanced Node.js Development - With The Node Firm
Thank you for your interest in Joyent Training Services.
Duration: 3 days
Learn to create sophisticated network applications where HTTP is a first-class citizen. Node.js provides rich tools that extend far beyond what developers have come to expect from a web platform. We will explore how to create dynamic systems that operate across the entire network stack from TCP to UDP to HTTP. Node.js has powerful tools to manage and access the local file system. We’ll explore how to use these tools effectively and the unique patterns that emerge from having simple, clear tools to perform complex operations. Since Node.js at its very core uses a single-threaded event loop, we will explore strategies for handling complex, CPU-intensive tasks and taking full advantage of modern multi-processor environments.
The course has extensive lab exercises to reinforce the concepts and techniques covered.
Upon completion of this course, students will be able to:
- Interact with the local file system.
- Create, read and write files from arbitrary locations.
- Understand and use the path module to effectively handle and transform file paths.
- Extract file metadata and manage error states in file handling.
- Perform common file system operations.
- Create a low-level TCP server and manage connections to the server.
- Create both HTTP and HTTPS servers in Node.js.
- Create a streaming proxy server.
- Use Node.js to create APIs and communicate server-to-server.
- Understand how and when to use UDP.
- Manage event loop performance with child processes.
- Cluster requests to balance load and take full advantage of modern multi-processor environments.
- Create sophisticated network applications.
Students taking this course should have strong Node.js programming experience from The Node Firm’s Node.js Core Foundations or equivalent with core Node.js patterns and primitives including the module system, Event Emitters, Buffers and Streams.
- File System
- Disk I/O
- File descriptors
- The path module
- The fs module
- Networking with TCP
- TCP servers
- Creating connections
- Idle sockets
- Keep alive
- TCP No Delay
- HTTP & HTTPS
- Creating an HTTP Server
- HTTP server requests
- Piping requests
- HTTP server responses
- Managing headers
- Creating an HTTPS Server
- Making HTTP Requests
- HTTP Client Requests
- Connection: keep-alive
- Managing socket pooling
- Tuning maxSockets
- Terminating requests
- Datagram sockets
- Why use UDP
- Creating a UDP Server
- Communicating with UDP
- Child Processes
- Creating Child Processes
- Types of Child Processes
- Child Process APIs
- Child Process / Parent communication
- Executing external commands
- Optimizing multi-processor execution
- Creating Cluster Servers
- Duties of the Master
- Creating Workers
- Managing Workers
See course calendar
Training Course Request Form
Thanks for your interest in training from Joyent and The Node Firm!
Please use this form to let us know what courses you might like to attend or see added to the schedule. We will contact you to get more details on how we can meet your training needs.