SlideShare a Scribd company logo
1 of 13
Download to read offline
Art of NodeJs
By Shadaï ALI (craftsman)
shadai.ali@mehriso.com
• History (bla bla bla)
• Understanding NodeJS
• Core Modules
• Callbacks
• Events
• Streams
• Modules
• HTTP SERVER (Code Lab)
• EXPRESS (Code Lab)
• TOO MUCH FRAMEWORKS
History (bla bla bla)
Released In 2009
Google OpenSource V8
Ryan Dhal
Awesome JavaScript
Browsers War
JavaScript != Java
Active Community
Understanding NodeJS
Node.js is an open source project designed to help you
• write JavaScript programs
• that talk to networks,
• file systems
• or other I/O (input/output, reading/writing) sources (db..)
 build on modules pattern
Understanding NodeJS
Understanding NodeJS
Asynchronous programming 
Node.js is’t programming language, framework
Server Side Javascript
Easy to Understand an use
Very Fast
Big Community and Most Modules
NodeJS for Writing two major types of programs
Network Programs : HTTP,TCP,UDP,DNS, SSL
Programs that R&W data to the filesystem
or local processes/memory
ANY I/O
Databases (PostgreSQL, MongoDB, Redis,Titans,
CouchDB,MySQL,CASSANDRA….)
APIs (e.g. Twitter, Facebook, Apple Push Notifications)
HTTP/WebSocket connections (from users of a web app)
Files (image resizer, video editor, internet radio)
CORES MODULES
Net Http dgram fs url …
CORES MODULES
Net Http dgram fs url …
var fs = require('fs')
CORES MODULES
Net Http dgram fs url …
var fs = require(‘fs')
fs.readFile(‘number.txt’)
CALLBACK
EVENTS
CallBack => One to One
Event => One to many
Emit channel on

More Related Content

What's hot

What's hot (20)

Managing sensitive data with Ansible vault
Managing sensitive data with Ansible vaultManaging sensitive data with Ansible vault
Managing sensitive data with Ansible vault
 
Elasticsearch JVM-MX Meetup April 2016
Elasticsearch JVM-MX Meetup April 2016Elasticsearch JVM-MX Meetup April 2016
Elasticsearch JVM-MX Meetup April 2016
 
Mongodb open data day 2014
Mongodb open data day 2014Mongodb open data day 2014
Mongodb open data day 2014
 
OSS at Microsoft
OSS at MicrosoftOSS at Microsoft
OSS at Microsoft
 
End-to-end W3C APIs
End-to-end W3C APIsEnd-to-end W3C APIs
End-to-end W3C APIs
 
Go frugal with web services
Go frugal with web servicesGo frugal with web services
Go frugal with web services
 
"Infrastructure Security Practice" by Wasis Adi Putranto (OLX Indonesia)
"Infrastructure Security Practice" by Wasis Adi Putranto (OLX Indonesia)"Infrastructure Security Practice" by Wasis Adi Putranto (OLX Indonesia)
"Infrastructure Security Practice" by Wasis Adi Putranto (OLX Indonesia)
 
Node Architecture.pptx
Node Architecture.pptxNode Architecture.pptx
Node Architecture.pptx
 
Progressive Web Apps Nedir? JavaScript Service Workers Nedir?
Progressive Web Apps Nedir? JavaScript Service Workers Nedir?Progressive Web Apps Nedir? JavaScript Service Workers Nedir?
Progressive Web Apps Nedir? JavaScript Service Workers Nedir?
 
MongoDB EuroPython 2009
MongoDB EuroPython 2009MongoDB EuroPython 2009
MongoDB EuroPython 2009
 
MongoDB - Getting Started
MongoDB  - Getting StartedMongoDB  - Getting Started
MongoDB - Getting Started
 
SFScon14: Schrödinger’s elephant: why PostgreSQL can solve all your database ...
SFScon14: Schrödinger’s elephant: why PostgreSQL can solve all your database ...SFScon14: Schrödinger’s elephant: why PostgreSQL can solve all your database ...
SFScon14: Schrödinger’s elephant: why PostgreSQL can solve all your database ...
 
Short introduction to Redis
Short introduction to RedisShort introduction to Redis
Short introduction to Redis
 
Let's server your Data
Let's server your DataLet's server your Data
Let's server your Data
 
Ndb cluster 80_use_cases
Ndb cluster 80_use_casesNdb cluster 80_use_cases
Ndb cluster 80_use_cases
 
GeekCampSG - Nodejs , Websockets and Realtime Web
GeekCampSG - Nodejs , Websockets and Realtime WebGeekCampSG - Nodejs , Websockets and Realtime Web
GeekCampSG - Nodejs , Websockets and Realtime Web
 
Kubernetes on bare metal after a year in production - Michal Ambroziewicz
Kubernetes on bare metal after a year in production - Michal Ambroziewicz Kubernetes on bare metal after a year in production - Michal Ambroziewicz
Kubernetes on bare metal after a year in production - Michal Ambroziewicz
 
Node.js 101 with Rami Sayar
Node.js 101 with Rami SayarNode.js 101 with Rami Sayar
Node.js 101 with Rami Sayar
 
Node Web Development 2nd Edition: Chapter1 About Node
Node Web Development 2nd Edition: Chapter1 About NodeNode Web Development 2nd Edition: Chapter1 About Node
Node Web Development 2nd Edition: Chapter1 About Node
 
Software architecture : From project management to deployment
Software architecture : From project management to deploymentSoftware architecture : From project management to deployment
Software architecture : From project management to deployment
 

Similar to Art of nodejs

Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18
Pierre Joye
 
T4T Training day - NodeJS
T4T Training day - NodeJST4T Training day - NodeJS
T4T Training day - NodeJS
Tim Sommer
 
haXe - One codebase to rule'em all
haXe - One codebase to rule'em allhaXe - One codebase to rule'em all
haXe - One codebase to rule'em all
Tom Crombez
 

Similar to Art of nodejs (20)

After the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEANAfter the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEAN
 
Node.js In The Enterprise - A Primer
Node.js In The Enterprise - A PrimerNode.js In The Enterprise - A Primer
Node.js In The Enterprise - A Primer
 
Introduction to node.js
Introduction to node.jsIntroduction to node.js
Introduction to node.js
 
Web Devtoolspanel
Web DevtoolspanelWeb Devtoolspanel
Web Devtoolspanel
 
Why ruby and rails
Why ruby and railsWhy ruby and rails
Why ruby and rails
 
Introduction to node.js by jiban
Introduction to node.js by jibanIntroduction to node.js by jiban
Introduction to node.js by jiban
 
Be faster then rabbits
Be faster then rabbitsBe faster then rabbits
Be faster then rabbits
 
NodeJS Presentation
NodeJS PresentationNodeJS Presentation
NodeJS Presentation
 
World of Node.JS
World of Node.JSWorld of Node.JS
World of Node.JS
 
Introduction to node.js aka NodeJS
Introduction to node.js aka NodeJSIntroduction to node.js aka NodeJS
Introduction to node.js aka NodeJS
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18
 
T4T Training day - NodeJS
T4T Training day - NodeJST4T Training day - NodeJS
T4T Training day - NodeJS
 
Top 10 frameworks of node js
Top 10 frameworks of node jsTop 10 frameworks of node js
Top 10 frameworks of node js
 
Node ts1
Node ts1Node ts1
Node ts1
 
An introduction to Node.js
An introduction to Node.jsAn introduction to Node.js
An introduction to Node.js
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
haXe - One codebase to rule'em all
haXe - One codebase to rule'em allhaXe - One codebase to rule'em all
haXe - One codebase to rule'em all
 
Exploiting NoSQL Like Never Before
Exploiting NoSQL Like Never BeforeExploiting NoSQL Like Never Before
Exploiting NoSQL Like Never Before
 
"You Don't Know NODE.JS" by Hengki Mardongan Sihombing (Urbanhire)
"You Don't Know NODE.JS" by Hengki Mardongan Sihombing (Urbanhire)"You Don't Know NODE.JS" by Hengki Mardongan Sihombing (Urbanhire)
"You Don't Know NODE.JS" by Hengki Mardongan Sihombing (Urbanhire)
 
20120306 dublin js
20120306 dublin js20120306 dublin js
20120306 dublin js
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Art of nodejs

  • 1. Art of NodeJs By Shadaï ALI (craftsman) shadai.ali@mehriso.com
  • 2. • History (bla bla bla) • Understanding NodeJS • Core Modules • Callbacks • Events • Streams • Modules • HTTP SERVER (Code Lab) • EXPRESS (Code Lab) • TOO MUCH FRAMEWORKS
  • 3. History (bla bla bla) Released In 2009 Google OpenSource V8 Ryan Dhal Awesome JavaScript Browsers War JavaScript != Java Active Community
  • 4. Understanding NodeJS Node.js is an open source project designed to help you • write JavaScript programs • that talk to networks, • file systems • or other I/O (input/output, reading/writing) sources (db..)  build on modules pattern
  • 6. Understanding NodeJS Asynchronous programming  Node.js is’t programming language, framework Server Side Javascript Easy to Understand an use Very Fast Big Community and Most Modules
  • 7. NodeJS for Writing two major types of programs Network Programs : HTTP,TCP,UDP,DNS, SSL Programs that R&W data to the filesystem or local processes/memory
  • 8. ANY I/O Databases (PostgreSQL, MongoDB, Redis,Titans, CouchDB,MySQL,CASSANDRA….) APIs (e.g. Twitter, Facebook, Apple Push Notifications) HTTP/WebSocket connections (from users of a web app) Files (image resizer, video editor, internet radio)
  • 9. CORES MODULES Net Http dgram fs url …
  • 10. CORES MODULES Net Http dgram fs url … var fs = require('fs')
  • 11. CORES MODULES Net Http dgram fs url … var fs = require(‘fs') fs.readFile(‘number.txt’)
  • 13. EVENTS CallBack => One to One Event => One to many Emit channel on