Introduction to node.js, Reversim Summit 2013

What is node.js?

Node.js is a platform built on Chrome V8 javascript runtime engine for building fast and scalable, non-blocking, real-time and network applications. In this session I will introduce you to node.js and developing large code bases using it. We’ll cover the following aspects:

  • What is node.js?
  • Apache vs. Nginx performance (One thread per connection vs. event loop) and what it has to do with node.js.
  • Why node was written in Javascript?
  • Main tools and frameworks (Express, socket.io, mongoose etc.)
  • TDD/BDD with node.js using mocha and should.js

Here is the presentation:

Introduction to node.js by Ran Mizrahi @ Reversim Summit from Ran Mizrahi

  1. Thank you
  2. Introduction to node.js
  3. About CodeOasis
  4. What is node.js??
  5. What is V8??
  6. We all love burgers!
  7. We all love burgers!
  8. Thread per Connection Burgers Restaurant
  9. Thread per Connection Burgers Restaurant
  10. Thread per Connection Burgers Restaurant
  11. Sorry, We're closed
  12. Something is WRONG, we must do it BETTER!!!
  13. Event-driven Burgers Restaurant
  14. Event-driven Burgers Restaurant
  15. Apache vs. NGINX Performance Requests per second
  16. Apache vs. NGINX Performance Memory usage
  17. Apache vs. NGINX Performance So, what is the big difference between Apache and Nginx?
  18. Blocking Code What is the software doing while it queries to the DB?!?
  19. Blocking Code What is the software doing while it queries to the DB?!?
  20. Blocking Code What is the software doing while it queries to the DB?!?
  21. Non-blocking Code Non-blocking code
  22. Non-blocking Code Non-blocking code
  23. So, Why Isn’t Everyone Using Non-blocking I/O This what we learn
  24. So, Why Isn’t Everyone Using Non-blocking I/O This what we learn name:)
  25. Why JavaScript?! JavaScript is designed specifically to be used with an event-loop
  26. The node.js project
  27. Some Examples
  28. Hello Reversim Summit!
  29. Streaming HTTP Server
  30. Streaming HTTP Server
  31. Streaming HTTP Server
  32. DNS Resolver
  33. Common Frameworks and Tools
  34. NPM (Node.js package manager) npm
  35. NPM (Node.js package manager) npm usage
  36. Express
  37. Express Web Server example
  38. Socket.IO Socket
  39. Socket.IO – Simple notification example
  40. Mongoose
  41. Mongoose
  42. TDD/BDD using Mocha and Expect.js
  43. TDD/BDD using Mocha and Expect.js
  44. TDD/BDD using Mocha and Expect.js
  45. TDD/BDD using Mocha and Expect.js
  46. Use Case