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
10
430
This is Node.js
The talk I gave on UA Dev Club, 8-Jul-2014
Alexander Beletsky
July 09, 2014
Tweet
Share
More Decks by Alexander Beletsky
See All by Alexander Beletsky
Snapshot Testing: Going beyond UI
alexbeletsky
1
660
Tech Culture in Startups
alexbeletsky
0
210
TDD in JavaScript
alexbeletsky
4
840
Likeastore
alexbeletsky
3
130
PaaS in your pocker with Dokku
alexbeletsky
7
2.5k
Building Single Page Applications
alexbeletsky
9
5.4k
.NET developer in JavaScript world
alexbeletsky
1
2.8k
How to write good tests?
alexbeletsky
2
310
Dynamic web development with Oak
alexbeletsky
1
610
Other Decks in Programming
See All in Programming
What's new in Spring Modulith?
olivergierke
1
160
アメ車でサンノゼを走ってきたよ!
s_shimotori
0
230
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
3
410
エンジニアインターン「Treasure」とHonoの2年、そして未来へ / Our Journey with Hono Two Years at Treasure and Beyond
carta_engineering
0
360
CSC305 Lecture 05
javiergs
PRO
0
220
CSC305 Lecture 06
javiergs
PRO
0
250
20251016_Rails News ~Rails 8.1の足音を聴く~
morimorihoge
2
570
スマホから Youtube Shortsを見られないようにする
lemolatoon
27
33k
Developer Joy - The New Paradigm
hollycummins
1
220
はじめてのDSPy - 言語モデルを『プロンプト』ではなく『プログラミング』するための仕組み
masahiro_nishimi
3
700
When Dependencies Fail: Building Antifragile Applications in a Fragile World
selcukusta
0
110
One Enishi After Another
snoozer05
PRO
0
130
Featured
See All Featured
Designing for humans not robots
tammielis
254
26k
Writing Fast Ruby
sferik
629
62k
Faster Mobile Websites
deanohume
310
31k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Automating Front-end Workflow
addyosmani
1371
200k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Become a Pro
speakerdeck
PRO
29
5.6k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
620
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
Practical Orchestrator
shlominoach
190
11k
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