O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning Path: Web Application Development using Redis, Express, and Socket.IO

Video Description

Build robust and dynamic apps

In Detail

If you wish to build something that is real time, this Learning Path will help you achieve your goal. Learn how to implement real-time applications on websites using Socket.IO, Express, and Redis. Socket.IO helps in real-time analytics, instant messaging, and two-way communication between the browser and web application. Redis opens doors by making data quick and easy to fetch. Lastly, Express helps by making full-featured web applications easy. A powerful combination of these three will give you awe-inspiring application experiences and you’ll be able to create fast, scalable, and dynamic real-time apps in no time!

Prerequisites: You should be familiar with JavaScript and have some knowledge of websites and how HTTP works, but it does not have to be in-depth knowledge.

Resources: Code downloads and errata:

  • Build Complex Express Sites with Redis and Socket.io

  • Socket.IO Solutions

  • PATH PRODUCTS

    This path navigates across the following products (in sequential order):

  • Build Complex Express Sites with Redis and Socket.io (3h 27m)

  • Socket.IO Solutions (2h 19m)

  • Table of Contents

    1. Chapter 1 : Build Complex Express Sites with Redis and Socket.io
      1. The Course Overview 00:03:59
      2. Redis CLI 00:12:12
      3. Redis Data Types 00:11:15
      4. Redis Commands 00:19:36
      5. Redis Storage Structures 00:14:36
      6. Channels and Subscribe 00:05:04
      7. Publish 00:04:47
      8. Using Redis Messaging 00:06:00
      9. Simple Redis Integration 00:07:41
      10. Messaging 00:07:11
      11. Store Complex Data 00:09:09
      12. Store Complex Data with Sorted Sets 00:08:10
      13. Geospatial Indexes 00:06:59
      14. Installing Socket.io 00:06:24
      15. Simple Socket.io application 00:05:23
      16. Interacting with another browser 00:05:43
      17. Broadcasting a message 00:05:45
      18. Using the disconnect event 00:10:01
      19. What Are Rooms? 00:04:22
      20. What are Namespaces 00:04:31
      21. Create a Simple Rooms Application 00:06:55
      22. Create a Simple Namespace Application 00:05:36
      23. Share State Between Socket.io and Express 00:09:07
      24. One Problem with Socket.io and Express 00:04:41
      25. Using routes with Socket.io and Express 00:05:14
      26. Using Redis for Multi-Server Socket.io 00:08:43
      27. Out of Process Messaging 00:08:21
    2. Chapter 2 : Socket.IO Solutions
      1. The Course Overview 00:03:37
      2. Creating a Node HTTP Server with Socket.IO 00:05:35
      3. Creating an Express Server with Socket.IO 00:03:28
      4. Using Socket.IO as a Cross-browser 00:03:29
      5. Debugging Our Code 00:06:01
      6. Loading Static Data from the Server 00:04:35
      7. Creating a Server-Side Clock 00:02:11
      8. Loading Data from MongoDB 00:03:29
      9. Let’s Go Real-Time! 00:05:01
      10. Creating a Simple Chat Room 00:04:18
      11. Managing the Socket Life Cycle 00:02:58
      12. Emitting a Private Message to Another Socket 00:02:58
      13. Sending Messages to All Sockets Except the Sender 00:01:45
      14. Building a Multiplayer Tic-Tac-Toe Game 00:03:20
      15. Creating Chat Channels with Namespaces 00:03:21
      16. Joining Rooms 00:02:36
      17. Leaving Rooms 00:02:40
      18. Listing Rooms the Socket Is In 00:02:29
      19. Making Private Rooms 00:03:44
      20. Setting Up a Default Room 00:02:52
      21. Implementing Basic Authentication 00:04:38
      22. Doing Token-Based Authentication 00:03:47
      23. Handling Server-Side Validation 00:04:18
      24. Locking Down the HTTP Referrer 00:03:07
      25. Using Secure Web-Sockets 00:03:36
      26. Performing Load Balancing with the Nginx Server 00:04:04
      27. Using Node.JS Cluster 00:03:01
      28. Using Redis to Pass Events Between Nodes 00:05:38
      29. Using Memcache to Manage Multiple Nodes 00:04:37
      30. Using RabbitMQ to Message Events across Nodes 00:04:28
      31. Broadcasting an Image to Other Sockets 00:03:52
      32. Uploading an Image to the Filesystem 00:02:07
      33. Uploading an Image to Amazon S3 00:04:09
      34. Streaming Audio 00:03:18
      35. Streaming Live Video 00:02:48
      36. Throwing an Alert When the Socket Connects 00:05:03
      37. Responding to Tap Events from the Device 00:03:17
      38. Performing Server-Side Pagination 00:02:54
      39. Triggering Hot Deploys 00:03:15