Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
This is Node.js
Search
Alexander Beletsky
July 09, 2014
Programming
460
10
Share
This is Node.js
The talk I gave on UA Dev Club, 8-Jul-2014
Alexander Beletsky
July 09, 2014
More Decks by Alexander Beletsky
See All by Alexander Beletsky
Snapshot Testing: Going beyond UI
alexbeletsky
1
690
Tech Culture in Startups
alexbeletsky
0
240
TDD in JavaScript
alexbeletsky
4
860
Likeastore
alexbeletsky
3
150
PaaS in your pocker with Dokku
alexbeletsky
7
2.6k
Building Single Page Applications
alexbeletsky
9
5.5k
.NET developer in JavaScript world
alexbeletsky
1
2.9k
How to write good tests?
alexbeletsky
2
330
Dynamic web development with Oak
alexbeletsky
1
630
Other Decks in Programming
See All in Programming
個人的に嬉しかったpnpmの新機能・3選
matsuo_atsushi
0
110
Vibe NLP for Applied NLP
inesmontani
PRO
0
530
Structured Concurrency, Scoped Values and Joiners in the JDK 25 26 27
josepaumard
0
110
セグメントとターゲットを意識するプロポーザルの書き方 〜採択の鍵は、誰に刺すかを見極めるマーケティング戦略にある〜
m3m0r7
PRO
0
650
Running Swift without an OS
kishikawakatsumi
0
870
感情を設計する
ichimichi
5
1.6k
Firefoxにコントリビューションして得られた学び
ken7253
0
120
Terraform言語の静的解析 / static analysis of Terraform language
wata727
1
120
Spec Driven Development | AI Summit Vilnius
danielsogl
PRO
1
120
Spec-driven Development: How AI Changes Everything (And Nothing)
simas
PRO
0
450
Surviving Black Friday: 329 billion requests with Falcon!
ioquatix
0
2.1k
Back to the roots of date
jinroq
0
560
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
1.2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.3k
Skip the Path - Find Your Career Trail
mkilby
1
110
Utilizing Notion as your number one productivity tool
mfonobong
4
300
Documentation Writing (for coders)
carmenintech
77
5.3k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
190
Practical Orchestrator
shlominoach
191
11k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
Discover your Explorer Soul
emna__ayadi
2
1.1k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
Transcript
This is Node.js
[email protected]
http://beletsky.net http://twitter.com/alexbeletsky
"I was concerned about the ability to program advanced push
features into the website like I had seen in Gmail" Ryan Dahl the creator of Node.js
V8 Google's open source JavaScript engine. V8 can run standalone,
or can be embedded into any C++ application.
LibUV High performance evented I/O Originally based on LibEV switch
to LibUV with support of Windows
JavaScript Dynamic, prototype-based language Highly popular due to browser programming
http://jsconf.eu/2009/speakers.html
Why JavaScript? functions as first-class citizen
Why JavaScript? function as first-class citizen //closures..
JavaScript designed for event-oriented systems There was a natural fit
V8 + LibEV + JavaScript
“Node.js is a platform for easily building scalable network applications.
Node.js uses an event-driven (single threaded), non-blocking I/O model that makes it lightweight and efficient…” http://nodejs.org
Non Blocking I/O The concept of accessing I/O without blocking
of application
https://www.flickr.com/photos/papyrist/ Line to ATM is blocking I/O
Mac’s Drive is non-blocking I/O
None
execution started from first line.. Output:
async operation started… Output:
but execution goes on.. > ping Output:
after ~ms file is read… > ping > pong Output:
Event Driven Application flow is driven by events
http://misclassblog.com/interactive-web-development/node-js/
Single Threaded Single-thread programming concepts is more easy to understand.
Applications running in single thread are lightweight and efficient
“Node.js is designed for building efficient networking applications”
Core components: ! • HTTP / HTTPS • TCP /
UDP / Sockets • DNS • File System • Crypto / Arch • Events • Streams
Efficiency & Scalability Build-in server, high concurrency, horizontal scalability, clustering
NPM Node Package Manager - the richest collection of high
quality open source modules
None
Thanks, @alexbeletsky